diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/types/wlr_keyboard.h | 8 | ||||
-rw-r--r-- | include/wlr/types/wlr_keyboard_group.h | 24 |
2 files changed, 32 insertions, 0 deletions
diff --git a/include/types/wlr_keyboard.h b/include/types/wlr_keyboard.h new file mode 100644 index 00000000..e28462b5 --- /dev/null +++ b/include/types/wlr_keyboard.h @@ -0,0 +1,8 @@ +#include "wlr/types/wlr_keyboard.h" + +void keyboard_key_update(struct wlr_keyboard *keyboard, + struct wlr_event_keyboard_key *event); + +bool keyboard_modifier_update(struct wlr_keyboard *keyboard); + +void keyboard_led_update(struct wlr_keyboard *keyboard); diff --git a/include/wlr/types/wlr_keyboard_group.h b/include/wlr/types/wlr_keyboard_group.h index 023887f3..0b3df226 100644 --- a/include/wlr/types/wlr_keyboard_group.h +++ b/include/wlr/types/wlr_keyboard_group.h @@ -18,6 +18,30 @@ struct wlr_keyboard_group { struct wlr_input_device *input_device; struct wl_list devices; // keyboard_group_device::link struct wl_list keys; // keyboard_group_key::link + + struct { + /* + * Sent when a keyboard has entered the group with keys currently + * pressed that are not pressed by any other keyboard in the group. The + * data for this signal will be a wl_array containing the key codes. + * This should be used to update the compositor's internal state. + * Bindings should not be triggered based off of these key codes and + * they should also not notify any surfaces of the key press. + */ + struct wl_signal enter; + + /* + * Sent when a keyboard has left the group with keys currently pressed + * that are not pressed by any other keyboard in the group. The data for + * this signal will be a wl_array containing the key codes. This should + * be used to update the compositor's internal state. Bindings should + * not be triggered based off of these key codes. Additionally, surfaces + * should only be notified if they received a corresponding key press + * for the key code. + */ + struct wl_signal leave; + } events; + void *data; }; |