From d11710cbb5f661222faf347039b4cf18c0a8474c Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Mon, 8 Oct 2001 15:58:52 +0000
Subject: [PATCH] don't check for Meta key in wxKeyEvent::HasModifiers()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/keyevent.tex | 7 +++++--
 include/wx/event.h         | 5 ++++-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/docs/latex/wx/keyevent.tex b/docs/latex/wx/keyevent.tex
index 34dfc6afd3..99d3386f3f 100644
--- a/docs/latex/wx/keyevent.tex
+++ b/docs/latex/wx/keyevent.tex
@@ -131,9 +131,12 @@ Obtains the position at which the key was pressed.
 
 \constfunc{bool}{HasModifiers}{\void}
 
-Returns TRUE if either of {\sc Ctrl}, {\sc Alt} or {\sc Meta} keys was down
+Returns TRUE if either {\sc Ctrl} or {\sc Alt} keys was down
 at the time of the key event. Note that this function does not take into
-account the {\sc Shift} key state.
+account neither {\sc Shift} nor {\sc Meta} key states (the reason for ignoring
+the latter is that it is common for {\sc NumLock} key to be configured as 
+{\sc Meta} under X but the key presses even while {\sc NumLock} is on should
+be still processed normally).
 
 \membersection{wxKeyEvent::ShiftDown}
 
diff --git a/include/wx/event.h b/include/wx/event.h
index 19922acda2..1763657844 100644
--- a/include/wx/event.h
+++ b/include/wx/event.h
@@ -780,7 +780,10 @@ public:
     bool AltDown() const { return m_altDown; }
     bool ShiftDown() const { return m_shiftDown; }
 
-    bool HasModifiers() const { return ControlDown() || AltDown() || MetaDown(); }
+    // exclude MetaDown() from HasModifiers() because NumLock under X is often
+    // configured as mod2 modifier, yet the key events even when it is pressed
+    // should be processed normally, not like Ctrl- or Alt-key
+    bool HasModifiers() const { return ControlDown() || AltDown(); }
 
     // get the key code: an ASCII7 char or an element of wxKeyCode enum
     int GetKeyCode() const { return (int)m_keyCode; }
-- 
2.50.0

