diff options
Diffstat (limited to 'sway/input/seat.c')
-rw-r--r-- | sway/input/seat.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c index f486d5e7..fb3e68ee 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c | |||
@@ -102,6 +102,14 @@ static struct sway_keyboard *sway_keyboard_for_wlr_keyboard( | |||
102 | return seat_device->keyboard; | 102 | return seat_device->keyboard; |
103 | } | 103 | } |
104 | } | 104 | } |
105 | struct sway_keyboard_group *group; | ||
106 | wl_list_for_each(group, &seat->keyboard_groups, link) { | ||
107 | struct sway_input_device *input_device = | ||
108 | group->seat_device->input_device; | ||
109 | if (input_device->wlr_device->keyboard == wlr_keyboard) { | ||
110 | return group->seat_device->keyboard; | ||
111 | } | ||
112 | } | ||
105 | return NULL; | 113 | return NULL; |
106 | } | 114 | } |
107 | 115 | ||
@@ -519,6 +527,7 @@ struct sway_seat *seat_create(const char *seat_name) { | |||
519 | handle_request_set_primary_selection; | 527 | handle_request_set_primary_selection; |
520 | 528 | ||
521 | wl_list_init(&seat->devices); | 529 | wl_list_init(&seat->devices); |
530 | wl_list_init(&seat->keyboard_groups); | ||
522 | 531 | ||
523 | wl_list_insert(&server.input->seats, &seat->link); | 532 | wl_list_insert(&server.input->seats, &seat->link); |
524 | 533 | ||