st-fix-keyboard-input-20180605-dc3b5ba.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
st-fix-keyboard-input-20180605-dc3b5ba.diff (50807B)
---
1 Author: Jan Christoph Ebersbach <jceb@e-jc.de>
2 URL: http://st.suckless.org/patches/fix_keyboard_input
3 Fix keyboard input on terminal
4
5 Index: st-patches/st/config.def.h
6 ===================================================================
7 --- a/config.def.h
8 +++ b/config.def.h
9 @@ -209,7 +209,80 @@ Shortcut shortcuts[] = {
10 * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF)
11 * to be mapped below, add them to this array.
12 */
13 -static KeySym mappedkeys[] = { -1 };
14 +static KeySym mappedkeys[] = {
15 + XK_space,
16 + XK_m,
17 + XK_i,
18 + XK_A,
19 + XK_B,
20 + XK_C,
21 + XK_D,
22 + XK_E,
23 + XK_F,
24 + XK_G,
25 + XK_H,
26 + XK_I,
27 + XK_K,
28 + XK_J,
29 + XK_L,
30 + XK_M,
31 + XK_N,
32 + XK_O,
33 + XK_P,
34 + XK_Q,
35 + XK_R,
36 + XK_S,
37 + XK_T,
38 + XK_U,
39 + XK_V,
40 + XK_W,
41 + XK_X,
42 + XK_Y,
43 + XK_Z,
44 + XK_Z,
45 + XK_0,
46 + XK_1,
47 + XK_2,
48 + XK_3,
49 + XK_4,
50 + XK_5,
51 + XK_6,
52 + XK_7,
53 + XK_8,
54 + XK_9,
55 + XK_exclam,
56 + XK_quotedbl,
57 + XK_numbersign,
58 + XK_dollar,
59 + XK_percent,
60 + XK_ampersand,
61 + XK_apostrophe,
62 + XK_parenleft,
63 + XK_parenright,
64 + XK_asterisk,
65 + XK_plus,
66 + XK_comma,
67 + XK_minus,
68 + XK_period,
69 + XK_slash,
70 + XK_colon,
71 + XK_semicolon,
72 + XK_less,
73 + XK_equal,
74 + XK_greater,
75 + XK_question,
76 + XK_at,
77 + XK_bracketleft,
78 + XK_backslash,
79 + XK_bracketright,
80 + XK_asciicircum,
81 + XK_underscore,
82 + XK_grave,
83 + XK_braceleft,
84 + XK_bar,
85 + XK_braceright,
86 + XK_asciitilde,
87 +};
88
89 /*
90 * State bits to ignore when matching key or button events. By default,
91 @@ -232,59 +305,20 @@ static Key key[] = {
92 /* keysym mask string appkey appcursor */
93 { XK_KP_Home, ShiftMask, "\033[2J", 0, -1},
94 { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1},
95 - { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1},
96 - { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1},
97 - { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0},
98 - { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1},
99 - { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1},
100 - { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0},
101 - { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1},
102 - { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1},
103 - { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0},
104 - { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1},
105 - { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1},
106 - { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0},
107 - { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1},
108 - { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1},
109 { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0},
110 - { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
111 - { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0},
112 { XK_KP_End, ControlMask, "\033[J", -1, 0},
113 { XK_KP_End, ControlMask, "\033[1;5F", +1, 0},
114 { XK_KP_End, ShiftMask, "\033[K", -1, 0},
115 { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0},
116 - { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0},
117 { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0},
118 - { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0},
119 { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0},
120 { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0},
121 { XK_KP_Insert, ControlMask, "\033[L", -1, 0},
122 { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0},
123 - { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
124 - { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
125 { XK_KP_Delete, ControlMask, "\033[M", -1, 0},
126 { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0},
127 { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0},
128 { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0},
129 - { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0},
130 - { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
131 - { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0},
132 - { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0},
133 - { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0},
134 - { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0},
135 - { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0},
136 - { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0},
137 - { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0},
138 - { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0},
139 - { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0},
140 - { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0},
141 - { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0},
142 - { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0},
143 - { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0},
144 - { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0},
145 - { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0},
146 - { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0},
147 - { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0},
148 { XK_Up, ShiftMask, "\033[1;2A", 0, 0},
149 { XK_Up, Mod1Mask, "\033[1;3A", 0, 0},
150 { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0},
151 @@ -323,35 +356,26 @@ static Key key[] = {
152 { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0},
153 { XK_Return, Mod1Mask, "\033\r", 0, 0},
154 - { XK_Return, XK_ANY_MOD, "\r", 0, 0},
155 + { XK_Return, XK_NO_MOD, "\r", 0, 0},
156 { XK_Insert, ShiftMask, "\033[4l", -1, 0},
157 { XK_Insert, ShiftMask, "\033[2;2~", +1, 0},
158 { XK_Insert, ControlMask, "\033[L", -1, 0},
159 { XK_Insert, ControlMask, "\033[2;5~", +1, 0},
160 - { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
161 - { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
162 { XK_Delete, ControlMask, "\033[M", -1, 0},
163 { XK_Delete, ControlMask, "\033[3;5~", +1, 0},
164 { XK_Delete, ShiftMask, "\033[2K", -1, 0},
165 { XK_Delete, ShiftMask, "\033[3;2~", +1, 0},
166 - { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0},
167 - { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
168 { XK_BackSpace, XK_NO_MOD, "\177", 0, 0},
169 { XK_BackSpace, Mod1Mask, "\033\177", 0, 0},
170 { XK_Home, ShiftMask, "\033[2J", 0, -1},
171 { XK_Home, ShiftMask, "\033[1;2H", 0, +1},
172 - { XK_Home, XK_ANY_MOD, "\033[H", 0, -1},
173 - { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1},
174 { XK_End, ControlMask, "\033[J", -1, 0},
175 { XK_End, ControlMask, "\033[1;5F", +1, 0},
176 { XK_End, ShiftMask, "\033[K", -1, 0},
177 { XK_End, ShiftMask, "\033[1;2F", +1, 0},
178 - { XK_End, XK_ANY_MOD, "\033[4~", 0, 0},
179 { XK_Prior, ControlMask, "\033[5;5~", 0, 0},
180 { XK_Prior, ShiftMask, "\033[5;2~", 0, 0},
181 - { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
182 { XK_Next, ControlMask, "\033[6;5~", 0, 0},
183 { XK_Next, ShiftMask, "\033[6;2~", 0, 0},
184 - { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0},
185 { XK_F1, XK_NO_MOD, "\033OP" , 0, 0},
186 { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0},
187 { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0},
188 @@ -438,6 +462,572 @@ static Key key[] = {
189 { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0},
190 { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0},
191 { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0},
192 +
193 + // libtermkey compatible keyboard input
194 + { XK_KP_Home, XK_NO_MOD, "\033[H", 0, -1},
195 + { XK_KP_Home, XK_NO_MOD, "\033[1~", 0, +1},
196 + { XK_KP_Home, ControlMask, "\033[149;5u", 0, 0},
197 + { XK_KP_Home, ControlMask|ShiftMask, "\033[149;6u", 0, 0},
198 + { XK_KP_Home, Mod1Mask, "\033[149;3u", 0, 0},
199 + { XK_KP_Home, Mod1Mask|ControlMask, "\033[149;7u", 0, 0},
200 + { XK_KP_Home, Mod1Mask|ControlMask|ShiftMask, "\033[149;8u", 0, 0},
201 + { XK_KP_Home, Mod1Mask|ShiftMask, "\033[149;4u", 0, 0},
202 + { XK_KP_Home, ShiftMask, "\033[149;2u", 0, 0},
203 + { XK_KP_Up, XK_NO_MOD, "\033Ox", +1, 0},
204 + { XK_KP_Up, XK_NO_MOD, "\033[A", 0, -1},
205 + { XK_KP_Up, XK_NO_MOD, "\033OA", 0, +1},
206 + { XK_KP_Up, ControlMask, "\033[151;5u", 0, 0},
207 + { XK_KP_Up, ControlMask|ShiftMask, "\033[151;6u", 0, 0},
208 + { XK_KP_Up, Mod1Mask, "\033[151;3u", 0, 0},
209 + { XK_KP_Up, Mod1Mask|ControlMask, "\033[151;7u", 0, 0},
210 + { XK_KP_Up, Mod1Mask|ControlMask|ShiftMask, "\033[151;8u", 0, 0},
211 + { XK_KP_Up, Mod1Mask|ShiftMask, "\033[151;4u", 0, 0},
212 + { XK_KP_Up, ShiftMask, "\033[151;2u", 0, 0},
213 + { XK_KP_Down, XK_NO_MOD, "\033Or", +1, 0},
214 + { XK_KP_Down, XK_NO_MOD, "\033[B", 0, -1},
215 + { XK_KP_Down, XK_NO_MOD, "\033OB", 0, +1},
216 + { XK_KP_Down, ControlMask, "\033[153;5u", 0, 0},
217 + { XK_KP_Down, ControlMask|ShiftMask, "\033[153;6u", 0, 0},
218 + { XK_KP_Down, Mod1Mask, "\033[153;3u", 0, 0},
219 + { XK_KP_Down, Mod1Mask|ControlMask, "\033[153;7u", 0, 0},
220 + { XK_KP_Down, Mod1Mask|ControlMask|ShiftMask, "\033[153;8u", 0, 0},
221 + { XK_KP_Down, Mod1Mask|ShiftMask, "\033[153;4u", 0, 0},
222 + { XK_KP_Down, ShiftMask, "\033[153;2u", 0, 0},
223 + { XK_KP_Left, XK_NO_MOD, "\033Ot", +1, 0},
224 + { XK_KP_Left, XK_NO_MOD, "\033[D", 0, -1},
225 + { XK_KP_Left, XK_NO_MOD, "\033OD", 0, +1},
226 + { XK_KP_Left, ControlMask, "\033[150;5u", 0, 0},
227 + { XK_KP_Left, ControlMask|ShiftMask, "\033[150;6u", 0, 0},
228 + { XK_KP_Left, Mod1Mask, "\033[150;3u", 0, 0},
229 + { XK_KP_Left, Mod1Mask|ControlMask, "\033[150;7u", 0, 0},
230 + { XK_KP_Left, Mod1Mask|ControlMask|ShiftMask, "\033[150;8u", 0, 0},
231 + { XK_KP_Left, Mod1Mask|ShiftMask, "\033[150;4u", 0, 0},
232 + { XK_KP_Left, ShiftMask, "\033[150;2u", 0, 0},
233 + { XK_KP_Right, XK_NO_MOD, "\033Ov", +1, 0},
234 + { XK_KP_Right, XK_NO_MOD, "\033[C", 0, -1},
235 + { XK_KP_Right, XK_NO_MOD, "\033OC", 0, +1},
236 + { XK_KP_Right, ControlMask, "\033[152;5u", 0, 0},
237 + { XK_KP_Right, ControlMask|ShiftMask, "\033[152;6u", 0, 0},
238 + { XK_KP_Right, Mod1Mask, "\033[152;3u", 0, 0},
239 + { XK_KP_Right, Mod1Mask|ControlMask, "\033[152;7u", 0, 0},
240 + { XK_KP_Right, Mod1Mask|ControlMask|ShiftMask, "\033[152;8u", 0, 0},
241 + { XK_KP_Right, Mod1Mask|ShiftMask, "\033[152;4u", 0, 0},
242 + { XK_KP_Right, ShiftMask, "\033[152;2u", 0, 0},
243 + { XK_KP_Prior, XK_NO_MOD, "\033[5~", 0, 0},
244 + { XK_KP_Prior, ControlMask, "\033[154;5u", 0, 0},
245 + { XK_KP_Prior, ControlMask|ShiftMask, "\033[154;6u", 0, 0},
246 + { XK_KP_Prior, Mod1Mask, "\033[154;3u", 0, 0},
247 + { XK_KP_Prior, Mod1Mask|ControlMask, "\033[154;7u", 0, 0},
248 + { XK_KP_Prior, Mod1Mask|ControlMask|ShiftMask, "\033[154;8u", 0, 0},
249 + { XK_KP_Prior, Mod1Mask|ShiftMask, "\033[154;4u", 0, 0},
250 + { XK_KP_Begin, XK_NO_MOD, "\033[E", 0, 0},
251 + { XK_KP_Begin, ControlMask, "\033[157;5u", 0, 0},
252 + { XK_KP_Begin, ControlMask|ShiftMask, "\033[157;6u", 0, 0},
253 + { XK_KP_Begin, Mod1Mask, "\033[157;3u", 0, 0},
254 + { XK_KP_Begin, Mod1Mask|ControlMask, "\033[157;7u", 0, 0},
255 + { XK_KP_Begin, Mod1Mask|ControlMask|ShiftMask, "\033[157;8u", 0, 0},
256 + { XK_KP_Begin, Mod1Mask|ShiftMask, "\033[157;4u", 0, 0},
257 + { XK_KP_Begin, ShiftMask, "\033[157;2u", 0, 0},
258 + { XK_KP_End, XK_NO_MOD, "\033[4~", 0, 0},
259 + { XK_KP_End, ControlMask|ShiftMask, "\033[156;6u", 0, 0},
260 + { XK_KP_End, Mod1Mask, "\033[156;3u", 0, 0},
261 + { XK_KP_End, Mod1Mask|ControlMask, "\033[156;7u", 0, 0},
262 + { XK_KP_End, Mod1Mask|ControlMask|ShiftMask, "\033[156;8u", 0, 0},
263 + { XK_KP_End, Mod1Mask|ShiftMask, "\033[156;4u", 0, 0},
264 + { XK_KP_Next, XK_NO_MOD, "\033[6~", 0, 0},
265 + { XK_KP_Next, ControlMask, "\033[155;5u", 0, 0},
266 + { XK_KP_Next, ControlMask|ShiftMask, "\033[155;6u", 0, 0},
267 + { XK_KP_Next, Mod1Mask, "\033[155;3u", 0, 0},
268 + { XK_KP_Next, Mod1Mask|ControlMask, "\033[155;7u", 0, 0},
269 + { XK_KP_Next, Mod1Mask|ControlMask|ShiftMask, "\033[155;8u", 0, 0},
270 + { XK_KP_Next, Mod1Mask|ShiftMask, "\033[155;4u", 0, 0},
271 + { XK_KP_Insert, XK_NO_MOD, "\033[4h", -1, 0},
272 + { XK_KP_Insert, XK_NO_MOD, "\033[2~", +1, 0},
273 + { XK_KP_Insert, ControlMask|ShiftMask, "\033[158;6u", 0, 0},
274 + { XK_KP_Insert, Mod1Mask, "\033[158;3u", 0, 0},
275 + { XK_KP_Insert, Mod1Mask|ControlMask, "\033[158;7u", 0, 0},
276 + { XK_KP_Insert, Mod1Mask|ControlMask|ShiftMask, "\033[158;8u", 0, 0},
277 + { XK_KP_Insert, Mod1Mask|ShiftMask, "\033[158;4u", 0, 0},
278 + { XK_KP_Delete, XK_NO_MOD, "\033[P", -1, 0},
279 + { XK_KP_Delete, XK_NO_MOD, "\033[3~", +1, 0},
280 + { XK_KP_Delete, ControlMask|ShiftMask, "\033[159;6u", 0, 0},
281 + { XK_KP_Delete, Mod1Mask, "\033[159;3u", 0, 0},
282 + { XK_KP_Delete, Mod1Mask|ControlMask, "\033[159;7u", 0, 0},
283 + { XK_KP_Delete, Mod1Mask|ControlMask|ShiftMask, "\033[159;8u", 0, 0},
284 + { XK_KP_Delete, Mod1Mask|ShiftMask, "\033[159;4u", 0, 0},
285 + { XK_KP_Multiply, XK_NO_MOD, "\033Oj", +2, 0},
286 + { XK_KP_Multiply, ControlMask, "\033[170;5u", 0, 0},
287 + { XK_KP_Multiply, ControlMask|ShiftMask, "\033[170;6u", 0, 0},
288 + { XK_KP_Multiply, Mod1Mask, "\033[170;3u", 0, 0},
289 + { XK_KP_Multiply, Mod1Mask|ControlMask, "\033[170;7u", 0, 0},
290 + { XK_KP_Multiply, Mod1Mask|ControlMask|ShiftMask, "\033[170;8u", 0, 0},
291 + { XK_KP_Multiply, Mod1Mask|ShiftMask, "\033[170;4u", 0, 0},
292 + { XK_KP_Multiply, ShiftMask, "\033[170;2u", 0, 0},
293 + { XK_KP_Add, XK_NO_MOD, "\033Ok", +2, 0},
294 + { XK_KP_Add, ControlMask, "\033[171;5u", 0, 0},
295 + { XK_KP_Add, ControlMask|ShiftMask, "\033[171;6u", 0, 0},
296 + { XK_KP_Add, Mod1Mask, "\033[171;3u", 0, 0},
297 + { XK_KP_Add, Mod1Mask|ControlMask, "\033[171;7u", 0, 0},
298 + { XK_KP_Add, Mod1Mask|ControlMask|ShiftMask, "\033[171;8u", 0, 0},
299 + { XK_KP_Add, Mod1Mask|ShiftMask, "\033[171;4u", 0, 0},
300 + { XK_KP_Add, ShiftMask, "\033[171;2u", 0, 0},
301 + { XK_KP_Enter, XK_NO_MOD, "\033OM", +2, 0},
302 + { XK_KP_Enter, XK_NO_MOD, "\r", -1, 0},
303 + { XK_KP_Enter, XK_NO_MOD, "\r\n", -1, 0},
304 + { XK_KP_Enter, ControlMask, "\033[141;5u", 0, 0},
305 + { XK_KP_Enter, ControlMask|ShiftMask, "\033[141;6u", 0, 0},
306 + { XK_KP_Enter, Mod1Mask, "\033[141;3u", 0, 0},
307 + { XK_KP_Enter, Mod1Mask|ControlMask, "\033[141;7u", 0, 0},
308 + { XK_KP_Enter, Mod1Mask|ControlMask|ShiftMask, "\033[141;8u", 0, 0},
309 + { XK_KP_Enter, Mod1Mask|ShiftMask, "\033[141;4u", 0, 0},
310 + { XK_KP_Enter, ShiftMask, "\033[141;2u", 0, 0},
311 + { XK_KP_Subtract, XK_NO_MOD, "\033Om", +2, 0},
312 + { XK_KP_Subtract, ControlMask, "\033[173;5u", 0, 0},
313 + { XK_KP_Subtract, ControlMask|ShiftMask, "\033[173;6u", 0, 0},
314 + { XK_KP_Subtract, Mod1Mask, "\033[173;3u", 0, 0},
315 + { XK_KP_Subtract, Mod1Mask|ControlMask, "\033[173;7u", 0, 0},
316 + { XK_KP_Subtract, Mod1Mask|ControlMask|ShiftMask, "\033[173;8u", 0, 0},
317 + { XK_KP_Subtract, Mod1Mask|ShiftMask, "\033[173;4u", 0, 0},
318 + { XK_KP_Subtract, ShiftMask, "\033[173;2u", 0, 0},
319 + { XK_KP_Decimal, XK_NO_MOD, "\033On", +2, 0},
320 + { XK_KP_Decimal, ControlMask, "\033[174;5u", 0, 0},
321 + { XK_KP_Decimal, ControlMask|ShiftMask, "\033[174;6u", 0, 0},
322 + { XK_KP_Decimal, Mod1Mask, "\033[174;3u", 0, 0},
323 + { XK_KP_Decimal, Mod1Mask|ControlMask, "\033[174;7u", 0, 0},
324 + { XK_KP_Decimal, Mod1Mask|ControlMask|ShiftMask, "\033[174;8u", 0, 0},
325 + { XK_KP_Decimal, Mod1Mask|ShiftMask, "\033[174;4u", 0, 0},
326 + { XK_KP_Decimal, ShiftMask, "\033[174;2u", 0, 0},
327 + { XK_KP_Divide, XK_NO_MOD, "\033Oo", +2, 0},
328 + { XK_KP_Divide, ControlMask, "\033[175;5u", 0, 0},
329 + { XK_KP_Divide, ControlMask|ShiftMask, "\033[175;6u", 0, 0},
330 + { XK_KP_Divide, Mod1Mask, "\033[175;3u", 0, 0},
331 + { XK_KP_Divide, Mod1Mask|ControlMask, "\033[175;7u", 0, 0},
332 + { XK_KP_Divide, Mod1Mask|ControlMask|ShiftMask, "\033[175;8u", 0, 0},
333 + { XK_KP_Divide, Mod1Mask|ShiftMask, "\033[175;4u", 0, 0},
334 + { XK_KP_Divide, ShiftMask, "\033[175;2u", 0, 0},
335 + { XK_KP_0, XK_NO_MOD, "\033Op", +2, 0},
336 + { XK_KP_0, ControlMask, "\033[176;5u", 0, 0},
337 + { XK_KP_0, ControlMask|ShiftMask, "\033[176;6u", 0, 0},
338 + { XK_KP_0, Mod1Mask, "\033[176;3u", 0, 0},
339 + { XK_KP_0, Mod1Mask|ControlMask, "\033[176;7u", 0, 0},
340 + { XK_KP_0, Mod1Mask|ControlMask|ShiftMask, "\033[176;8u", 0, 0},
341 + { XK_KP_0, Mod1Mask|ShiftMask, "\033[176;4u", 0, 0},
342 + { XK_KP_0, ShiftMask, "\033[176;2u", 0, 0},
343 + { XK_KP_1, XK_NO_MOD, "\033Oq", +2, 0},
344 + { XK_KP_0, ControlMask, "\033[177;5u", 0, 0},
345 + { XK_KP_0, ControlMask|ShiftMask, "\033[177;6u", 0, 0},
346 + { XK_KP_0, Mod1Mask, "\033[177;3u", 0, 0},
347 + { XK_KP_0, Mod1Mask|ControlMask, "\033[177;7u", 0, 0},
348 + { XK_KP_0, Mod1Mask|ControlMask|ShiftMask, "\033[177;8u", 0, 0},
349 + { XK_KP_0, Mod1Mask|ShiftMask, "\033[177;4u", 0, 0},
350 + { XK_KP_0, ShiftMask, "\033[177;2u", 0, 0},
351 + { XK_KP_2, XK_NO_MOD, "\033Or", +2, 0},
352 + { XK_KP_2, ControlMask, "\033[178;5u", 0, 0},
353 + { XK_KP_2, ControlMask|ShiftMask, "\033[178;6u", 0, 0},
354 + { XK_KP_2, Mod1Mask, "\033[178;3u", 0, 0},
355 + { XK_KP_2, Mod1Mask|ControlMask, "\033[178;7u", 0, 0},
356 + { XK_KP_2, Mod1Mask|ControlMask|ShiftMask, "\033[178;8u", 0, 0},
357 + { XK_KP_2, Mod1Mask|ShiftMask, "\033[178;4u", 0, 0},
358 + { XK_KP_2, ShiftMask, "\033[178;2u", 0, 0},
359 + { XK_KP_3, XK_NO_MOD, "\033Os", +2, 0},
360 + { XK_KP_3, ControlMask, "\033[179;5u", 0, 0},
361 + { XK_KP_3, ControlMask|ShiftMask, "\033[179;6u", 0, 0},
362 + { XK_KP_3, Mod1Mask, "\033[179;3u", 0, 0},
363 + { XK_KP_3, Mod1Mask|ControlMask, "\033[179;7u", 0, 0},
364 + { XK_KP_3, Mod1Mask|ControlMask|ShiftMask, "\033[179;8u", 0, 0},
365 + { XK_KP_3, Mod1Mask|ShiftMask, "\033[179;4u", 0, 0},
366 + { XK_KP_3, ShiftMask, "\033[179;2u", 0, 0},
367 + { XK_KP_4, XK_NO_MOD, "\033Ot", +2, 0},
368 + { XK_KP_4, ControlMask, "\033[180;5u", 0, 0},
369 + { XK_KP_4, ControlMask|ShiftMask, "\033[180;6u", 0, 0},
370 + { XK_KP_4, Mod1Mask, "\033[180;3u", 0, 0},
371 + { XK_KP_4, Mod1Mask|ControlMask, "\033[180;7u", 0, 0},
372 + { XK_KP_4, Mod1Mask|ControlMask|ShiftMask, "\033[180;8u", 0, 0},
373 + { XK_KP_4, Mod1Mask|ShiftMask, "\033[180;4u", 0, 0},
374 + { XK_KP_4, ShiftMask, "\033[180;2u", 0, 0},
375 + { XK_KP_5, XK_NO_MOD, "\033Ou", +2, 0},
376 + { XK_KP_5, ControlMask, "\033[181;5u", 0, 0},
377 + { XK_KP_5, ControlMask|ShiftMask, "\033[181;6u", 0, 0},
378 + { XK_KP_5, Mod1Mask, "\033[181;3u", 0, 0},
379 + { XK_KP_5, Mod1Mask|ControlMask, "\033[181;7u", 0, 0},
380 + { XK_KP_5, Mod1Mask|ControlMask|ShiftMask, "\033[181;8u", 0, 0},
381 + { XK_KP_5, Mod1Mask|ShiftMask, "\033[181;4u", 0, 0},
382 + { XK_KP_5, ShiftMask, "\033[181;2u", 0, 0},
383 + { XK_KP_6, XK_NO_MOD, "\033Ov", +2, 0},
384 + { XK_KP_6, ControlMask, "\033[182;5u", 0, 0},
385 + { XK_KP_6, ControlMask|ShiftMask, "\033[182;6u", 0, 0},
386 + { XK_KP_6, Mod1Mask, "\033[182;3u", 0, 0},
387 + { XK_KP_6, Mod1Mask|ControlMask, "\033[182;7u", 0, 0},
388 + { XK_KP_6, Mod1Mask|ControlMask|ShiftMask, "\033[182;8u", 0, 0},
389 + { XK_KP_6, Mod1Mask|ShiftMask, "\033[182;4u", 0, 0},
390 + { XK_KP_6, ShiftMask, "\033[182;2u", 0, 0},
391 + { XK_KP_7, XK_NO_MOD, "\033Ow", +2, 0},
392 + { XK_KP_7, ControlMask, "\033[183;5u", 0, 0},
393 + { XK_KP_7, ControlMask|ShiftMask, "\033[183;6u", 0, 0},
394 + { XK_KP_7, Mod1Mask, "\033[183;3u", 0, 0},
395 + { XK_KP_7, Mod1Mask|ControlMask, "\033[183;7u", 0, 0},
396 + { XK_KP_7, Mod1Mask|ControlMask|ShiftMask, "\033[183;8u", 0, 0},
397 + { XK_KP_7, Mod1Mask|ShiftMask, "\033[183;4u", 0, 0},
398 + { XK_KP_7, ShiftMask, "\033[183;2u", 0, 0},
399 + { XK_KP_8, XK_NO_MOD, "\033Ox", +2, 0},
400 + { XK_KP_8, ControlMask, "\033[184;5u", 0, 0},
401 + { XK_KP_8, ControlMask|ShiftMask, "\033[184;6u", 0, 0},
402 + { XK_KP_8, Mod1Mask, "\033[184;3u", 0, 0},
403 + { XK_KP_8, Mod1Mask|ControlMask, "\033[184;7u", 0, 0},
404 + { XK_KP_8, Mod1Mask|ControlMask|ShiftMask, "\033[184;8u", 0, 0},
405 + { XK_KP_8, Mod1Mask|ShiftMask, "\033[184;4u", 0, 0},
406 + { XK_KP_8, ShiftMask, "\033[184;2u", 0, 0},
407 + { XK_KP_9, XK_NO_MOD, "\033Oy", +2, 0},
408 + { XK_KP_9, ControlMask, "\033[185;5u", 0, 0},
409 + { XK_KP_9, ControlMask|ShiftMask, "\033[185;6u", 0, 0},
410 + { XK_KP_9, Mod1Mask, "\033[185;3u", 0, 0},
411 + { XK_KP_9, Mod1Mask|ControlMask, "\033[185;7u", 0, 0},
412 + { XK_KP_9, Mod1Mask|ControlMask|ShiftMask, "\033[185;8u", 0, 0},
413 + { XK_KP_9, Mod1Mask|ShiftMask, "\033[185;4u", 0, 0},
414 + { XK_KP_9, ShiftMask, "\033[185;2u", 0, 0},
415 + { XK_BackSpace, ControlMask, "\033[127;5u", 0, 0},
416 + { XK_BackSpace, ControlMask|ShiftMask, "\033[127;6u", 0, 0},
417 + { XK_BackSpace, Mod1Mask, "\033[127;3u", 0, 0},
418 + { XK_BackSpace, Mod1Mask|ControlMask, "\033[127;7u", 0, 0},
419 + { XK_BackSpace, Mod1Mask|ControlMask|ShiftMask, "\033[127;8u", 0, 0},
420 + { XK_BackSpace, Mod1Mask|ShiftMask, "\033[127;4u", 0, 0},
421 + { XK_BackSpace, ShiftMask, "\033[127;2u", 0, 0},
422 + { XK_Tab, ControlMask, "\033[9;5u", 0, 0},
423 + { XK_Tab, ControlMask|ShiftMask, "\033[1;5Z", 0, 0},
424 + { XK_Tab, Mod1Mask, "\033[1;3Z", 0, 0},
425 + { XK_Tab, Mod1Mask|ControlMask, "\033[1;7Z", 0, 0},
426 + { XK_Tab, Mod1Mask|ControlMask|ShiftMask, "\033[1;8Z", 0, 0},
427 + { XK_Tab, Mod1Mask|ShiftMask, "\033[1;4Z", 0, 0},
428 + { XK_Return, ControlMask, "\033[13;5u", 0, 0},
429 + { XK_Return, ControlMask|ShiftMask, "\033[13;6u", 0, 0},
430 + { XK_Return, Mod1Mask, "\033[13;3u", 0, 0},
431 + { XK_Return, Mod1Mask|ControlMask, "\033[13;7u", 0, 0},
432 + { XK_Return, Mod1Mask|ControlMask|ShiftMask, "\033[13;8u", 0, 0},
433 + { XK_Return, Mod1Mask|ShiftMask, "\033[13;4u", 0, 0},
434 + { XK_Return, ShiftMask, "\033[13;2u", 0, 0},
435 + { XK_Pause, ControlMask, "\033[18;5u", 0, 0},
436 + { XK_Pause, ControlMask|ShiftMask, "\033[18;6u", 0, 0},
437 + { XK_Pause, Mod1Mask, "\033[18;3u", 0, 0},
438 + { XK_Pause, Mod1Mask|ControlMask, "\033[18;7u", 0, 0},
439 + { XK_Pause, Mod1Mask|ControlMask|ShiftMask, "\033[18;8u", 0, 0},
440 + { XK_Pause, Mod1Mask|ShiftMask, "\033[18;4u", 0, 0},
441 + { XK_Pause, ShiftMask, "\033[18;2u", 0, 0},
442 + { XK_Scroll_Lock, ControlMask, "\033[20;5u", 0, 0},
443 + { XK_Scroll_Lock, ControlMask|ShiftMask, "\033[20;6u", 0, 0},
444 + { XK_Scroll_Lock, Mod1Mask, "\033[20;3u", 0, 0},
445 + { XK_Scroll_Lock, Mod1Mask|ControlMask, "\033[20;7u", 0, 0},
446 + { XK_Scroll_Lock, Mod1Mask|ControlMask|ShiftMask, "\033[20;8u", 0, 0},
447 + { XK_Scroll_Lock, Mod1Mask|ShiftMask, "\033[20;4u", 0, 0},
448 + { XK_Scroll_Lock, ShiftMask, "\033[20;2u", 0, 0},
449 + { XK_Escape, ControlMask, "\033[27;5u", 0, 0},
450 + { XK_Escape, ControlMask|ShiftMask, "\033[27;6u", 0, 0},
451 + { XK_Escape, Mod1Mask, "\033[27;3u", 0, 0},
452 + { XK_Escape, Mod1Mask|ControlMask, "\033[27;7u", 0, 0},
453 + { XK_Escape, Mod1Mask|ControlMask|ShiftMask, "\033[27;8u", 0, 0},
454 + { XK_Escape, Mod1Mask|ShiftMask, "\033[27;4u", 0, 0},
455 + { XK_Escape, ShiftMask, "\033[27;2u", 0, 0},
456 + { XK_Home, XK_NO_MOD, "\033[H", 0, -1},
457 + { XK_Home, XK_NO_MOD, "\033[1~", 0, +1},
458 + { XK_Home, ControlMask|ShiftMask, "\033[80;6u", 0, 0},
459 + { XK_Home, Mod1Mask, "\033[80;3u", 0, 0},
460 + { XK_Home, Mod1Mask|ControlMask, "\033[80;7u", 0, 0},
461 + { XK_Home, Mod1Mask|ControlMask|ShiftMask, "\033[80;8u", 0, 0},
462 + { XK_Home, Mod1Mask|ShiftMask, "\033[80;4u", 0, 0},
463 + { XK_End, XK_NO_MOD, "\033[4~", 0, 0},
464 + { XK_End, ControlMask|ShiftMask, "\033[87;6u", 0, 0},
465 + { XK_End, Mod1Mask, "\033[87;3u", 0, 0},
466 + { XK_End, Mod1Mask|ControlMask, "\033[87;7u", 0, 0},
467 + { XK_End, Mod1Mask|ControlMask|ShiftMask, "\033[87;8u", 0, 0},
468 + { XK_End, Mod1Mask|ShiftMask, "\033[87;4u", 0, 0},
469 + { XK_Prior, XK_NO_MOD, "\033[5~", 0, 0},
470 + { XK_Prior, ControlMask|ShiftMask, "\033[85;6u", 0, 0},
471 + { XK_Prior, Mod1Mask, "\033[85;3u", 0, 0},
472 + { XK_Prior, Mod1Mask|ControlMask, "\033[85;7u", 0, 0},
473 + { XK_Prior, Mod1Mask|ControlMask|ShiftMask, "\033[85;8u", 0, 0},
474 + { XK_Prior, Mod1Mask|ShiftMask, "\033[85;4u", 0, 0},
475 + { XK_Next, XK_NO_MOD, "\033[6~", 0, 0},
476 + { XK_Next, ControlMask|ShiftMask, "\033[86;6u", 0, 0},
477 + { XK_Next, Mod1Mask, "\033[86;3u", 0, 0},
478 + { XK_Next, Mod1Mask|ControlMask, "\033[86;7u", 0, 0},
479 + { XK_Next, Mod1Mask|ControlMask|ShiftMask, "\033[86;8u", 0, 0},
480 + { XK_Next, Mod1Mask|ShiftMask, "\033[86;4u", 0, 0},
481 + { XK_Print, ControlMask, "\033[97;5u", 0, 0},
482 + { XK_Print, ControlMask|ShiftMask, "\033[97;6u", 0, 0},
483 + { XK_Print, Mod1Mask, "\033[97;3u", 0, 0},
484 + { XK_Print, Mod1Mask|ControlMask, "\033[97;7u", 0, 0},
485 + { XK_Print, Mod1Mask|ControlMask|ShiftMask, "\033[97;8u", 0, 0},
486 + { XK_Print, Mod1Mask|ShiftMask, "\033[97;4u", 0, 0},
487 + { XK_Print, ShiftMask, "\033[97;2u", 0, 0},
488 + { XK_Insert, XK_NO_MOD, "\033[4h", -1, 0},
489 + { XK_Insert, XK_NO_MOD, "\033[2~", +1, 0},
490 + { XK_Insert, ControlMask|ShiftMask, "\033[99;6u", 0, 0},
491 + { XK_Insert, Mod1Mask, "\033[99;3u", 0, 0},
492 + { XK_Insert, Mod1Mask|ControlMask, "\033[99;7u", 0, 0},
493 + { XK_Insert, Mod1Mask|ControlMask|ShiftMask, "\033[99;8u", 0, 0},
494 + { XK_Insert, Mod1Mask|ShiftMask, "\033[99;4u", 0, 0},
495 + { XK_Menu, ControlMask, "\033[103;5u", 0, 0},
496 + { XK_Menu, ControlMask|ShiftMask, "\033[103;6u", 0, 0},
497 + { XK_Menu, Mod1Mask, "\033[103;3u", 0, 0},
498 + { XK_Menu, Mod1Mask|ControlMask, "\033[103;7u", 0, 0},
499 + { XK_Menu, Mod1Mask|ControlMask|ShiftMask, "\033[103;8u", 0, 0},
500 + { XK_Menu, Mod1Mask|ShiftMask, "\033[103;4u", 0, 0},
501 + { XK_Menu, ShiftMask, "\033[103;2u", 0, 0},
502 + { XK_Delete, XK_NO_MOD, "\033[P", -1, 0},
503 + { XK_Delete, XK_NO_MOD, "\033[3~", +1, 0},
504 + { XK_Delete, ControlMask|ShiftMask, "\033[255;6u", 0, 0},
505 + { XK_Delete, Mod1Mask, "\033[255;3u", 0, 0},
506 + { XK_Delete, Mod1Mask|ControlMask, "\033[255;7u", 0, 0},
507 + { XK_Delete, Mod1Mask|ControlMask|ShiftMask, "\033[255;8u", 0, 0},
508 + { XK_Delete, Mod1Mask|ShiftMask, "\033[255;4u", 0, 0},
509 + { XK_i, ControlMask, "\033[105;5u", 0, 0},
510 + { XK_i, Mod1Mask|ControlMask, "\033[105;7u", 0, 0},
511 + { XK_m, ControlMask, "\033[109;5u", 0, 0},
512 + { XK_m, Mod1Mask|ControlMask, "\033[109;7u", 0, 0},
513 + { XK_space, ControlMask|ShiftMask, "\033[32;6u", 0, 0},
514 + { XK_space, Mod1Mask, "\033[32;3u", 0, 0},
515 + { XK_space, Mod1Mask|ControlMask, "\033[32;7u", 0, 0},
516 + { XK_space, Mod1Mask|ControlMask|ShiftMask, "\033[32;8u", 0, 0},
517 + { XK_space, Mod1Mask|ShiftMask, "\033[32;4u", 0, 0},
518 + { XK_space, ShiftMask, "\033[32;2u", 0, 0},
519 + { XK_0, ControlMask, "\033[48;5u", 0, 0},
520 + { XK_A, ControlMask|ShiftMask, "\033[65;6u", 0, 0},
521 + { XK_B, ControlMask|ShiftMask, "\033[66;6u", 0, 0},
522 + { XK_C, ControlMask|ShiftMask, "\033[67;6u", 0, 0},
523 + { XK_D, ControlMask|ShiftMask, "\033[68;6u", 0, 0},
524 + { XK_E, ControlMask|ShiftMask, "\033[69;6u", 0, 0},
525 + { XK_F, ControlMask|ShiftMask, "\033[70;6u", 0, 0},
526 + { XK_G, ControlMask|ShiftMask, "\033[71;6u", 0, 0},
527 + { XK_H, ControlMask|ShiftMask, "\033[72;6u", 0, 0},
528 + { XK_I, ControlMask|ShiftMask, "\033[73;6u", 0, 0},
529 + { XK_I, Mod1Mask|ControlMask|ShiftMask, "\033[73;8u", 0, 0},
530 + { XK_J, ControlMask|ShiftMask, "\033[75;6u", 0, 0},
531 + { XK_K, ControlMask|ShiftMask, "\033[74;6u", 0, 0},
532 + { XK_L, ControlMask|ShiftMask, "\033[76;6u", 0, 0},
533 + { XK_M, ControlMask|ShiftMask, "\033[77;6u", 0, 0},
534 + { XK_M, Mod1Mask|ControlMask|ShiftMask, "\033[77;8u", 0, 0},
535 + { XK_N, ControlMask|ShiftMask, "\033[78;6u", 0, 0},
536 + { XK_O, ControlMask|ShiftMask, "\033[79;6u", 0, 0},
537 + { XK_P, ControlMask|ShiftMask, "\033[80;6u", 0, 0},
538 + { XK_Q, ControlMask|ShiftMask, "\033[81;6u", 0, 0},
539 + { XK_R, ControlMask|ShiftMask, "\033[82;6u", 0, 0},
540 + { XK_S, ControlMask|ShiftMask, "\033[83;6u", 0, 0},
541 + { XK_T, ControlMask|ShiftMask, "\033[84;6u", 0, 0},
542 + { XK_U, ControlMask|ShiftMask, "\033[85;6u", 0, 0},
543 + { XK_V, ControlMask|ShiftMask, "\033[86;6u", 0, 0},
544 + { XK_W, ControlMask|ShiftMask, "\033[87;6u", 0, 0},
545 + { XK_X, ControlMask|ShiftMask, "\033[88;6u", 0, 0},
546 + { XK_Y, ControlMask|ShiftMask, "\033[89;6u", 0, 0},
547 + { XK_Z, ControlMask|ShiftMask, "\033[90;6u", 0, 0},
548 + { XK_Z, ControlMask|ShiftMask, "\033[90;6u", 0, 0},
549 + { XK_0, Mod1Mask|ControlMask, "\033[48;7u", 0, 0},
550 + { XK_1, ControlMask, "\033[49;5u", 0, 0},
551 + { XK_1, Mod1Mask|ControlMask, "\033[49;7u", 0, 0},
552 + { XK_2, ControlMask, "\033[50;5u", 0, 0},
553 + { XK_2, Mod1Mask|ControlMask, "\033[50;7u", 0, 0},
554 + { XK_3, ControlMask, "\033[51;5u", 0, 0},
555 + { XK_3, Mod1Mask|ControlMask, "\033[51;7u", 0, 0},
556 + { XK_4, ControlMask, "\033[52;5u", 0, 0},
557 + { XK_4, Mod1Mask|ControlMask, "\033[52;7u", 0, 0},
558 + { XK_5, ControlMask, "\033[53;5u", 0, 0},
559 + { XK_5, Mod1Mask|ControlMask, "\033[53;7u", 0, 0},
560 + { XK_6, ControlMask, "\033[54;5u", 0, 0},
561 + { XK_6, Mod1Mask|ControlMask, "\033[54;7u", 0, 0},
562 + { XK_7, ControlMask, "\033[55;5u", 0, 0},
563 + { XK_7, Mod1Mask|ControlMask, "\033[55;7u", 0, 0},
564 + { XK_8, ControlMask, "\033[56;5u", 0, 0},
565 + { XK_8, Mod1Mask|ControlMask, "\033[56;7u", 0, 0},
566 + { XK_9, ControlMask, "\033[57;5u", 0, 0},
567 + { XK_9, Mod1Mask|ControlMask, "\033[57;7u", 0, 0},
568 + { XK_ampersand, ControlMask, "\033[38;5u", 0, 0},
569 + { XK_ampersand, ControlMask|ShiftMask, "\033[38;6u", 0, 0},
570 + { XK_ampersand, Mod1Mask, "\033[38;3u", 0, 0},
571 + { XK_ampersand, Mod1Mask|ControlMask, "\033[38;7u", 0, 0},
572 + { XK_ampersand, Mod1Mask|ControlMask|ShiftMask, "\033[38;8u", 0, 0},
573 + { XK_ampersand, Mod1Mask|ShiftMask, "\033[38;4u", 0, 0},
574 + { XK_apostrophe, ControlMask, "\033[39;5u", 0, 0},
575 + { XK_apostrophe, ControlMask|ShiftMask, "\033[39;6u", 0, 0},
576 + { XK_apostrophe, Mod1Mask, "\033[39;3u", 0, 0},
577 + { XK_apostrophe, Mod1Mask|ControlMask, "\033[39;7u", 0, 0},
578 + { XK_apostrophe, Mod1Mask|ControlMask|ShiftMask, "\033[39;8u", 0, 0},
579 + { XK_apostrophe, Mod1Mask|ShiftMask, "\033[39;4u", 0, 0},
580 + { XK_asciicircum, ControlMask, "\033[94;5u", 0, 0},
581 + { XK_asciicircum, ControlMask|ShiftMask, "\033[94;6u", 0, 0},
582 + { XK_asciicircum, Mod1Mask, "\033[94;3u", 0, 0},
583 + { XK_asciicircum, Mod1Mask|ControlMask, "\033[94;7u", 0, 0},
584 + { XK_asciicircum, Mod1Mask|ControlMask|ShiftMask, "\033[94;8u", 0, 0},
585 + { XK_asciicircum, Mod1Mask|ShiftMask, "\033[94;4u", 0, 0},
586 + { XK_asciitilde, ControlMask, "\033[126;5u", 0, 0},
587 + { XK_asciitilde, ControlMask|ShiftMask, "\033[126;6u", 0, 0},
588 + { XK_asciitilde, Mod1Mask, "\033[126;3u", 0, 0},
589 + { XK_asciitilde, Mod1Mask|ControlMask, "\033[126;7u", 0, 0},
590 + { XK_asciitilde, Mod1Mask|ControlMask|ShiftMask, "\033[126;8u", 0, 0},
591 + { XK_asciitilde, Mod1Mask|ShiftMask, "\033[126;4u", 0, 0},
592 + { XK_asterisk, ControlMask, "\033[42;5u", 0, 0},
593 + { XK_asterisk, ControlMask|ShiftMask, "\033[42;6u", 0, 0},
594 + { XK_asterisk, Mod1Mask, "\033[42;3u", 0, 0},
595 + { XK_asterisk, Mod1Mask|ControlMask, "\033[42;7u", 0, 0},
596 + { XK_asterisk, Mod1Mask|ControlMask|ShiftMask, "\033[42;8u", 0, 0},
597 + { XK_asterisk, Mod1Mask|ShiftMask, "\033[42;4u", 0, 0},
598 + { XK_at, ControlMask, "\033[64;5u", 0, 0},
599 + { XK_at, ControlMask|ShiftMask, "\033[64;6u", 0, 0},
600 + { XK_at, Mod1Mask, "\033[64;3u", 0, 0},
601 + { XK_at, Mod1Mask|ControlMask, "\033[64;7u", 0, 0},
602 + { XK_at, Mod1Mask|ControlMask|ShiftMask, "\033[64;8u", 0, 0},
603 + { XK_at, Mod1Mask|ShiftMask, "\033[64;4u", 0, 0},
604 + { XK_backslash, ControlMask, "\033[92;5u", 0, 0},
605 + { XK_backslash, ControlMask|ShiftMask, "\033[92;6u", 0, 0},
606 + { XK_backslash, Mod1Mask, "\033[92;3u", 0, 0},
607 + { XK_backslash, Mod1Mask|ControlMask, "\033[92;7u", 0, 0},
608 + { XK_backslash, Mod1Mask|ControlMask|ShiftMask, "\033[92;8u", 0, 0},
609 + { XK_backslash, Mod1Mask|ShiftMask, "\033[92;4u", 0, 0},
610 + { XK_bar, ControlMask, "\033[124;5u", 0, 0},
611 + { XK_bar, ControlMask|ShiftMask, "\033[124;6u", 0, 0},
612 + { XK_bar, Mod1Mask, "\033[124;3u", 0, 0},
613 + { XK_bar, Mod1Mask|ControlMask, "\033[124;7u", 0, 0},
614 + { XK_bar, Mod1Mask|ControlMask|ShiftMask, "\033[124;8u", 0, 0},
615 + { XK_bar, Mod1Mask|ShiftMask, "\033[124;4u", 0, 0},
616 + { XK_braceleft, ControlMask, "\033[123;5u", 0, 0},
617 + { XK_braceleft, ControlMask|ShiftMask, "\033[123;6u", 0, 0},
618 + { XK_braceleft, Mod1Mask, "\033[123;3u", 0, 0},
619 + { XK_braceleft, Mod1Mask|ControlMask, "\033[123;7u", 0, 0},
620 + { XK_braceleft, Mod1Mask|ControlMask|ShiftMask, "\033[123;8u", 0, 0},
621 + { XK_braceleft, Mod1Mask|ShiftMask, "\033[123;4u", 0, 0},
622 + { XK_braceright, ControlMask, "\033[125;5u", 0, 0},
623 + { XK_braceright, ControlMask|ShiftMask, "\033[125;6u", 0, 0},
624 + { XK_braceright, Mod1Mask, "\033[125;3u", 0, 0},
625 + { XK_braceright, Mod1Mask|ControlMask, "\033[125;7u", 0, 0},
626 + { XK_braceright, Mod1Mask|ControlMask|ShiftMask, "\033[125;8u", 0, 0},
627 + { XK_braceright, Mod1Mask|ShiftMask, "\033[125;4u", 0, 0},
628 + { XK_bracketleft, ControlMask, "\033[91;5u", 0, 0},
629 + { XK_bracketleft, ControlMask|ShiftMask, "\033[91;6u", 0, 0},
630 + { XK_bracketleft, Mod1Mask, "\033[91;3u", 0, 0},
631 + { XK_bracketleft, Mod1Mask|ControlMask, "\033[91;7u", 0, 0},
632 + { XK_bracketleft, Mod1Mask|ControlMask|ShiftMask, "\033[91;8u", 0, 0},
633 + { XK_bracketleft, Mod1Mask|ShiftMask, "\033[91;4u", 0, 0},
634 + { XK_bracketright, ControlMask, "\033[93;5u", 0, 0},
635 + { XK_bracketright, ControlMask|ShiftMask, "\033[93;6u", 0, 0},
636 + { XK_bracketright, Mod1Mask, "\033[93;3u", 0, 0},
637 + { XK_bracketright, Mod1Mask|ControlMask, "\033[93;7u", 0, 0},
638 + { XK_bracketright, Mod1Mask|ControlMask|ShiftMask, "\033[93;8u", 0, 0},
639 + { XK_bracketright, Mod1Mask|ShiftMask, "\033[93;4u", 0, 0},
640 + { XK_colon, ControlMask, "\033[58;5u", 0, 0},
641 + { XK_colon, ControlMask|ShiftMask, "\033[58;6u", 0, 0},
642 + { XK_colon, Mod1Mask, "\033[58;3u", 0, 0},
643 + { XK_colon, Mod1Mask|ControlMask, "\033[58;7u", 0, 0},
644 + { XK_colon, Mod1Mask|ControlMask|ShiftMask, "\033[58;8u", 0, 0},
645 + { XK_colon, Mod1Mask|ShiftMask, "\033[58;4u", 0, 0},
646 + { XK_comma, ControlMask, "\033[44;5u", 0, 0},
647 + { XK_comma, ControlMask|ShiftMask, "\033[44;6u", 0, 0},
648 + { XK_comma, Mod1Mask, "\033[44;3u", 0, 0},
649 + { XK_comma, Mod1Mask|ControlMask, "\033[44;7u", 0, 0},
650 + { XK_comma, Mod1Mask|ControlMask|ShiftMask, "\033[44;8u", 0, 0},
651 + { XK_comma, Mod1Mask|ShiftMask, "\033[44;4u", 0, 0},
652 + { XK_dollar, ControlMask, "\033[36;5u", 0, 0},
653 + { XK_dollar, ControlMask|ShiftMask, "\033[36;6u", 0, 0},
654 + { XK_dollar, Mod1Mask, "\033[36;3u", 0, 0},
655 + { XK_dollar, Mod1Mask|ControlMask, "\033[36;7u", 0, 0},
656 + { XK_dollar, Mod1Mask|ControlMask|ShiftMask, "\033[36;8u", 0, 0},
657 + { XK_dollar, Mod1Mask|ShiftMask, "\033[36;4u", 0, 0},
658 + { XK_equal, ControlMask, "\033[61;5u", 0, 0},
659 + { XK_equal, ControlMask|ShiftMask, "\033[61;6u", 0, 0},
660 + { XK_equal, Mod1Mask, "\033[61;3u", 0, 0},
661 + { XK_equal, Mod1Mask|ControlMask, "\033[61;7u", 0, 0},
662 + { XK_equal, Mod1Mask|ControlMask|ShiftMask, "\033[61;8u", 0, 0},
663 + { XK_equal, Mod1Mask|ShiftMask, "\033[61;4u", 0, 0},
664 + { XK_exclam, ControlMask, "\033[33;5u", 0, 0},
665 + { XK_exclam, ControlMask|ShiftMask, "\033[33;6u", 0, 0},
666 + { XK_exclam, Mod1Mask, "\033[33;3u", 0, 0},
667 + { XK_exclam, Mod1Mask|ControlMask, "\033[33;7u", 0, 0},
668 + { XK_exclam, Mod1Mask|ControlMask|ShiftMask, "\033[33;8u", 0, 0},
669 + { XK_exclam, Mod1Mask|ShiftMask, "\033[33;4u", 0, 0},
670 + { XK_grave, ControlMask, "\033[96;5u", 0, 0},
671 + { XK_grave, ControlMask|ShiftMask, "\033[96;6u", 0, 0},
672 + { XK_grave, Mod1Mask, "\033[96;3u", 0, 0},
673 + { XK_grave, Mod1Mask|ControlMask, "\033[96;7u", 0, 0},
674 + { XK_grave, Mod1Mask|ControlMask|ShiftMask, "\033[96;8u", 0, 0},
675 + { XK_grave, Mod1Mask|ShiftMask, "\033[96;4u", 0, 0},
676 + { XK_greater, ControlMask, "\033[62;5u", 0, 0},
677 + { XK_greater, ControlMask|ShiftMask, "\033[62;6u", 0, 0},
678 + { XK_greater, Mod1Mask, "\033[62;3u", 0, 0},
679 + { XK_greater, Mod1Mask|ControlMask, "\033[62;7u", 0, 0},
680 + { XK_greater, Mod1Mask|ControlMask|ShiftMask, "\033[62;8u", 0, 0},
681 + { XK_greater, Mod1Mask|ShiftMask, "\033[62;4u", 0, 0},
682 + { XK_less, ControlMask, "\033[60;5u", 0, 0},
683 + { XK_less, ControlMask|ShiftMask, "\033[60;6u", 0, 0},
684 + { XK_less, Mod1Mask, "\033[60;3u", 0, 0},
685 + { XK_less, Mod1Mask|ControlMask, "\033[60;7u", 0, 0},
686 + { XK_less, Mod1Mask|ControlMask|ShiftMask, "\033[60;8u", 0, 0},
687 + { XK_less, Mod1Mask|ShiftMask, "\033[60;4u", 0, 0},
688 + { XK_minus, ControlMask, "\033[45;5u", 0, 0},
689 + { XK_minus, ControlMask|ShiftMask, "\033[45;6u", 0, 0},
690 + { XK_minus, Mod1Mask, "\033[45;3u", 0, 0},
691 + { XK_minus, Mod1Mask|ControlMask, "\033[45;7u", 0, 0},
692 + { XK_minus, Mod1Mask|ControlMask|ShiftMask, "\033[45;8u", 0, 0},
693 + { XK_minus, Mod1Mask|ShiftMask, "\033[45;4u", 0, 0},
694 + { XK_numbersign, ControlMask, "\033[35;5u", 0, 0},
695 + { XK_numbersign, ControlMask|ShiftMask, "\033[35;6u", 0, 0},
696 + { XK_numbersign, Mod1Mask, "\033[35;3u", 0, 0},
697 + { XK_numbersign, Mod1Mask|ControlMask, "\033[35;7u", 0, 0},
698 + { XK_numbersign, Mod1Mask|ControlMask|ShiftMask, "\033[35;8u", 0, 0},
699 + { XK_numbersign, Mod1Mask|ShiftMask, "\033[35;4u", 0, 0},
700 + { XK_parenleft, ControlMask, "\033[40;5u", 0, 0},
701 + { XK_parenleft, ControlMask|ShiftMask, "\033[40;6u", 0, 0},
702 + { XK_parenleft, Mod1Mask, "\033[40;3u", 0, 0},
703 + { XK_parenleft, Mod1Mask|ControlMask, "\033[40;7u", 0, 0},
704 + { XK_parenleft, Mod1Mask|ControlMask|ShiftMask, "\033[40;8u", 0, 0},
705 + { XK_parenleft, Mod1Mask|ShiftMask, "\033[40;4u", 0, 0},
706 + { XK_parenright, ControlMask, "\033[41;5u", 0, 0},
707 + { XK_parenright, ControlMask|ShiftMask, "\033[41;6u", 0, 0},
708 + { XK_parenright, Mod1Mask, "\033[41;3u", 0, 0},
709 + { XK_parenright, Mod1Mask|ControlMask, "\033[41;7u", 0, 0},
710 + { XK_parenright, Mod1Mask|ControlMask|ShiftMask, "\033[41;8u", 0, 0},
711 + { XK_parenright, Mod1Mask|ShiftMask, "\033[41;4u", 0, 0},
712 + { XK_percent, ControlMask, "\033[37;5u", 0, 0},
713 + { XK_percent, ControlMask|ShiftMask, "\033[37;6u", 0, 0},
714 + { XK_percent, Mod1Mask, "\033[37;3u", 0, 0},
715 + { XK_percent, Mod1Mask|ControlMask, "\033[37;7u", 0, 0},
716 + { XK_percent, Mod1Mask|ControlMask|ShiftMask, "\033[37;8u", 0, 0},
717 + { XK_percent, Mod1Mask|ShiftMask, "\033[37;4u", 0, 0},
718 + { XK_period, ControlMask, "\033[46;5u", 0, 0},
719 + { XK_period, ControlMask|ShiftMask, "\033[46;6u", 0, 0},
720 + { XK_period, Mod1Mask|ControlMask, "\033[46;7u", 0, 0},
721 + { XK_period, Mod1Mask|ControlMask|ShiftMask, "\033[46;8u", 0, 0},
722 + { XK_period, Mod1Mask|ShiftMask, "\033[46;4u", 0, 0},
723 + { XK_plus, ControlMask, "\033[43;5u", 0, 0},
724 + { XK_plus, ControlMask|ShiftMask, "\033[43;6u", 0, 0},
725 + { XK_plus, Mod1Mask, "\033[43;3u", 0, 0},
726 + { XK_plus, Mod1Mask|ControlMask, "\033[43;7u", 0, 0},
727 + { XK_plus, Mod1Mask|ControlMask|ShiftMask, "\033[43;8u", 0, 0},
728 + { XK_plus, Mod1Mask|ShiftMask, "\033[43;4u", 0, 0},
729 + { XK_question, ControlMask, "\033[63;5u", 0, 0},
730 + { XK_question, ControlMask|ShiftMask, "\033[63;6u", 0, 0},
731 + { XK_question, Mod1Mask, "\033[63;3u", 0, 0},
732 + { XK_question, Mod1Mask|ControlMask, "\033[63;7u", 0, 0},
733 + { XK_question, Mod1Mask|ControlMask|ShiftMask, "\033[63;8u", 0, 0},
734 + { XK_question, Mod1Mask|ShiftMask, "\033[63;4u", 0, 0},
735 + { XK_quotedbl, ControlMask, "\033[34;5u", 0, 0},
736 + { XK_quotedbl, ControlMask|ShiftMask, "\033[34;6u", 0, 0},
737 + { XK_quotedbl, Mod1Mask, "\033[34;3u", 0, 0},
738 + { XK_quotedbl, Mod1Mask|ControlMask, "\033[34;7u", 0, 0},
739 + { XK_quotedbl, Mod1Mask|ControlMask|ShiftMask, "\033[34;8u", 0, 0},
740 + { XK_quotedbl, Mod1Mask|ShiftMask, "\033[34;4u", 0, 0},
741 + { XK_semicolon, ControlMask, "\033[59;5u", 0, 0},
742 + { XK_semicolon, ControlMask|ShiftMask, "\033[59;6u", 0, 0},
743 + { XK_semicolon, Mod1Mask, "\033[59;3u", 0, 0},
744 + { XK_semicolon, Mod1Mask|ControlMask, "\033[59;7u", 0, 0},
745 + { XK_semicolon, Mod1Mask|ControlMask|ShiftMask, "\033[59;8u", 0, 0},
746 + { XK_semicolon, Mod1Mask|ShiftMask, "\033[59;4u", 0, 0},
747 + { XK_slash, ControlMask|ShiftMask, "\033[47;6u", 0, 0},
748 + { XK_slash, Mod1Mask, "\033[47;3u", 0, 0},
749 + { XK_slash, Mod1Mask|ControlMask, "\033[47;7u", 0, 0},
750 + { XK_slash, Mod1Mask|ControlMask|ShiftMask, "\033[47;8u", 0, 0},
751 + { XK_slash, Mod1Mask|ShiftMask, "\033[47;4u", 0, 0},
752 + { XK_underscore, ControlMask, "\033[95;5u", 0, 0},
753 + { XK_underscore, ControlMask|ShiftMask, "\033[95;6u", 0, 0},
754 + { XK_underscore, Mod1Mask, "\033[95;3u", 0, 0},
755 + { XK_underscore, Mod1Mask|ControlMask, "\033[95;7u", 0, 0},
756 + { XK_underscore, Mod1Mask|ControlMask|ShiftMask, "\033[95;8u", 0, 0},
757 + { XK_underscore, Mod1Mask|ShiftMask, "\033[95;4u", 0, 0},
758 };
759
760 /*