libdraw

Minimal window and drawing library
git clone http://git.omkov.net/libdraw
Log | Tree | Refs | Download

libdraw/src/x11/keys.c (138 lines, 4.1 KiB) -rw-r--r-- file download

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