aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input/keyboard.c
diff options
context:
space:
mode:
authorLibravatar Tony Crisci <tony@dubstepdish.com>2017-12-12 08:29:37 -0500
committerLibravatar Tony Crisci <tony@dubstepdish.com>2017-12-12 08:29:37 -0500
commit163edc5a900fda58e006ed30e14ae10cc4aa13b3 (patch)
treea43e355091da4545bf9f16c63accb7d853170195 /sway/input/keyboard.c
parentinput config (diff)
downloadsway-163edc5a900fda58e006ed30e14ae10cc4aa13b3.tar.gz
sway-163edc5a900fda58e006ed30e14ae10cc4aa13b3.tar.zst
sway-163edc5a900fda58e006ed30e14ae10cc4aa13b3.zip
sway input device
Diffstat (limited to 'sway/input/keyboard.c')
-rw-r--r--sway/input/keyboard.c18
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
22struct sway_keyboard *sway_keyboard_create(struct sway_seat *seat, 22struct 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