diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c index 29a5f8ea..1aa30655 100644 --- a/sway/input/keyboard.c +++ b/sway/input/keyboard.c @@ -517,7 +517,7 @@ static void handle_key_event(struct sway_keyboard *keyboard, &keyboard->state_pressed_sent, event->keycode, event->state, keyinfo.keycode, 0); if (pressed_sent) { - wlr_seat_set_keyboard(wlr_seat, wlr_device); + wlr_seat_set_keyboard(wlr_seat, wlr_device->keyboard); wlr_seat_keyboard_notify_key(wlr_seat, event->time_msec, event->keycode, event->state); handled = true; @@ -542,7 +542,7 @@ static void handle_key_event(struct sway_keyboard *keyboard, update_shortcut_state( &keyboard->state_pressed_sent, event->keycode, event->state, keyinfo.keycode, 0); - wlr_seat_set_keyboard(wlr_seat, wlr_device); + wlr_seat_set_keyboard(wlr_seat, wlr_device->keyboard); wlr_seat_keyboard_notify_key(wlr_seat, event->time_msec, event->keycode, event->state); } @@ -670,7 +670,7 @@ static void handle_modifier_event(struct sway_keyboard *keyboard) { &wlr_device->keyboard->modifiers); } else { struct wlr_seat *wlr_seat = keyboard->seat_device->sway_seat->wlr_seat; - wlr_seat_set_keyboard(wlr_seat, wlr_device); + wlr_seat_set_keyboard(wlr_seat, wlr_device->keyboard); wlr_seat_keyboard_notify_modifiers(wlr_seat, &wlr_device->keyboard->modifiers); } @@ -1086,7 +1086,7 @@ void sway_keyboard_configure(struct sway_keyboard *keyboard) { } struct wlr_seat *seat = keyboard->seat_device->sway_seat->wlr_seat; - wlr_seat_set_keyboard(seat, wlr_device); + wlr_seat_set_keyboard(seat, wlr_device->keyboard); wl_list_remove(&keyboard->keyboard_key.link); wl_signal_add(&wlr_device->keyboard->events.key, &keyboard->keyboard_key); diff --git a/sway/input/seat.c b/sway/input/seat.c index 3ae5ed6c..85179dc7 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -813,7 +813,7 @@ static void seat_configure_keyboard(struct sway_seat *seat, } sway_keyboard_configure(seat_device->keyboard); wlr_seat_set_keyboard(seat->wlr_seat, - seat_device->input_device->wlr_device); + seat_device->input_device->wlr_device->keyboard); struct sway_node *focus = seat_get_focus(seat); if (focus && node_is_view(focus)) { // force notify reenter to pick up the new configuration