diff options
author | Arthur Williams <taaparthur@gmail.com> | 2021-09-20 11:17:35 +0600 |
---|---|---|
committer | NRK <nrk@disroot.org> | 2021-09-20 11:17:35 +0600 |
commit | 3234b0e521cca006a94cb135a88d146122d7f66d (patch) | |
tree | 9e4ec3d2580e9b38eb48f16436975a63a8e6c7ea | |
parent | 24e70a99e38ba71ac26e8476c5f2d4352c6ff548 (diff) |
Allow any set of modifiers to be used in keybindings
Previous the code only allowed ShiftMask,ControlMask or Mod1Mask to be
used in keybindings and the presence of any others modifiers would be
ignored. Most problems generally allow certain modifiers to be be
ignored but not most and certainly don't allow Super-A to be treated
like A.
Now users can use any modifiers they want in keybindings and can also
ignore any modifiers they want. By default only ModMask2 (commonly
numlock is ignored)
Co-authored-by: N-R-K <79544946+N-R-K@users.noreply.github.com>
-rw-r--r-- | config.def.h | 3 | ||||
-rw-r--r-- | main.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/config.def.h b/config.def.h index dfc94e1..0c09c4d 100644 --- a/config.def.h +++ b/config.def.h @@ -67,6 +67,9 @@ static const int THUMB_SIZE = 3; #endif #ifdef _MAPPINGS_CONFIG +/* Following modifiers (NumLock | CapsLock) will be ignored when processing keybindings */ +static const int ignore_mask = Mod2Mask | LockMask; + /* keyboard mappings for image and thumbnail mode: */ static const keymap_t keys[] = { /* modifiers key function argument */ @@ -566,7 +566,7 @@ end: redraw(); } -#define MODMASK(mask) ((mask) & (ShiftMask|ControlMask|Mod1Mask)) +#define MODMASK(mask) ((mask) & ~ignore_mask) void on_keypress(XKeyEvent *kev) { |