aboutsummaryrefslogtreecommitdiff
path: root/code/x11_key_to_keysym.c
diff options
context:
space:
mode:
Diffstat (limited to 'code/x11_key_to_keysym.c')
-rw-r--r--code/x11_key_to_keysym.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/code/x11_key_to_keysym.c b/code/x11_key_to_keysym.c
new file mode 100644
index 0000000..57c8841
--- /dev/null
+++ b/code/x11_key_to_keysym.c
@@ -0,0 +1,51 @@
+@table(Name, KeySym) KeyboardButtons
+{
+ { Return XK_Return }
+ { Delete XK_Delete }
+ { BackSpace XK_BackSpace }
+ { Home XK_KP_Home }
+ { End XK_KP_End }
+ { PageUp XK_KP_Prior }
+ { PageDown XK_KP_Next }
+ { Control XK_Control_L }
+ { Shift XK_Shift_L }
+ { Alt XK_Alt_L }
+ { Insert XK_Insert }
+ { Escape XK_Escape }
+ { Up XK_Up }
+ { Down XK_Down }
+ { Left XK_Left }
+ { Right XK_Right }
+ { F1 XK_F1 }
+ { F2 XK_F2 }
+ { F3 XK_F3 }
+ { F4 XK_F4 }
+ { F5 XK_F5 }
+ { F6 XK_F6 }
+ { F7 XK_F7 }
+ { F8 XK_F8 }
+ { F9 XK_F9 }
+ { F10 XK_F10 }
+ { F11 XK_F11 }
+ { F12 XK_F12 }
+}
+
+
+if(0) {}
+@expand(KeyboardButtons k)
+`if\(Symbol == $(k.KeySym)\)
+{
+ LinuxProcessKeyPress\(&KeyboardController->Keyboard.$(k.Name), IsDown\);
+}`
+
+@expand(KeyboardButtons k)
+`game_button_state $(k.Name)`
+
+typedef enum
+{
+@expand(KeyboardButtons k) ` PlatformKeyboardButton_$(k.Name),`
+ PlatformKeyboardButton_Count
+} platform_keyboard_buttons;
+
+@count(KeyboardButtons)
+