Annotation of sys/dev/usb/ukbdmap.c, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: ukbdmap.c,v 1.27 2007/06/17 07:53:11 mbalmer Exp $ */
2:
3: /*
4: * THIS FILE IS AUTOMAGICALLY GENERATED. DO NOT EDIT.
5: *
6: * generated by:
7: * OpenBSD: makemap.awk,v 1.6 2005/05/23 21:33:03 miod Exp
8: * generated from:
9: */
10: /* OpenBSD: wskbdmap_mfii.c,v 1.34 2006/12/05 21:27:07 otto Exp */
11: /* $NetBSD: wskbdmap_mfii.c,v 1.15 2000/05/19 16:40:04 drochner Exp $ */
12:
13: /*
14: * PLEASE DO NOT FORGET TO REGEN
15: * sys/arch/hppa/gsc/gsckbdmap.c
16: * sys/dev/usb/ukbdmap.c
17: * AFTER ANY CHANGES TO THIS FILE!
18: */
19:
20: /*-
21: * Copyright (c) 1997 The NetBSD Foundation, Inc.
22: * All rights reserved.
23: *
24: * This code is derived from software contributed to The NetBSD Foundation
25: * by Juergen Hannken-Illjes.
26: *
27: * Redistribution and use in source and binary forms, with or without
28: * modification, are permitted provided that the following conditions
29: * are met:
30: * 1. Redistributions of source code must retain the above copyright
31: * notice, this list of conditions and the following disclaimer.
32: * 2. Redistributions in binary form must reproduce the above copyright
33: * notice, this list of conditions and the following disclaimer in the
34: * documentation and/or other materials provided with the distribution.
35: * 3. All advertising materials mentioning features or use of this software
36: * must display the following acknowledgement:
37: * This product includes software developed by the NetBSD
38: * Foundation, Inc. and its contributors.
39: * 4. Neither the name of The NetBSD Foundation nor the names of its
40: * contributors may be used to endorse or promote products derived
41: * from this software without specific prior written permission.
42: *
43: * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
44: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
45: * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
46: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
47: * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
48: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
49: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
50: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
51: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
52: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
53: * POSSIBILITY OF SUCH DAMAGE.
54: */
55:
56: #include <sys/types.h>
57: #include <dev/wscons/wsksymdef.h>
58: #include <dev/wscons/wsksymvar.h>
59:
60: #define KC(n) KS_KEYCODE(n)
61:
62: static const keysym_t ukbd_keydesc_us[] = {
63: /* pos command normal shifted */
64: /* initially KC(160), KS_AudioMute, */
65: /* initially KC(174), KS_AudioLower, */
66: /* initially KC(176), KS_AudioRaise, */
67: KC(4), KS_a,
68: KC(5), KS_b,
69: KC(6), KS_c,
70: KC(7), KS_d,
71: KC(8), KS_e,
72: KC(9), KS_f,
73: KC(10), KS_g,
74: KC(11), KS_h,
75: KC(12), KS_i,
76: KC(13), KS_j,
77: KC(14), KS_k,
78: KC(15), KS_l,
79: KC(16), KS_m,
80: KC(17), KS_n,
81: KC(18), KS_o,
82: KC(19), KS_p,
83: KC(20), KS_q,
84: KC(21), KS_r,
85: KC(22), KS_s,
86: KC(23), KS_t,
87: KC(24), KS_u,
88: KC(25), KS_v,
89: KC(26), KS_w,
90: KC(27), KS_x,
91: KC(28), KS_y,
92: KC(29), KS_z,
93: KC(30), KS_1, KS_exclam,
94: KC(31), KS_2, KS_at,
95: KC(32), KS_3, KS_numbersign,
96: KC(33), KS_4, KS_dollar,
97: KC(34), KS_5, KS_percent,
98: KC(35), KS_6, KS_asciicircum,
99: KC(36), KS_7, KS_ampersand,
100: KC(37), KS_8, KS_asterisk,
101: KC(38), KS_9, KS_parenleft,
102: KC(39), KS_0, KS_parenright,
103: KC(40), KS_Return,
104: KC(41), KS_Cmd_Debugger,KS_Escape,
105: KC(42), KS_Cmd_ResetEmul,KS_Delete,
106: KC(43), KS_Tab,
107: KC(44), KS_space,
108: KC(45), KS_minus, KS_underscore,
109: KC(46), KS_equal, KS_plus,
110: KC(47), KS_bracketleft, KS_braceleft,
111: KC(48), KS_bracketright,KS_braceright,
112: KC(49), KS_backslash, KS_bar,
113: KC(50), KS_backslash, KS_bar,
114: KC(51), KS_semicolon, KS_colon,
115: KC(52), KS_apostrophe, KS_quotedbl,
116: KC(53), KS_grave, KS_asciitilde,
117: KC(54), KS_comma, KS_less,
118: KC(55), KS_period, KS_greater,
119: KC(56), KS_slash, KS_question,
120: KC(57), KS_Caps_Lock,
121: KC(58), KS_Cmd_Screen0, KS_f1,
122: KC(59), KS_Cmd_Screen1, KS_f2,
123: KC(60), KS_Cmd_Screen2, KS_f3,
124: KC(61), KS_Cmd_Screen3, KS_f4,
125: KC(62), KS_Cmd_Screen4, KS_f5,
126: KC(63), KS_Cmd_Screen5, KS_f6,
127: KC(64), KS_Cmd_Screen6, KS_f7,
128: KC(65), KS_Cmd_Screen7, KS_f8,
129: KC(66), KS_Cmd_Screen8, KS_f9,
130: KC(67), KS_Cmd_Screen9, KS_f10,
131: KC(68), KS_Cmd_Screen10,KS_f11,
132: KC(69), KS_Cmd_Screen11,KS_f12,
133: KC(70), KS_Print_Screen,
134: KC(71), KS_Hold_Screen,
135: KC(72), KS_Pause, /*Break*/
136: KC(73), KS_Insert,
137: KC(74), KS_Home,
138: KC(75), KS_Cmd_ScrollBack,KS_Prior,
139: KC(76), KS_Cmd_ResetEmul,KS_Delete,
140: KC(77), KS_End,
141: KC(78), KS_Cmd_ScrollFwd,KS_Next,
142: KC(79), KS_Right,
143: KC(80), KS_Left,
144: KC(81), KS_Down,
145: KC(82), KS_Up,
146: KC(83), KS_Num_Lock,
147: KC(84), KS_KP_Divide,
148: KC(85), KS_KP_Multiply,
149: KC(86), KS_KP_Subtract,
150: KC(87), KS_KP_Add,
151: KC(88), KS_KP_Enter,
152: KC(89), KS_KP_End, KS_KP_1,
153: KC(90), KS_KP_Down, KS_KP_2,
154: KC(91), KS_KP_Next, KS_KP_3,
155: KC(92), KS_KP_Left, KS_KP_4,
156: KC(93), KS_KP_Begin, KS_KP_5,
157: KC(94), KS_KP_Right, KS_KP_6,
158: KC(95), KS_KP_Home, KS_KP_7,
159: KC(96), KS_KP_Up, KS_KP_8,
160: KC(97), KS_KP_Prior, KS_KP_9,
161: KC(98), KS_KP_Insert, KS_KP_0,
162: KC(99), KS_Cmd_KbdReset,KS_KP_Delete,
163: KC(101), KS_Menu,
164: KC(224), KS_Cmd1, KS_Control_L,
165: KC(225), KS_Shift_L,
166: KC(226), KS_Cmd2, KS_Alt_L,
167: KC(227), KS_Meta_L,
168: KC(228), KS_Cmd1, KS_Control_R,
169: KC(229), KS_Shift_R,
170: KC(230), KS_Cmd2, KS_Alt_R, KS_Multi_key,
171: KC(231), KS_Meta_R,
172: };
173:
174: #if !defined(SMALL_KERNEL) || !defined(__alpha__)
175:
176: static const keysym_t ukbd_keydesc_de[] = {
177: /* pos normal shifted altgr shift-altgr */
178: KC(16), KS_m, KS_M, KS_mu,
179: KC(20), KS_q, KS_Q, KS_at,
180: KC(28), KS_z,
181: KC(29), KS_y,
182: KC(31), KS_2, KS_quotedbl, KS_twosuperior,
183: KC(32), KS_3, KS_section, KS_threesuperior,
184: KC(35), KS_6, KS_ampersand,
185: KC(36), KS_7, KS_slash, KS_braceleft,
186: KC(37), KS_8, KS_parenleft, KS_bracketleft,
187: KC(38), KS_9, KS_parenright, KS_bracketright,
188: KC(39), KS_0, KS_equal, KS_braceright,
189: KC(45), KS_ssharp, KS_question, KS_backslash,
190: KC(46), KS_dead_acute, KS_dead_grave,
191: KC(47), KS_udiaeresis,
192: KC(48), KS_plus, KS_asterisk, KS_dead_tilde,
193: KC(49), KS_numbersign, KS_apostrophe,
194: KC(50), KS_numbersign, KS_apostrophe,
195: KC(51), KS_odiaeresis,
196: KC(52), KS_adiaeresis,
197: KC(53), KS_dead_circumflex,KS_dead_abovering,
198: KC(54), KS_comma, KS_semicolon,
199: KC(55), KS_period, KS_colon,
200: KC(56), KS_minus, KS_underscore,
201: KC(100), KS_less, KS_greater, KS_bar, KS_brokenbar,
202: KC(230), KS_Mode_switch, KS_Multi_key,
203: };
204:
205: static const keysym_t ukbd_keydesc_de_nodead[] = {
206: /* pos normal shifted altgr shift-altgr */
207: KC(46), KS_apostrophe, KS_grave,
208: KC(48), KS_plus, KS_asterisk, KS_asciitilde,
209: KC(53), KS_asciicircum, KS_degree,
210: };
211:
212: static const keysym_t ukbd_keydesc_dk[] = {
213: /* pos normal shifted altgr shift-altgr */
214: KC(31), KS_2, KS_quotedbl, KS_at,
215: KC(32), KS_3, KS_numbersign, KS_sterling,
216: KC(33), KS_4, KS_currency, KS_dollar,
217: KC(35), KS_6, KS_ampersand,
218: KC(36), KS_7, KS_slash, KS_braceleft,
219: KC(37), KS_8, KS_parenleft, KS_bracketleft,
220: KC(38), KS_9, KS_parenright, KS_bracketright,
221: KC(39), KS_0, KS_equal, KS_braceright,
222: KC(45), KS_plus, KS_question,
223: KC(46), KS_dead_acute, KS_dead_grave, KS_bar,
224: KC(47), KS_aring,
225: KC(48), KS_dead_diaeresis,KS_dead_circumflex,KS_dead_tilde,
226: KC(49), KS_apostrophe, KS_asterisk,
227: KC(50), KS_apostrophe, KS_asterisk,
228: KC(51), KS_ae,
229: KC(52), KS_oslash,
230: KC(53), KS_onehalf, KS_paragraph,
231: KC(54), KS_comma, KS_semicolon,
232: KC(55), KS_period, KS_colon,
233: KC(56), KS_minus, KS_underscore,
234: KC(100), KS_less, KS_greater, KS_backslash,
235: KC(230), KS_Mode_switch, KS_Multi_key,
236: };
237:
238: static const keysym_t ukbd_keydesc_dk_nodead[] = {
239: /* pos normal shifted altgr shift-altgr */
240: KC(46), KS_apostrophe, KS_grave, KS_bar,
241: KC(48), KS_diaeresis, KS_asciicircum, KS_asciitilde,
242: };
243:
244: static const keysym_t ukbd_keydesc_sv[] = {
245: /* pos normal shifted altgr shift-altgr */
246: KC(45), KS_plus, KS_question, KS_backslash,
247: KC(48), KS_dead_diaeresis,KS_dead_circumflex,KS_dead_tilde,
248: KC(51), KS_odiaeresis,
249: KC(52), KS_adiaeresis,
250: KC(53), KS_section, KS_onehalf,
251: KC(100), KS_less, KS_greater, KS_bar,
252: KC(230), KS_Mode_switch, KS_Multi_key,
253: };
254:
255: static const keysym_t ukbd_keydesc_sv_nodead[] = {
256: /* pos normal shifted altgr shift-altgr */
257: KC(46), KS_apostrophe, KS_grave, KS_bar,
258: KC(48), KS_diaeresis, KS_asciicircum, KS_asciitilde,
259: };
260:
261: static const keysym_t ukbd_keydesc_no[] = {
262: /* pos normal shifted altgr shift-altgr */
263: KC(46), KS_backslash, KS_dead_grave, KS_dead_acute,
264: KC(48), KS_dead_diaeresis,KS_dead_circumflex,KS_dead_tilde,
265: KC(51), KS_oslash,
266: KC(52), KS_ae,
267: KC(53), KS_bar, KS_paragraph,
268: KC(100), KS_less, KS_greater,
269: };
270:
271: static const keysym_t ukbd_keydesc_no_nodead[] = {
272: /* pos normal shifted altgr shift-altgr */
273: KC(46), KS_backslash, KS_grave, KS_acute,
274: KC(48), KS_diaeresis, KS_asciicircum, KS_asciitilde,
275: };
276:
277: static const keysym_t ukbd_keydesc_fr[] = {
278: /* pos normal shifted altgr shift-altgr */
279: KC(4), KS_q,
280: KC(16), KS_comma, KS_question,
281: KC(20), KS_a,
282: KC(26), KS_z,
283: KC(29), KS_w,
284: KC(30), KS_ampersand, KS_1,
285: KC(31), KS_eacute, KS_2, KS_asciitilde,
286: KC(32), KS_quotedbl, KS_3, KS_numbersign,
287: KC(33), KS_apostrophe, KS_4, KS_braceleft,
288: KC(34), KS_parenleft, KS_5, KS_bracketleft,
289: KC(35), KS_minus, KS_6, KS_bar,
290: KC(36), KS_egrave, KS_7, KS_grave,
291: KC(37), KS_underscore, KS_8, KS_backslash,
292: KC(38), KS_ccedilla, KS_9, KS_asciicircum,
293: KC(39), KS_agrave, KS_0, KS_at,
294: KC(45), KS_parenright, KS_degree, KS_bracketright,
295: KC(46), KS_equal, KS_plus, KS_braceright,
296: KC(47), KS_dead_circumflex,KS_dead_diaeresis,
297: KC(48), KS_dollar, KS_sterling, KS_currency,
298: KC(49), KS_asterisk, KS_mu,
299: KC(50), KS_asterisk, KS_mu,
300: KC(51), KS_m,
301: KC(52), KS_ugrave, KS_percent,
302: KC(53), KS_twosuperior,
303: KC(54), KS_semicolon, KS_period,
304: KC(55), KS_colon, KS_slash,
305: KC(56), KS_exclam, KS_section,
306: KC(100), KS_less, KS_greater,
307: KC(230), KS_Mode_switch, KS_Multi_key,
308: };
309:
310: static const keysym_t ukbd_keydesc_fr_apple[] = {
311: KC(5), KS_b, KS_B, KS_ssharp,
312: KC(8), KS_e, KS_E, KS_ecircumflex, KS_Ecircumflex,
313: KC(11), KS_h, KS_H, KS_Igrave, KS_Icircumflex,
314: KC(12), KS_i, KS_I, KS_icircumflex, KS_idiaeresis,
315: KC(13), KS_j, KS_J, KS_Idiaeresis, KS_Iacute,
316: KC(14), KS_k, KS_K, KS_Egrave, KS_Ediaeresis,
317: KC(15), KS_l, KS_L, KS_voidSymbol, KS_bar,
318: KC(16), KS_comma, KS_question, KS_voidSymbol, KS_questiondown,
319: KC(17), KS_n, KS_N, KS_asciitilde,
320: KC(20), KS_a, KS_A, KS_ae, KS_AE,
321: KC(21), KS_r, KS_R, KS_registered, KS_comma,
322: KC(22), KS_s, KS_S, KS_Ograve,
323: KC(26), KS_z, KS_Z, KS_Acircumflex, KS_Aring,
324: KC(28), KS_y, KS_Y, KS_Uacute,
325: KC(31), KS_eacute, KS_2, KS_ediaeresis,
326: KC(32), KS_quotedbl, KS_3,
327: KC(33), KS_apostrophe, KS_4,
328: KC(34), KS_parenleft, KS_5, KS_braceleft, KS_bracketleft,
329: KC(35), KS_section, KS_6,
330: KC(36), KS_egrave, KS_7, KS_guillemotleft,
331: KS_guillemotright,
332: KC(37), KS_exclam, KS_8,
333: KC(38), KS_ccedilla, KS_9, KS_Ccedilla, KS_Aacute,
334: KC(37), KS_exclam, KS_8, KS_exclamdown, KS_Ucircumflex,
335: KC(39), KS_agrave, KS_0, KS_oslash, KS_Ooblique,
336: KC(45), KS_parenright, KS_degree, KS_braceright, KS_bracketright,
337: KC(46), KS_minus, KS_underscore,
338: KC(47), KS_dead_circumflex, KS_dead_diaeresis,
339: KS_ocircumflex, KS_Ocircumflex,
340: KC(48), KS_dollar, KS_asterisk, KS_cent, KS_yen,
341: KC(50), KS_grave, KS_sterling, KS_at, KS_numbersign,
342: KC(51), KS_m, KS_M, KS_mu, KS_Oacute,
343: KC(52), KS_ugrave, KS_percent, KS_Ugrave,
344: KC(53), KS_at, KS_numbersign,
345: KC(55), KS_colon, KS_slash, KS_voidSymbol, KS_backslash,
346: KC(56), KS_equal, KS_plus,
347: KC(103), KS_KP_Equal,
348: KC(231), KS_Mode_switch, KS_Multi_key,
349: };
350:
351: static const keysym_t ukbd_keydesc_it[] = {
352: /* pos normal shifted altgr shift-altgr */
353: KC(31), KS_2, KS_quotedbl, KS_twosuperior,
354: KC(32), KS_3, KS_sterling, KS_threesuperior,
355: KC(34), KS_5, KS_percent,
356: KC(35), KS_6, KS_ampersand,
357: KC(36), KS_7, KS_slash,
358: KC(37), KS_8, KS_parenleft,
359: KC(38), KS_9, KS_parenright,
360: KC(39), KS_0, KS_equal,
361: KC(45), KS_apostrophe, KS_question,
362: KC(46), KS_igrave, KS_asciicircum,
363: KC(47), KS_egrave, KS_eacute, KS_braceleft, KS_bracketleft,
364: KC(48), KS_plus, KS_asterisk, KS_braceright, KS_bracketright,
365: KC(49), KS_ugrave, KS_section,
366: KC(50), KS_ugrave, KS_section,
367: KC(51), KS_ograve, KS_Ccedilla, KS_at,
368: KC(52), KS_agrave, KS_degree, KS_numbersign,
369: KC(53), KS_backslash, KS_bar,
370: KC(54), KS_comma, KS_semicolon,
371: KC(55), KS_period, KS_colon,
372: KC(56), KS_minus, KS_underscore,
373: KC(100), KS_less, KS_greater,
374: KC(230), KS_Mode_switch, KS_Multi_key,
375: };
376:
377: static const keysym_t ukbd_keydesc_uk[] = {
378: /* pos normal shifted altgr shift-altgr */
379: KC(30), KS_1, KS_exclam, KS_plusminus, KS_exclamdown,
380: KC(31), KS_2, KS_quotedbl, KS_twosuperior, KS_cent,
381: KC(32), KS_3, KS_sterling, KS_threesuperior,
382: KC(33), KS_4, KS_dollar, KS_acute, KS_currency,
383: KC(34), KS_5, KS_percent, KS_mu, KS_yen,
384: KC(35), KS_6, KS_asciicircum, KS_paragraph,
385: KC(36), KS_7, KS_ampersand, KS_periodcentered,KS_brokenbar,
386: KC(37), KS_8, KS_asterisk, KS_cedilla, KS_ordfeminine,
387: KC(38), KS_9, KS_parenleft, KS_onesuperior, KS_diaeresis,
388: KC(39), KS_0, KS_parenright, KS_masculine, KS_copyright,
389: KC(45), KS_minus, KS_underscore, KS_hyphen, KS_ssharp,
390: KC(46), KS_equal, KS_plus, KS_onehalf, KS_guillemotleft,
391: KC(49), KS_numbersign, KS_asciitilde, KS_sterling, KS_thorn,
392: KC(50), KS_numbersign, KS_asciitilde, KS_sterling, KS_thorn,
393: KC(52), KS_apostrophe, KS_at, KS_section, KS_Agrave,
394: KC(53), KS_grave, KS_grave, KS_agrave, KS_agrave,
395: KC(100), KS_backslash, KS_bar, KS_Udiaeresis,
396: };
397:
398: static const keysym_t ukbd_keydesc_jp[] = {
399: /* pos normal shifted altgr shift-altgr */
400: KC(31), KS_2, KS_quotedbl,
401: KC(35), KS_6, KS_ampersand,
402: KC(36), KS_7, KS_apostrophe,
403: KC(37), KS_8, KS_parenleft,
404: KC(38), KS_9, KS_parenright,
405: KC(39), KS_0,
406: KC(45), KS_minus, KS_equal,
407: KC(46), KS_asciicircum, KS_asciitilde,
408: KC(47), KS_at, KS_grave,
409: KC(48), KS_bracketleft, KS_braceleft,
410: KC(49), KS_bracketright,KS_braceright,
411: KC(50), KS_bracketright,KS_braceright,
412: KC(51), KS_semicolon, KS_plus,
413: KC(52), KS_colon, KS_asterisk,
414: KC(53), KS_Zenkaku_Hankaku,/*replacegrave/tilde*/
415: KC(135), KS_Hiragana_Katakana,
416: KC(136), KS_backslash, KS_underscore,
417: KC(137), KS_Henkan,
418: KC(138), KS_Muhenkan,
419: KC(139), KS_backslash, KS_bar,
420: };
421:
422: static const keysym_t ukbd_keydesc_es[] = {
423: /* pos normal shifted altgr shift-altgr */
424: KC(30), KS_1, KS_exclam, KS_bar,
425: KC(31), KS_2, KS_quotedbl, KS_at,
426: KC(32), KS_3, KS_periodcentered,KS_numbersign,
427: KC(33), KS_4, KS_dollar, KS_asciitilde,
428: KC(35), KS_6, KS_ampersand,
429: KC(36), KS_7, KS_slash,
430: KC(37), KS_8, KS_parenleft,
431: KC(38), KS_9, KS_parenright,
432: KC(39), KS_0, KS_equal,
433: KC(45), KS_apostrophe, KS_question,
434: KC(46), KS_exclamdown, KS_questiondown,
435: KC(47), KS_dead_grave, KS_dead_circumflex,KS_bracketleft,
436: KC(48), KS_plus, KS_asterisk, KS_bracketright,
437: KC(49), KS_ccedilla, KS_Ccedilla, KS_braceright,
438: KC(50), KS_ccedilla, KS_Ccedilla, KS_braceright,
439: KC(51), KS_ntilde,
440: KC(52), KS_dead_acute, KS_dead_diaeresis,KS_braceleft,
441: KC(53), KS_degree, KS_ordfeminine, KS_backslash,
442: KC(54), KS_comma, KS_semicolon,
443: KC(55), KS_period, KS_colon,
444: KC(56), KS_minus, KS_underscore,
445: KC(100), KS_less, KS_greater,
446: KC(230), KS_Mode_switch, KS_Multi_key,
447: };
448:
449: static const keysym_t ukbd_keydesc_lt[] = {
450: /* pos normal shifted altgr shift-altgr */
451: KC(8), KS_e, KS_E, KS_currency,
452: KC(9), KS_L7_scaron, KS_L7_Scaron,
453: KC(20), KS_L7_aogonek, KS_L7_Aogonek,
454: KC(26), KS_L7_zcaron, KS_L7_Zcaron,
455: KC(27), KS_L7_umacron, KS_L7_Umacron,
456: KC(30), KS_exclam, KS_1, KS_at,
457: KC(31), KS_minus, KS_2, KS_underscore,
458: KC(32), KS_slash, KS_3, KS_numbersign,
459: KC(33), KS_semicolon, KS_4, KS_dollar,
460: KC(34), KS_colon, KS_5, KS_paragraph,
461: KC(35), KS_comma, KS_6, KS_asciicircum,
462: KC(36), KS_period, KS_7, KS_ampersand,
463: KC(37), KS_equal, KS_8, KS_asterisk,
464: KC(38), KS_bracketleft, KS_9, KS_parenleft,
465: KC(39), KS_bracketright,KS_0, KS_parenright,
466: KC(44), KS_space, KS_space, KS_nobreakspace,
467: KC(45), KS_question, KS_plus, KS_apostrophe,
468: KC(46), KS_x, KS_X, KS_percent,
469: KC(47), KS_L7_iogonek, KS_L7_Iogonek, KS_braceleft,
470: KC(48), KS_w, KS_W, KS_braceright,
471: KC(49), KS_q, KS_Q, KS_bar,
472: KC(50), KS_q, KS_Q, KS_bar,
473: KC(51), KS_L7_uogonek, KS_L7_Uogonek,
474: KC(52), KS_L7_edot, KS_L7_Edot, KS_quotedbl,
475: KC(53), KS_grave, KS_asciitilde,
476: KC(54), KS_L7_ccaron, KS_L7_Ccaron, KS_L7_dbllow9quot,
477: KC(55), KS_f, KS_F, KS_L7_leftdblquot,
478: KC(56), KS_L7_eogonek, KS_L7_Eogonek, KS_backslash,
479: KC(230), KS_Mode_switch, KS_Multi_key,
480: };
481:
482: static const keysym_t ukbd_keydesc_be[] = {
483: /* pos normal shifted altgr shift-altgr */
484: KC(4), KS_q,
485: KC(16), KS_comma, KS_question,
486: KC(20), KS_a,
487: KC(26), KS_z,
488: KC(29), KS_w,
489: KC(30), KS_ampersand, KS_1, KS_bar,
490: KC(31), KS_eacute, KS_2, KS_at,
491: KC(32), KS_quotedbl, KS_3, KS_numbersign,
492: KC(33), KS_apostrophe, KS_4,
493: KC(34), KS_parenleft, KS_5,
494: KC(35), KS_section, KS_6, KS_asciicircum,
495: KC(36), KS_egrave, KS_7,
496: KC(37), KS_exclam, KS_8,
497: KC(38), KS_ccedilla, KS_9, KS_braceleft,
498: KC(39), KS_agrave, KS_0, KS_braceright,
499: KC(45), KS_parenright, KS_degree,
500: KC(46), KS_minus, KS_underscore,
501: KC(47), KS_dead_circumflex,KS_dead_diaeresis,KS_bracketleft,
502: KC(48), KS_dollar, KS_asterisk, KS_bracketright,
503: KC(49), KS_mu, KS_sterling, KS_grave,
504: KC(50), KS_mu, KS_sterling, KS_grave,
505: KC(51), KS_m,
506: KC(52), KS_ugrave, KS_percent, KS_acute,
507: KC(53), KS_twosuperior, KS_threesuperior,
508: KC(54), KS_semicolon, KS_period,
509: KC(55), KS_colon, KS_slash,
510: KC(56), KS_equal, KS_plus, KS_asciitilde,
511: KC(100), KS_less, KS_greater, KS_backslash,
512: KC(230), KS_Mode_switch, KS_Multi_key,
513: };
514:
515:
516: static const keysym_t ukbd_keydesc_us_dvorak[] = {
517: /* pos command normal shifted */
518: KC(5), KS_x,
519: KC(6), KS_j,
520: KC(7), KS_e,
521: KC(8), KS_period, KS_greater,
522: KC(9), KS_u,
523: KC(10), KS_i,
524: KC(11), KS_d,
525: KC(12), KS_c,
526: KC(13), KS_h,
527: KC(14), KS_t,
528: KC(15), KS_n,
529: KC(17), KS_b,
530: KC(18), KS_r,
531: KC(19), KS_l,
532: KC(20), KS_apostrophe, KS_quotedbl,
533: KC(21), KS_p,
534: KC(22), KS_o,
535: KC(23), KS_y,
536: KC(24), KS_g,
537: KC(25), KS_k,
538: KC(26), KS_comma, KS_less,
539: KC(27), KS_q,
540: KC(28), KS_f,
541: KC(29), KS_semicolon, KS_colon,
542: KC(45), KS_bracketleft, KS_braceleft,
543: KC(46), KS_bracketright,KS_braceright,
544: KC(47), KS_slash, KS_question,
545: KC(48), KS_equal, KS_plus,
546: KC(51), KS_s,
547: KC(52), KS_minus, KS_underscore,
548: KC(54), KS_w,
549: KC(55), KS_v,
550: KC(56), KS_z,
551: };
552:
553: static const keysym_t ukbd_keydesc_swapctrlcaps[] = {
554: /* pos command normal shifted */
555: KC(57), KS_Cmd1, KS_Control_L,
556: KC(224), KS_Caps_Lock,
557: };
558:
559: static const keysym_t ukbd_keydesc_iopener[] = {
560: /* pos command normal shifted */
561: KC(58), KS_Cmd_Debugger,KS_Escape,
562: KC(59), KS_Cmd_Screen0, KS_f1,
563: KC(60), KS_Cmd_Screen1, KS_f2,
564: KC(61), KS_Cmd_Screen2, KS_f3,
565: KC(62), KS_Cmd_Screen3, KS_f4,
566: KC(63), KS_Cmd_Screen4, KS_f5,
567: KC(64), KS_Cmd_Screen5, KS_f6,
568: KC(65), KS_Cmd_Screen6, KS_f7,
569: KC(66), KS_Cmd_Screen7, KS_f8,
570: KC(67), KS_Cmd_Screen8, KS_f9,
571: KC(68), KS_Cmd_Screen9, KS_f10,
572: KC(69), KS_f11,
573: };
574:
575: static const keysym_t ukbd_keydesc_ru[] = {
576: /* pos normal shifted altgr shift-altgr */
577: KC(4), KS_a, KS_A, KS_Cyrillic_ef, KS_Cyrillic_EF,
578: KC(5), KS_b, KS_B, KS_Cyrillic_i, KS_Cyrillic_I,
579: KC(6), KS_c, KS_C, KS_Cyrillic_es, KS_Cyrillic_ES,
580: KC(7), KS_d, KS_D, KS_Cyrillic_ve, KS_Cyrillic_VE,
581: KC(8), KS_e, KS_E, KS_Cyrillic_u, KS_Cyrillic_U,
582: KC(9), KS_f, KS_F, KS_Cyrillic_a, KS_Cyrillic_A,
583: KC(10), KS_g, KS_G, KS_Cyrillic_pe, KS_Cyrillic_PE,
584: KC(11), KS_h, KS_H, KS_Cyrillic_er, KS_Cyrillic_ER,
585: KC(12), KS_i, KS_I, KS_Cyrillic_sha,KS_Cyrillic_SHA,
586: KC(13), KS_j, KS_J, KS_Cyrillic_o, KS_Cyrillic_O,
587: KC(14), KS_k, KS_K, KS_Cyrillic_el, KS_Cyrillic_EL,
588: KC(15), KS_l, KS_L, KS_Cyrillic_de, KS_Cyrillic_DE,
589: KC(16), KS_m, KS_M, KS_Cyrillic_ssighn,KS_Cyrillic_SSIGHN,
590: KC(17), KS_n, KS_N, KS_Cyrillic_te, KS_Cyrillic_TE,
591: KC(18), KS_o, KS_O, KS_Cyrillic_scha,KS_Cyrillic_SCHA,
592: KC(19), KS_p, KS_P, KS_Cyrillic_ze, KS_Cyrillic_ZE,
593: KC(20), KS_q, KS_Q, KS_Cyrillic_ishort,KS_Cyrillic_ISHORT,
594: KC(21), KS_r, KS_R, KS_Cyrillic_ka, KS_Cyrillic_KA,
595: KC(22), KS_s, KS_S, KS_Cyrillic_yeru,KS_Cyrillic_YERU,
596: KC(23), KS_t, KS_T, KS_Cyrillic_ie, KS_Cyrillic_IE,
597: KC(24), KS_u, KS_U, KS_Cyrillic_ge, KS_Cyrillic_GE,
598: KC(25), KS_v, KS_V, KS_Cyrillic_em, KS_Cyrillic_EM,
599: KC(26), KS_w, KS_W, KS_Cyrillic_tse,KS_Cyrillic_TSE,
600: KC(27), KS_x, KS_X, KS_Cyrillic_che,KS_Cyrillic_CHE,
601: KC(28), KS_y, KS_Y, KS_Cyrillic_en, KS_Cyrillic_EN,
602: KC(29), KS_z, KS_Z, KS_Cyrillic_ya, KS_Cyrillic_YA,
603: KC(35), KS_6, KS_asciicircum, KS_6, KS_comma,
604: KC(36), KS_7, KS_ampersand, KS_7, KS_period,
605: KC(47), KS_bracketleft, KS_braceleft, KS_Cyrillic_ha, KS_Cyrillic_HA,
606: KC(48), KS_bracketright,KS_braceright, KS_Cyrillic_hsighn,KS_Cyrillic_HSIGHN,
607: KC(51), KS_semicolon, KS_colon, KS_Cyrillic_zhe,KS_Cyrillic_ZHE,
608: KC(52), KS_apostrophe, KS_quotedbl, KS_Cyrillic_e, KS_Cyrillic_E,
609: KC(54), KS_comma, KS_less, KS_Cyrillic_be, KS_Cyrillic_BE,
610: KC(55), KS_period, KS_greater, KS_Cyrillic_yu, KS_Cyrillic_YU,
611: KC(56), KS_slash, KS_question, KS_Cyrillic_yo, KS_Cyrillic_YO,
612: KC(230), KS_Mode_switch, KS_Multi_key,
613: };
614:
615: static const keysym_t ukbd_keydesc_ua[] = {
616: /* pos normal shifted altgr shift-altgr */
617: KC(4), KS_a, KS_A, KS_Cyrillic_ef, KS_Cyrillic_EF,
618: KC(5), KS_b, KS_B, KS_Cyrillic_i, KS_Cyrillic_I,
619: KC(6), KS_c, KS_C, KS_Cyrillic_es, KS_Cyrillic_ES,
620: KC(7), KS_d, KS_D, KS_Cyrillic_ve, KS_Cyrillic_VE,
621: KC(8), KS_e, KS_E, KS_Cyrillic_u, KS_Cyrillic_U,
622: KC(9), KS_f, KS_F, KS_Cyrillic_a, KS_Cyrillic_A,
623: KC(10), KS_g, KS_G, KS_Cyrillic_pe, KS_Cyrillic_PE,
624: KC(11), KS_h, KS_H, KS_Cyrillic_er, KS_Cyrillic_ER,
625: KC(12), KS_i, KS_I, KS_Cyrillic_sha,KS_Cyrillic_SHA,
626: KC(13), KS_j, KS_J, KS_Cyrillic_o, KS_Cyrillic_O,
627: KC(14), KS_k, KS_K, KS_Cyrillic_el, KS_Cyrillic_EL,
628: KC(15), KS_l, KS_L, KS_Cyrillic_de, KS_Cyrillic_DE,
629: KC(16), KS_m, KS_M, KS_Cyrillic_ssighn,KS_Cyrillic_SSIGHN,
630: KC(17), KS_n, KS_N, KS_Cyrillic_te, KS_Cyrillic_TE,
631: KC(18), KS_o, KS_O, KS_Cyrillic_scha,KS_Cyrillic_SCHA,
632: KC(19), KS_p, KS_P, KS_Cyrillic_ze, KS_Cyrillic_ZE,
633: KC(20), KS_q, KS_Q, KS_Cyrillic_ishort,KS_Cyrillic_ISHORT,
634: KC(21), KS_r, KS_R, KS_Cyrillic_ka, KS_Cyrillic_KA,
635: KC(22), KS_s, KS_S, KS_Cyrillic_yeru,KS_Cyrillic_YERU,
636: KC(23), KS_t, KS_T, KS_Cyrillic_ie, KS_Cyrillic_IE,
637: KC(24), KS_u, KS_U, KS_Cyrillic_ge, KS_Cyrillic_GE,
638: KC(25), KS_v, KS_V, KS_Cyrillic_em, KS_Cyrillic_EM,
639: KC(26), KS_w, KS_W, KS_Cyrillic_tse,KS_Cyrillic_TSE,
640: KC(27), KS_x, KS_X, KS_Cyrillic_che,KS_Cyrillic_CHE,
641: KC(28), KS_y, KS_Y, KS_Cyrillic_en, KS_Cyrillic_EN,
642: KC(29), KS_z, KS_Z, KS_Cyrillic_ya, KS_Cyrillic_YA,
643: KC(35), KS_6, KS_asciicircum, KS_6, KS_comma,
644: KC(36), KS_7, KS_ampersand, KS_7, KS_period,
645: KC(45), KS_minus, KS_underscore, KS_Cyrillic_iukr,KS_Cyrillic_IUKR,
646: KC(46), KS_equal, KS_plus, KS_Cyrillic_yeukr,KS_Cyrillic_YEUKR,
647: KC(47), KS_bracketleft, KS_braceleft, KS_Cyrillic_ha, KS_Cyrillic_HA,
648: KC(48), KS_bracketright,KS_braceright, KS_Cyrillic_hsighn,KS_Cyrillic_HSIGHN,
649: KC(49), KS_backslash, KS_bar, KS_Cyrillic_yi, KS_Cyrillic_YI,
650: KC(50), KS_backslash, KS_bar, KS_Cyrillic_yi, KS_Cyrillic_YI,
651: KC(51), KS_semicolon, KS_colon, KS_Cyrillic_zhe,KS_Cyrillic_ZHE,
652: KC(52), KS_apostrophe, KS_quotedbl, KS_Cyrillic_e, KS_Cyrillic_E,
653: KC(53), KS_grave, KS_asciitilde, KS_Cyrillic_gheukr,KS_Cyrillic_GHEUKR,
654: KC(54), KS_comma, KS_less, KS_Cyrillic_be, KS_Cyrillic_BE,
655: KC(55), KS_period, KS_greater, KS_Cyrillic_yu, KS_Cyrillic_YU,
656: KC(56), KS_slash, KS_question, KS_Cyrillic_yo, KS_Cyrillic_YO,
657: KC(230), KS_Mode_switch, KS_Multi_key,
658: };
659:
660: static const keysym_t ukbd_keydesc_sg[] = {
661: /* pos normal shifted altgr shift-altgr */
662: KC(8), KS_e, KS_E, KS_currency,
663: KC(28), KS_z,
664: KC(29), KS_y,
665: KC(30), KS_1, KS_plus, KS_bar,
666: KC(31), KS_2, KS_quotedbl, KS_at,
667: KC(32), KS_3, KS_asterisk, KS_numbersign,
668: KC(33), KS_4, KS_ccedilla,
669: KC(35), KS_6, KS_ampersand, KS_notsign,
670: KC(36), KS_7, KS_slash, KS_brokenbar,
671: KC(37), KS_8, KS_parenleft, KS_cent,
672: KC(38), KS_9, KS_parenright,
673: KC(39), KS_0, KS_equal,
674: KC(45), KS_apostrophe, KS_question, KS_dead_acute,
675: KC(46), KS_dead_circumflex,KS_dead_grave,KS_dead_tilde,
676: KC(47), KS_udiaeresis, KS_egrave, KS_bracketleft,
677: KC(48), KS_dead_diaeresis,KS_exclam, KS_bracketright,
678: KC(49), KS_dollar, KS_sterling, KS_braceright,
679: KC(50), KS_dollar, KS_sterling, KS_braceright,
680: KC(51), KS_odiaeresis, KS_eacute,
681: KC(52), KS_adiaeresis, KS_agrave, KS_braceleft,
682: KC(53), KS_section, KS_degree, KS_dead_abovering,
683: KC(54), KS_comma, KS_semicolon,
684: KC(55), KS_period, KS_colon,
685: KC(56), KS_minus, KS_underscore,
686: KC(100), KS_less, KS_greater, KS_backslash,
687: KC(230), KS_Mode_switch, KS_Multi_key,
688: };
689:
690: static const keysym_t ukbd_keydesc_sg_nodead[] = {
691: /* pos normal shifted altgr shift-altgr */
692: KC(45), KS_apostrophe, KS_question, KS_acute,
693: KC(46), KS_asciicircum, KS_grave, KS_asciitilde,
694: KC(48), KS_diaeresis, KS_exclam, KS_bracketright,
695: };
696:
697: static const keysym_t ukbd_keydesc_sf[] = {
698: /* pos normal shifted altgr shift-altgr */
699: KC(47), KS_egrave, KS_udiaeresis, KS_bracketleft,
700: KC(51), KS_eacute, KS_odiaeresis,
701: KC(52), KS_agrave, KS_adiaeresis, KS_braceleft,
702: };
703:
704: static const keysym_t ukbd_keydesc_pt[] = {
705: /* pos normal shifted altgr shift-altgr */
706: KC(31), KS_2, KS_quotedbl, KS_at,
707: KC(32), KS_3, KS_numbersign, KS_sterling,
708: KC(35), KS_6, KS_ampersand,
709: KC(36), KS_7, KS_slash, KS_braceleft,
710: KC(37), KS_8, KS_parenleft, KS_bracketleft,
711: KC(38), KS_9, KS_parenright, KS_bracketright,
712: KC(39), KS_0, KS_equal, KS_braceright,
713: KC(45), KS_apostrophe, KS_question,
714: KC(46), KS_less, KS_greater,
715: KC(47), KS_plus, KS_asterisk,
716: KC(48), KS_dead_acute, KS_dead_grave,
717: KC(49), KS_dead_tilde, KS_dead_circumflex,
718: KC(50), KS_dead_tilde, KS_dead_circumflex,
719: KC(51), KS_ccedilla, KS_Ccedilla,
720: KC(52), KS_masculine, KS_ordfeminine,
721: KC(53), KS_backslash, KS_bar,
722: KC(54), KS_comma, KS_semicolon,
723: KC(55), KS_period, KS_colon,
724: KC(56), KS_minus, KS_underscore,
725: KC(100), KS_less, KS_greater,
726: KC(230), KS_Mode_switch, KS_Multi_key,
727: };
728:
729: static const keysym_t ukbd_keydesc_pt_apple[] = {
730: /* pos normal shifted */
731: KC(46), KS_plus, KS_asterisk,
732: KC(47), KS_masculine, KS_ordfeminine,
733: KC(50), KS_backslash, KS_bar,
734: KC(52), KS_dead_tilde, KS_dead_circumflex
735: };
736:
737: static const keysym_t ukbd_keydesc_la[] = {
738: /* pos normal shifted altgr shift-altgr */
739: KC(20), KS_q, KS_Q, KS_at,
740: KC(30), KS_1, KS_exclam,
741: KC(31), KS_2, KS_quotedbl,
742: KC(32), KS_3, KS_numbersign,
743: KC(35), KS_6, KS_ampersand,
744: KC(36), KS_7, KS_slash,
745: KC(37), KS_8, KS_parenleft,
746: KC(38), KS_9, KS_parenright,
747: KC(39), KS_0, KS_equal,
748: KC(45), KS_apostrophe, KS_question, KS_backslash,
749: KC(46), KS_questiondown,KS_exclamdown,
750: KC(47), KS_dead_acute, KS_dead_diaeresis,
751: KC(48), KS_plus, KS_asterisk, KS_asciitilde,
752: KC(49), KS_braceright, KS_bracketright,KS_dead_grave,
753: KC(50), KS_braceright, KS_bracketright,KS_dead_grave,
754: KC(51), KS_ntilde,
755: KC(52), KS_braceleft, KS_bracketleft, KS_dead_circumflex,
756: KC(53), KS_bar, KS_degree, KS_notsign,
757: KC(54), KS_comma, KS_semicolon,
758: KC(55), KS_period, KS_colon,
759: KC(56), KS_minus, KS_underscore,
760: KC(100), KS_less, KS_greater,
761: KC(230), KS_Mode_switch, KS_Multi_key,
762: };
763:
764: static const keysym_t ukbd_keydesc_br[] = {
765: /* pos normal shifted altgr shift-altgr */
766: KC(30), KS_1, KS_exclam, KS_onesuperior,
767: KC(31), KS_2, KS_at, KS_twosuperior,
768: KC(32), KS_3, KS_numbersign, KS_threesuperior,
769: KC(33), KS_4, KS_dollar, KS_sterling,
770: KC(34), KS_5, KS_percent, KS_cent,
771: KC(35), KS_6, KS_dead_diaeresis,KS_notsign,
772: KC(46), KS_equal, KS_plus, KS_section,
773: KC(47), KS_dead_acute, KS_dead_grave,
774: KC(48), KS_bracketleft, KS_braceleft, KS_ordfeminine,
775: KC(49), KS_bracketright,KS_braceright, KS_masculine,
776: KC(50), KS_bracketright,KS_braceright, KS_masculine,
777: KC(51), KS_ccedilla, KS_Ccedilla,
778: KC(52), KS_dead_tilde, KS_dead_circumflex,
779: KC(53), KS_apostrophe, KS_quotedbl,
780: KC(56), KS_semicolon, KS_colon,
781: KC(99), KS_KP_Delete, KS_KP_Decimal,
782: KC(100), KS_backslash, KS_bar,
783: KC(136), KS_slash, KS_question, KS_degree,
784: };
785:
786: static const keysym_t ukbd_keydesc_tr[] = {
787: /* pos normal shifted altgr shift-altgr */
788: KC(12), KS_L5_idotless, KS_I,
789: KC(20), KS_q, KS_Q, KS_at,
790: KC(31), KS_2, KS_apostrophe, KS_sterling,
791: KC(32), KS_3, KS_asciicircum, KS_numbersign,
792: KC(33), KS_4, KS_plus, KS_dollar,
793: KC(34), KS_5, KS_percent, KS_onehalf,
794: KC(35), KS_6, KS_ampersand,
795: KC(36), KS_7, KS_slash, KS_braceleft,
796: KC(37), KS_8, KS_parenleft, KS_bracketleft,
797: KC(38), KS_9, KS_parenright, KS_bracketright,
798: KC(39), KS_0, KS_equal, KS_braceright,
799: KC(45), KS_asterisk, KS_question, KS_backslash,
800: KC(46), KS_minus, KS_underscore,
801: KC(47), KS_L5_gbreve, KS_L5_Gbreve, KS_dead_diaeresis,
802: KC(48), KS_udiaeresis, KS_Udiaeresis, KS_asciitilde,
803: KC(49), KS_comma, KS_semicolon, KS_dead_grave,
804: KC(50), KS_comma, KS_semicolon, KS_dead_grave,
805: KC(51), KS_L5_scedilla, KS_L5_Scedilla, KS_dead_acute,
806: KC(52), KS_i, KS_L5_Idotabove,
807: KC(53), KS_quotedbl, KS_eacute,
808: KC(54), KS_odiaeresis, KS_Odiaeresis,
809: KC(55), KS_ccedilla, KS_Ccedilla,
810: KC(56), KS_period, KS_colon,
811: KC(100), KS_less, KS_greater, KS_bar,
812: KC(230), KS_Mode_switch, KS_Multi_key,
813: };
814:
815: static const keysym_t ukbd_keydesc_tr_nodead[] = {
816: /* pos normal shifted altgr shift-altgr */
817: KC(47), KS_L5_gbreve, KS_L5_Gbreve,
818: KC(49), KS_comma, KS_semicolon, KS_grave,
819: KC(50), KS_comma, KS_semicolon, KS_grave,
820: KC(51), KS_L5_scedilla, KS_L5_Scedilla, KS_apostrophe,
821: };
822:
823: static const keysym_t ukbd_keydesc_pl[] = {
824: /* pos normal shifted altgr shift-altgr */
825: KC(4), KS_a, KS_A, KS_L2_aogonek, KS_L2_Aogonek,
826: KC(6), KS_c, KS_C, KS_L2_cacute, KS_L2_Cacute,
827: KC(8), KS_e, KS_E, KS_L2_eogonek, KS_L2_Eogonek,
828: KC(15), KS_l, KS_L, KS_L2_lstroke, KS_L2_Lstroke,
829: KC(17), KS_n, KS_N, KS_L2_nacute, KS_L2_Nacute,
830: KC(18), KS_o, KS_O, KS_oacute, KS_Oacute,
831: KC(22), KS_s, KS_S, KS_L2_sacute, KS_L2_Sacute,
832: KC(27), KS_x, KS_X, KS_L2_zacute, KS_L2_Zacute,
833: KC(29), KS_z, KS_Z, KS_L2_zdotabove,KS_L2_Zdotabove,
834: KC(230), KS_Mode_switch, KS_Multi_key,
835: };
836:
837: static const keysym_t ukbd_keydesc_hu[] = {
838: /* pos normal shifted altgr shift-altgr */
839: KC(5), KS_b, KS_B, KS_braceleft,
840: KC(6), KS_c, KS_C, KS_ampersand,
841: KC(9), KS_f, KS_F, KS_bracketleft,
842: KC(10), KS_g, KS_G, KS_bracketright,
843: KC(12), KS_i, KS_I, KS_iacute,
844: KC(13), KS_j, KS_J, KS_iacute,
845: KC(17), KS_n, KS_N, KS_braceright,
846: KC(20), KS_q, KS_Q, KS_backslash,
847: KC(25), KS_v, KS_V, KS_at,
848: KC(26), KS_w, KS_W,KS_bar,
849: KC(27), KS_x, KS_X, KS_numbersign,
850: KC(28), KS_z, KS_Z,
851: KC(29), KS_y, KS_Y, KS_greater,
852: KC(30), KS_1, KS_apostrophe, KS_asciitilde,
853: KC(31), KS_2, KS_quotedbl,
854: KC(32), KS_3, KS_plus, KS_asciicircum,
855: KC(33), KS_4, KS_exclam,
856: KC(34), KS_5, KS_percent,
857: KC(35), KS_6, KS_slash,
858: KC(36), KS_7, KS_equal,KS_grave,
859: KC(37), KS_8, KS_parenleft,
860: KC(38), KS_9, KS_parenright, KS_acute,
861: KC(39), KS_odiaeresis, KS_Odiaeresis,
862: KC(45), KS_udiaeresis, KS_Udiaeresis,
863: KC(46), KS_oacute, KS_Oacute,
864: KC(47), KS_odoubleacute,KS_Odoubleacute,KS_division,
865: KC(48), KS_uacute, KS_Uacute, KS_multiply,
866: KC(49), KS_udoubleacute,KS_Udoubleacute,KS_currency,
867: KC(50), KS_udoubleacute,KS_Udoubleacute,KS_currency,
868: KC(51), KS_eacute, KS_Eacute, KS_dollar,
869: KC(52), KS_aacute, KS_Aacute, KS_ssharp,
870: KC(53), KS_0, KS_section,
871: KC(54), KS_comma, KS_question, KS_semicolon,
872: KC(55), KS_period, KS_colon,
873: KC(56), KS_minus, KS_underscore, KS_asterisk,
874: KC(100), KS_iacute, KS_Iacute, KS_less,
875: KC(230), KS_Mode_switch, KS_Multi_key,
876: };
877:
878: static const keysym_t ukbd_keydesc_si[]=
879: {
880: /* pos normal shifted altgr shift-altgr */
881: KC(5), KS_b, KS_B, KS_braceleft,
882: KC(9), KS_f, KS_F, KS_bracketleft,
883: KC(10), KS_g, KS_G, KS_bracketright,
884: KC(14), KS_k, KS_K, KS_L2_lstroke,
885: KC(15), KS_l, KS_L, KS_L2_Lstroke,
886: KC(16), KS_m, KS_M, KS_section,
887: KC(17), KS_n, KS_N, KS_braceright,
888: KC(20), KS_q, KS_Q, KS_backslash,
889: KC(25), KS_v, KS_V, KS_at,
890: KC(26), KS_w, KS_W, KS_bar,
891: KC(28), KS_z, KS_Z,
892: KC(29), KS_y, KS_Y,
893: KC(30), KS_1, KS_exclam, KS_asciitilde,
894: KC(31), KS_2, KS_quotedbl, KS_L2_caron,
895: KC(32), KS_3, KS_numbersign, KS_asciicircum,
896: KC(33), KS_4, KS_dollar, KS_L2_breve,
897: KC(34), KS_5, KS_percent, KS_degree,
898: KC(35), KS_6, KS_ampersand, KS_L2_ogonek,
899: KC(36), KS_7, KS_slash, KS_grave,
900: KC(37), KS_8, KS_parenleft, KS_L2_dotabove,
901: KC(38), KS_9, KS_parenright, KS_acute,
902: KC(39), KS_0, KS_equal, KS_L2_dblacute,
903: KC(45), KS_apostrophe, KS_question, KS_diaeresis,
904: KC(46), KS_plus, KS_asterisk, KS_cedilla,
905: KC(47), KS_L2_scaron, KS_L2_Scaron, KS_division,
906: KC(48), KS_L2_dstroke, KS_L2_Dstroke, KS_multiply,
907: KC(49), KS_L2_zcaron, KS_L2_Zcaron, KS_currency,
908: KC(50), KS_L2_zcaron, KS_L2_Zcaron, KS_currency,
909: KC(51), KS_L2_ccaron, KS_L2_Ccaron,
910: KC(52), KS_L2_cacute, KS_L2_Cacute, KS_ssharp,
911: KC(53), KS_cedilla, KS_diaeresis,
912: KC(54), KS_comma, KS_semicolon,
913: KC(55), KS_period, KS_colon,
914: KC(56), KS_minus, KS_underscore,
915: KC(100), KS_less, KS_greater,
916: KC(230), KS_Mode_switch, KS_Multi_key,
917: };
918:
919: static const keysym_t ukbd_keydesc_cf[] = {
920: /* pos normal shifted altgr shift-altgr */
921: KC(16), KS_m, KS_M, KS_mu,
922: KC(18), KS_o, KS_O, KS_section,
923: KC(19), KS_p, KS_P, KS_paragraph,
924: KC(30), KS_1, KS_exclam, KS_plusminus,
925: KC(31), KS_2, KS_quotedbl, KS_at,
926: KC(32), KS_3, KS_slash, KS_sterling,
927: KC(33), KS_4, KS_dollar, KS_cent,
928: KC(34), KS_5, KS_percent, KS_diaeresis,
929: KC(35), KS_6, KS_question, KS_macron,
930: KC(36), KS_7, KS_ampersand, KS_brokenbar,
931: KC(37), KS_8, KS_asterisk, KS_twosuperior,
932: KC(38), KS_9, KS_parenleft, KS_threesuperior,
933: KC(39), KS_0, KS_parenright, KS_onequarter,
934: KC(45), KS_minus, KS_underscore, KS_onehalf,
935: KC(46), KS_equal, KS_plus, KS_threequarters,
936: KC(47), KS_dead_circumflex,KS_dead_circumflex,KS_bracketleft,
937: KC(48), KS_dead_cedilla,KS_dead_diaeresis,KS_bracketright,
938: KC(49), KS_less, KS_greater, KS_braceright,
939: KC(50), KS_less, KS_greater, KS_braceright,
940: KC(51), KS_semicolon, KS_colon, KS_asciitilde,
941: KC(52), KS_dead_grave, KS_dead_grave, KS_braceleft,
942: KC(53), KS_numbersign, KS_bar, KS_backslash,
943: KC(54), KS_comma, KS_apostrophe, KS_hyphen,
944: KC(55), KS_period, KS_period,
945: KC(56), KS_eacute, KS_Eacute, KS_dead_acute,
946: KC(100), KS_guillemotleft,KS_guillemotright,KS_degree,
947: KC(230), KS_Mode_switch,KS_Multi_key,
948: };
949:
950: static const keysym_t ukbd_keydesc_cf_nodead[] = {
951: /* pos normal shifted altgr shift-altgr */
952: KC(47), KS_asciicircum,KS_asciicircum,KS_bracketleft,
953: KC(48), KS_cedilla, KS_diaeresis, KS_bracketright,
954: KC(52), KS_grave, KS_grave, KS_braceleft,
955: KC(56), KS_eacute, KS_Eacute, KS_acute,
956: };
957:
958: static const keysym_t ukbd_keydesc_lv[] = {
959: /* pos normal shifted altgr shift-altgr */
960: KC(4), KS_a, KS_A, KS_L7_amacron, KS_L7_Amacron,
961: KC(6), KS_c, KS_C, KS_L7_ccaron, KS_L7_Ccaron,
962: KC(8), KS_e, KS_E, KS_L7_emacron, KS_L7_Emacron,
963: KC(10), KS_g, KS_G, KS_L7_gcedilla, KS_L7_Gcedilla,
964: KC(12), KS_i, KS_I, KS_L7_imacron, KS_L7_Imacron,
965: KC(14), KS_k, KS_K, KS_L7_kcedilla, KS_L7_Kcedilla,
966: KC(15), KS_l, KS_L, KS_L7_lcedilla, KS_L7_Lcedilla,
967: KC(17), KS_n, KS_N, KS_L7_ncedilla, KS_L7_Ncedilla,
968: KC(18), KS_o, KS_O, KS_L7_omacron, KS_L7_Omacron,
969: KC(22), KS_s, KS_S, KS_L7_scaron, KS_L7_Scaron,
970: KC(24), KS_u, KS_U, KS_L7_umacron, KS_L7_Umacron,
971: KC(29), KS_z, KS_Z, KS_L7_zcaron, KS_L7_Zcaron,
972: KC(230), KS_Mode_switch, KS_Multi_key,
973: };
974:
975: static const keysym_t ukbd_keydesc_nl[] = {
976: /* pos normal shifted altgr shift-altgr */
977: KC(6), KS_c, KS_C, KS_cent,
978: KC(16), KS_m, KS_M, KS_mu,
979: KC(21), KS_r, KS_R, KS_paragraph,
980: KC(22), KS_s, KS_S, KS_ssharp,
981: KC(27), KS_x, KS_X, KS_guillemotright,
982: KC(29), KS_z, KS_Z, KS_guillemotleft,
983: KC(30), KS_1, KS_exclam, KS_onesuperior,
984: KC(31), KS_2, KS_quotedbl, KS_twosuperior,
985: KC(32), KS_3, KS_numbersign, KS_threesuperior,
986: KC(33), KS_4, KS_dollar, KS_onequarter,
987: KC(34), KS_5, KS_percent, KS_onehalf,
988: KC(35), KS_6, KS_ampersand, KS_threequarters,
989: KC(36), KS_7, KS_underscore, KS_sterling,
990: KC(37), KS_8, KS_parenleft, KS_braceleft,
991: KC(38), KS_9, KS_parenright, KS_braceright,
992: KC(39), KS_0, KS_apostrophe,
993: KC(45), KS_slash, KS_question, KS_backslash,
994: KC(46), KS_degree, KS_dead_tilde, KS_dead_cedilla,
995: KC(47), KS_dead_diaeresis,KS_dead_circumflex,
996: KC(48), KS_asterisk, KS_bar,
997: KC(49), KS_less, KS_greater,
998: KC(50), KS_less, KS_greater,
999: KC(51), KS_plus, KS_plusminus,
1000: KC(52), KS_dead_acute, KS_dead_grave,
1001: KC(53), KS_at, KS_section, KS_notsign,
1002: KC(54), KS_comma, KS_semicolon,
1003: KC(55), KS_period, KS_colon, KS_periodcentered,
1004: KC(56), KS_minus, KS_equal,
1005: KC(100), KS_bracketright,KS_bracketleft, KS_brokenbar,
1006: KC(230), KS_Mode_switch, KS_Multi_key,
1007: };
1008:
1009: static const keysym_t ukbd_keydesc_nl_nodead[] = {
1010: /* pos normal shifted altgr shift-altgr */
1011: KC(46), KS_degree, KS_asciitilde, KS_cedilla,
1012: KC(47), KS_quotedbl, KS_asciicircum,
1013: KC(52), KS_apostrophe, KS_grave,
1014: };
1015:
1016: #endif /* SMALL_KERNEL */
1017:
1018: #define KBD_MAP(name, base, map) \
1019: { name, base, sizeof(map)/sizeof(keysym_t), map }
1020:
1021: const struct wscons_keydesc ukbd_keydesctab[] = {
1022: KBD_MAP(KB_US, 0, ukbd_keydesc_us),
1023: #if !defined(SMALL_KERNEL) || !defined(__alpha__)
1024: KBD_MAP(KB_DE, KB_US, ukbd_keydesc_de),
1025: KBD_MAP(KB_DE | KB_NODEAD, KB_DE, ukbd_keydesc_de_nodead),
1026: KBD_MAP(KB_FR, KB_US, ukbd_keydesc_fr),
1027: KBD_MAP(KB_FR | KB_APPLE, KB_FR, ukbd_keydesc_fr_apple),
1028: KBD_MAP(KB_DK, KB_US, ukbd_keydesc_dk),
1029: KBD_MAP(KB_DK | KB_NODEAD, KB_DK, ukbd_keydesc_dk_nodead),
1030: KBD_MAP(KB_IT, KB_US, ukbd_keydesc_it),
1031: KBD_MAP(KB_UK, KB_US, ukbd_keydesc_uk),
1032: KBD_MAP(KB_JP, KB_US, ukbd_keydesc_jp),
1033: KBD_MAP(KB_SV, KB_DK, ukbd_keydesc_sv),
1034: KBD_MAP(KB_SV | KB_NODEAD, KB_SV, ukbd_keydesc_sv_nodead),
1035: KBD_MAP(KB_NO, KB_DK, ukbd_keydesc_no),
1036: KBD_MAP(KB_NO | KB_NODEAD, KB_NO, ukbd_keydesc_no_nodead),
1037: KBD_MAP(KB_US | KB_DVORAK, KB_US, ukbd_keydesc_us_dvorak),
1038: KBD_MAP(KB_US | KB_SWAPCTRLCAPS, KB_US, ukbd_keydesc_swapctrlcaps),
1039: KBD_MAP(KB_US | KB_IOPENER, KB_US, ukbd_keydesc_iopener),
1040: KBD_MAP(KB_JP | KB_SWAPCTRLCAPS, KB_JP, ukbd_keydesc_swapctrlcaps),
1041: KBD_MAP(KB_FR | KB_SWAPCTRLCAPS, KB_FR, ukbd_keydesc_swapctrlcaps),
1042: KBD_MAP(KB_FR | KB_APPLE | KB_SWAPCTRLCAPS, KB_FR | KB_APPLE,
1043: ukbd_keydesc_swapctrlcaps),
1044: KBD_MAP(KB_BE | KB_SWAPCTRLCAPS, KB_BE, ukbd_keydesc_swapctrlcaps),
1045: KBD_MAP(KB_US | KB_DVORAK | KB_SWAPCTRLCAPS, KB_US | KB_DVORAK,
1046: ukbd_keydesc_swapctrlcaps),
1047: KBD_MAP(KB_US | KB_IOPENER | KB_SWAPCTRLCAPS, KB_US | KB_IOPENER,
1048: ukbd_keydesc_swapctrlcaps),
1049: KBD_MAP(KB_ES, KB_US, ukbd_keydesc_es),
1050: KBD_MAP(KB_BE, KB_US, ukbd_keydesc_be),
1051: KBD_MAP(KB_RU, KB_US, ukbd_keydesc_ru),
1052: KBD_MAP(KB_UA, KB_US, ukbd_keydesc_ua),
1053: KBD_MAP(KB_SG, KB_US, ukbd_keydesc_sg),
1054: KBD_MAP(KB_SG | KB_NODEAD, KB_SG, ukbd_keydesc_sg_nodead),
1055: KBD_MAP(KB_SF, KB_SG, ukbd_keydesc_sf),
1056: KBD_MAP(KB_SF | KB_NODEAD, KB_SF, ukbd_keydesc_sg_nodead),
1057: KBD_MAP(KB_PT, KB_US, ukbd_keydesc_pt),
1058: KBD_MAP(KB_PT | KB_APPLE, KB_PT, ukbd_keydesc_pt_apple),
1059: KBD_MAP(KB_LT, KB_US, ukbd_keydesc_lt),
1060: KBD_MAP(KB_LA, KB_US, ukbd_keydesc_la),
1061: KBD_MAP(KB_BR, KB_US, ukbd_keydesc_br),
1062: KBD_MAP(KB_TR, KB_US, ukbd_keydesc_tr),
1063: KBD_MAP(KB_TR | KB_NODEAD, KB_TR, ukbd_keydesc_tr_nodead),
1064: KBD_MAP(KB_PL, KB_US, ukbd_keydesc_pl),
1065: KBD_MAP(KB_HU, KB_US, ukbd_keydesc_hu),
1066: KBD_MAP(KB_SI, KB_US, ukbd_keydesc_si),
1067: KBD_MAP(KB_CF, KB_US, ukbd_keydesc_cf),
1068: KBD_MAP(KB_CF | KB_NODEAD, KB_CF, ukbd_keydesc_cf_nodead),
1069: KBD_MAP(KB_LV, KB_US, ukbd_keydesc_lv),
1070: KBD_MAP(KB_NL, KB_US, ukbd_keydesc_nl),
1071: KBD_MAP(KB_NL | KB_NODEAD, KB_NL, ukbd_keydesc_nl_nodead),
1072: #endif /* SMALL_KERNEL */
1073: {0, 0, 0, 0}
1074: };
1075:
1076: #undef KBD_MAP
1077: #undef KC
CVSweb