wlroots/include/wlr
Brian Ashworth f2d3b1000f Introduce wlr_keyboard_group
A wlr_keyboard_group allows for multiple keyboard devices to be
combined into one logical keyboard. Each keyboard device can only be
added to one keyboard group. This helps with the situation where one
physical keyboard is exposed as multiple keyboard devices. It is up to
the compositors on how they group keyboards together, if at all.

Since a wlr_keyboard_group is one logical keyboard, the keys are a set.
This means that if a key is pressed on multiple keyboard devices, the
key event will only be emitted once, but the internal state will count
the number of devices that the key is pressed on. Likewise, the key
release will not be emitted until the key is released from all devices.
If the compositor wants access to which keys are pressed and released
on each keyboard device, the events for those devices can be listened
to, as they currently are, in addition to the group keyboard's events.

Also, all keyboard devices in the group must share the same keymap. If
the keymap's differ, the keyboard device will not be able to be added
to the group. Once in the group, if the keymap or effective layout for
one keyboard device changes, it will be synced to all keyboard devices
in the group. The repeat info and keyboard modifiers are also synced
2019-11-05 20:05:49 +01:00
..
backend backend/drm: add support for custom modes 2019-10-27 10:46:47 -04:00
interfaces Revert "output: atomic mode" 2019-08-07 16:22:11 +09:00
render Add new define EGL_NO_X11 for newer mesa library 2019-10-16 16:29:25 +03:00
types Introduce wlr_keyboard_group 2019-11-05 20:05:49 +01:00
util Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
backend.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
config.h.in Add FreeRDP backend for remote desktop support 2019-04-08 08:09:07 -06:00
meson.build Use #if instead of #ifdef for wlroots config data 2018-11-12 10:12:46 +01:00
version.h.in Revert "Revert "Merge pull request #1194 from ascent12/meson_feature"" 2018-08-24 19:35:02 +12:00
xcursor.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
xwayland.h xwayland: Expose configure request mask 2019-10-08 19:46:06 +03:00