From d58290ea1213725ddf0f76be129fc5f680d9ccd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 28 Jun 2022 20:57:48 +0200 Subject: [PATCH] =?UTF-8?q?input:=20don=E2=80=99t=20ignore=20keyboard=20en?= =?UTF-8?q?ter/leave=20events=20when=20there=E2=80=99s=20no=20keymap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The compositor _usually_ sends the keymap event *before* the enter event. But not always. Not (yet) having a keymap is not a reason to ignore the enter event (now, on the other hand, getting a key press/release event without a keymap is a compositor bug). Closes #1097 --- CHANGELOG.md | 3 +++ input.c | 6 ------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dec74bc1..a052d744 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,9 +80,12 @@ * Workaround for buggy compositors (e.g. some versions of GNOME) allowing drag-and-drops even though foot has reported it does not support the offered mime-types ([#1092][1092]). +* Keyboard enter/leave events being ignored if there is no keymap + ([#1097][1097]). [1055]: https://codeberg.org/dnkl/foot/issues/1055 [1092]: https://codeberg.org/dnkl/foot/issues/1092 +[1097]: https://codeberg.org/dnkl/foot/issues/1097 ### Security diff --git a/input.c b/input.c index fca46050..d4598cf6 100644 --- a/input.c +++ b/input.c @@ -591,9 +591,6 @@ keyboard_enter(void *data, struct wl_keyboard *wl_keyboard, uint32_t serial, LOG_DBG("%s: keyboard_enter: keyboard=%p, serial=%u, surface=%p", seat->name, (void *)wl_keyboard, serial, (void *)surface); - if (seat->kbd.xkb == NULL) - return; - term_kbd_focus_in(term); seat->kbd_focus = term; seat->kbd.serial = serial; @@ -653,9 +650,6 @@ keyboard_leave(void *data, struct wl_keyboard *wl_keyboard, uint32_t serial, LOG_DBG("keyboard_leave: keyboard=%p, serial=%u, surface=%p", (void *)wl_keyboard, serial, (void *)surface); - if (seat->kbd.xkb == NULL) - return; - xassert( seat->kbd_focus == NULL || surface == NULL || /* Seen on Sway 1.2 */