diff options
Diffstat (limited to 'sway/input/keyboard.c')
-rw-r--r-- | sway/input/keyboard.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c index 31d254df..6a792c65 100644 --- a/sway/input/keyboard.c +++ b/sway/input/keyboard.c | |||
@@ -6,7 +6,7 @@ static void handle_keyboard_key(struct wl_listener *listener, void *data) { | |||
6 | struct sway_keyboard *keyboard = | 6 | struct sway_keyboard *keyboard = |
7 | wl_container_of(listener, keyboard, keyboard_key); | 7 | wl_container_of(listener, keyboard, keyboard_key); |
8 | struct wlr_event_keyboard_key *event = data; | 8 | struct wlr_event_keyboard_key *event = data; |
9 | wlr_seat_set_keyboard(keyboard->seat->seat, keyboard->device); | 9 | wlr_seat_set_keyboard(keyboard->seat->seat, keyboard->device->wlr_device); |
10 | wlr_seat_keyboard_notify_key(keyboard->seat->seat, event->time_msec, | 10 | wlr_seat_keyboard_notify_key(keyboard->seat->seat, event->time_msec, |
11 | event->keycode, event->state); | 11 | event->keycode, event->state); |
12 | } | 12 | } |
@@ -15,12 +15,12 @@ static void handle_keyboard_modifiers(struct wl_listener *listener, | |||
15 | void *data) { | 15 | void *data) { |
16 | struct sway_keyboard *keyboard = | 16 | struct sway_keyboard *keyboard = |
17 | wl_container_of(listener, keyboard, keyboard_modifiers); | 17 | wl_container_of(listener, keyboard, keyboard_modifiers); |
18 | wlr_seat_set_keyboard(keyboard->seat->seat, keyboard->device); | 18 | wlr_seat_set_keyboard(keyboard->seat->seat, keyboard->device->wlr_device); |
19 | wlr_seat_keyboard_notify_modifiers(keyboard->seat->seat); | 19 | wlr_seat_keyboard_notify_modifiers(keyboard->seat->seat); |
20 | } | 20 | } |
21 | 21 | ||
22 | struct sway_keyboard *sway_keyboard_create(struct sway_seat *seat, | 22 | struct sway_keyboard *sway_keyboard_create(struct sway_seat *seat, |
23 | struct wlr_input_device *device) { | 23 | struct sway_input_device *device) { |
24 | struct sway_keyboard *keyboard = | 24 | struct sway_keyboard *keyboard = |
25 | calloc(1, sizeof(struct sway_keyboard)); | 25 | calloc(1, sizeof(struct sway_keyboard)); |
26 | if (!sway_assert(keyboard, "could not allocate sway keyboard")) { | 26 | if (!sway_assert(keyboard, "could not allocate sway keyboard")) { |
@@ -43,18 +43,18 @@ struct sway_keyboard *sway_keyboard_create(struct sway_seat *seat, | |||
43 | return NULL; | 43 | return NULL; |
44 | } | 44 | } |
45 | 45 | ||
46 | wlr_keyboard_set_keymap(device->keyboard, xkb_map_new_from_names(context, | 46 | wlr_keyboard_set_keymap(device->wlr_device->keyboard, |
47 | &rules, XKB_KEYMAP_COMPILE_NO_FLAGS)); | 47 | xkb_map_new_from_names(context, &rules, XKB_KEYMAP_COMPILE_NO_FLAGS)); |
48 | xkb_context_unref(context); | 48 | xkb_context_unref(context); |
49 | 49 | ||
50 | wl_signal_add(&device->keyboard->events.key, &keyboard->keyboard_key); | 50 | wl_signal_add(&device->wlr_device->keyboard->events.key, |
51 | &keyboard->keyboard_key); | ||
51 | keyboard->keyboard_key.notify = handle_keyboard_key; | 52 | keyboard->keyboard_key.notify = handle_keyboard_key; |
52 | 53 | ||
53 | wl_signal_add(&device->keyboard->events.modifiers, &keyboard->keyboard_modifiers); | 54 | wl_signal_add(&device->wlr_device->keyboard->events.modifiers, |
55 | &keyboard->keyboard_modifiers); | ||
54 | keyboard->keyboard_modifiers.notify = handle_keyboard_modifiers; | 56 | keyboard->keyboard_modifiers.notify = handle_keyboard_modifiers; |
55 | 57 | ||
56 | wl_list_insert(&seat->keyboards, &keyboard->link); | ||
57 | |||
58 | return keyboard; | 58 | return keyboard; |
59 | } | 59 | } |
60 | 60 | ||