Introduction
Introduction Statistics Contact Development Disclaimer Help
layout.mobile-intl.h - svkbd - simple virtual keyboard
git clone git://git.suckless.org/svkbd
Log
Files
Refs
README
LICENSE
---
layout.mobile-intl.h (19259B)
---
1 #define KEYS 57
2
3 static Key keys_en[KEYS] = {
4 { "Esc", "", XK_Escape, 1 },
5 { "1", "!", XK_1, 1 },
6 { "2", "@", XK_2, 1 },
7 { "3", "#", XK_3, 1 },
8 { "4", "$", XK_4, 1 },
9 { "5", "%", XK_5, 1 },
10 { "6", "^", XK_6, 1 },
11 { "7", "&", XK_7, 1 },
12 { "8", "*", XK_8, 1 },
13 { "9", "(", XK_9, 1 },
14 { "0", ")", XK_0, 1 },
15 { "-", "_", XK_minus, 1 },
16
17 { 0 }, /* New row */
18
19 { "↹", 0, XK_Tab, 0.75 },
20 { 0, "☺", XK_q, 1 },
21 { 0, 0, XK_w, 1 },
22 { 0, 0, XK_e, 1 },
23 { 0, 0, XK_r, 1 },
24 { 0, 0, XK_t, 1 },
25 { 0, 0, XK_y, 1 },
26 { 0, 0, XK_u, 1 },
27 { 0, 0, XK_i, 1 },
28 { 0, 0, XK_o, 1 },
29 { 0, 0, XK_p, 1 },
30 { "/", "?", XK_slash, .75 },
31
32 { 0 }, /* New row */
33
34 { "^", 0, XK_Control_L, 1 },
35 { 0, 0, XK_a, 1 },
36 { 0, 0, XK_s, 1 },
37 { 0, 0, XK_d, 1 },
38 { 0, 0, XK_f, 1 },
39 { 0, 0, XK_g, 1 },
40 { 0, 0, XK_h, 1 },
41 { 0, 0, XK_j, 1 },
42 { 0, 0, XK_k, 1 },
43 { 0, 0, XK_l, 1 },
44 { ";", ":", XK_colon, 1 },
45 { "'", "\"", XK_apostrophe, 1 },
46
47 { 0 }, /* New row */
48
49 { "⇧", 0, XK_Shift_L, 1.5 },
50 { 0, 0, XK_z, 1 },
51 { 0, 0, XK_x, 1 },
52 { 0, 0, XK_c, 1 },
53 { 0, 0, XK_v, 1 },
54 { 0, 0, XK_b, 1 },
55 { 0, 0, XK_n, 1 },
56 { 0, 0, XK_m, 1 },
57 { ",", "<", XK_comma, 1 },
58 { ".", ">", XK_period, 1 },
59 { "⌫", 0, XK_BackSpace, 1 },
60
61 { 0 }, /* New row */
62 { "↺", 0, XK_Cancel, 1},
63 { "Alt", 0, XK_Alt_L, 1 },
64 { "", 0, XK_space, 4 },
65 { "↓", 0, XK_Down, 1 },
66 { "↑", 0, XK_Up, 1 },
67 { "↲ Enter", 0, XK_Return, 2 },
68 };
69
70 static Key keys_dvorak[KEYS] = {
71 { "Esc", "", XK_Escape, 1 },
72 { "1", "!", XK_1, 1 },
73 { "2", "@", XK_2, 1 },
74 { "3", "#", XK_3, 1 },
75 { "4", "$", XK_4, 1 },
76 { "5", "%", XK_5, 1 },
77 { "6", "^", XK_6, 1 },
78 { "7", "&", XK_7, 1 },
79 { "8", "*", XK_8, 1 },
80 { "9", "(", XK_9, 1 },
81 { "0", ")", XK_0, 1 },
82
83 { 0 }, /* New row */
84
85 { "↹", 0, XK_Tab, 0.75 },
86 { ";", ":", XK_colon, 1 },
87 { ",", "<", XK_comma, 1 },
88 { ".", ">", XK_period, 1 },
89 { 0, 0, XK_p, 1 },
90 { 0, 0, XK_y, 1 },
91 { 0, 0, XK_f, 1 },
92 { 0, 0, XK_g, 1 },
93 { 0, 0, XK_c, 1 },
94 { 0, 0, XK_r, 1 },
95 { 0, 0, XK_l, 1 },
96 { "/", "?", XK_slash, .75 },
97
98 { 0 }, /* New row */
99
100 { "^", 0, XK_Control_L, 1 },
101 { 0, 0, XK_a, 1 },
102 { 0, 0, XK_o, 1 },
103 { 0, 0, XK_e, 1 },
104 { 0, 0, XK_u, 1 },
105 { 0, 0, XK_i, 1 },
106 { 0, 0, XK_d, 1 },
107 { 0, 0, XK_h, 1 },
108 { 0, 0, XK_t, 1 },
109 { 0, 0, XK_n, 1 },
110 { 0, 0, XK_s, 1 },
111 { "-", "_", XK_minus, 1 },
112
113 { 0 }, /* New row */
114
115 { "⇧", 0, XK_Shift_L, 1.5 },
116 { "'", "\"", XK_apostrophe, 1 },
117 { 0, 0, XK_q, 1 },
118 { 0, 0, XK_j, 1 },
119 { 0, 0, XK_k, 1 },
120 { 0, 0, XK_x, 1 },
121 { 0, 0, XK_b, 1 },
122 { 0, 0, XK_m, 1 },
123 { 0, 0, XK_w, 1 },
124 { 0, 0, XK_v, 1 },
125 { 0, 0, XK_z, 1 },
126 { "⌫", 0, XK_BackSpace, 1 },
127
128 { 0 }, /* New row */
129 { "↺", 0, XK_Cancel, 1},
130 { "Alt", 0, XK_Alt_L, 1 },
131 { "", 0, XK_space, 4 },
132 { "↓", 0, XK_Down, 1 },
133 { "↑", 0, XK_Up, 1 },
134 { "↲ Enter", 0, XK_Return, 2 },
135 };
136
137 static Key keys_minimal[KEYS] = {
138 { 0, "☺", XK_q, 1 },
139 { 0, 0, XK_w, 1 },
140 { 0, 0, XK_e, 1 },
141 { 0, 0, XK_r, 1 },
142 { 0, 0, XK_t, 1 },
143 { 0, 0, XK_y, 1 },
144 { 0, 0, XK_u, 1 },
145 { 0, 0, XK_i, 1 },
146 { 0, 0, XK_o, 1 },
147 { 0, 0, XK_p, 1 },
148
149 { 0 }, /* New row */
150
151 { 0, 0, XK_a, 1 },
152 { 0, 0, XK_s, 1 },
153 { 0, 0, XK_d, 1 },
154 { 0, 0, XK_f, 1 },
155 { 0, 0, XK_g, 1 },
156 { 0, 0, XK_h, 1 },
157 { 0, 0, XK_j, 1 },
158 { 0, 0, XK_k, 1 },
159 { 0, 0, XK_l, 1 },
160
161 { 0 }, /* New row */
162
163 { "⇧", 0, XK_Shift_L, 1.5 },
164 { 0, 0, XK_z, 1 },
165 { 0, 0, XK_x, 1 },
166 { 0, 0, XK_c, 1 },
167 { 0, 0, XK_v, 1 },
168 { 0, 0, XK_b, 1 },
169 { 0, 0, XK_n, 1 },
170 { 0, 0, XK_m, 1 },
171 { "⌫", 0, XK_BackSpace, 1.5 },
172
173 { 0 }, /* New row */
174
175 { "↺", 0, XK_Cancel, 1},
176 { "'", "\"", XK_apostrophe, 1 },
177 { ",", "<", XK_comma, 1 },
178 { "", 0, XK_space, 4 },
179 { ".", ">", XK_period, 1 },
180 { "↲ Enter", 0, XK_Return, 2 },
181 };
182
183 #define OVERLAYS 226
184 static Key overlay[OVERLAYS] = {
185 { 0, 0, XK_a }, //Overlay for a
186 { "à", 0, XK_agrave },
187 { "á", 0, XK_aacute },
188 { "â", 0, XK_acircumflex },
189 { "ä", 0, XK_adiaeresis },
190 { "ą", 0, XK_aogonek },
191 { "ã", 0, XK_atilde },
192 { "ā", 0, XK_amacron },
193 { "ă", 0, XK_abreve },
194 { "å", 0, XK_aring },
195 { "æ", 0, XK_ae },
196 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
197 { 0, 0, XK_e }, //Overlay for e (first item after boundary defin…
198 { "è", 0, XK_egrave },
199 { "é", 0, XK_eacute },
200 { "ê", 0, XK_ecircumflex },
201 { "ë", 0, XK_ediaeresis },
202 { "ę", 0, XK_eogonek },
203 { "ē", 0, XK_emacron },
204 { "ė", 0, XK_eabovedot },
205 { "ě", 0, XK_ecaron },
206 { 0, 0, XK_Cancel },
207 { 0, 0, XK_y }, //New overlay
208 { "ỳ", 0, XK_ygrave },
209 { "ý", 0, XK_yacute },
210 { "ŷ", 0, XK_ycircumflex },
211 { "ÿ", 0, XK_ydiaeresis },
212 { 0, 0, XK_Cancel },
213 { 0, 0, XK_u }, //New overlay
214 { "ù", 0, XK_ugrave },
215 { "ú", 0, XK_uacute },
216 { "û", 0, XK_ucircumflex },
217 { "ü", 0, XK_udiaeresis },
218 { "ų", 0, XK_uogonek },
219 { "ū", 0, XK_umacron },
220 { "ů", 0, XK_uring},
221 { "ŭ", 0, XK_ubreve},
222 { "ű", 0, XK_udoubleacute },
223 { 0, 0, XK_Cancel },
224 { 0, 0, XK_i }, //New overlay
225 { "ì", 0, XK_igrave },
226 { "í", 0, XK_iacute },
227 { "î", 0, XK_icircumflex },
228 { "ï", 0, XK_idiaeresis },
229 { "į", 0, XK_iogonek },
230 { "ī", 0, XK_imacron },
231 { "ı", 0, XK_idotless },
232 { 0, 0, XK_Cancel },
233 { 0, 0, XK_o }, //New overlay
234 { "ò", 0, XK_ograve },
235 { "ó", 0, XK_oacute },
236 { "ô", 0, XK_ocircumflex },
237 { "ö", 0, XK_odiaeresis },
238 { "ǫ", 0, XK_ogonek },
239 { "õ", 0, XK_otilde },
240 { "ō", 0, XK_omacron },
241 { "ø", 0, XK_oslash },
242 { "ő", 0, XK_odoubleacute },
243 { "œ", 0, XK_oe },
244 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
245 { 0, 0, XK_d }, //New overlay
246 { "ď", 0, XK_dcaron },
247 { "ð", 0, XK_eth },
248 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
249 { 0, 0, XK_c }, //New overlay
250 { "ç", 0, XK_ccedilla },
251 { "ĉ", 0, XK_ccircumflex },
252 { "č", 0, XK_ccaron },
253 { "ć", 0, XK_cacute },
254 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
255 { 0, 0, XK_s }, //New overlay
256 { "ş", 0, XK_scedilla },
257 { "ŝ", 0, XK_scircumflex },
258 { "š", 0, XK_scaron },
259 { "ś", 0, XK_sacute },
260 { "ß", 0, XK_ssharp },
261 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
262 { 0, 0, XK_z }, //New overlay
263 { "ž", 0, XK_zcaron },
264 { "ż", 0, XK_zabovedot },
265 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
266 { 0, 0, XK_n }, //New overlay
267 { "ñ", 0, XK_ntilde },
268 { "ń", 0, XK_nacute },
269 { "ň", 0, XK_ncaron },
270 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
271 { 0, 0, XK_t }, //New overlay
272 { "ț", 0, XK_tcedilla },
273 { "ť", 0, XK_tcaron },
274 { "þ", 0, XK_thorn },
275 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
276 { 0, 0, XK_g }, //New overlay
277 { "ĝ", 0, XK_gcircumflex },
278 { "ğ", 0, XK_gbreve },
279 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
280 { 0, 0, XK_h }, //New overlay
281 { "ĥ", 0, XK_hcircumflex },
282 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
283 { 0, 0, XK_j }, //New overlay
284 { "ĵ", 0, XK_jcircumflex },
285 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
286 { 0, 0, XK_l }, //New overlay
287 { "ł", 0, XK_lstroke },
288 { "ľ", 0, XK_lcaron },
289 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
290 { 0, 0, XK_r }, //New overlay
291 { "ř", 0, XK_rcaron },
292 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
293 { 0, 0, XK_Cyrillic_softsign }, //New overlay
294 { "ъ", 0, XK_Cyrillic_hardsign },
295 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
296 { 0, 0, XK_Cyrillic_ie }, //New overlay
297 { "ё", 0, XK_Cyrillic_io },
298 { "э", 0, XK_Cyrillic_e },
299 { "Є", 0, XK_Ukrainian_ie },
300 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
301 { 0, 0, XK_Cyrillic_i }, //New overlay
302 { "і", 0, XK_Ukrainian_i },
303 { "ї", 0, XK_Ukrainian_yi },
304 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
305 { 0, 0, XK_Cyrillic_u }, //New overlay
306 { "ў", 0, XK_Byelorussian_shortu },
307 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
308 { 0, 0, XK_Cyrillic_shorti }, //New overlay
309 { "ј", 0, XK_Cyrillic_je },
310 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
311 { 0, 0, XK_Cyrillic_el }, //New overlay
312 { "љ", 0, XK_Cyrillic_lje },
313 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
314 { 0, 0, XK_Cyrillic_en }, //New overlay
315 { "њ", 0, XK_Cyrillic_nje },
316 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
317 { 0, 0, XK_Cyrillic_tse }, //New overlay
318 { "џ", 0, XK_Cyrillic_dzhe },
319 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
320 { 0, 0, XK_Cyrillic_che }, //New overlay
321 { "ћ", 0, XK_Serbian_tshe },
322 { "ђ", 0, XK_Serbian_dje },
323 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
324 { "🙂", 0, 0x101f642 }, //New overlay -> emoji overlay
325 { "😀", 0, 0x101f600 },
326 { "😁", 0, 0x101f601 },
327 { "😂", 0, 0x101f602 },
328 { "😃", 0, 0x101f603 },
329 { "😄", 0, 0x101f604 },
330 { "😅", 0, 0x101f605 },
331 { "😆", 0, 0x101f606 },
332 { "😇", 0, 0x101f607 },
333 { "😈", 0, 0x101f608 },
334 { "😉", 0, 0x101f609 },
335 { "😊", 0, 0x101f60a },
336 { "😋", 0, 0x101f60b },
337 { "😌", 0, 0x101f60c },
338 { "😍", 0, 0x101f60d },
339 { "😎", 0, 0x101f60e },
340 { "😏", 0, 0x101f60f },
341 { "😐", 0, 0x101f610 },
342 { "😒", 0, 0x101f612 },
343 { "😓", 0, 0x101f613 },
344 { "😛", 0, 0x101f61b },
345 { "😮", 0, 0x101f62e },
346 { "😟", 0, 0x101f61f },
347 { "😟", 0, 0x101f620 },
348 { "😢", 0, 0x101f622 },
349 { "😭", 0, 0x101f62d },
350 { "😳", 0, 0x101f633 },
351 { "😴", 0, 0x101f634 },
352 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
353 { "q", 0, XK_q }, //New overlay -> emoji overlay on Q key (for m…
354 { "😀", 0, 0x101f600 },
355 { "😁", 0, 0x101f601 },
356 { "😂", 0, 0x101f602 },
357 { "😃", 0, 0x101f603 },
358 { "😄", 0, 0x101f604 },
359 { "😅", 0, 0x101f605 },
360 { "😆", 0, 0x101f606 },
361 { "😇", 0, 0x101f607 },
362 { "😈", 0, 0x101f608 },
363 { "😉", 0, 0x101f609 },
364 { "😊", 0, 0x101f60a },
365 { "😋", 0, 0x101f60b },
366 { "😌", 0, 0x101f60c },
367 { "😍", 0, 0x101f60d },
368 { "😎", 0, 0x101f60e },
369 { "😏", 0, 0x101f60f },
370 { "😐", 0, 0x101f610 },
371 { "😒", 0, 0x101f612 },
372 { "😓", 0, 0x101f613 },
373 { "😛", 0, 0x101f61b },
374 { "😮", 0, 0x101f62e },
375 { "😟", 0, 0x101f61f },
376 { "😟", 0, 0x101f620 },
377 { "😢", 0, 0x101f622 },
378 { "😭", 0, 0x101f62d },
379 { "😳", 0, 0x101f633 },
380 { "😴", 0, 0x101f634 },
381 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
382 { "/?", 0, XK_slash }, //New overlay - punctuation overlay
383 { "1", "!", XK_1, 1 },
384 { "2", "@", XK_2, 1 },
385 { "3", "#", XK_3, 1 },
386 { "4", "$", XK_4, 1 },
387 { "5", "%", XK_5, 1 },
388 { "6", "^", XK_6, 1 },
389 { "7", "&", XK_7, 1 },
390 { "8", "*", XK_8, 1 },
391 { "9", "(", XK_9, 1 },
392 { "0", ")", XK_0, 1 },
393 { "'", "\"", XK_apostrophe, 1 },
394 { "`", "~", XK_grave, 1 },
395 { "-", "_", XK_minus, 1 },
396 { "=", "+", XK_plus, 1 },
397 { "[", "{", XK_bracketleft, 1 },
398 { "]", "}", XK_bracketright, 1 },
399 { ",", "<", XK_comma, 1 },
400 { ".", ">", XK_period, 1 },
401 { "/", "?", XK_slash, 1 },
402 { "\\", "|", XK_backslash, 1 },
403 { "¡", 0, XK_exclamdown, 1 },
404 { "?", 0, XK_questiondown, 1 },
405 { "°", 0, XK_degree, 1 },
406 { "£", 0, XK_sterling, 1 },
407 { "€", 0, XK_EuroSign, 1 },
408 { "¥", 0, XK_yen, 1 },
409 { ";", ":", XK_colon, 1 },
410 { 0, 0, XK_Cancel }, /* XK_Cancel signifies overlay boundary */
411 };
412
413 static Key keys_symbols[KEYS] = {
414 { "Esc", 0, XK_Escape, 1 },
415 { "F1", 0, XK_F1, 1 },
416 { "F2", 0, XK_F2, 1 },
417 { "F3", 0, XK_F3, 1 },
418 { "F4", 0, XK_F4, 1 },
419 { "F5", 0, XK_F5, 1 },
420 { "F6", 0, XK_F6, 1 },
421 { "F7", 0, XK_F7, 1 },
422 { "F8", 0, XK_F8, 1 },
423 { "F9", 0, XK_F9, 1 },
424 { "F10", 0, XK_F10, 1 },
425 { 0 }, /* New row */
426
427 { "'\"", 0, XK_apostrophe, 1 },
428 { "1", "!", XK_1, 1 },
429 { "2", "@", XK_2, 1 },
430 { "3", "#", XK_3, 1 },
431 { "4", "$", XK_4, 1 },
432 { "5", "%", XK_5, 1 },
433 { "6", "^", XK_6, 1 },
434 { "7", "&", XK_7, 1 },
435 { "8", "*", XK_8, 1 },
436 { "9", "(", XK_9, 1 },
437 { "0", ")", XK_0, 1 },
438
439 { 0 }, /* New row */
440
441 { ".", ">", XK_period, 1 },
442 { ",", "<", XK_comma, 1 },
443 { "`", "~", XK_grave, 1 },
444 { "-", "_", XK_minus, 1 },
445 { "=", "+", XK_plus, 1 },
446 { "\\", "|", XK_backslash, 1 },
447 { ";", ":", XK_colon, 1 },
448 { "/", "?", XK_slash, 1 },
449 { "[", "{", XK_bracketleft, 1 },
450 { "]", "}", XK_bracketright, 1 },
451 { "Del", 0, XK_Delete, 1 },
452
453 { 0 }, /* New row */
454
455 { "abc", 0, XK_Mode_switch, 1 },
456 { "☺", 0, 0x101f642, 1 },
457 { "⇤", 0, XK_Home, 1 },
458 { "←", 0, XK_Left, 1 },
459 { "→", 0, XK_Right, 1 },
460 { "⇥", 0, XK_End, 1 },
461 { "⇊", 0, XK_Next, 1 },
462 { "⇈", 0, XK_Prior, 1 },
463 { "Tab", 0, XK_Tab, 1 },
464 { "⌫Bksp", 0, XK_BackSpace, 2 },
465
466 { 0 }, /* New row */
467 { "↺", 0, XK_Cancel, 1},
468 { "Shift", 0, XK_Shift_L, 2 },
469 { "Ctrl", 0, XK_Control_L, 1 },
470 { "Alt", 0, XK_Alt_L, 1 },
471 { "", 0, XK_space, 2 },
472 { "↓", 0, XK_Down, 1 },
473 { "↑", 0, XK_Up, 1 },
474 { "↲ Enter", 0, XK_Return, 2 },
475 };
476
477 static Key keys_functions[KEYS] = {
478
479 { "Esc", 0, XK_Escape, 1 },
480 { "▶", 0, XF86XK_AudioPlay, 1 },
481 { "●", 0, XF86XK_AudioRecord, 1 },
482 { "■", 0, XF86XK_AudioStop, 1 },
483 { "◂◂", 0, XF86XK_AudioPrev, 1 },
484 { "▸▸", 0, XF86XK_AudioNext, 1 },
485 { "♫M", 0, XF86XK_AudioMute, 1 },
486 { "♫-", 0, XF86XK_AudioLowerVolume, 1 },
487 { "♫+", 0, XF86XK_AudioRaiseVolume, 1 },
488 { "☀-", 0, XF86XK_MonBrightnessDown, 1 },
489 { "☀+", 0, XF86XK_MonBrightnessUp, 1 },
490
491 { 0 }, /* New row */
492
493 { "≅", 0, XK_KP_Insert, 1 },
494 { "Del", 0, XK_Delete, 1 },
495 { "⇤", 0, XK_Home, 1 },
496 { "←", 0, XK_Left, 1 },
497 { "→", 0, XK_Right, 1 },
498 { "⇥", 0, XK_End, 1 },
499 { "⇊", 0, XK_Next, 1 },
500 { "⇈", 0, XK_Prior, 1 },
501 { "Tab", 0, XK_Tab, 1 },
502 { "⌫Bksp", 0, XK_BackSpace, 2 },
503
504 { 0 }, /* New row */
505 { "↺", 0, XK_Cancel, 1},
506 { "Shift", 0, XK_Shift_L, 2 },
507 { "Ctrl", 0, XK_Control_L, 1 },
508 { "Alt", 0, XK_Alt_L, 1 },
509 { "", 0, XK_space, 2 },
510 { "↓", 0, XK_Down, 1 },
511 { "↑", 0, XK_Up, 1 },
512 { "↲ Enter", 0, XK_Return, 2 },
513
514 { 0 }, /* Last item (double 0) */
515 { 0 }, /* Last item (double 0) */
516 };
517
518 static Key keys_navigation[KEYS] = {
519 { "Esc", 0, XK_Escape, 1 },
520 { "⇤", 0, XK_Home, 1 },
521 { "↑", 0, XK_Up, 1 },
522 { "⇥", 0, XK_End, 1 },
523 { "⇈", 0, XK_Prior, 1 },
524 { 0 }, /* New row */
525
526 { "Shift", 0, XK_Shift_L, 1 },
527 { "←", 0, XK_Left, 1 },
528 { "", 0, XK_space, 1 },
529 { "→", 0, XK_Right, 1 },
530 { "⇊", 0, XK_Next, 1 },
531
532 { 0 }, /* New row */
533
534 { "↺", 0, XK_Cancel, 1},
535 { "⌫Bksp", 0, XK_BackSpace, 1 },
536 { "↓", 0, XK_Down, 1 },
537 { "Tab", 0, XK_Tab, 1 },
538 { "↲ Enter", 0, XK_Return, 1},
539
540 { 0 }, /* Last item (double 0) */
541 { 0 }, /* Last item (double 0) */
542 };
543
544 static Key keys_am[KEYS] = {
545 { "՝","՜", XK_Armenian_exclam, 1 },
546 { "ֆ","Ֆ", XK_Armenian_fe, 1 },
547 { "ձ","Ձ", XK_Armenian_dza, 1 },
548 { "֊","—", XK_Armenian_hyphen, 1 },
549 { ",","՟", XK_comma, 1 },
550 { "։","…", XK_Armenian_full_stop, 1 },
551 { "՞","%", XK_Armenian_question, 1 },
552 { "․","և", XK_Armenian_ligature_ew, 1 },
553 { "՛","՚", XK_Armenian_accent, 1 },
554 { ")","(", XK_parenright, 1 },
555 { "օ","Օ", XK_Armenian_o, 1 },
556 { "է","Է", XK_Armenian_e, 1 },
557 { "ղ","Ղ", XK_Armenian_ghat, 1 },
558 { 0 }, /* New row */
559
560 { "ճ", "Ճ", XK_Armenian_tche, 1 },
561 { "փ", "Փ", XK_Armenian_pyur, 1 },
562 { "բ", "Բ", XK_Armenian_ben, 1 },
563 { "ս", "Ս", XK_Armenian_se, 1 },
564 { "մ", "Մ", XK_Armenian_men, 1 },
565 { "ո", "Ո", XK_Armenian_vo, 1 },
566 { "ւ", "Ւ", XK_Armenian_vyun, 1 },
567 { "կ","Կ", XK_Armenian_ken, 1 },
568 { "ը", "Ը", XK_Armenian_at, 1 },
569 { "թ", "Թ", XK_Armenian_to, 1 },
570 { "ծ", "Ծ", XK_Armenian_tsa, 1 },
571 { "ց", "Ց", XK_Armenian_tso, 1 },
572 { 0 }, /* New row */
573
574 { "ջ", "Ջ", XK_Armenian_je, 1 },
575 { "վ", "Վ", XK_Armenian_vev, 1 },
576 { "գ", "Գ", XK_Armenian_gim, 1 },
577 { "ե", "Ե", XK_Armenian_yech, 1 },
578 { "ա", "Ա", XK_Armenian_ayb, 1 },
579 { "ն", "Ն", XK_Armenian_nu, 1 },
580 { "ի", "Ի", XK_Armenian_ini, 1 },
581 { "տ", "Տ", XK_Armenian_tyun, 1 },
582 { "հ", "Հ", XK_Armenian_ho, 1 },
583 { "պ", "Պ", XK_Armenian_pe, 1 },
584 { "ր", "Ր", XK_Armenian_re, 1 },
585 { 0 }, /* New row */
586
587 { "123", 0, XK_Mode_switch, 1 },
588 { "ժ", "Ժ", XK_Armenian_zhe, 1 },
589 { "դ", "Դ", XK_Armenian_da, 1 },
590 { "չ", "Չ", XK_Armenian_cha, 1 },
591 { "յ", "Յ", XK_Armenian_hi, 1 },
592 { "զ", "Զ", XK_Armenian_za, 1 },
593 { "լ", "Լ", XK_Armenian_lyun, 1 },
594 { "ք", "Ք", XK_Armenian_ke, 1 },
595 { "խ", "Խ", XK_Armenian_khe, 1 },
596 { "շ", "Շ", XK_Armenian_sha, 1 },
597 { "ռ", "Ռ", XK_Armenian_ra, 1 },
598 { "⌫Bksp", 0, XK_BackSpace, 2 },
599
600 { 0 }, /* New row */
601 { "↺", 0, XK_Cancel, 1},
602 { "Shift", 0, XK_Shift_L, 2 },
603 { "", 0, XK_space, 2 },
604 { "↲ Enter", 0, XK_Return, 2 },
605 };
606
607 static Key keys_ru[KEYS] = {
608 { "Esc", 0, XK_Escape, 1 },
609 { "1", "!", XK_1, 1 },
610 { "2", "@", XK_2, 1 },
611 { "3", "#", XK_3, 1 },
612 { "4", "$", XK_4, 1 },
613 { "5", "%", XK_5, 1 },
614 { "6", "^", XK_6, 1 },
615 { "7", "&", XK_7, 1 },
616 { "8", "*", XK_8, 1 },
617 { "9", "(", XK_9, 1 },
618 { "0", ")", XK_0, 1 },
619 { 0 }, /* New row */
620
621 { "й", 0, XK_Cyrillic_shorti, 1 },
622 { "ц", 0, XK_Cyrillic_tse, 1 },
623 { "у", 0, XK_Cyrillic_u, 1 },
624 { "к", 0, XK_Cyrillic_ka, 1 },
625 { "е", 0, XK_Cyrillic_ie, 1 },
626 { "н", 0, XK_Cyrillic_en, 1 },
627 { "г", 0, XK_Cyrillic_ghe, 1 },
628 { "ш", 0, XK_Cyrillic_sha, 1 },
629 { "щ", 0, XK_Cyrillic_shcha, 1 },
630 { "з", 0, XK_Cyrillic_ze, 1 },
631 { "х", 0, XK_Cyrillic_ha, 1 },
632
633 { 0 }, /* New row */
634
635 { "ф", 0, XK_Cyrillic_ef, 1 },
636 { "ы", 0, XK_Cyrillic_yeru, 1 },
637 { "в", 0, XK_Cyrillic_ve, 1 },
638 { "а", 0, XK_Cyrillic_a, 1 },
639 { "п", 0, XK_Cyrillic_pe, 1 },
640 { "р", 0, XK_Cyrillic_er, 1 },
641 { "о", 0, XK_Cyrillic_o, 1 },
642 { "л", 0, XK_Cyrillic_el, 1 },
643 { "д", 0, XK_Cyrillic_de, 1 },
644 { "ж", 0, XK_Cyrillic_zhe, 1 },
645 { "ю", 0, XK_Cyrillic_yu, 1 },
646
647 { 0 }, /* New row */
648
649 { "123", 0, XK_Mode_switch, 1 },
650 { "я", 0, XK_Cyrillic_ya, 1 },
651 { "ч", 0, XK_Cyrillic_che, 1 },
652 { "с", 0, XK_Cyrillic_es, 1 },
653 { "м", 0, XK_Cyrillic_em, 1 },
654 { "и", 0, XK_Cyrillic_i, 1 },
655 { "т", 0, XK_Cyrillic_te, 1 },
656 { "ь", 0, XK_Cyrillic_softsign, 1 },
657 { "б", 0, XK_Cyrillic_be, 1 },
658 { "⌫Bksp", 0, XK_BackSpace, 2 },
659
660 { 0 }, /* New row */
661 { "↺", 0, XK_Cancel, 1},
662 { "Shift", 0, XK_Shift_L, 2 },
663 { "Ctrl", 0, XK_Control_L, 1 },
664 { "Alt", 0, XK_Alt_L, 1 },
665 { "", 0, XK_space, 2 },
666 { "↓", 0, XK_Down, 1 },
667 { "↑", 0, XK_Up, 1 },
668 { "↲ Enter", 0, XK_Return, 2 },
669 };
670
671 static Key keys_dialer[KEYS] = {
672 { "Esc", 0, XK_Escape, 1 },
673 { "1", "!" , XK_1, 1 },
674 { "2", "@", XK_2, 1 },
675 { "3", "#", XK_3, 1 },
676 { "-", "_", XK_minus, 1 },
677 { ",", "<", XK_comma, 1 },
678 { 0 }, /* New row */
679
680 { "Shift", 0, XK_Shift_L, 1 },
681 { "4", "$", XK_4, 1 },
682 { "5", "%", XK_5, 1 },
683 { "6", "^", XK_6, 1 },
684 { "=", "+", XK_equal, 1 },
685 { "/", "?", XK_slash, 1 },
686 { 0 }, /* New row */
687
688 { "abc", 0, XK_Mode_switch, 1 },
689 { "7", "&", XK_7, 1 },
690 { "8", "*", XK_8, 1 },
691 { "9", "(", XK_9, 1 },
692 { "⌫Bksp", 0, XK_BackSpace, 2 },
693 { 0 }, /* New row */
694
695 { "↺", 0, XK_Cancel, 1},
696 { "", 0, XK_space, 1 },
697 { "0", ")", XK_0, 1 },
698 { ".", ">", XK_period, 1 },
699 { "↲ Enter", 0, XK_Return, 2},
700 { 0 }, /* New row */
701 { 0 }, /* Last item (double 0) */
702 };
703
704 #define LAYERS 8
705 static char* layer_names[LAYERS] = {
706 "en",
707 "symbols",
708 "navigation",
709 "dialer",
710 "minimal",
711 "dvorak",
712 "am",
713 "ru"
714 };
715
716 static Key* available_layers[LAYERS] = {
717 keys_en,
718 keys_symbols,
719 keys_navigation,
720 keys_dialer,
721 keys_minimal,
722 keys_dvorak,
723 keys_am,
724 keys_ru,
725 };
726
727 Buttonmod buttonmods[] = {
728 { XK_Shift_L, Button2 },
729 { XK_Alt_L, Button3 },
730 };
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.