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