diff options
| author | Petar Kapriš <petarkapris@firemail.cc> | 2021-07-18 00:14:00 +0200 |
|---|---|---|
| committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2021-07-18 11:44:56 +0200 |
| commit | 2ec571a30c0c3b1a17f6b3631c80d573582f59a1 (patch) | |
| tree | 236e40db75385e56e30d315cfe65878f556e9e2a /x.c | |
| parent | Mild const-correctness improvements. (diff) | |
| download | st-2ec571a30c0c3b1a17f6b3631c80d573582f59a1.tar.gz st-2ec571a30c0c3b1a17f6b3631c80d573582f59a1.zip | |
Add 14th bit to XK_SWITCH_MOD bitmask
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.
Diffstat (limited to 'x.c')
| -rw-r--r-- | x.c | 2 |
1 files changed, 1 insertions, 1 deletions
| @@ -48,7 +48,7 @@ typedef struct { | |||
| 48 | /* X modifiers */ | 48 | /* X modifiers */ |
| 49 | #define XK_ANY_MOD UINT_MAX | 49 | #define XK_ANY_MOD UINT_MAX |
| 50 | #define XK_NO_MOD 0 | 50 | #define XK_NO_MOD 0 |
| 51 | #define XK_SWITCH_MOD (1<<13) | 51 | #define XK_SWITCH_MOD (1<<13|1<<14) |
| 52 | 52 | ||
| 53 | /* function definitions used in config.h */ | 53 | /* function definitions used in config.h */ |
| 54 | static void clipcopy(const Arg *); | 54 | static void clipcopy(const Arg *); |
