diff options
author | Drew DeVault <sir@cmpwn.com> | 2015-12-12 12:53:55 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2015-12-12 12:54:10 -0500 |
commit | 029e0c7a2c212c90577816b8c9012dc2001194fe (patch) | |
tree | a3e070e8abc5a85891c2df47c8e1f7827652a352 /include | |
parent | Merge pull request #300 from mikkeloscar/configure-mouse-btn (diff) | |
download | sway-029e0c7a2c212c90577816b8c9012dc2001194fe.tar.gz sway-029e0c7a2c212c90577816b8c9012dc2001194fe.tar.zst sway-029e0c7a2c212c90577816b8c9012dc2001194fe.zip |
Add some more keyboard handling for wayland clients
Diffstat (limited to 'include')
-rw-r--r-- | include/client/registry.h | 58 |
1 files changed, 23 insertions, 35 deletions
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 @@ | |||
8 | #include "list.h" | 8 | #include "list.h" |
9 | 9 | ||
10 | enum mod_bit { | 10 | enum mod_bit { |
11 | MOD_SHIFT = 1<<0, | 11 | MOD_SHIFT = 1<<0, |
12 | MOD_CAPS = 1<<1, | 12 | MOD_CAPS = 1<<1, |
13 | MOD_CTRL = 1<<2, | 13 | MOD_CTRL = 1<<2, |
14 | MOD_ALT = 1<<3, | 14 | MOD_ALT = 1<<3, |
15 | MOD_MOD2 = 1<<4, | 15 | MOD_MOD2 = 1<<4, |
16 | MOD_MOD3 = 1<<5, | 16 | MOD_MOD3 = 1<<5, |
17 | MOD_LOGO = 1<<6, | 17 | MOD_LOGO = 1<<6, |
18 | MOD_MOD5 = 1<<7, | 18 | MOD_MOD5 = 1<<7, |
19 | }; | 19 | }; |
20 | 20 | ||
21 | enum mask { | 21 | enum mask { |
22 | MASK_SHIFT, | 22 | MASK_SHIFT, |
23 | MASK_CAPS, | 23 | MASK_CAPS, |
24 | MASK_CTRL, | 24 | MASK_CTRL, |
25 | MASK_ALT, | 25 | MASK_ALT, |
26 | MASK_MOD2, | 26 | MASK_MOD2, |
27 | MASK_MOD3, | 27 | MASK_MOD3, |
28 | MASK_LOGO, | 28 | MASK_LOGO, |
29 | MASK_MOD5, | 29 | MASK_MOD5, |
30 | MASK_LAST | 30 | MASK_LAST |
31 | }; | 31 | }; |
32 | 32 | ||
33 | struct output_state { | 33 | struct output_state { |
@@ -44,26 +44,14 @@ struct xkb { | |||
44 | }; | 44 | }; |
45 | 45 | ||
46 | struct input { | 46 | struct input { |
47 | int *repeat_fd; | 47 | struct xkb xkb; |
48 | 48 | ||
49 | struct xkb xkb; | 49 | xkb_keysym_t sym; |
50 | uint32_t code; | ||
51 | uint32_t last_code; | ||
52 | uint32_t modifiers; | ||
50 | 53 | ||
51 | xkb_keysym_t sym; | 54 | void (*notify)(enum wl_keyboard_key_state state, xkb_keysym_t sym, uint32_t code); |
52 | uint32_t code; | ||
53 | uint32_t last_code; | ||
54 | uint32_t modifiers; | ||
55 | |||
56 | xkb_keysym_t repeat_sym; | ||
57 | uint32_t repeat_key; | ||
58 | |||
59 | int32_t repeat_rate_sec; | ||
60 | int32_t repeat_rate_nsec; | ||
61 | int32_t repeat_delay_sec; | ||
62 | int32_t repeat_delay_nsec; | ||
63 | |||
64 | struct { | ||
65 | void (*key)(enum wl_keyboard_key_state state, xkb_keysym_t sym, uint32_t code); | ||
66 | } notify; | ||
67 | }; | 55 | }; |
68 | 56 | ||
69 | struct registry { | 57 | struct registry { |