input: remove the concept of "significant" modifiers

For the purpose of matching key bindings, "significant" modifiers are
no more.

We're really only interested in filtering out "locked"
modifiers. We're already doing this, so there's no need to *also*
match against a set of "significant" modifiers.

Furthermore, we *never* want to consider locked keys (e.g. when
emitting escapes to the client application), thus we can filter those
out already when retrieving the set of active modifiers.

The exception is the kitty keyboard protocol, which has support for
CapsLock and NumLock. Since we're already re-retrieving the "consumed"
modifiers (using the GTK style, rather than normal "XKB" style, to
better match the kitty terminal), we might as well re-retrieve the
effective modifiers as well.
This commit is contained in:
Daniel Eklöf 2024-02-06 10:41:01 +01:00
parent 4730ff8d08
commit 0aefc2c65d
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
8 changed files with 28 additions and 52 deletions

View file

@ -128,7 +128,6 @@ struct seat {
xkb_mod_index_t mod_caps;
xkb_mod_index_t mod_num;
xkb_mod_mask_t bind_significant; /* Significant modifiers for shortcut handling */
xkb_mod_mask_t legacy_significant; /* Significant modifiers for the legacy keyboard protocol */
xkb_mod_mask_t kitty_significant; /* Significant modifiers for the kitty keyboard protocol */