… | |
… | |
55 | unsigned int state); |
55 | unsigned int state); |
56 | |
56 | |
57 | struct keysym_t |
57 | struct keysym_t |
58 | { |
58 | { |
59 | enum keysym_type { |
59 | enum keysym_type { |
60 | STRING, LIST, BUILTIN, |
60 | STRING, BUILTIN, |
61 | }; |
61 | }; |
62 | |
62 | |
63 | KeySym keysym; |
63 | KeySym keysym; |
64 | /* only the lower 8 bits of state are used for matching according to X.h */ |
64 | /* only the lower 8 bits of state are used for matching according to X.h */ |
65 | /* the higher bits are preserved for Meta/NumLock keys */ |
65 | /* the higher bits are preserved for Meta/NumLock keys */ |
66 | /* which are mapped to corresponding lower bits at register time */ |
66 | /* which are mapped to corresponding lower bits at register time */ |
67 | uint16_t state; /* indicates each modifiers' DOWN/UP status */ |
67 | uint16_t state; /* indicates each modifiers' DOWN/UP status */ |
68 | uint16_t range; /* =1: single keysym; >1: a of range keysyms */ |
|
|
69 | keysym_type type; |
68 | keysym_type type; |
70 | const char *str; /* would normally be a keycode translation in UTF-8 */ |
69 | const char *str; /* would normally be a keycode translation in UTF-8 */ |
71 | }; |
70 | }; |
72 | |
71 | |
73 | class keyboard_manager |
72 | class keyboard_manager |