seat: allow compositors to not load a keymap
The protocol allows compositors to not send any keymap to Wayland clients. Handle a keymap-less keyboard correctly by sending WL_KEYBOARD_KEYMAP_FORMAT_NO_KEYMAP instead of erroring out in the mmap call.
This commit is contained in:
parent
d48ffac56b
commit
c27263c105
|
@ -370,6 +370,13 @@ static void seat_client_send_keymap(struct wlr_seat_client *client,
|
|||
continue;
|
||||
}
|
||||
|
||||
if (keyboard->keymap == NULL) {
|
||||
wl_keyboard_send_keymap(resource,
|
||||
WL_KEYBOARD_KEYMAP_FORMAT_NO_KEYMAP, keymap_fd, 0);
|
||||
close(keymap_fd);
|
||||
continue;
|
||||
}
|
||||
|
||||
void *ptr = mmap(NULL, keyboard->keymap_size, PROT_READ | PROT_WRITE,
|
||||
MAP_SHARED, keymap_fd, 0);
|
||||
if (ptr == MAP_FAILED) {
|
||||
|
|
Loading…
Reference in New Issue