From 029e0c7a2c212c90577816b8c9012dc2001194fe Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Sat, 12 Dec 2015 12:53:55 -0500 Subject: Add some more keyboard handling for wayland clients --- include/client/registry.h | 58 +++++++++++++++++++---------------------------- 1 file changed, 23 insertions(+), 35 deletions(-) (limited to 'include/client/registry.h') diff --git a/include/client/registry.h b/include/client/registry.h index 2ab02174..253fcab8 100644 --- a/include/client/registry.h +++ b/include/client/registry.h @@ -8,26 +8,26 @@ #include "list.h" enum mod_bit { - MOD_SHIFT = 1<<0, - MOD_CAPS = 1<<1, - MOD_CTRL = 1<<2, - MOD_ALT = 1<<3, - MOD_MOD2 = 1<<4, - MOD_MOD3 = 1<<5, - MOD_LOGO = 1<<6, - MOD_MOD5 = 1<<7, + MOD_SHIFT = 1<<0, + MOD_CAPS = 1<<1, + MOD_CTRL = 1<<2, + MOD_ALT = 1<<3, + MOD_MOD2 = 1<<4, + MOD_MOD3 = 1<<5, + MOD_LOGO = 1<<6, + MOD_MOD5 = 1<<7, }; enum mask { - MASK_SHIFT, - MASK_CAPS, - MASK_CTRL, - MASK_ALT, - MASK_MOD2, - MASK_MOD3, - MASK_LOGO, - MASK_MOD5, - MASK_LAST + MASK_SHIFT, + MASK_CAPS, + MASK_CTRL, + MASK_ALT, + MASK_MOD2, + MASK_MOD3, + MASK_LOGO, + MASK_MOD5, + MASK_LAST }; struct output_state { @@ -44,26 +44,14 @@ struct xkb { }; struct input { - int *repeat_fd; + struct xkb xkb; - struct xkb xkb; + xkb_keysym_t sym; + uint32_t code; + uint32_t last_code; + uint32_t modifiers; - xkb_keysym_t sym; - uint32_t code; - uint32_t last_code; - uint32_t modifiers; - - xkb_keysym_t repeat_sym; - uint32_t repeat_key; - - int32_t repeat_rate_sec; - int32_t repeat_rate_nsec; - int32_t repeat_delay_sec; - int32_t repeat_delay_nsec; - - struct { - void (*key)(enum wl_keyboard_key_state state, xkb_keysym_t sym, uint32_t code); - } notify; + void (*notify)(enum wl_keyboard_key_state state, xkb_keysym_t sym, uint32_t code); }; struct registry { -- cgit v1.2.3-54-g00ecf