aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/types/wlr_keyboard.h8
-rw-r--r--include/wlr/types/wlr_keyboard_group.h24
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;
};