store layout per keyboard for every window

Fixes: https://github.com/swaywm/sway/issues/2361

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
This commit is contained in:
Konstantin Kharlamov 2018-11-04 18:59:57 +03:00
parent 481accca2a
commit 3a5544f56c
9 changed files with 143 additions and 5 deletions

View file

@ -27,6 +27,7 @@ struct seat_config *new_seat_config(const char* name) {
}
seat->hide_cursor_timeout = -1;
seat->allow_constrain = CONSTRAIN_DEFAULT;
seat->keep_keyboard_layout = KEYBOARD_LAYOUT_UNDEFINED;
return seat;
}
@ -116,6 +117,10 @@ void merge_seat_config(struct seat_config *dest, struct seat_config *source) {
dest->fallback = source->fallback;
}
if (source->keep_keyboard_layout != KEYBOARD_LAYOUT_UNDEFINED) {
dest->keep_keyboard_layout = source->keep_keyboard_layout;
}
for (int i = 0; i < source->attachments->length; ++i) {
struct seat_attachment_config *source_attachment =
source->attachments->items[i];