[hackers] [st][PATCH] Add 14th bit to XK_SWITCH_MOD bitmask

From: <petarkapris_AT_firemail.cc>
Date: Sun, 18 Jul 2021 00:14:00 +0200

From: Petar Kapriš <petarkapris_AT_firemail.cc>

The bits of uint signal in an XKeyEvent which concern the key group (keyboard
layout) are bits 13 and 14, as documented here:
https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Groups_and_Shift_Levels
In the older version, only bit 13 was marked as part of XK_SWITCH_MOD, this
causes issues for users who have more than two keymaps. the 14th bit is not
in ignoremod, key sequences are not caught by match(), if they switch to a third
or fourth keyboard.
---
 x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/x.c b/x.c
index 6f11d52..c91552a 100644
--- a/x.c
+++ b/x.c
_AT_@ -48,7 +48,7 @@ typedef struct {
 /* X modifiers */
 #define XK_ANY_MOD    UINT_MAX
 #define XK_NO_MOD     0
-#define XK_SWITCH_MOD (1<<13)
+#define XK_SWITCH_MOD (0b11<<13)
 
 /* function definitions used in config.h */
 static void clipcopy(const Arg *);
-- 
2.32.0
Received on Sun Jul 18 2021 - 00:14:00 CEST

This archive was generated by hypermail 2.3.0 : Sun Jul 18 2021 - 00:24:31 CEST