|
Subject: Keymap import from OpenBSD Newsgroups: gmane.os.netbsd.devel.kernel Date: 2005-07-01 00:45:03 GMT (4 years, 4 days, 21 hours and 14 minutes ago)
Hi
I'm trying to add more keymaps to NetBSD by importing them from OpenBSD.
The following patch adds the keymaps present in OpenBSD but not already
in NetBSD, although I need people with the actual keyboards to test it.
Also, the OpenBSD team developed an awk script to convert PS/2 keymaps
into USB keymaps. I don't know how good it is, but I guess we should do
something similar, no?
I'm not including wscons.conf and wsconsctl(8) man page diffs.
Index: dev/wscons/wsksymdef.h
===================================================================
RCS file: /cvsroot/src/sys/dev/wscons/wsksymdef.h,v
retrieving revision 1.54
diff -u -r1.54 wsksymdef.h
--- dev/wscons/wsksymdef.h 8 Jun 2005 09:11:09 -0000 1.54
+++ dev/wscons/wsksymdef.h 1 Jul 2005 00:42:13 -0000
@@ -276,6 +276,191 @@
#define KS_dead_cedilla 0x0327
/*
+ * Group Cyrillic (koi8-r)
+ */
+
+#define KS_Cyrillic_A 0xe1
+#define KS_Cyrillic_BE 0xe2
+#define KS_Cyrillic_VE 0xf7
+#define KS_Cyrillic_GE 0xe7
+#define KS_Cyrillic_DE 0xe4
+#define KS_Cyrillic_IE 0xe5
+#define KS_Cyrillic_YO 0xb3
+#define KS_Cyrillic_ZHE 0xf6
+#define KS_Cyrillic_ZE 0xfa
+#define KS_Cyrillic_I 0xe9
+#define KS_Cyrillic_ISHORT 0xea
+#define KS_Cyrillic_IUKR 0xb6
+#define KS_Cyrillic_YI 0xb7
+#define KS_Cyrillic_KA 0xeb
+#define KS_Cyrillic_EL 0xec
+#define KS_Cyrillic_EM 0xed
+#define KS_Cyrillic_EN 0xee
+#define KS_Cyrillic_O 0xef
+#define KS_Cyrillic_PE 0xf0
+#define KS_Cyrillic_ER 0xf2
+#define KS_Cyrillic_ES 0xf3
+#define KS_Cyrillic_TE 0xf4
+#define KS_Cyrillic_U 0xf5
+#define KS_Cyrillic_EF 0xe6
+#define KS_Cyrillic_HA 0xe8
+#define KS_Cyrillic_TSE 0xe3
+#define KS_Cyrillic_CHE 0xfe
+#define KS_Cyrillic_SHA 0xfb
+#define KS_Cyrillic_SCHA 0xfd
+#define KS_Cyrillic_HSIGHN 0xff
+#define KS_Cyrillic_YERU 0xf9
+#define KS_Cyrillic_SSIGHN 0xf8
+#define KS_Cyrillic_E 0xfc
+#define KS_Cyrillic_YU 0xe0
+#define KS_Cyrillic_YA 0xf1
+#define KS_Cyrillic_a 0xc1
+#define KS_Cyrillic_be 0xc2
+#define KS_Cyrillic_ve 0xd7
+#define KS_Cyrillic_ge 0xc7
+#define KS_Cyrillic_de 0xc4
+#define KS_Cyrillic_ie 0xc5
+#define KS_Cyrillic_yo 0xa3
+#define KS_Cyrillic_zhe 0xd6
+#define KS_Cyrillic_ze 0xda
+#define KS_Cyrillic_i 0xc9
+#define KS_Cyrillic_ishort 0xca
+#define KS_Cyrillic_iukr 0xa6
+#define KS_Cyrillic_yi 0xa7
+#define KS_Cyrillic_ka 0xcb
+#define KS_Cyrillic_el 0xcc
+#define KS_Cyrillic_em 0xcd
+#define KS_Cyrillic_en 0xce
+#define KS_Cyrillic_o 0xcf
+#define KS_Cyrillic_pe 0xd0
+#define KS_Cyrillic_er 0xd2
+#define KS_Cyrillic_es 0xd3
+#define KS_Cyrillic_te 0xd4
+#define KS_Cyrillic_u 0xd5
+#define KS_Cyrillic_ef 0xc6
+#define KS_Cyrillic_ha 0xc8
+#define KS_Cyrillic_tse 0xc3
+#define KS_Cyrillic_che 0xde
+#define KS_Cyrillic_sha 0xdb
+#define KS_Cyrillic_scha 0xdd
+#define KS_Cyrillic_hsighn 0xdf
+#define KS_Cyrillic_yeru 0xd9
+#define KS_Cyrillic_ssighn 0xd8
+#define KS_Cyrillic_e 0xdc
+#define KS_Cyrillic_yu 0xc0
+#define KS_Cyrillic_ya 0xd1
+#define KS_Cyrillic_gheukr 0xad
+#define KS_Cyrillic_GHEUKR 0xbd
+#define KS_Cyrillic_yeukr 0xa4
+#define KS_Cyrillic_YEUKR 0xb4
+
+/*
+ * Group Latin-2 (iso8859-2)
+ */
+
+#define KS_L2_Aogonek 0xa1
+#define KS_L2_breve 0xa2
+#define KS_L2_Lstroke 0xa3
+#define KS_L2_Sacute 0xa6
+#define KS_L2_Scaron 0xa9
+#define KS_L2_Zacute 0xac
+#define KS_L2_Zcaron 0xae
+#define KS_L2_Zdotabove 0xaf
+#define KS_L2_aogonek 0xb1
+#define KS_L2_ogonek 0xb2
+#define KS_L2_lstroke 0xb3
+#define KS_L2_sacute 0xb6
+#define KS_L2_caron 0xb7
+#define KS_L2_scaron 0xb9
+#define KS_L2_zacute 0xbc
+#define KS_L2_dblacute 0xbd
+#define KS_L2_zcaron 0xbe
+#define KS_L2_zdotabove 0xbf
+#define KS_L2_Cacute 0xc6
+#define KS_L2_Ccaron 0xc8
+#define KS_L2_Eogonek 0xca
+#define KS_L2_Dstroke 0xd0
+#define KS_L2_Nacute 0xd1
+#define KS_L2_cacute 0xe6
+#define KS_L2_ccaron 0xe8
+#define KS_L2_eogonek 0xea
+#define KS_L2_dstroke 0xf0
+#define KS_L2_nacute 0xf1
+#define KS_L2_dotabove 0xff
+
+/*
+ * Group Latin-5 (iso8859-9)
+ */
+
+#define KS_L5_Gbreve 0xd0
+#define KS_L5_Idotabove 0xdd
+#define KS_L5_Scedilla 0xde
+#define KS_L5_gbreve 0xf0
+#define KS_L5_idotless 0xfd
+#define KS_L5_scedilla 0xfe
+
+/*
+ * Group Latin-7 (iso8859-13)
+ */
+
+#define KS_L7_rightdblquot 0xa1
+#define KS_L7_dbllow9quot 0xa5
+#define KS_L7_Ostroke 0xa8
+#define KS_L7_Rcedilla 0xaa
+#define KS_L7_AE 0xaf
+#define KS_L7_leftdblquot 0xb4
+#define KS_L7_ostroke 0xb8
+#define KS_L7_rcedilla 0xba
+#define KS_L7_ae 0xbf
+#define KS_L7_Aogonek 0xc0
+#define KS_L7_Iogonek 0xc1
+#define KS_L7_Amacron 0xc2
+#define KS_L7_Cacute 0xc3
+#define KS_L7_Eogonek 0xc6
+#define KS_L7_Emacron 0xc7
+#define KS_L7_Ccaron 0xc8
+#define KS_L7_Zacute 0xca
+#define KS_L7_Edot 0xcb
+#define KS_L7_Gcedilla 0xcc
+#define KS_L7_Kcedilla 0xcd
+#define KS_L7_Imacron 0xce
+#define KS_L7_Lcedilla 0xcf
+#define KS_L7_Scaron 0xd0
+#define KS_L7_Nacute 0xd1
+#define KS_L7_Ncedilla 0xd2
+#define KS_L7_Omacron 0xd4
+#define KS_L7_Uogonek 0xd8
+#define KS_L7_Lstroke 0xd9
+#define KS_L7_Sacute 0xda
+#define KS_L7_Umacron 0xdb
+#define KS_L7_Zdot 0xdd
+#define KS_L7_Zcaron 0xde
+#define KS_L7_aogonek 0xe0
+#define KS_L7_iogonek 0xe1
+#define KS_L7_amacron 0xe2
+#define KS_L7_cacute 0xe3
+#define KS_L7_eogonek 0xe6
+#define KS_L7_emacron 0xe7
+#define KS_L7_ccaron 0xe8
+#define KS_L7_zacute 0xea
+#define KS_L7_edot 0xeb
+#define KS_L7_gcedilla 0xec
+#define KS_L7_kcedilla 0xed
+#define KS_L7_imacron 0xee
+#define KS_L7_lcedilla 0xef
+#define KS_L7_scaron 0xf0
+#define KS_L7_nacute 0xf1
+#define KS_L7_ncedilla 0xf2
+#define KS_L7_omacron 0xf4
+#define KS_L7_uogonek 0xf8
+#define KS_L7_lstroke 0xf9
+#define KS_L7_sacute 0xfa
+#define KS_L7_umacron 0xfb
+#define KS_L7_zdot 0xfd
+#define KS_L7_zcaron 0xfe
+#define KS_L7_rightsnglquot 0xff
+
+/*
* Group 1 (modifiers)
*/
@@ -507,21 +692,28 @@
action(KB_US, 0, 0x0200, "us", , "US-English") \
action(KB_UK, 0, 0x0700, "uk", , "UK-English") \
action(KB_BE, 0, 0x1300, "be", , "Belgian") \
+action(KB_BR, 0, 0x1500, "br", , "Brazilian") \
action(KB_DK, 0, 0x0400, "dk", , "Danish") \
+action(KB_NL, 0, 0x1600, "nl", , "Dutch") \
action(KB_FI, 0, 0x0900, "fi", , "Finnish") \
action(KB_FR, 0, 0x0600, "fr", , "French") \
action(KB_DE, KB_NODEAD,0x0300, "de",".nodead", "German") \
action(KB_HU, 0, 0x0c00, "hu", , "Hungarian") \
action(KB_IT, 0, 0x0500, "it", , "Italian") \
+action(KB_LA, 0, 0x1400, "la", , "Lao") \
+action(KB_LT, 0, 0x1300, "lt", , "Lithuanian") \
action(KB_JP, 0, 0x0800, "jp", , "Japanese") \
action(KB_NO, 0, 0x0a00, "no", , "Norwegian") \
action(KB_PL, 0, 0x0d00, "pl", , "Polish") \
action(KB_PT, 0, 0x1100, "pt", , "Portugese") \
action(KB_RU, 0, 0x0e00, "ru", , "Russian") \
+action(KB_CF, 0, 0x1a00, "cf", , "Sangho") \
+action(KB_SI, 0, 0x1900, "si", , "Slovenian") \
action(KB_ES, 0, 0x0b00, "es", , "Spanish") \
action(KB_SV, 0, 0x0900, "sv", , "Swedish") \
action(KB_SF, 0, 0x1000, "sf", , "Swiss French") \
action(KB_SG, 0, 0x0f00, "sg", , "Swiss German") \
+action(KB_TR, 0, 0x1700, "tr", , "Turkish") \
action(KB_UA, 0, 0x1200, "ua", , "Ukrainian")
#define KB_NONE 0x0000
Index: dev/pckbport/wskbdmap_mfii.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pckbport/wskbdmap_mfii.c,v
retrieving revision 1.9
diff -u -r1.9 wskbdmap_mfii.c
--- dev/pckbport/wskbdmap_mfii.c 5 May 2005 22:31:13 -0000 1.9
+++ dev/pckbport/wskbdmap_mfii.c 1 Jul 2005 00:42:13 -0000
@@ -413,6 +413,425 @@
KC(184), KS_Mode_switch, KS_Multi_key,
};
+static const keysym_t pckbd_keydesc_be[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(2), KS_ampersand, KS_1, KS_bar,
+ KC(3), KS_eacute, KS_2, KS_at,
+ KC(4), KS_quotedbl, KS_3, KS_numbersign,
+ KC(5), KS_apostrophe, KS_4,
+ KC(6), KS_parenleft, KS_5,
+ KC(7), KS_section, KS_6, KS_asciicircum,
+ KC(8), KS_egrave, KS_7,
+ KC(9), KS_exclam, KS_8,
+ KC(10), KS_ccedilla, KS_9, KS_braceleft,
+ KC(11), KS_agrave, KS_0, KS_braceright,
+ KC(12), KS_parenright, KS_degree,
+ KC(13), KS_minus, KS_underscore,
+ KC(16), KS_a,
+ KC(17), KS_z,
+ KC(26), KS_dead_circumflex, KS_dead_diaeresis, KS_bracketleft,
+ KC(27), KS_dollar, KS_asterisk, KS_bracketright,
+ KC(30), KS_q,
+ KC(39), KS_m,
+ KC(40), KS_ugrave, KS_percent, KS_acute,
+ KC(41), KS_twosuperior, KS_threesuperior,
+ KC(43), KS_mu, KS_sterling, KS_grave,
+ KC(44), KS_w,
+ KC(50), KS_comma, KS_question,
+ KC(51), KS_semicolon, KS_period,
+ KC(52), KS_colon, KS_slash,
+ KC(53), KS_equal, KS_plus, KS_asciitilde,
+ KC(86), KS_less, KS_greater, KS_backslash,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+
+static const keysym_t pckbd_keydesc_ru[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(7), KS_6, KS_asciicircum, KS_6, KS_comma,
+ KC(8), KS_7, KS_ampersand, KS_7, KS_period,
+ KC(16), KS_q, KS_Q, KS_Cyrillic_ishort,
+ KS_Cyrillic_ISHORT,
+ KC(17), KS_w, KS_W, KS_Cyrillic_tse,
+ KS_Cyrillic_TSE,
+ KC(18), KS_e, KS_E, KS_Cyrillic_u, KS_Cyrillic_U,
+ KC(19), KS_r, KS_R, KS_Cyrillic_ka, KS_Cyrillic_KA,
+ KC(20), KS_t, KS_T, KS_Cyrillic_ie, KS_Cyrillic_IE,
+ KC(21), KS_y, KS_Y, KS_Cyrillic_en, KS_Cyrillic_EN,
+ KC(22), KS_u, KS_U, KS_Cyrillic_ge, KS_Cyrillic_GE,
+ KC(23), KS_i, KS_I, KS_Cyrillic_sha,KS_Cyrillic_SHA,
+ KC(24), KS_o, KS_O, KS_Cyrillic_scha,
+ KS_Cyrillic_SCHA,
+ KC(25), KS_p, KS_P, KS_Cyrillic_ze, KS_Cyrillic_ZE,
+ KC(26), KS_bracketleft, KS_braceleft, KS_Cyrillic_ha, KS_Cyrillic_HA,
+ KC(27), KS_bracketright, KS_braceright, KS_Cyrillic_hsighn,
+ KS_Cyrillic_HSIGHN,
+ KC(30), KS_a, KS_A, KS_Cyrillic_ef, KS_Cyrillic_EF,
+ KC(31), KS_s, KS_S, KS_Cyrillic_yeru,
+ KS_Cyrillic_YERU,
+ KC(32), KS_d, KS_D, KS_Cyrillic_ve, KS_Cyrillic_VE,
+ KC(33), KS_f, KS_F, KS_Cyrillic_a, KS_Cyrillic_A,
+ KC(34), KS_g, KS_G, KS_Cyrillic_pe, KS_Cyrillic_PE,
+ KC(35), KS_h, KS_H, KS_Cyrillic_er, KS_Cyrillic_ER,
+ KC(36), KS_j, KS_J, KS_Cyrillic_o, KS_Cyrillic_O,
+ KC(37), KS_k, KS_K, KS_Cyrillic_el, KS_Cyrillic_EL,
+ KC(38), KS_l, KS_L, KS_Cyrillic_de, KS_Cyrillic_DE,
+ KC(39), KS_semicolon, KS_colon, KS_Cyrillic_zhe,KS_Cyrillic_ZHE,
+ KC(40), KS_apostrophe, KS_quotedbl, KS_Cyrillic_e, KS_Cyrillic_E,
+ KC(44), KS_z, KS_Z, KS_Cyrillic_ya, KS_Cyrillic_YA,
+ KC(45), KS_x, KS_X, KS_Cyrillic_che,KS_Cyrillic_CHE,
+ KC(46), KS_c, KS_C, KS_Cyrillic_es, KS_Cyrillic_ES,
+ KC(47), KS_v, KS_V, KS_Cyrillic_em, KS_Cyrillic_EM,
+ KC(48), KS_b, KS_B, KS_Cyrillic_i, KS_Cyrillic_I,
+ KC(49), KS_n, KS_N, KS_Cyrillic_te, KS_Cyrillic_TE,
+ KC(50), KS_m, KS_M, KS_Cyrillic_ssighn,
+ KS_Cyrillic_SSIGHN,
+ KC(51), KS_comma, KS_less, KS_Cyrillic_be, KS_Cyrillic_BE,
+ KC(52), KS_period, KS_greater, KS_Cyrillic_yu, KS_Cyrillic_YU,
+ KC(53), KS_slash, KS_question, KS_Cyrillic_yo, KS_Cyrillic_YO,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_ua[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(7), KS_6, KS_asciicircum, KS_6, KS_comma,
+ KC(8), KS_7, KS_ampersand, KS_7, KS_period,
+ KC(12), KS_minus, KS_underscore, KS_Cyrillic_iukr,
+ KS_Cyrillic_IUKR,
+ KC(13), KS_equal, KS_plus, KS_Cyrillic_yeukr,
+ KS_Cyrillic_YEUKR,
+ KC(16), KS_q, KS_Q, KS_Cyrillic_ishort,
+ KS_Cyrillic_ISHORT,
+ KC(17), KS_w, KS_W, KS_Cyrillic_tse,KS_Cyrillic_TSE,
+ KC(18), KS_e, KS_E, KS_Cyrillic_u, KS_Cyrillic_U,
+ KC(19), KS_r, KS_R, KS_Cyrillic_ka, KS_Cyrillic_KA,
+ KC(20), KS_t, KS_T, KS_Cyrillic_ie, KS_Cyrillic_IE,
+ KC(21), KS_y, KS_Y, KS_Cyrillic_en, KS_Cyrillic_EN,
+ KC(22), KS_u, KS_U, KS_Cyrillic_ge, KS_Cyrillic_GE,
+ KC(23), KS_i, KS_I, KS_Cyrillic_sha,KS_Cyrillic_SHA,
+ KC(24), KS_o, KS_O, KS_Cyrillic_scha,
+ KS_Cyrillic_SCHA,
+ KC(25), KS_p, KS_P, KS_Cyrillic_ze, KS_Cyrillic_ZE,
+ KC(26), KS_bracketleft, KS_braceleft, KS_Cyrillic_ha, KS_Cyrillic_HA,
+ KC(27), KS_bracketright, KS_braceright, KS_Cyrillic_hsighn,
+ KS_Cyrillic_HSIGHN,
+ KC(30), KS_a, KS_A, KS_Cyrillic_ef, KS_Cyrillic_EF,
+ KC(31), KS_s, KS_S, KS_Cyrillic_yeru,
+ KS_Cyrillic_YERU,
+ KC(32), KS_d, KS_D, KS_Cyrillic_ve, KS_Cyrillic_VE,
+ KC(33), KS_f, KS_F, KS_Cyrillic_a, KS_Cyrillic_A,
+ KC(34), KS_g, KS_G, KS_Cyrillic_pe, KS_Cyrillic_PE,
+ KC(35), KS_h, KS_H, KS_Cyrillic_er, KS_Cyrillic_ER,
+ KC(36), KS_j, KS_J, KS_Cyrillic_o, KS_Cyrillic_O,
+ KC(37), KS_k, KS_K, KS_Cyrillic_el, KS_Cyrillic_EL,
+ KC(38), KS_l, KS_L, KS_Cyrillic_de, KS_Cyrillic_DE,
+ KC(39), KS_semicolon, KS_colon, KS_Cyrillic_zhe,KS_Cyrillic_ZHE,
+ KC(40), KS_apostrophe, KS_quotedbl, KS_Cyrillic_e, KS_Cyrillic_E,
+ KC(41), KS_grave, KS_asciitilde, KS_Cyrillic_gheukr,
+ KS_Cyrillic_GHEUKR,
+ KC(43), KS_backslash, KS_bar, KS_Cyrillic_yi, KS_Cyrillic_YI,
+ KC(44), KS_z, KS_Z, KS_Cyrillic_ya, KS_Cyrillic_YA,
+ KC(45), KS_x, KS_X, KS_Cyrillic_che,KS_Cyrillic_CHE,
+ KC(46), KS_c, KS_C, KS_Cyrillic_es, KS_Cyrillic_ES,
+ KC(47), KS_v, KS_V, KS_Cyrillic_em, KS_Cyrillic_EM,
+ KC(48), KS_b, KS_B, KS_Cyrillic_i, KS_Cyrillic_I,
+ KC(49), KS_n, KS_N, KS_Cyrillic_te, KS_Cyrillic_TE,
+ KC(50), KS_m, KS_M, KS_Cyrillic_ssighn,
+ KS_Cyrillic_SSIGHN,
+ KC(51), KS_comma, KS_less, KS_Cyrillic_be, KS_Cyrillic_BE,
+ KC(52), KS_period, KS_greater, KS_Cyrillic_yu, KS_Cyrillic_YU,
+ KC(53), KS_slash, KS_question, KS_Cyrillic_yo, KS_Cyrillic_YO,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_sg[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(2), KS_1, KS_plus, KS_bar,
+ KC(3), KS_2, KS_quotedbl, KS_at,
+ KC(4), KS_3, KS_asterisk, KS_numbersign,
+ KC(5), KS_4, KS_ccedilla,
+ KC(7), KS_6, KS_ampersand, KS_notsign,
+ KC(8), KS_7, KS_slash, KS_brokenbar,
+ KC(9), KS_8, KS_parenleft, KS_cent,
+ KC(10), KS_9, KS_parenright,
+ KC(11), KS_0, KS_equal,
+ KC(12), KS_apostrophe, KS_question, KS_dead_acute,
+ KC(13), KS_dead_circumflex,KS_dead_grave, KS_dead_tilde,
+ KC(18), KS_e, KS_E, KS_currency,
+ KC(21), KS_z,
+ KC(26), KS_udiaeresis, KS_egrave, KS_bracketleft,
+ KC(27), KS_dead_diaeresis, KS_exclam, KS_bracketright,
+ KC(39), KS_odiaeresis, KS_eacute,
+ KC(40), KS_adiaeresis, KS_agrave, KS_braceleft,
+ KC(41), KS_section, KS_degree, KS_dead_abovering,
+ KC(43), KS_dollar, KS_sterling, KS_braceright,
+ KC(44), KS_y,
+ KC(51), KS_comma, KS_semicolon,
+ KC(52), KS_period, KS_colon,
+ KC(53), KS_minus, KS_underscore,
+ KC(86), KS_less, KS_greater, KS_backslash,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_sg_nodead[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(12), KS_apostrophe, KS_question, KS_acute,
+ KC(13), KS_asciicircum, KS_grave, KS_asciitilde,
+ KC(27), KS_diaeresis, KS_exclam, KS_bracketright
+};
+
+static const keysym_t pckbd_keydesc_sf[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(26), KS_egrave, KS_udiaeresis, KS_bracketleft,
+ KC(39), KS_eacute, KS_odiaeresis,
+ KC(40), KS_agrave, KS_adiaeresis, KS_braceleft
+};
+
+static const keysym_t pckbd_keydesc_lt[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(2), KS_exclam, KS_1, KS_at,
+ KC(3), KS_minus, KS_2 ,KS_underscore,
+ KC(4), KS_slash, KS_3, KS_numbersign,
+ KC(5), KS_semicolon, KS_4, KS_dollar,
+ KC(6), KS_colon, KS_5, KS_paragraph,
+ KC(7), KS_comma, KS_6, KS_asciicircum,
+ KC(8), KS_period, KS_7, KS_ampersand,
+ KC(9), KS_equal, KS_8, KS_asterisk,
+ KC(10), KS_bracketleft, KS_9, KS_parenleft,
+ KC(11), KS_bracketright, KS_0, KS_parenright,
+ KC(12), KS_question, KS_plus, KS_apostrophe,
+ KC(13), KS_x, KS_X, KS_percent,
+ KC(16), KS_L7_aogonek, KS_L7_Aogonek,
+ KC(17), KS_L7_zcaron, KS_L7_Zcaron,
+ KC(18), KS_e, KS_E, KS_currency,
+ KC(26), KS_L7_iogonek, KS_L7_Iogonek, KS_braceleft,
+ KC(27), KS_w, KS_W, KS_braceright,
+ KC(33), KS_L7_scaron, KS_L7_Scaron,
+ KC(39), KS_L7_uogonek, KS_L7_Uogonek,
+ KC(40), KS_L7_edot, KS_L7_Edot, KS_quotedbl,
+ KC(41), KS_grave, KS_asciitilde,
+ KC(43), KS_q, KS_Q, KS_bar,
+ KC(45), KS_L7_umacron, KS_L7_Umacron,
+ KC(51), KS_L7_ccaron, KS_L7_Ccaron, KS_L7_dbllow9quot,
+ KC(52), KS_f, KS_F, KS_L7_leftdblquot,
+ KC(53), KS_L7_eogonek, KS_L7_Eogonek, KS_backslash,
+ KC(57), KS_space, KS_space, KS_nobreakspace,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_la[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(2), KS_1, KS_exclam,
+ KC(3), KS_2, KS_quotedbl,
+ KC(4), KS_3, KS_numbersign,
+ KC(7), KS_6, KS_ampersand,
+ KC(8), KS_7, KS_slash,
+ KC(9), KS_8, KS_parenleft,
+ KC(10), KS_9, KS_parenright,
+ KC(11), KS_0, KS_equal,
+ KC(12), KS_apostrophe, KS_question, KS_backslash,
+ KC(13), KS_questiondown, KS_exclamdown,
+ KC(16), KS_q, KS_Q, KS_at,
+ KC(26), KS_dead_acute, KS_dead_diaeresis,
+ KC(27), KS_plus, KS_asterisk, KS_asciitilde,
+ KC(39), KS_ntilde,
+ KC(40), KS_braceleft, KS_bracketleft, KS_dead_circumflex,
+ KC(41), KS_bar, KS_degree, KS_notsign,
+ KC(43), KS_braceright, KS_bracketright,KS_dead_grave,
+ KC(51), KS_comma, KS_semicolon,
+ KC(52), KS_period, KS_colon,
+ KC(53), KS_minus, KS_underscore,
+ KC(86), KS_less, KS_greater,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_br[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(2), KS_1, KS_exclam, KS_onesuperior,
+ KC(3), KS_2, KS_at, KS_twosuperior,
+ KC(4), KS_3, KS_numbersign, KS_threesuperior,
+ KC(5), KS_4, KS_dollar, KS_sterling,
+ KC(6), KS_5, KS_percent, KS_cent,
+ KC(7), KS_6, KS_dead_diaeresis,KS_notsign,
+ KC(13), KS_equal, KS_plus, KS_section,
+ KC(26), KS_dead_acute, KS_dead_grave,
+ KC(27), KS_bracketleft, KS_braceleft, KS_ordfeminine,
+ KC(39), KS_ccedilla, KS_Ccedilla,
+ KC(40), KS_dead_tilde, KS_dead_circumflex,
+ KC(41), KS_apostrophe, KS_quotedbl,
+ KC(43), KS_bracketright, KS_braceright, KS_masculine,
+ KC(53), KS_semicolon, KS_colon,
+ KC(83), KS_KP_Delete, KS_KP_Decimal,
+ KC(86), KS_backslash, KS_bar,
+ KC(115), KS_slash, KS_question, KS_degree,
+};
+
+static const keysym_t pckbd_keydesc_tr[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(3), KS_2, KS_apostrophe, KS_sterling,
+ KC(4), KS_3, KS_asciicircum, KS_numbersign,
+ KC(5), KS_4,KS_plus, KS_dollar,
+ KC(6), KS_5, KS_percent, KS_onehalf,
+ KC(7), KS_6, KS_ampersand,
+ KC(8), KS_7, KS_slash, KS_braceleft,
+ KC(9), KS_8, KS_parenleft, KS_bracketleft,
+ KC(10), KS_9, KS_parenright, KS_bracketright,
+ KC(11), KS_0, KS_equal, KS_braceright,
+ KC(12), KS_asterisk, KS_question, KS_backslash,
+ KC(13), KS_minus, KS_underscore,
+ KC(16), KS_q, KS_Q,KS_at,
+ KC(23), KS_L5_idotless, KS_I,
+ KC(26), KS_L5_gbreve, KS_L5_Gbreve, KS_dead_diaeresis,
+ KC(27), KS_udiaeresis, KS_Udiaeresis, KS_asciitilde,
+ KC(39), KS_L5_scedilla, KS_L5_Scedilla, KS_dead_acute,
+ KC(40), KS_i, KS_L5_Idotabove,
+ KC(41), KS_quotedbl, KS_eacute,
+ KC(43), KS_comma, KS_semicolon, KS_dead_grave,
+ KC(51), KS_odiaeresis, KS_Odiaeresis,
+ KC(52), KS_ccedilla, KS_Ccedilla,
+ KC(53), KS_period, KS_colon,
+ KC(86), KS_less, KS_greater, KS_bar,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_tr_nodead[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(26), KS_L5_gbreve, KS_L5_Gbreve,
+ KC(39), KS_L5_scedilla, KS_L5_Scedilla, KS_apostrophe,
+ KC(43), KS_comma, KS_semicolon, KS_grave,
+};
+
+static const keysym_t pckbd_keydesc_pl[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(18), KS_e, KS_E, KS_L2_eogonek, KS_L2_Eogonek,
+ KC(24), KS_o, KS_O, KS_oacute, KS_Oacute,
+ KC(30), KS_a, KS_A, KS_L2_aogonek, KS_L2_Aogonek,
+ KC(31), KS_s, KS_S, KS_L2_sacute, KS_L2_Sacute,
+ KC(38), KS_l, KS_L, KS_L2_lstroke, KS_L2_Lstroke,
+ KC(44), KS_z, KS_Z, KS_L2_zdotabove,KS_L2_Zdotabove,
+ KC(45), KS_x, KS_X, KS_L2_zacute, KS_L2_Zacute,
+ KC(46), KS_c, KS_C, KS_L2_cacute, KS_L2_Cacute,
+ KC(49), KS_n, KS_N, KS_L2_nacute, KS_L2_Nacute,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_hu[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(2), KS_1, KS_apostrophe, KS_asciitilde,
+ KC(3), KS_2, KS_quotedbl,
+ KC(4), KS_3, KS_plus, KS_asciicircum,
+ KC(5), KS_4, KS_exclam,
+ KC(6), KS_5, KS_percent,
+ KC(7), KS_6, KS_slash,
+ KC(8), KS_7, KS_equal, KS_grave,
+ KC(9), KS_8, KS_parenleft,
+ KC(10), KS_9, KS_parenright, KS_acute,
+ KC(11), KS_odiaeresis, KS_Odiaeresis,
+ KC(12), KS_udiaeresis, KS_Udiaeresis,
+ KC(13), KS_oacute, KS_Oacute,
+ KC(16), KS_q, KS_Q, KS_backslash,
+ KC(17), KS_w, KS_W, KS_bar,
+ KC(21), KS_z, KS_Z,
+ KC(23), KS_i, KS_I, KS_iacute,
+ KC(26), KS_odoubleacute, KS_Odoubleacute,KS_division,
+ KC(27), KS_uacute, KS_Uacute, KS_multiply,
+ KC(33), KS_f, KS_F, KS_bracketleft,
+ KC(34), KS_g, KS_G, KS_bracketright,
+ KC(36), KS_j, KS_J, KS_iacute,
+ KC(39), KS_eacute, KS_Eacute, KS_dollar,
+ KC(40), KS_aacute, KS_Aacute, KS_ssharp,
+ KC(41), KS_0, KS_section,
+ KC(43), KS_udoubleacute, KS_Udoubleacute,KS_currency,
+ KC(44), KS_y, KS_Y, KS_greater,
+ KC(45), KS_x, KS_X, KS_numbersign,
+ KC(46), KS_c, KS_C, KS_ampersand,
+ KC(47), KS_v, KS_V, KS_at,
+ KC(48), KS_b, KS_B, KS_braceleft,
+ KC(49), KS_n, KS_N, KS_braceright,
+ KC(51), KS_comma, KS_question, KS_semicolon,
+ KC(52), KS_period, KS_colon,
+ KC(53), KS_minus, KS_underscore, KS_asterisk,
+ KC(86), KS_iacute, KS_Iacute, KS_less,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_si[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(2), KS_1, KS_exclam, KS_asciitilde,
+ KC(3), KS_2, KS_quotedbl, KS_L2_caron,
+ KC(4), KS_3, KS_numbersign, KS_asciicircum,
+ KC(5), KS_4, KS_dollar, KS_L2_breve,
+ KC(6), KS_5, KS_percent, KS_degree,
+ KC(7), KS_6, KS_ampersand, KS_L2_ogonek,
+ KC(8), KS_7, KS_slash, KS_grave,
+ KC(9), KS_8, KS_parenleft, KS_L2_dotabove,
+ KC(10), KS_9, KS_parenright, KS_acute,
+ KC(11), KS_0, KS_equal, KS_L2_dblacute,
+ KC(12), KS_apostrophe, KS_question, KS_diaeresis,
+ KC(13), KS_plus, KS_asterisk, KS_cedilla,
+ KC(16), KS_q, KS_Q, KS_backslash,
+ KC(17), KS_w, KS_W, KS_bar,
+ KC(21), KS_z, KS_Z,
+ KC(26), KS_L2_scaron, KS_L2_Scaron, KS_division,
+ KC(27), KS_L2_dstroke, KS_L2_Dstroke, KS_multiply,
+ KC(33), KS_f, KS_F, KS_bracketleft,
+ KC(34), KS_g, KS_G, KS_bracketright,
+ KC(37), KS_k, KS_K, KS_L2_lstroke,
+ KC(38), KS_l, KS_L, KS_L2_Lstroke,
+ KC(39), KS_L2_ccaron, KS_L2_Ccaron,
+ KC(40), KS_L2_cacute, KS_L2_Cacute, KS_ssharp,
+ KC(41), KS_cedilla, KS_diaeresis,
+ KC(43), KS_L2_zcaron, KS_L2_Zcaron, KS_currency,
+ KC(44), KS_y, KS_Y,
+ KC(47), KS_v, KS_V, KS_at,
+ KC(48), KS_b, KS_B, KS_braceleft,
+ KC(49), KS_n, KS_N, KS_braceright,
+ KC(50), KS_m, KS_M, KS_section,
+ KC(51), KS_comma, KS_semicolon,
+ KC(52), KS_period, KS_colon,
+ KC(53), KS_minus, KS_underscore,
+ KC(86), KS_less, KS_greater,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_cf[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(2), KS_1, KS_exclam, KS_plusminus,
+ KC(3), KS_2, KS_quotedbl, KS_at,
+ KC(4), KS_3, KS_slash, KS_sterling,
+ KC(5), KS_4, KS_dollar, KS_cent,
+ KC(6), KS_5, KS_percent, KS_diaeresis,
+ KC(7), KS_6, KS_question, KS_macron,
+ KC(8), KS_7, KS_ampersand, KS_brokenbar,
+ KC(9), KS_8, KS_asterisk, KS_twosuperior,
+ KC(10), KS_9, KS_parenleft, KS_threesuperior,
+ KC(11), KS_0, KS_parenright, KS_onequarter,
+ KC(12), KS_minus, KS_underscore, KS_onehalf,
+ KC(13), KS_equal, KS_plus, KS_threequarters,
+ KC(24), KS_o, KS_O, KS_section,
+ KC(25), KS_p, KS_P, KS_paragraph,
+ KC(26), KS_dead_circumflex,KS_dead_circumflex,KS_bracketleft,
+ KC(27), KS_dead_cedilla, KS_dead_diaeresis,KS_bracketright,
+ KC(39), KS_semicolon, KS_colon, KS_asciitilde,
+ KC(40), KS_dead_grave, KS_dead_grave, KS_braceleft,
+ KC(41), KS_numbersign, KS_bar, KS_backslash,
+ KC(43), KS_less, KS_greater, KS_braceright,
+ KC(50), KS_m, KS_M, KS_mu,
+ KC(51), KS_comma, KS_apostrophe, KS_hyphen,
+ KC(52), KS_period, KS_period,
+ KC(53), KS_eacute, KS_Eacute, KS_dead_acute,
+ KC(86), KS_guillemotleft, KS_guillemotright,KS_degree,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_cf_nodead[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(26), KS_asciicircum, KS_asciicircum, KS_bracketleft,
+ KC(27), KS_cedilla, KS_diaeresis, KS_bracketright,
+ KC(40), KS_grave, KS_grave, KS_braceleft,
+ KC(53), KS_eacute, KS_Eacute, KS_acute,
+};
+
static const keysym_t pckbd_keydesc_us_declk[] = {
/* pos normal shifted altgr shift-altgr */
KC(1), KS_grave, KS_asciitilde, /* replace escape */
@@ -510,6 +929,8 @@
KC(87), KS_Cmd_Screen9, KS_f10,
KC(88), KS_f11,
};
+
+
#endif /* WSKBD_USONLY */
#define KBD_MAP(name, base, map) \
@@ -543,8 +964,26 @@
pckbd_keydesc_swapctrlcaps),
KBD_MAP(KB_US | KB_IOPENER | KB_SWAPCTRLCAPS, KB_US | KB_IOPENER,
pckbd_keydesc_swapctrlcaps),
- KBD_MAP(KB_ES , KB_US, pckbd_keydesc_es),
+ KBD_MAP(KB_ES, KB_US, pckbd_keydesc_es),
KBD_MAP(KB_PT, KB_US, pckbd_keydesc_pt),
+ KBD_MAP(KB_BE, KB_US, pckbd_keydesc_be),
+ KBD_MAP(KB_RU, KB_US, pckbd_keydesc_ru),
+ KBD_MAP(KB_UA, KB_US, pckbd_keydesc_ua),
+ KBD_MAP(KB_SG, KB_US, pckbd_keydesc_sg),
+ KBD_MAP(KB_SG | KB_NODEAD, KB_SG, pckbd_keydesc_sg_nodead),
+ KBD_MAP(KB_SF, KB_SG, pckbd_keydesc_sf),
+ KBD_MAP(KB_SF | KB_NODEAD, KB_SF, pckbd_keydesc_sg_nodead),
+ KBD_MAP(KB_LT, KB_US, pckbd_keydesc_lt),
+ KBD_MAP(KB_LT, KB_US, pckbd_keydesc_lt),
+ KBD_MAP(KB_LA, KB_US, pckbd_keydesc_la),
+ KBD_MAP(KB_BR, KB_US, pckbd_keydesc_br),
+ KBD_MAP(KB_TR, KB_US, pckbd_keydesc_tr),
+ KBD_MAP(KB_TR | KB_NODEAD, KB_TR, pckbd_keydesc_tr_nodead),
+ KBD_MAP(KB_PL, KB_US, pckbd_keydesc_pl),
+ KBD_MAP(KB_HU, KB_US, pckbd_keydesc_hu),
+ KBD_MAP(KB_SI, KB_US, pckbd_keydesc_si),
+ KBD_MAP(KB_CF, KB_US, pckbd_keydesc_cf),
+ KBD_MAP(KB_CF | KB_NODEAD, KB_CF, pckbd_keydesc_cf_nodead),
#endif /* WSKBD_USONLY */
/* placeholders */
-- Rui Paulo
|
|
|