1 #ifndef __XCB_KEYSYMS_H__
2 #define __XCB_KEYSYMS_H__
12 typedef struct _XCBKeySymbols xcb_key_symbols_t;
14 xcb_key_symbols_t *xcb_key_symbols_alloc (xcb_connection_t *c);
16 void xcb_key_symbols_free (xcb_key_symbols_t *syms);
18 xcb_keysym_t xcb_key_symbols_get_keysym (xcb_key_symbols_t *syms,
19 xcb_keycode_t keycode,
23 * @brief Get the keycodes attached to a keysyms.
24 * There can be several value, so what is returned is an array of keycode
25 * terminated by XCB_NO_SYMBOL. You are responsible to free it.
26 * Be aware that this function can be slow. It will convert all
27 * combinations of all available keycodes to keysyms to find the ones that
29 * @param syms Key symbols.
30 * @param keysym The keysym to look for.
31 * @return A XCB_NO_SYMBOL terminated array of keycode, or NULL if nothing is found.
33 xcb_keycode_t * xcb_key_symbols_get_keycode(xcb_key_symbols_t *syms,
36 xcb_keysym_t xcb_key_press_lookup_keysym (xcb_key_symbols_t *syms,
37 xcb_key_press_event_t *event,
40 xcb_keysym_t xcb_key_release_lookup_keysym (xcb_key_symbols_t *syms,
41 xcb_key_release_event_t *event,
44 int xcb_refresh_keyboard_mapping (xcb_key_symbols_t *syms,
45 xcb_mapping_notify_event_t *event);
47 /* TODO: need XLookupString equivalent */
49 /* Tests for classes of symbols */
51 int xcb_is_keypad_key (xcb_keysym_t keysym);
53 int xcb_is_private_keypad_key (xcb_keysym_t keysym);
55 int xcb_is_cursor_key (xcb_keysym_t keysym);
57 int xcb_is_pf_key (xcb_keysym_t keysym);
59 int xcb_is_function_key (xcb_keysym_t keysym);
61 int xcb_is_misc_function_key (xcb_keysym_t keysym);
63 int xcb_is_modifier_key (xcb_keysym_t keysym);
71 #endif /* __XCB_KEYSYMS_H__ */