|
|
|
@ -68,6 +68,13 @@ static void seat_configure_keyboard(struct sway_seat *seat,
|
|
|
|
|
sway_keyboard_create(seat, seat_device);
|
|
|
|
|
}
|
|
|
|
|
sway_keyboard_configure(seat_device->keyboard);
|
|
|
|
|
wlr_seat_set_keyboard(seat->wlr_seat,
|
|
|
|
|
seat_device->input_device->wlr_device);
|
|
|
|
|
if (seat->focus) {
|
|
|
|
|
// force notify reenter to pick up the new configuration
|
|
|
|
|
wlr_seat_keyboard_clear_focus(seat->wlr_seat);
|
|
|
|
|
wlr_seat_keyboard_notify_enter(seat->wlr_seat, seat->focus->sway_view->surface);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static struct sway_seat_device *sway_seat_get_device(struct sway_seat *seat,
|
|
|
|
@ -101,8 +108,6 @@ void sway_seat_configure_device(struct sway_seat *seat,
|
|
|
|
|
break;
|
|
|
|
|
case WLR_INPUT_DEVICE_KEYBOARD:
|
|
|
|
|
seat_configure_keyboard(seat, seat_device);
|
|
|
|
|
wlr_seat_set_keyboard(seat->wlr_seat,
|
|
|
|
|
seat_device->input_device->wlr_device);
|
|
|
|
|
break;
|
|
|
|
|
case WLR_INPUT_DEVICE_TOUCH:
|
|
|
|
|
case WLR_INPUT_DEVICE_TABLET_PAD:
|
|
|
|
|