input: don’t ignore keyboard enter/leave events when there’s no keymap

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
This commit is contained in:
Daniel Eklöf 2022-06-28 20:57:48 +02:00
parent 206e9a1050
commit d58290ea12
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 3 additions and 6 deletions

View file

@ -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 */