From d2c811564f7a1c955a95defc5f7d2c27a5e9f828 Mon Sep 17 00:00:00 2001
From: Ulrich Sibiller <uli42@gmx.de>
Date: Mon, 13 Mar 2017 20:23:32 +0100
Subject: Keyboard.c: Introduce separate masks for Alt and Meta

Unclear why they have been merged at all.
---
 nx-X11/programs/Xserver/hw/nxagent/Keyboard.c | 8 ++++++++
 1 file changed, 8 insertions(+)

(limited to 'nx-X11/programs')

diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
index 208ae0653..5fc01c976 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
@@ -202,6 +202,8 @@ extern char *nxagentKeyboard;
 static char *nxagentXkbGetRules(void);
 
 unsigned int nxagentAltMetaMask;
+unsigned int nxagentAltMask;
+unsigned int nxagentMetaMask;
 
 static void nxagentCheckAltMetaKeys(CARD8, int);
 
@@ -788,6 +790,8 @@ N/A
 #endif /* #ifdef _XSERVER64 */
 
       nxagentAltMetaMask = 0;
+      nxagentAltMask = 0;
+      nxagentMetaMask = 0;
 
       for (i = 0; i < 256; i++)
         modmap[i] = 0;
@@ -1378,21 +1382,25 @@ void nxagentCheckAltMetaKeys(CARD8 keycode, int j)
   if (keycode == XKeysymToKeycode(nxagentDisplay, XK_Meta_L))
   {
     nxagentAltMetaMask |= 1 << j;
+    nxagentMetaMask |= 1 << j;
   }
 
   if (keycode == XKeysymToKeycode(nxagentDisplay, XK_Meta_R))
   {
     nxagentAltMetaMask |= 1 << j;
+    nxagentMetaMask |= 1 << j;
   }
 
   if (keycode == XKeysymToKeycode(nxagentDisplay, XK_Alt_L))
   {
     nxagentAltMetaMask |= 1 << j;
+    nxagentAltMask |= 1 << j;
   }
 
   if (keycode == XKeysymToKeycode(nxagentDisplay, XK_Alt_R))
   {
     nxagentAltMetaMask |= 1 << j;
+    nxagentAltMask |= 1 << j;
   }
 }
 
-- 
cgit v1.2.3