x11 implementation

This commit is contained in:
Thomas Bernard
2018-06-26 17:30:16 +02:00
parent a514f7e9a2
commit 77f36a1f8e
6 changed files with 559 additions and 0 deletions

View File

@@ -26,12 +26,16 @@
#include <SDL.h>
#elif defined(WIN32)
#include <windows.h>
#elif defined(USE_X11)
#include <X11/keysym.h>
#endif
#if defined(USE_SDL)
#define K2K(x) (x)
#elif defined(USE_SDL2)
#define K2K(x) ((((x) & 0x40000000) >> 19) | ((x) & 0x1FF))
#elif defined(USE_X11)
#define K2K(x) ((x) & 0x0FFF)
#endif
/* generated lists */
@@ -150,6 +154,107 @@
#define KEY_F11 K2K(SDLK_F11)
#define KEY_F12 K2K(SDLK_F12)
// end of KEY definitions for SDL and SDL2
#elif defined(USE_X11)
// KEY definitions for x11
#define KEY_UNKNOWN 0
#define KEY_ESCAPE K2K(XK_Escape)
#define KEY_RETURN K2K(XK_Return)
#define KEY_BACKSPACE K2K(XK_BackSpace)
#define KEY_TAB K2K(XK_Tab)
#define KEY_UP K2K(XK_Up)
#define KEY_DOWN K2K(XK_Down)
#define KEY_LEFT K2K(XK_Left)
#define KEY_RIGHT K2K(XK_Right)
#define KEY_LEFTBRACKET K2K(XK_bracketleft)
#define KEY_RIGHTBRACKET K2K(XK_bracketright)
#define KEY_INSERT K2K(XK_Insert)
#define KEY_DELETE K2K(XK_Delete)
#define KEY_COMMA K2K(XK_comma)
#define KEY_BACKQUOTE K2K(XK_grave)
#define KEY_PAGEUP K2K(XK_Page_Up)
#define KEY_PAGEDOWN K2K(XK_Page_Down)
#define KEY_HOME K2K(XK_Home)
#define KEY_END K2K(XK_End)
#define KEY_KP_PLUS K2K(XK_KP_Add)
#define KEY_KP_MINUS K2K(XK_KP_Subtract)
#define KEY_KP_MULTIPLY K2K(XK_KP_Multiply)
#define KEY_KP_ENTER K2K(XK_KP_Enter)
#define KEY_KP_DIVIDE K2K(XK_KP_Divide)
#define KEY_KP_PERIOD K2K(XK_KP_Decimal)
#define KEY_KP_EQUALS K2K(XK_KP_Equal)
#define KEY_EQUALS K2K(XK_equal)
#define KEY_MINUS K2K(XK_minus)
#define KEY_PERIOD K2K(XK_period)
#define KEY_CAPSLOCK K2K(XK_Caps_Lock)
#define KEY_CLEAR K2K(XK_Clear)
#define KEY_SPACE K2K(XK_space)
#define KEY_PAUSE K2K(XK_Pause)
#define KEY_LSHIFT K2K(XK_Shift_L)
#define KEY_RSHIFT K2K(XK_Shift_R)
#define KEY_LCTRL K2K(XK_Control_L)
#define KEY_RCTRL K2K(XK_Control_R)
#define KEY_LALT K2K(XK_Alt_L)
#define KEY_RALT K2K(XK_Alt_R)
#define KEY_0 K2K(XK_0)
#define KEY_1 K2K(XK_1)
#define KEY_2 K2K(XK_2)
#define KEY_3 K2K(XK_3)
#define KEY_4 K2K(XK_4)
#define KEY_5 K2K(XK_5)
#define KEY_6 K2K(XK_6)
#define KEY_7 K2K(XK_7)
#define KEY_8 K2K(XK_8)
#define KEY_9 K2K(XK_9)
#define KEY_a K2K(XK_a)
#define KEY_b K2K(XK_b)
#define KEY_c K2K(XK_c)
#define KEY_d K2K(XK_d)
#define KEY_e K2K(XK_e)
#define KEY_f K2K(XK_f)
#define KEY_g K2K(XK_g)
#define KEY_h K2K(XK_h)
#define KEY_i K2K(XK_i)
#define KEY_j K2K(XK_j)
#define KEY_k K2K(XK_k)
#define KEY_l K2K(XK_l)
#define KEY_m K2K(XK_m)
#define KEY_n K2K(XK_n)
#define KEY_o K2K(XK_o)
#define KEY_p K2K(XK_p)
#define KEY_q K2K(XK_q)
#define KEY_r K2K(XK_r)
#define KEY_s K2K(XK_s)
#define KEY_t K2K(XK_t)
#define KEY_u K2K(XK_u)
#define KEY_v K2K(XK_v)
#define KEY_w K2K(XK_w)
#define KEY_x K2K(XK_x)
#define KEY_y K2K(XK_y)
#define KEY_z K2K(XK_z)
#define KEY_KP0 K2K(XK_KP_0)
#define KEY_KP1 K2K(XK_KP_1)
#define KEY_KP2 K2K(XK_KP_2)
#define KEY_KP3 K2K(XK_KP_3)
#define KEY_KP4 K2K(XK_KP_4)
#define KEY_KP5 K2K(XK_KP_5)
#define KEY_KP6 K2K(XK_KP_6)
#define KEY_KP7 K2K(XK_KP_7)
#define KEY_KP8 K2K(XK_KP_8)
#define KEY_KP9 K2K(XK_KP_9)
#define KEY_SCROLLOCK K2K(XK_Scroll_Lock)
#define KEY_F1 K2K(XK_F1)
#define KEY_F2 K2K(XK_F2)
#define KEY_F3 K2K(XK_F3)
#define KEY_F4 K2K(XK_F4)
#define KEY_F5 K2K(XK_F5)
#define KEY_F6 K2K(XK_F6)
#define KEY_F7 K2K(XK_F7)
#define KEY_F8 K2K(XK_F8)
#define KEY_F9 K2K(XK_F9)
#define KEY_F10 K2K(XK_F10)
#define KEY_F11 K2K(XK_F11)
#define KEY_F12 K2K(XK_F12)
// end of KEY definitions for x11
#elif defined(WIN32)
// KEY definitions for win32
#define KEY_UNKNOWN 0