aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2017-03-19 22:24:59 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2017-03-19 22:24:59 +0100
commitb7c389b9a0fa366a40ab272a9429a52ecee7365d (patch)
tree065ae9f127d6091ea37424f560dc8cbf47d59cc4 /nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
parent7fd5d934c1e73642e9919aa8dd5124466356fb89 (diff)
parent7065e0bf25484fe9cf008c934b69eff90600d3d8 (diff)
downloadnx-libs-b7c389b9a0fa366a40ab272a9429a52ecee7365d.tar.gz
nx-libs-b7c389b9a0fa366a40ab272a9429a52ecee7365d.tar.bz2
nx-libs-b7c389b9a0fa366a40ab272a9429a52ecee7365d.zip
Merge branch 'uli42-pr/ignore_caps' into 3.6.x
Attributes GH PR #398: https://github.com/ArcticaProject/nx-libs/pull/398
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Keystroke.c')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Keystroke.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
index d12b459fc..69b07dfe5 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
@@ -34,6 +34,7 @@
#include "Events.h"
#include "Options.h"
#include "Keystroke.h"
+#include "Keyboard.h"
#include "Drawable.h"
#include "Init.h" /* extern int nxagentX2go */
@@ -149,6 +150,15 @@ static Bool modifier_matches(unsigned int mask, int compare_alt_meta, unsigned i
state &= ~nxagentAltMetaMask;
}
+ /* ignore CapsLock and/or Numlock if the keystroke does not
+ explicitly require them */
+
+ if ( !(mask & nxagentCapsMask) )
+ state &= ~nxagentCapsMask;
+
+ if ( !(mask & nxagentNumlockMask) )
+ state &= ~nxagentNumlockMask;
+
/* all modifiers except meta/alt have to match exactly, extra bits are evil */
if (mask != state) {
ret = False;