mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
parent
cb2a64c585
commit
ef4a680ae8
2 changed files with 11 additions and 0 deletions
|
|
@ -71,8 +71,11 @@
|
|||
* Grapheme shaping was allowed to be "enabled" at runtime, even though
|
||||
disabled at compile time. This caused mis-rendering of certain
|
||||
codepoints ([#2039][2039]).
|
||||
* Keyboard modifiers not being reset on keyboard leave events
|
||||
([#2034][2034]).
|
||||
|
||||
[2039]: https://codeberg.org/dnkl/foot/issues/2039
|
||||
[2034]: https://codeberg.org/dnkl/foot/issues/2034
|
||||
|
||||
|
||||
### Security
|
||||
|
|
|
|||
8
input.c
8
input.c
|
|
@ -765,9 +765,17 @@ keyboard_leave(void *data, struct wl_keyboard *wl_keyboard, uint32_t serial,
|
|||
seat->kbd.alt = false;
|
||||
seat->kbd.ctrl = false;
|
||||
seat->kbd.super = false;
|
||||
|
||||
if (seat->kbd.xkb_compose_state != NULL)
|
||||
xkb_compose_state_reset(seat->kbd.xkb_compose_state);
|
||||
|
||||
if (seat->kbd.xkb_state != NULL && seat->kbd.xkb_keymap != NULL) {
|
||||
const xkb_layout_index_t layout_count = xkb_keymap_num_layouts(seat->kbd.xkb_keymap);
|
||||
|
||||
for (xkb_layout_index_t i = 0; i < layout_count; i++)
|
||||
xkb_state_update_mask(seat->kbd.xkb_state, 0, 0, 0, i, i, i);
|
||||
}
|
||||
|
||||
if (old_focused != NULL) {
|
||||
seat->pointer.hidden = false;
|
||||
term_xcursor_update_for_seat(old_focused, seat);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue