Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:42

0001 #ifndef __XCB_KEYSYMS_H__
0002 #define __XCB_KEYSYMS_H__
0003 
0004 #include <xcb/xcb.h>
0005 
0006 
0007 #ifdef __cplusplus
0008 extern "C" {
0009 #endif
0010 
0011 
0012 typedef struct _XCBKeySymbols xcb_key_symbols_t;
0013 
0014 xcb_key_symbols_t *xcb_key_symbols_alloc        (xcb_connection_t         *c);
0015 
0016 void           xcb_key_symbols_free         (xcb_key_symbols_t         *syms);
0017 
0018 xcb_keysym_t      xcb_key_symbols_get_keysym    (xcb_key_symbols_t         *syms,
0019                       xcb_keycode_t             keycode,
0020                       int                    col);
0021 
0022 /**
0023  * @brief Get the keycodes attached to a keysyms.
0024  * There can be several value, so what is returned is an array of keycode
0025  * terminated by XCB_NO_SYMBOL. You are responsible to free it.
0026  * Be aware that this function can be slow. It will convert all
0027  * combinations of all available keycodes to keysyms to find the ones that
0028  * match.
0029  * @param syms Key symbols.
0030  * @param keysym The keysym to look for.
0031  * @return A XCB_NO_SYMBOL terminated array of keycode, or NULL if nothing is found.
0032  */
0033 xcb_keycode_t * xcb_key_symbols_get_keycode(xcb_key_symbols_t *syms,
0034                                             xcb_keysym_t keysym);
0035 
0036 xcb_keysym_t      xcb_key_press_lookup_keysym   (xcb_key_symbols_t         *syms,
0037                       xcb_key_press_event_t      *event,
0038                       int                    col);
0039 
0040 xcb_keysym_t      xcb_key_release_lookup_keysym (xcb_key_symbols_t         *syms,
0041                       xcb_key_release_event_t    *event,
0042                       int                    col);
0043 
0044 int            xcb_refresh_keyboard_mapping (xcb_key_symbols_t         *syms,
0045                       xcb_mapping_notify_event_t *event);
0046 
0047 /* TODO:  need XLookupString equivalent */
0048 
0049 /* Tests for classes of symbols */
0050 
0051 int xcb_is_keypad_key        (xcb_keysym_t keysym);
0052 
0053 int xcb_is_private_keypad_key (xcb_keysym_t keysym);
0054 
0055 int xcb_is_cursor_key        (xcb_keysym_t keysym);
0056 
0057 int xcb_is_pf_key            (xcb_keysym_t keysym);
0058 
0059 int xcb_is_function_key      (xcb_keysym_t keysym);
0060 
0061 int xcb_is_misc_function_key  (xcb_keysym_t keysym);
0062 
0063 int xcb_is_modifier_key      (xcb_keysym_t keysym);
0064 
0065 
0066 #ifdef __cplusplus
0067 }
0068 #endif
0069 
0070 
0071 #endif /* __XCB_KEYSYMS_H__ */