ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
0
|
// Copyright (C) 2024, Jakob Wakeling |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
1
|
// All rights reserved. |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
2
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
3
|
#include "../keys.h" |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
4
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
5
|
#include <xcb/xcb_keysyms.h> |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
6
|
#include <X11/keysym.h> |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
7
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
8
|
struct keymap { xcb_keysym_t keysym; draw_key_k key; }; |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
9
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
10
|
const struct keymap keymap[] = { |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
11
|
{ XK_space, DRAW_KEY_SPACE }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
12
|
{ XK_apostrophe, DRAW_KEY_APOSTROPHE }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
13
|
{ XK_comma, DRAW_KEY_COMMA }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
14
|
{ XK_minus, DRAW_KEY_MINUS }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
15
|
{ XK_period, DRAW_KEY_PERIOD }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
16
|
{ XK_slash, DRAW_KEY_SLASH }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
17
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
18
|
{ XK_0, DRAW_KEY_0 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
19
|
{ XK_1, DRAW_KEY_1 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
20
|
{ XK_2, DRAW_KEY_2 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
21
|
{ XK_3, DRAW_KEY_3 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
22
|
{ XK_4, DRAW_KEY_4 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
23
|
{ XK_5, DRAW_KEY_5 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
24
|
{ XK_6, DRAW_KEY_6 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
25
|
{ XK_7, DRAW_KEY_7 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
26
|
{ XK_8, DRAW_KEY_8 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
27
|
{ XK_9, DRAW_KEY_9 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
28
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
29
|
{ XK_semicolon, DRAW_KEY_SEMICOLON }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
30
|
{ XK_equal, DRAW_KEY_EQUAL }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
31
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
32
|
{ XK_a, DRAW_KEY_A }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
33
|
{ XK_b, DRAW_KEY_B }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
34
|
{ XK_c, DRAW_KEY_C }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
35
|
{ XK_d, DRAW_KEY_D }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
36
|
{ XK_e, DRAW_KEY_E }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
37
|
{ XK_f, DRAW_KEY_F }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
38
|
{ XK_g, DRAW_KEY_G }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
39
|
{ XK_h, DRAW_KEY_H }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
40
|
{ XK_i, DRAW_KEY_I }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
41
|
{ XK_j, DRAW_KEY_J }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
42
|
{ XK_k, DRAW_KEY_K }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
43
|
{ XK_l, DRAW_KEY_L }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
44
|
{ XK_m, DRAW_KEY_M }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
45
|
{ XK_n, DRAW_KEY_N }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
46
|
{ XK_o, DRAW_KEY_O }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
47
|
{ XK_p, DRAW_KEY_P }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
48
|
{ XK_q, DRAW_KEY_Q }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
49
|
{ XK_r, DRAW_KEY_R }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
50
|
{ XK_s, DRAW_KEY_S }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
51
|
{ XK_t, DRAW_KEY_T }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
52
|
{ XK_u, DRAW_KEY_U }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
53
|
{ XK_v, DRAW_KEY_V }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
54
|
{ XK_w, DRAW_KEY_W }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
55
|
{ XK_x, DRAW_KEY_X }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
56
|
{ XK_y, DRAW_KEY_Y }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
57
|
{ XK_z, DRAW_KEY_Z }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
58
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
59
|
{ XK_bracketleft, DRAW_KEY_LEFT_BRACKET }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
60
|
{ XK_backslash, DRAW_KEY_BACKSLASH }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
61
|
{ XK_bracketright, DRAW_KEY_RIGHT_BRACKET }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
62
|
{ XK_grave, DRAW_KEY_TILDE }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
63
|
{ XK_Escape, DRAW_KEY_ESCAPE }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
64
|
{ XK_BackSpace, DRAW_KEY_BACKSPACE }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
65
|
{ XK_Tab, DRAW_KEY_TAB }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
66
|
{ XK_Caps_Lock, DRAW_KEY_CAPS_LOCK }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
67
|
{ XK_Return, DRAW_KEY_ENTER }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
68
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
69
|
{ XK_F1, DRAW_KEY_F1 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
70
|
{ XK_F2, DRAW_KEY_F2 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
71
|
{ XK_F3, DRAW_KEY_F3 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
72
|
{ XK_F4, DRAW_KEY_F4 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
73
|
{ XK_F5, DRAW_KEY_F5 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
74
|
{ XK_F6, DRAW_KEY_F6 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
75
|
{ XK_F7, DRAW_KEY_F7 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
76
|
{ XK_F8, DRAW_KEY_F8 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
77
|
{ XK_F9, DRAW_KEY_F9 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
78
|
{ XK_F10, DRAW_KEY_F10 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
79
|
{ XK_F11, DRAW_KEY_F11 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
80
|
{ XK_F12, DRAW_KEY_F12 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
81
|
{ XK_F13, DRAW_KEY_F13 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
82
|
{ XK_F14, DRAW_KEY_F14 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
83
|
{ XK_F15, DRAW_KEY_F15 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
84
|
{ XK_F16, DRAW_KEY_F16 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
85
|
{ XK_F17, DRAW_KEY_F17 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
86
|
{ XK_F18, DRAW_KEY_F18 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
87
|
{ XK_F19, DRAW_KEY_F19 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
88
|
{ XK_F20, DRAW_KEY_F20 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
89
|
{ XK_F21, DRAW_KEY_F21 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
90
|
{ XK_F22, DRAW_KEY_F22 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
91
|
{ XK_F23, DRAW_KEY_F23 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
92
|
{ XK_F24, DRAW_KEY_F24 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
93
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
94
|
{ XK_Sys_Req, DRAW_KEY_SYSRQ }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
95
|
{ XK_Scroll_Lock, DRAW_KEY_SCROLL_LOCK }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
96
|
{ XK_Pause, DRAW_KEY_PAUSE }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
97
|
{ XK_Insert, DRAW_KEY_INSERT }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
98
|
{ XK_Delete, DRAW_KEY_DELETE }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
99
|
{ XK_Home, DRAW_KEY_HOME }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
100
|
{ XK_End, DRAW_KEY_END }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
101
|
{ XK_Page_Up, DRAW_KEY_PAGE_UP }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
102
|
{ XK_Page_Down, DRAW_KEY_PAGE_DOWN }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
103
|
{ XK_Left, DRAW_KEY_LEFT }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
104
|
{ XK_Up, DRAW_KEY_UP }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
105
|
{ XK_Right, DRAW_KEY_RIGHT }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
106
|
{ XK_Down, DRAW_KEY_DOWN }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
107
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
108
|
{ XK_Num_Lock, DRAW_KEY_NUM_LOCK }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
109
|
{ XK_KP_Divide, DRAW_KEY_KP_SLASH }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
110
|
{ XK_KP_Multiply, DRAW_KEY_KP_ASTERISK }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
111
|
{ XK_KP_Subtract, DRAW_KEY_KP_MINUS }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
112
|
{ XK_KP_Add, DRAW_KEY_KP_PLUS }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
113
|
{ XK_KP_Enter, DRAW_KEY_KP_ENTER }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
114
|
{ XK_KP_Insert, DRAW_KEY_KP_0 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
115
|
{ XK_KP_End, DRAW_KEY_KP_1 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
116
|
{ XK_KP_Down, DRAW_KEY_KP_2 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
117
|
{ XK_KP_Page_Down, DRAW_KEY_KP_3 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
118
|
{ XK_KP_Left, DRAW_KEY_KP_4 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
119
|
{ XK_KP_Begin, DRAW_KEY_KP_5 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
120
|
{ XK_KP_Right, DRAW_KEY_KP_6 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
121
|
{ XK_KP_Home, DRAW_KEY_KP_7 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
122
|
{ XK_KP_Up, DRAW_KEY_KP_8 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
123
|
{ XK_KP_Page_Up, DRAW_KEY_KP_9 }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
124
|
{ XK_KP_Delete, DRAW_KEY_KP_DOT }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
125
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
126
|
{ XK_Shift_L, DRAW_KEY_LEFT_SHIFT }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
127
|
{ XK_Control_L, DRAW_KEY_LEFT_CONTROL }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
128
|
{ XK_Alt_L, DRAW_KEY_LEFT_ALT }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
129
|
{ XK_Super_L, DRAW_KEY_LEFT_SUPER }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
130
|
{ XK_Shift_R, DRAW_KEY_RIGHT_SHIFT }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
131
|
{ XK_Control_R, DRAW_KEY_RIGHT_CONTROL }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
132
|
{ XK_Alt_R, DRAW_KEY_RIGHT_ALT }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
133
|
{ XK_Super_R, DRAW_KEY_RIGHT_SUPER }, |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
134
|
}; |
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
135
|
|
ccd60e6 |
Jakob Wakeling |
2024-03-10 19:35:51 |
136
|
const size_t keymap_size = sizeof(keymap) / sizeof(*keymap); |
|
|
|
137
|
|