diff options
author | Markus Ongyerth <ongy@ongy.net> | 2018-04-18 11:54:59 +0200 |
---|---|---|
committer | Markus Ongyerth <ongy@ongy.net> | 2018-04-18 11:54:59 +0200 |
commit | c8ccb1bef32934ad78e42d8f622e3495095c0f40 (patch) | |
tree | 1e9d43d3bb006dabcda5f3cf48c721b197e724b7 /backend/session/direct.c | |
parent | dbdc63ddde4d1e8a76dc80a64d8910ed30aad318 (diff) |
reorder xkb state handling in wlr_keyboard
wlr_keyboard manages the xkb-common state of the compositor.
It used to update the state, update the modifiers, then notify the
compositor.
When [Shift_L] was pressed and released, this resulted in an event chain:
Modifiers: Shift
Key: Shift_L (Pressed)
Modifiers:
Key: Shift_L (Release)
The xkb-docs state that the state should be updated *after* the key was
handled [1], to prevent the new state from influencing the actual key
generated.
To achieve this, the event to the compositor is emitted, *before*
wlroots handles the xkb and internal keyboard state.
With this patch applied, the emitted events ill be:
Modifiers:
Key: Shift_L (Pressed)
Modifiers: Shift
Key: Shift_L (Release)
[1] https://xkbcommon.org/doc/current/group__state.html#gac554aa20743a621692c1a744a05e06ce
Diffstat (limited to 'backend/session/direct.c')
0 files changed, 0 insertions, 0 deletions