aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkeyboard-config/symbols
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/xkeyboard-config/symbols')
-rw-r--r--xorg-server/xkeyboard-config/symbols/Makefile.am40
-rw-r--r--xorg-server/xkeyboard-config/symbols/ad34
-rw-r--r--xorg-server/xkeyboard-config/symbols/af398
-rw-r--r--xorg-server/xkeyboard-config/symbols/al44
-rw-r--r--xorg-server/xkeyboard-config/symbols/altwin83
-rw-r--r--xorg-server/xkeyboard-config/symbols/am244
-rw-r--r--xorg-server/xkeyboard-config/symbols/ara278
-rw-r--r--xorg-server/xkeyboard-config/symbols/az94
-rw-r--r--xorg-server/xkeyboard-config/symbols/ba43
-rw-r--r--xorg-server/xkeyboard-config/symbols/bd98
-rw-r--r--xorg-server/xkeyboard-config/symbols/be236
-rw-r--r--xorg-server/xkeyboard-config/symbols/bg362
-rw-r--r--xorg-server/xkeyboard-config/symbols/br320
-rw-r--r--xorg-server/xkeyboard-config/symbols/brai62
-rw-r--r--xorg-server/xkeyboard-config/symbols/bt88
-rw-r--r--xorg-server/xkeyboard-config/symbols/bw19
-rw-r--r--xorg-server/xkeyboard-config/symbols/by56
-rw-r--r--xorg-server/xkeyboard-config/symbols/ca530
-rw-r--r--xorg-server/xkeyboard-config/symbols/capslock65
-rw-r--r--xorg-server/xkeyboard-config/symbols/cd71
-rw-r--r--xorg-server/xkeyboard-config/symbols/ch218
-rw-r--r--xorg-server/xkeyboard-config/symbols/cn154
-rw-r--r--xorg-server/xkeyboard-config/symbols/compose59
-rw-r--r--xorg-server/xkeyboard-config/symbols/ctrl48
-rw-r--r--xorg-server/xkeyboard-config/symbols/cz174
-rw-r--r--xorg-server/xkeyboard-config/symbols/de505
-rw-r--r--xorg-server/xkeyboard-config/symbols/digital_vndr/Makefile.am5
-rw-r--r--xorg-server/xkeyboard-config/symbols/digital_vndr/lk131
-rw-r--r--xorg-server/xkeyboard-config/symbols/digital_vndr/pc176
-rw-r--r--xorg-server/xkeyboard-config/symbols/digital_vndr/us212
-rw-r--r--xorg-server/xkeyboard-config/symbols/digital_vndr/vt159
-rw-r--r--xorg-server/xkeyboard-config/symbols/dk77
-rw-r--r--xorg-server/xkeyboard-config/symbols/ee103
-rw-r--r--xorg-server/xkeyboard-config/symbols/empty12
-rw-r--r--xorg-server/xkeyboard-config/symbols/epo141
-rw-r--r--xorg-server/xkeyboard-config/symbols/es205
-rw-r--r--xorg-server/xkeyboard-config/symbols/et75
-rw-r--r--xorg-server/xkeyboard-config/symbols/eurosign26
-rw-r--r--xorg-server/xkeyboard-config/symbols/extractGroupNames.sh3
-rw-r--r--xorg-server/xkeyboard-config/symbols/extras/Makefile.am5
-rw-r--r--xorg-server/xkeyboard-config/symbols/extras/apl296
-rw-r--r--xorg-server/xkeyboard-config/symbols/extras/ir63
-rw-r--r--xorg-server/xkeyboard-config/symbols/extras/rs15
-rw-r--r--xorg-server/xkeyboard-config/symbols/extras/us147
-rw-r--r--xorg-server/xkeyboard-config/symbols/fi207
-rw-r--r--xorg-server/xkeyboard-config/symbols/fo50
-rw-r--r--xorg-server/xkeyboard-config/symbols/fr1028
-rw-r--r--xorg-server/xkeyboard-config/symbols/fujitsu_vndr/Makefile.am4
-rw-r--r--xorg-server/xkeyboard-config/symbols/fujitsu_vndr/jp88
-rw-r--r--xorg-server/xkeyboard-config/symbols/fujitsu_vndr/us145
-rw-r--r--xorg-server/xkeyboard-config/symbols/gb204
-rw-r--r--xorg-server/xkeyboard-config/symbols/ge275
-rw-r--r--xorg-server/xkeyboard-config/symbols/gh153
-rw-r--r--xorg-server/xkeyboard-config/symbols/gn63
-rw-r--r--xorg-server/xkeyboard-config/symbols/gr195
-rw-r--r--xorg-server/xkeyboard-config/symbols/group389
-rw-r--r--xorg-server/xkeyboard-config/symbols/hp_vndr/Makefile.am4
-rw-r--r--xorg-server/xkeyboard-config/symbols/hp_vndr/us106
-rw-r--r--xorg-server/xkeyboard-config/symbols/hr76
-rw-r--r--xorg-server/xkeyboard-config/symbols/hu432
-rw-r--r--xorg-server/xkeyboard-config/symbols/ie411
-rw-r--r--xorg-server/xkeyboard-config/symbols/il255
-rw-r--r--xorg-server/xkeyboard-config/symbols/in1335
-rw-r--r--xorg-server/xkeyboard-config/symbols/inet1824
-rw-r--r--xorg-server/xkeyboard-config/symbols/iq34
-rw-r--r--xorg-server/xkeyboard-config/symbols/ir241
-rw-r--r--xorg-server/xkeyboard-config/symbols/is202
-rw-r--r--xorg-server/xkeyboard-config/symbols/it218
-rw-r--r--xorg-server/xkeyboard-config/symbols/jp222
-rw-r--r--xorg-server/xkeyboard-config/symbols/ke44
-rw-r--r--xorg-server/xkeyboard-config/symbols/keypad581
-rw-r--r--xorg-server/xkeyboard-config/symbols/kg135
-rw-r--r--xorg-server/xkeyboard-config/symbols/kh114
-rw-r--r--xorg-server/xkeyboard-config/symbols/kpdl105
-rw-r--r--xorg-server/xkeyboard-config/symbols/kr30
-rw-r--r--xorg-server/xkeyboard-config/symbols/kz218
-rw-r--r--xorg-server/xkeyboard-config/symbols/la77
-rw-r--r--xorg-server/xkeyboard-config/symbols/latam72
-rw-r--r--xorg-server/xkeyboard-config/symbols/latin180
-rw-r--r--xorg-server/xkeyboard-config/symbols/level3200
-rw-r--r--xorg-server/xkeyboard-config/symbols/level5151
-rw-r--r--xorg-server/xkeyboard-config/symbols/lk93
-rw-r--r--xorg-server/xkeyboard-config/symbols/lt294
-rw-r--r--xorg-server/xkeyboard-config/symbols/lv129
-rw-r--r--xorg-server/xkeyboard-config/symbols/ma325
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/Makefile.am8
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/apple142
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/ch102
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/de97
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/dk79
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/fi18
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/fr110
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/gb21
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/is128
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/it64
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/jp35
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/latam38
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/nl17
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/no52
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/pt63
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/se46
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/us151
-rw-r--r--xorg-server/xkeyboard-config/symbols/mao23
-rw-r--r--xorg-server/xkeyboard-config/symbols/me53
-rw-r--r--xorg-server/xkeyboard-config/symbols/mk67
-rw-r--r--xorg-server/xkeyboard-config/symbols/ml85
-rw-r--r--xorg-server/xkeyboard-config/symbols/mm65
-rw-r--r--xorg-server/xkeyboard-config/symbols/mn83
-rw-r--r--xorg-server/xkeyboard-config/symbols/mt80
-rw-r--r--xorg-server/xkeyboard-config/symbols/mv82
-rw-r--r--xorg-server/xkeyboard-config/symbols/nbsp197
-rw-r--r--xorg-server/xkeyboard-config/symbols/nec_vndr/Makefile.am4
-rw-r--r--xorg-server/xkeyboard-config/symbols/nec_vndr/jp167
-rw-r--r--xorg-server/xkeyboard-config/symbols/ng117
-rw-r--r--xorg-server/xkeyboard-config/symbols/nl155
-rw-r--r--xorg-server/xkeyboard-config/symbols/no230
-rw-r--r--xorg-server/xkeyboard-config/symbols/nokia_vndr/Makefile.am6
-rw-r--r--xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-44303
-rw-r--r--xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-51491
-rw-r--r--xorg-server/xkeyboard-config/symbols/nokia_vndr/su-8w484
-rw-r--r--xorg-server/xkeyboard-config/symbols/np124
-rw-r--r--xorg-server/xkeyboard-config/symbols/olpc22
-rw-r--r--xorg-server/xkeyboard-config/symbols/pc148
-rw-r--r--xorg-server/xkeyboard-config/symbols/pk397
-rw-r--r--xorg-server/xkeyboard-config/symbols/pl354
-rw-r--r--xorg-server/xkeyboard-config/symbols/pt224
-rw-r--r--xorg-server/xkeyboard-config/symbols/ro235
-rw-r--r--xorg-server/xkeyboard-config/symbols/rs328
-rw-r--r--xorg-server/xkeyboard-config/symbols/ru510
-rw-r--r--xorg-server/xkeyboard-config/symbols/se257
-rw-r--r--xorg-server/xkeyboard-config/symbols/sgi_vndr/Makefile.am4
-rw-r--r--xorg-server/xkeyboard-config/symbols/sgi_vndr/jp46
-rw-r--r--xorg-server/xkeyboard-config/symbols/shift86
-rw-r--r--xorg-server/xkeyboard-config/symbols/si33
-rw-r--r--xorg-server/xkeyboard-config/symbols/sk108
-rw-r--r--xorg-server/xkeyboard-config/symbols/sn42
-rw-r--r--xorg-server/xkeyboard-config/symbols/sony_vndr/Makefile.am4
-rw-r--r--xorg-server/xkeyboard-config/symbols/sony_vndr/us93
-rw-r--r--xorg-server/xkeyboard-config/symbols/srvr_ctrl130
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/Makefile.am10
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/ara117
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/be99
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/br102
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/ca98
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/ch134
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/cz106
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/de141
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/dk148
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/ee118
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/es146
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/fi90
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/fr97
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/gb103
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/gr118
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/it141
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/jp819
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/kr98
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/lt119
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/lv118
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/nl149
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/no145
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/pl102
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/pt143
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/ro118
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/ru112
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/se280
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/sk110
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/solaris213
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/tr93
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/tuv264
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/tw79
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/ua118
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/us401
-rw-r--r--xorg-server/xkeyboard-config/symbols/sy172
-rw-r--r--xorg-server/xkeyboard-config/symbols/terminate8
-rw-r--r--xorg-server/xkeyboard-config/symbols/th249
-rw-r--r--xorg-server/xkeyboard-config/symbols/tj139
-rw-r--r--xorg-server/xkeyboard-config/symbols/tm49
-rw-r--r--xorg-server/xkeyboard-config/symbols/tr356
-rw-r--r--xorg-server/xkeyboard-config/symbols/typo53
-rw-r--r--xorg-server/xkeyboard-config/symbols/tz63
-rw-r--r--xorg-server/xkeyboard-config/symbols/ua334
-rw-r--r--xorg-server/xkeyboard-config/symbols/us1149
-rw-r--r--xorg-server/xkeyboard-config/symbols/uz122
-rw-r--r--xorg-server/xkeyboard-config/symbols/vn41
-rw-r--r--xorg-server/xkeyboard-config/symbols/xfree68_vndr/Makefile.am4
-rw-r--r--xorg-server/xkeyboard-config/symbols/xfree68_vndr/amiga132
-rw-r--r--xorg-server/xkeyboard-config/symbols/xfree68_vndr/ataritt161
-rw-r--r--xorg-server/xkeyboard-config/symbols/za44
189 files changed, 32416 insertions, 0 deletions
diff --git a/xorg-server/xkeyboard-config/symbols/Makefile.am b/xorg-server/xkeyboard-config/symbols/Makefile.am
new file mode 100644
index 000000000..fc618a4b9
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/Makefile.am
@@ -0,0 +1,40 @@
+SUBDIRS = digital_vndr fujitsu_vndr hp_vndr macintosh_vndr nec_vndr nokia_vndr sgi_vndr sony_vndr sun_vndr xfree68_vndr extras
+
+symbolsdir = $(xkb_base)/symbols
+dist_symbols_DATA = \
+ad af al \
+am ara az \
+ba bd be \
+bg br brai \
+bt bw by \
+ca cd \
+ch cn cz \
+de dk \
+ee es et epo \
+fi fo fr \
+gb ge gh gn \
+gr hr hu \
+ie il in iq \
+ir is it jp \
+ke kg kh \
+kr kz \
+la latam latin \
+lk lt lv \
+ma mao me \
+mk ml mm \
+mn mt mv \
+ng nl no np \
+pc pk pl pt \
+ro rs ru \
+se si sk sn \
+sy th \
+terminate \
+tj tm tr tz \
+ua us uz vn \
+za \
+altwin capslock compose ctrl empty eurosign group inet \
+keypad kpdl level3 level5 nbsp olpc shift srvr_ctrl typo
+
+dir_data = $(dist_symbols_DATA)
+
+include $(top_srcdir)/xkbrules.am
diff --git a/xorg-server/xkeyboard-config/symbols/ad b/xorg-server/xkeyboard-config/symbols/ad
new file mode 100644
index 000000000..3836ca34d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ad
@@ -0,0 +1,34 @@
+// $XKeyboardConfig$
+
+//
+// Catalan Keyboard, as manufactured by Large Format Computing, Inc.
+//
+// For layout graphic, see http://www.language-keyboard.com/languages/catalan_layout.htm
+//
+// Contributed by Robert Millan
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ include "us"
+
+ name[Group1]="Andorra";
+
+ key <AE02> { [ 2, at, dead_diaeresis ] };
+ key <AE07> { [ 7, ampersand, dead_acute ] };
+ key <AE09> { [ 9, parenleft, dead_grave ] };
+ key <AD02> { [ w, W, eacute, Eacute ] };
+ key <AD03> { [ e, E, egrave, Egrave ] };
+ key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, ograve, Ograve ] };
+ key <AD12> { [ bracketright, braceright, EuroSign ] };
+ key <AC01> { [ a, A, agrave, Agrave ] };
+ key <AC08> { [ k, K, idiaeresis, Idiaeresis ] };
+ key <AC09> { [ l, L, periodcentered ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/af b/xorg-server/xkeyboard-config/symbols/af
new file mode 100644
index 000000000..d8a88526a
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/af
@@ -0,0 +1,398 @@
+// $XKeyboardConfig$
+//
+// Keymap for the Afghan dari keybord layout
+// Based on the specification "Computer Locale Requirements for
+// Afghanstan" [1] from the "United Nations Development Programme
+// Afghanistan" and the "Afghan Transitional Islamic
+// Administration Ministry of Communications".
+// [1] http://www.evertype.com/standards/af/
+// For a MINI HOWTO see [2].
+// [2] http://www.afghanischerKulturverein.de/en/afghanComputer_en.php
+//
+// 2006-02-15 file created by M. Emal Alekozai <memala@gmx.net>
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ //name[Group1]= "Afghanistan Dari";
+ name[Group1]= "Afghanistan";
+
+ key <TLDE> { [ 0x100200d, 0x10000f7, dead_tilde ] };
+ key <AE01> { [ 0x10006f1, exclam, 0x1000060 ] };
+ key <AE02> { [ 0x10006f2, 0x100066c, 0x1000040 ] };
+ key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] };
+ key <AE04> { [ 0x10006f4, 0x100e60b, 0x1000024] };
+ key <AE05> { [ 0x10006f5, 0x100066a, 0x1000025 ] };
+ key <AE06> { [ 0x10006f6, multiply, 0x100005e ] };
+ key <AE07> { [ 0x10006f7, Arabic_comma, 0x1000026 ] };
+ key <AE08> { [ 0x10006f8, asterisk, 0x1002022 ] };
+ key <AE09> { [ 0x10006f9, 0x1000029, 0x100200e ] };
+ key <AE10> { [ 0x10006f0, 0x1000028, 0x100200f ] };
+ key <AE11> { [ minus, Arabic_tatweel, 0x100005f ] };
+ key <AE12> { [ plus, equal ] };
+
+ key <AD01> { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] };
+ key <AD02> { [ Arabic_sad, Arabic_dammatan ] };
+ key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] };
+ key <AD04> { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] };
+ key <AD05> { [ Arabic_feh, Arabic_damma, 0x100fd3f ] };
+ key <AD06> { [ Arabic_ghain, Arabic_kasra, 0x100e656] };
+ key <AD07> { [ Arabic_ain, Arabic_fatha, 0x100e659] };
+ key <AD08> { [ Arabic_heh, Arabic_shadda, 0x1000655] };
+ key <AD09> { [ Arabic_khah, bracketright, 0x1000027] };
+ key <AD10> { [ Arabic_hah, bracketleft, 0x1000022] };
+ key <AD11> { [ Arabic_jeem, braceright, 0x1000681 ] };
+ key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] };
+
+ key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, 0x100069a ] };
+ key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006cd ] };
+ key <AC03> { [ 0x10006cc, Arabic_yeh, 0x1000649 ] };
+ key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef, 0x10006d0 ] };
+ key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] };
+ key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
+ key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, 0x100067c ] };
+ key <AC08> { [ Arabic_noon, 0x10000bb, 0x10006bc ] };
+ key <AC09> { [ Arabic_meem, 0x10000ab, 0x10006ba ] };
+ key <AC10> { [ 0x10006a9, colon, 0x100003b ] };
+ key <AC11> { [ 0x10006af, Arabic_semicolon, 0x10006ab ] };
+
+ key <BKSL> { [ backslash, bar, 0x100003f ] };
+
+ key <AB01> { [ Arabic_zah, Arabic_kaf, 0x10006d2] };
+ key <AB02> { [ Arabic_tah, 0x1000653 , 0x1000691 ] };
+ key <AB03> { [ Arabic_zain, 0x1000698, 0x1000696 ] };
+ key <AB04> { [ Arabic_ra, 0x1000670 , 0x1000693 ] };
+ key <AB05> { [ Arabic_thal, 0x100200c, 0x1000688 ] };
+ key <AB06> { [ Arabic_dal, 0x1000654, 0x1000689 ] };
+ key <AB07> { [ 0x100067e, Arabic_hamza, 0x1000679 ] };
+ key <AB08> { [ Arabic_waw, greater, 0x100002c ] };
+ key <AB09> { [ period, less, 0x10006c7 ] };
+ key <AB10> { [ slash, Arabic_question_mark, 0x10006c9 ] };
+
+ include "nbsp(zwnj2nb3)"
+ include "level3(ralt_switch)"
+};
+
+// Keymap for the Afghan pashto keybord layout
+// Based on the specification "Computer Locale Requirements for
+// Afghanstan" [1] from the "United Nations Development Programme
+// Afghanistan"" and the "Afghan Transitional Islamic
+// Administration Ministry of Communications".
+// [1] http://www.evertype.com/standards/af/
+// For a MINI HOWTO see [2].
+// [2] http://www.afghanischerKulturverein.de/en/afghanComputer_en.php
+//
+// 2006-02-15 file created by M. Emal Alekozai <memala@gmx.net>
+
+partial alphanumeric_keys
+xkb_symbols "ps" {
+ name[Group1]= "Afghanistan - Pashto";
+
+ key <TLDE> { [ 0x100200d, 0x10000f7, dead_tilde ] };
+ key <AE01> { [ 0x10006f1, exclam, 0x1000060 ] };
+ key <AE02> { [ 0x10006f2, 0x100066c, 0x1000040 ] };
+ key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] };
+ key <AE04> { [ 0x10006f4, 0x100e60b, 0x1000024] };
+ key <AE05> { [ 0x10006f5, 0x100066a, 0x1000025 ] };
+ key <AE06> { [ 0x10006f6, multiply, 0x100005e ] };
+ key <AE07> { [ 0x10006f7, 0x10000bb, 0x1000026 ] };
+ key <AE08> { [ 0x10006f8, 0x10000ab, 0x1002022 ] };
+ key <AE09> { [ 0x10006f9, 0x1000029, 0x100200e ] };
+ key <AE10> { [ 0x10006f0, 0x1000028, 0x100200f ] };
+ key <AE11> { [ minus, Arabic_tatweel, 0x100005f ] };
+ key <AE12> { [ plus, equal ] };
+
+ key <AD01> { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] };
+ key <AD02> { [ Arabic_sad, Arabic_dammatan, 0x1000653 ] };
+ key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] };
+ key <AD04> { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] };
+ key <AD05> { [ Arabic_feh, Arabic_damma, 0x100fd3f ] };
+ key <AD06> { [ Arabic_ghain, Arabic_kasra, 0x100e656] };
+ key <AD07> { [ Arabic_ain, Arabic_fatha, 0x100e659] };
+ key <AD08> { [ Arabic_heh, Arabic_shadda, 0x1000670] };
+ key <AD09> { [ Arabic_khah, 0x1000681, 0x1000027] };
+ key <AD10> { [ Arabic_hah, 0x1000685, 0x1000022] };
+ key <AD11> { [ Arabic_jeem, 0x100005d, 0x100007d ] };
+ key <AD12> { [ 0x1000686, 0x100005b, 0x100007b ] };
+
+ key <AC01> { [ Arabic_sheen, 0x100069a ] };
+ key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006d2 ] };
+ key <AC03> { [ 0x10006cc, Arabic_yeh, 0x1000649 ] };
+ key <AC04> { [ Arabic_beh, 0x100067e, 0x10006ba ] };
+ key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] };
+ key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
+ key <AC07> { [ Arabic_teh, 0x100067c, 0x1000679 ] };
+ key <AC08> { [ Arabic_noon, 0x10006bc, 0x100003e ] };
+ key <AC09> { [ Arabic_meem, 0x1000629, 0x100003c ] };
+ key <AC10> { [ 0x10006a9, colon, 0x1000643 ] };
+ key <AC11> { [ 0x10006ab, Arabic_semicolon, 0x10006af ] };
+
+ key <BKSL> { [ backslash, 0x100002a, 0x100007c ] };
+
+ key <AB01> { [ 0x10006cd, 0x1000638, 0x100003f] };
+ key <AB02> { [ 0x10006d0, 0x1000637, 0x100003b ] };
+ key <AB03> { [ Arabic_zain, 0x1000698, 0x1000655 ] };
+ key <AB04> { [ Arabic_ra, 0x1000621, 0x1000654 ] };
+ key <AB05> { [ Arabic_thal, 0x100200c, 0x1000625 ] };
+ key <AB06> { [ Arabic_dal, 0x1000689, 0x1000688 ] };
+ key <AB07> { [ 0x1000693, 0x1000624, 0x1000691 ] };
+ key <AB08> { [ Arabic_waw, 0x100060c, 0x100002c ] };
+ key <AB09> { [ 0x1000696, 0x100002e, 0x10006c7 ] };
+ key <AB10> { [ slash, Arabic_question_mark, 0x10006c9 ] };
+
+ include "nbsp(zwnj2nb3)"
+ include "level3(ralt_switch)"
+};
+
+// Keymap for the Afghan southern uzbek keybord layout
+// Based on the specification "Computer Locale Requirements for
+// Afghanstan" [1] from the "United Nations Development Programme
+// Afghanistan"" and the "Afghan Transitional Islamic
+// Administration Ministry of Communications".
+// [1] http://www.evertype.com/standards/af/
+// For a MINI HOWTO see [2].
+// [2] http://www.afghanischerKulturverein.de/en/afghanComputer_en.php
+//
+// 2006-02-15 file created by M. Emal Alekozai <memala@gmx.net>
+
+partial alphanumeric_keys
+xkb_symbols "uz" {
+ name[Group1]= "Afghanistan - Southern Uzbek";
+
+ key <TLDE> { [ 0x100200d, 0x10000f7, dead_tilde ] };
+ key <AE01> { [ 0x10006f1, exclam, 0x1000060 ] };
+ key <AE02> { [ 0x10006f2, 0x100066c, 0x1000040 ] };
+ key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] };
+ key <AE04> { [ 0x10006f4, 0x100e60b, 0x1000024] };
+ key <AE05> { [ 0x10006f5, 0x100066a, 0x1000025 ] };
+ key <AE06> { [ 0x10006f6, multiply, 0x100005e ] };
+ key <AE07> { [ 0x10006f7, Arabic_comma, 0x1000026 ] };
+ key <AE08> { [ 0x10006f8, asterisk, 0x1002022 ] };
+ key <AE09> { [ 0x10006f9, 0x1000029, 0x100200e ] };
+ key <AE10> { [ 0x10006f0, 0x1000028, 0x100200f ] };
+ key <AE11> { [ minus, Arabic_tatweel, 0x100005f ] };
+ key <AE12> { [ plus, equal ] };
+
+ key <AD01> { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] };
+ key <AD02> { [ Arabic_sad, Arabic_dammatan, 0x1000653 ] };
+ key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] };
+ key <AD04> { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] };
+ key <AD05> { [ Arabic_feh, Arabic_damma, 0x100fd3f ] };
+ key <AD06> { [ Arabic_ghain, Arabic_kasra, 0x100e656] };
+ key <AD07> { [ Arabic_ain, Arabic_fatha, 0x100e659] };
+ key <AD08> { [ Arabic_heh, Arabic_shadda, 0x1000670] };
+ key <AD09> { [ Arabic_khah, bracketright, 0x1000027] };
+ key <AD10> { [ Arabic_hah, bracketleft, 0x1000022] };
+ key <AD11> { [ Arabic_jeem, braceright, 0x1000681 ] };
+ key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] };
+
+ key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, 0x100069a ] };
+ key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006cd ] };
+ key <AC03> { [ 0x10006cc, Arabic_yeh, 0x1000649 ] };
+ key <AC04> { [ Arabic_beh, 0x10006d0, 0x1000643 ] };
+ key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] };
+ key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
+ key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, 0x100067c ] };
+ key <AC08> { [ Arabic_noon, 0x10000bb, 0x10006bc ] };
+ key <AC09> { [ Arabic_meem, 0x10000ab, 0x10006ba ] };
+ key <AC10> { [ 0x10006a9, colon, 0x100003b ] };
+ key <AC11> { [ 0x10006af, Arabic_semicolon, 0x10006ab ] };
+
+ key <BKSL> { [ backslash, bar, 0x100003f ] };
+
+ key <AB01> { [ Arabic_zah, 0x10006c9, 0x10006d2] };
+ key <AB02> { [ Arabic_tah, 0x10006c7, 0x1000691 ] };
+ key <AB03> { [ Arabic_zain, 0x1000698, 0x1000696 ] };
+ key <AB04> { [ Arabic_ra, 0x1000625, 0x1000693 ] };
+ key <AB05> { [ Arabic_thal, 0x100200c, 0x1000688 ] };
+ key <AB06> { [ Arabic_dal, 0x1000654, 0x1000689 ] };
+ key <AB07> { [ 0x100067e, Arabic_hamza, 0x1000679 ] };
+ key <AB08> { [ Arabic_waw, greater, 0x100002c ] };
+ key <AB09> { [ period, less ] };
+ key <AB10> { [ slash, Arabic_question_mark, 0x1000655 ] };
+
+ include "nbsp(zwnj2nb3)"
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc-ps" {
+
+ name[Group1]= "Afghanistan - OLPC Pashto";
+
+ key <TLDE> { [ 0x100200D, 0x1000654, grave ] }; // zero width joiner, Arabic hamza above
+ key <AE01> { [ 0x10006F1, exclam, asciitilde ] }; // Arabic one
+ key <AE02> { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator
+ key <AE03> { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator
+ key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
+ key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
+ key <AE06> { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six
+ key <AE07> { [ 0x10006F7, guillemotright, ampersand ] }; // Arabic seven
+ key <AE08> { [ 0x10006F8, guillemotleft, 0x100066D ] }; // Arabic eight, Arabic five-pointed star
+ key <AE09> { [ 0x10006F9, parenright, enfilledcircbullet ] }; // Arabic nine
+ key <AE10> { [ 0x10006F0, parenleft, degree ] }; // Arabic zero
+ key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic_tatweel
+ key <AE12> { [ plus, equal, division ] };
+
+ key <AD01> { [ 0x1000636, 0x1000652, EuroSign ] }; // Arabic dad, Arabic sukun
+ key <AD02> { [ 0x1000635, 0x100064C, 0x1000671 ] }; // Arabic sad, Arabic dammatan, Arabic alef walsa
+ key <AD03> { [ 0x100062B, 0x100064D, 0x1000649 ] }; // Arabic theh, Arabic kasratan, Arabic alef maksura initial form
+ key <AD04> { [ 0x1000642, 0x100064B, 0x100200E ] }; // Arabic qaf, Arabic fathatan, left-to-right mark
+ key <AD05> { [ 0x1000641, 0x100064F, 0x100200F ] }; // Arabic feh, Arabic damma, right-to-left mark
+ key <AD06> { [ 0x100063A, 0x1000650, 0x100e653 ] }; // Arabic ghain, Arabic kasra, Arabic alef with madda above
+ key <AD07> { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay
+ key <AD08> { [ 0x1000647, 0x1000651, 0x1000670 ] }; // Arabic heh, Arabic shadda, Arabic superscript alef
+ key <AD09> { [ 0x100062E, 0x1000681, apostrophe ] }; // Arabic khah, Arabic hah with hamza above,
+ key <AD10> { [ 0x100062D, 0x1000685, quotedbl ] }; // Arabic hah, Arabic hah with three dots above
+ key <AD11> { [ 0x100062C, bracketright, braceleft ] }; // Arabic jeem
+ key <AD12> { [ 0x1000686, bracketleft, braceright ] }; // Arabic tcheh
+
+ key <AC01> { [ 0x1000634, 0x100069A ] }; // Arabic sheen, Arabic seen with dot below and dot above
+ key <AC02> { [ 0x1000633, 0x10006CD ] }; // Arabic seen, Arabic yeh with tail
+ key <AC03> { [ 0x10006CC, 0x100064A, 0x10006D2 ] }; // Farsi yeh, Arabic yeh, Arabic yeh barree
+ key <AC04> { [ 0x1000628, 0x100067E, 0x10006BA ] }; // Arabic beh, Arabic peh, Arabic noon ghunna
+ key <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
+ key <AC06> { [ 0x1000627, 0x1000622, 0x1000625 ] }; // Arabic alef, Arabic madda on alef, Arabic alef with hamza below
+ key <AC07> { [ 0x100062A, 0x100067C, 0x1000679 ] }; // Arabic teh, Arabic teh with ring, Arabic tteh
+ key <AC08> { [ 0x1000646, 0x10006BC, greater ] }; // Arabic noon, Arabic noon with ring
+ key <AC09> { [ 0x1000645, 0x1000629, less ] }; // Arabic meem, Arabic teh marbuta
+ key <AC10> { [ 0x10006A9, colon, 0x1000643 ] }; // Arabic keheh, Arabic kaf
+ key <AC11> { [ 0x10006AB, 0x100061B, 0x10006AF ] }; // Arabic kaf with ring, Arabic semicolon, Arabic gaf
+
+ key <BKSL> { [ backslash, asterisk, bar ] };
+
+ key <AB01> { [ 0x1000638, 0x1000626, question] }; // Arabic zah, Arabic yeh with hamza above
+ key <AB02> { [ 0x10006D0, 0x1000637, semicolon ] }; // Arabic tah, Arabic E
+ key <AB03> { [ 0x1000632, 0x1000698 ] }; // Arabic zain, Arabic jeh
+ key <AB04> { [ 0x1000631, 0x1000621 ] }; // Arabic_ra (reh?), Arabic hamza
+ key <AB05> { [ 0x1000630, 0x100200C ] }; // Arabic_thal, zero width non-joiner
+ key <AB06> { [ 0x100062F, 0x1000689, 0x1000688 ] }; // Arabic_dal, Arabic dal with ring, Arabic ddal
+ key <AB07> { [ 0x1000693, 0x1000624, 0x1000691 ] }; // Arabic reh with ring, Arabic waw with hamza above, Arabic rreh
+ key <AB08> { [ 0x1000648, period, comma ] }; // Arabic_waw, Arabic comma
+ key <AB09> { [ 0x1000696, 0x100002E, 0x10006C7 ] }; // Arabic reh with dot below and dot above, full stop, Arabic letter U
+ key <AB10> { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu
+
+ include "nbsp(zwnj2nb3)"
+ include "group(olpc)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc-fa" {
+
+ name[Group1]= "Afghanistan - OLPC Dari";
+
+ key <TLDE> { [ 0x100200D, division, asciitilde ] }; // zero width joiner
+ key <AE01> { [ 0x10006F1, exclam, grave ] }; // Arabic one
+ key <AE02> { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator
+ key <AE03> { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator
+ key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
+ key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
+ key <AE06> { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six
+ key <AE07> { [ 0x10006F7, 0x100060C, ampersand ] }; // Arabic seven, Arabic comma
+ key <AE08> { [ 0x10006F8, asterisk, enfilledcircbullet ] }; // Arabic eight,
+ key <AE09> { [ 0x10006F9, parenright, 0x100200E ] }; // Arabic nine, left-to-right mark
+ key <AE10> { [ 0x10006F0, parenleft, 0x100200F ] }; // Arabic zero, right-to-left mark
+ key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic_tatweel
+ key <AE12> { [ plus, equal ] };
+
+ key <AD01> { [ 0x1000636, 0x1000652, degree ] }; // Arabic dad, Arabic sukun
+ key <AD02> { [ 0x1000635, 0x100064C ] }; // Arabic sad, Arabic dammatan
+ key <AD03> { [ 0x100062B, 0x100064D, EuroSign ] }; // Arabic theh, Arabic kasratan
+ key <AD04> { [ 0x1000642, 0x100064B, 0x100FD3E ] }; // Arabic qaf, Arabic fathatan, ornate left paren
+ key <AD05> { [ 0x1000641, 0x100064F, 0x100FD3F ] }; // Arabic feh, Arabic damma, ornate right paren
+ key <AD06> { [ 0x100063A, 0x1000650, 0x1000656 ] }; // Arabic ghain, Arabic kasra, Arabic subscript alef
+ key <AD07> { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay
+ key <AD08> { [ 0x1000647, 0x1000651, 0x1000655 ] }; // Arabic heh, Arabic shadda, Arabic hamza below
+ key <AD09> { [ 0x100062E, bracketright, apostrophe ] }; // Arabic khah
+ key <AD10> { [ 0x100062D, bracketleft, quotedbl ] }; // Arabic hah
+ key <AD11> { [ 0x100062C, braceright, 0x1000681 ] }; // Arabic jeem, Arabic hah with hamza above
+ key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] }; // Arabic tcheh, Arabic hah with three dots above
+
+ key <AC01> { [ 0x1000634, 0x1000624, 0x100069A ] }; // Arabic sheen, Arabic waw with hamza above, Arabic seen with dot below and dot above
+ key <AC02> { [ 0x1000633, 0x1000626, 0x10006CD ] }; // Arabic seen, Arabic yeh with hamza above, Arabic yeh with tail
+ key <AC03> { [ 0x10006CC, 0x100064A, 0x1000649 ] }; // Farsi yeh, Arabic yeh, Arabic alef maksura
+ key <AC04> { [ 0x1000628, 0x1000625, 0x10006D0 ] }; // Arabic beh, Arabic alef with hamza below, Arabic e
+ key <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
+ key <AC06> { [ 0x1000627, 0x1000622, 0x1000671 ] }; // Arabic alef, Arabic madda on alef, Arabic alef wasla
+ key <AC07> { [ 0x100062A, 0x1000629, 0x100067C ] }; // Arabic teh, Arabic teh marbuta, Arabic tteh
+ key <AC08> { [ 0x1000646, guillemotright, 0x10006BC ] }; // Arabic noon, Arabic noon with ring
+ key <AC09> { [ 0x1000645, guillemotleft, 0x10006BA ] }; // Arabic meem, Arabic noon ghunna
+ key <AC10> { [ 0x10006A9, colon, semicolon ] }; // Arabic keheh,
+ key <AC11> { [ 0x10006AF, 0x100061B, 0x10006AB ] }; // Arabic gaf, Arabic semicolon, Arabic kaf with ring
+
+ key <BKSL> { [ backslash, bar, question ] };
+
+ key <AB01> { [ 0x1000638, 0x1000643, 0x10006D2 ] }; // Arabic zah, Arabic kaf, Arabic yeh barree
+ key <AB02> { [ 0x1000637, 0x1000653, 0x1000691 ] }; // Arabic tah, Arabic maddah above, Arabic rreh
+ key <AB03> { [ 0x1000632, 0x1000698, 0x1000696 ] }; // Arabic zain, Arabic jeh, Arabic reh with dot below and dot above
+ key <AB04> { [ 0x1000631, 0x1000670, 0x1000693 ] }; // Arabic_ra (reh?), Arabic superscript alef, Arabic reh with ring
+ key <AB05> { [ 0x1000630, 0x100200C, 0x1000688 ] }; // Arabic_thal, zero width non-joiner, Arabic ddal
+ key <AB06> { [ 0x100062F, 0x1000654, 0x1000689 ] }; // Arabic dal, Arabic hamza above, Arabic dal with ring
+ key <AB07> { [ 0x100067E, 0x1000621, 0x1000679 ] }; // Arabic peh, Arabic hamza, Arabic tteh
+ key <AB08> { [ 0x1000648, greater, comma ] }; // Arabic_waw
+ key <AB09> { [ period, less, 0x10006C7 ] }; // Arabic u
+ key <AB10> { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu
+
+ include "nbsp(zwnj2nb3)"
+ include "group(olpc)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc-uz" {
+
+ name[Group1]= "Afghanistan - OLPC Southern Uzbek";
+
+ key <TLDE> { [ 0x100200D, division, asciitilde ] }; // zero width joiner
+ key <AE01> { [ 0x10006F1, exclam, grave ] }; // Arabic one
+ key <AE02> { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator
+ key <AE03> { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator
+ key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
+ key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
+ key <AE06> { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six
+ key <AE07> { [ 0x10006F7, 0x100060C, ampersand ] }; // Arabic seven, Arabic comma
+ key <AE08> { [ 0x10006F8, asterisk, enfilledcircbullet ] }; // Arabic eight,
+ key <AE09> { [ 0x10006F9, parenright, 0x100200E ] }; // Arabic nine, left-to-right mark
+ key <AE10> { [ 0x10006F0, parenleft, 0x100200F ] }; // Arabic zero, right-to-left mark
+ key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic_tatweel
+ key <AE12> { [ plus, equal ] };
+
+ key <AD01> { [ 0x1000636, 0x1000652, degree ] }; // Arabic dad, Arabic sukun
+ key <AD02> { [ 0x1000635, 0x100064C, 0x1000653 ] }; // Arabic sad, Arabic dammatan, Arabic maddah above
+ key <AD03> { [ 0x100062B, 0x100064D, EuroSign ] }; // Arabic theh, Arabic kasratan
+ key <AD04> { [ 0x1000642, 0x100064B, 0x100FD3E ] }; // Arabic qaf, Arabic fathatan, ornate left paren
+ key <AD05> { [ 0x1000641, 0x100064F, 0x100FD3F ] }; // Arabic feh, Arabic damma, ornate right paren
+ key <AD06> { [ 0x100063A, 0x1000650, 0x1000656 ] }; // Arabic ghain, Arabic kasra, Arabic subscript alef
+ key <AD07> { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay
+ key <AD08> { [ 0x1000647, 0x1000651, 0x1000670 ] }; // Arabic heh, Arabic shadda, Arabic superscript alef
+ key <AD09> { [ 0x100062E, bracketright, apostrophe ] }; // Arabic khah
+ key <AD10> { [ 0x100062D, bracketleft, quotedbl ] }; // Arabic hah
+ key <AD11> { [ 0x100062C, braceright, 0x1000681 ] }; // Arabic jeem, Arabic hah with hamza above
+ key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] }; // Arabic tcheh, Arabic hah with three dots above
+
+ key <AC01> { [ 0x1000634, 0x1000624, 0x100069A ] }; // Arabic sheen, Arabic waw with hamza above, Arabic seen with dot below and dot above
+ key <AC02> { [ 0x1000633, 0x1000626, 0x10006CD ] }; // Arabic seen, Arabic yeh with hamza above, Arabic yeh with tail
+ key <AC03> { [ 0x10006CC, 0x100064A, 0x1000649 ] }; // Farsi yeh, Arabic yeh, Arabic alef maksura
+ key <AC04> { [ 0x1000628, 0x10006D0, 0x1000643 ] }; // Arabic beh, Arabic e, Arabic kaf
+ key <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
+ key <AC06> { [ 0x1000627, 0x1000622, 0x1000671 ] }; // Arabic alef, Arabic madda on alef, Arabic alef wasla
+ key <AC07> { [ 0x100062A, 0x1000629, 0x100067C ] }; // Arabic teh, Arabic teh marbuta, Arabic tteh
+ key <AC08> { [ 0x1000646, guillemotright, 0x10006BC ] }; // Arabic noon, Arabic noon with ring
+ key <AC09> { [ 0x1000645, guillemotleft, 0x10006BA ] }; // Arabic meem, Arabic noon ghunna
+ key <AC10> { [ 0x10006A9, colon, semicolon ] }; // Arabic keheh,
+ key <AC11> { [ 0x10006AF, 0x100061B, 0x10006AB ] }; // Arabic gaf, Arabic semicolon, Arabic kaf with ring
+
+ key <BKSL> { [ backslash, bar, question ] };
+
+ key <AB01> { [ 0x1000638, 0x10006C9, 0x10006D2 ] }; // Arabic zah, Arabic kirghiz yu, Arabic yeh barree
+ key <AB02> { [ 0x1000637, 0x10006C7, 0x1000691 ] }; // Arabic tah, Arabic u, Arabic rreh
+ key <AB03> { [ 0x1000632, 0x1000698, 0x1000696 ] }; // Arabic zain, Arabic jeh, Arabic reh with dot below and dot above
+ key <AB04> { [ 0x1000631, 0x1000625, 0x1000693 ] }; // Arabic_ra (reh?), Arabic alef with hamza below, Arabic reh with ring
+ key <AB05> { [ 0x1000630, 0x100200C, 0x1000688 ] }; // Arabic_thal, zero width non-joiner, Arabic ddal
+ key <AB06> { [ 0x100062F, 0x1000654, 0x1000689 ] }; // Arabic dal, Arabic hamza above, Arabic dal with ring
+ key <AB07> { [ 0x100067E, 0x1000621, 0x1000679 ] }; // Arabic peh, Arabic hamza, Arabic tteh
+ key <AB08> { [ 0x1000648, greater, comma ] }; // Arabic_waw
+ key <AB09> { [ period, less ] };
+ key <AB10> { [ slash, 0x100061F, 0x1000655 ] }; // Arabic question mark, Arabic hamza below
+
+ include "nbsp(zwnj2nb3)"
+ include "group(olpc)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/al b/xorg-server/xkeyboard-config/symbols/al
new file mode 100644
index 000000000..18f11139e
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/al
@@ -0,0 +1,44 @@
+// $XKeyboardConfig$
+
+// based on
+// albanian keyboard layout
+// done by Pablo Saratxaga <pablo@mandrakesoft.com>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/al,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin(type3)"
+
+ name[Group1]="Albania";
+
+ key <AE01> { [ 1, exclam, asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl, dead_caron, oneeighth ] };
+ key <AE03> { [ 3, numbersign, dead_circumflex, sterling ] };
+ key <AE04> { [ 4, dollar, dead_breve, dollar ] };
+ key <AE05> { [ 5, percent, dead_abovering, threeeighths] };
+ key <AE06> { [ 6, asciicircum, dead_ogonek, fiveeighths ] };
+ key <AE07> { [ 7, ampersand, grave, dead_grave ] };
+ key <AE08> { [ 8, asterisk, dead_abovedot, trademark ] };
+ key <AE09> { [ 9, parenleft, dead_acute, plusminus ] };
+ key <AE10> { [ 0, parenright, dead_doubleacute, degree ] };
+ key <AE11> { [ minus, underscore, dead_diaeresis, questiondown] };
+
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD11> { [ ccedilla, Ccedilla, division, dead_abovering ] };
+ key <AD12> { [ at, apostrophe, multiply, dead_macron ] };
+
+ key <AC02> { [ s, S, dstroke, section ] };
+ key <AC03> { [ d, D, Dstroke, ETH ] };
+ key <AC10> { [ediaeresis, Ediaeresis, dollar, dead_doubleacute ] };
+ key <AC11> { [bracketleft, braceleft, ssharp, dead_caron ] };
+ key <TLDE> { [ backslash, bar, notsign, notsign ] };
+
+ key <BKSL> { [bracketright, braceright, currency, dead_breve ] };
+ key <AB08> { [ comma, semicolon, less, multiply ] };
+ key <AB09> { [ period, colon, greater, division ] };
+ key <AB10> { [ slash, question, dead_belowdot, dead_abovedot ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/altwin b/xorg-server/xkeyboard-config/symbols/altwin
new file mode 100644
index 000000000..4463fe06c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/altwin
@@ -0,0 +1,83 @@
+// $XKeyboardConfig$
+
+// $XFree86: xc/programs/xkbcomp/symbols/altwin,v 1.5 2003/12/03 14:09:08 pascal Exp $
+
+partial modifier_keys
+xkb_symbols "meta_alt" {
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { type[Group1] = "TWO_LEVEL",
+ symbols[Group1] = [ Alt_R, Meta_R ] };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+// modifier_map Mod4 {};
+};
+
+// Control is mapped to the Win-keys (and the usual Ctrl keys).
+partial modifier_keys
+xkb_symbols "ctrl_win" {
+ key <LWIN> { [ Control_L ] };
+ key <RWIN> { [ Control_R ] };
+ modifier_map Control { <LWIN>, <RWIN> };
+};
+
+// Ctrl is mapped to the Alt-keys, Alt is mapped to the Win-keys, Win is mapped to the Ctrl-keys.
+partial modifier_keys
+xkb_symbols "ctrl_alt_win" {
+ key <LALT> { [ Control_L, Control_L ] };
+ key <RALT> { type[Group1] = "TWO_LEVEL",
+ symbols[Group1] = [ Control_R, Control_R ] };
+ key <LWIN> { [ Alt_L, Meta_L ] };
+ key <RWIN> { [ Alt_R, Meta_R ] };
+ modifier_map Control { <RALT>, <LALT> };
+ modifier_map Mod1 { <LWIN>, <RWIN> };
+};
+
+
+partial modifier_keys
+xkb_symbols "meta_win" {
+ key <LALT> { [ Alt_L, Alt_L ] };
+ key <RALT> { type[Group1] = "TWO_LEVEL",
+ symbols[Group1] = [ Alt_R, Alt_R ] };
+ key <LWIN> { [ Meta_L ] };
+ key <RWIN> { [ Meta_R ] };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod4 { <META>, Meta_L, Meta_R };
+};
+
+partial modifier_keys
+xkb_symbols "left_meta_win" {
+ key <LALT> { [ Alt_L, Alt_L ] };
+ key <LWIN> { [ Meta_L ] };
+ modifier_map Mod1 { Alt_L };
+ modifier_map Mod4 { <META>, Meta_L };
+};
+
+partial modifier_keys
+xkb_symbols "hyper_win" {
+ key <LWIN> { [ Hyper_L ] };
+ key <RWIN> { [ Hyper_R ] };
+ modifier_map Mod4 { Hyper_L, Hyper_R };
+};
+
+// Use Menu for the menu key
+partial modifier_keys
+xkb_symbols "menu" {
+ key <MENU> { [ Menu ] };
+};
+
+// Layout for Tux key caps with additional right Alt key
+partial modifier_keys
+xkb_symbols "alt_super_win" {
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RWIN> { [ Alt_R, Meta_R ] };
+ key <LWIN> { [ Super_L ] };
+ key <MENU> { [ Super_R ] };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod4 { Super_L, Super_R };
+};
+
+partial modifier_keys
+xkb_symbols "swap_lalt_lwin" {
+ key <LALT> { type[Group1] = "ONE_LEVEL",
+ symbols[Group1] = [ Super_L ] };
+ key <LWIN> { [ Alt_L, Meta_L ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/am b/xorg-server/xkeyboard-config/symbols/am
new file mode 100644
index 000000000..6fe84836c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/am
@@ -0,0 +1,244 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/am' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/am,v 1.4 2003/05/29 12:41:58 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Armenia";
+
+ // Alphanumeric section
+ key <TLDE> { [ 0x100055d, 0x100055c ] };
+ key <LSGT> { [ question, 0x100058a ] };
+ key <BKSL> { [ guillemotright, guillemotleft ] };
+
+ key <AE01> { [ 0x1000586, 0x1000556 ] };
+ key <AE02> { [ 0x1000571, 0x1000541 ] };
+ key <AE03> { [ 0x1002013, 0x1002014 ] };
+ key <AE04> { [ comma, dollar ] };
+ key <AE05> { [ 0x1000589, 0x1002026 ] };
+ key <AE06> { [ 0x100055e, percent ] };
+ key <AE07> { [ 0x1002024, 0x1000587 ] };
+ key <AE08> { [ 0x100055b, 0x10002bc ] };
+ key <AE09> { [ parenright, parenleft ] };
+ key <AE10> { [ 0x1000585, 0x1000555 ] };
+ key <AE11> { [ 0x1000567, 0x1000537 ] };
+ key <AE12> { [ 0x1000572, 0x1000542 ] };
+
+
+ key <AD01> { [ 0x1000573, 0x1000543 ] };
+ key <AD02> { [ 0x1000583, 0x1000553 ] };
+ key <AD03> { [ 0x1000562, 0x1000532 ] };
+ key <AD04> { [ 0x100057d, 0x100054d ] };
+ key <AD05> { [ 0x1000574, 0x1000544 ] };
+ key <AD06> { [ 0x1000578, 0x1000548 ] };
+ key <AD07> { [ 0x1000582, 0x1000552 ] };
+ key <AD08> { [ 0x100056f, 0x100053f ] };
+ key <AD09> { [ 0x1000568, 0x1000538 ] };
+ key <AD10> { [ 0x1000569, 0x1000539 ] };
+ key <AD11> { [ 0x100056e, 0x100053e ] };
+ key <AD12> { [ 0x1000581, 0x1000551 ] };
+
+ key <AC01> { [ 0x100057b, 0x100054b ] };
+ key <AC02> { [ 0x100057e, 0x100054e ] };
+ key <AC03> { [ 0x1000563, 0x1000533 ] };
+ key <AC04> { [ 0x1000565, 0x1000535 ] };
+ key <AC05> { [ 0x1000561, 0x1000531 ] };
+ key <AC06> { [ 0x1000576, 0x1000546 ] };
+ key <AC07> { [ 0x100056b, 0x100053b ] };
+ key <AC08> { [ 0x100057f, 0x100054f ] };
+ key <AC09> { [ 0x1000570, 0x1000540 ] };
+ key <AC10> { [ 0x100057a, 0x100054a ] };
+ key <AC11> { [ 0x1000580, 0x1000550 ] };
+
+ key <AB01> { [ 0x100056a, 0x100053a ] };
+ key <AB02> { [ 0x1000564, 0x1000534 ] };
+ key <AB03> { [ 0x1000579, 0x1000549 ] };
+ key <AB04> { [ 0x1000575, 0x1000545 ] };
+ key <AB05> { [ 0x1000566, 0x1000536 ] };
+ key <AB06> { [ 0x100056c, 0x100053c ] };
+ key <AB07> { [ 0x1000584, 0x1000554 ] };
+ key <AB08> { [ 0x100056d, 0x100053d ] };
+ key <AB09> { [ 0x1000577, 0x1000547 ] };
+ key <AB10> { [ 0x100057c, 0x100054c ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+ include "am(basic)"
+ name[Group1]= "Armenia";
+
+ include "group(olpc)"
+};
+
+xkb_symbols "phonetic" {
+ include "am(basic)"
+ name[Group1]= "Armenia - Phonetic";
+
+ key <BKSL> { [ 0x1000577, 0x1000547 ] };
+
+ key <AE01> { [ 0x1000567, 0x1000537 ] };
+ key <AE02> { [ 0x1000569, 0x1000539 ] };
+ key <AE03> { [ 0x1000583, 0x1000553 ] };
+ key <AE04> { [ 0x1000571, 0x1000541 ] };
+ key <AE05> { [ 0x100057b, 0x100054b ] };
+ key <AE06> { [ 0x1000582, 0x1000552 ] };
+ key <AE07> { [ 0x1000587, 0x1000587 ] };
+ key <AE08> { [ 0x100057c, 0x100054c ] };
+ key <AE09> { [ 0x1000579, 0x1000549 ] };
+ key <AE10> { [ 0x1000573, 0x1000543 ] };
+ key <AE11> { [ 0x100002D, 0x1002015 ] };
+ key <AE12> { [ 0x100056a, 0x100053a ] };
+
+ key <LatQ> { [ 0x1000584, 0x1000554 ] };
+ key <LatW> { [ 0x1000578, 0x1000548 ] };
+ key <LatE> { [ 0x1000565, 0x1000535 ] };
+ key <LatR> { [ 0x1000580, 0x1000550 ] };
+ key <LatT> { [ 0x100057f, 0x100054f ] };
+ key <LatY> { [ 0x1000568, 0x1000538 ] };
+ key <LatU> { [ 0x1000582, 0x1000552 ] };
+ key <LatI> { [ 0x100056b, 0x100053b ] };
+ key <LatO> { [ 0x1000585, 0x1000555 ] };
+ key <LatP> { [ 0x100057a, 0x100054a ] };
+ key <AD11> { [ 0x100056d, 0x100053d ] };
+ key <AD12> { [ 0x100056e, 0x100053e ] };
+
+ key <LatA> { [ 0x1000561, 0x1000531 ] };
+ key <LatS> { [ 0x100057d, 0x100054d ] };
+ key <LatD> { [ 0x1000564, 0x1000534 ] };
+ key <LatF> { [ 0x1000586, 0x1000556 ] };
+ key <LatG> { [ 0x1000563, 0x1000533 ] };
+ key <LatH> { [ 0x1000570, 0x1000540 ] };
+ key <LatJ> { [ 0x1000575, 0x1000545 ] };
+ key <LatK> { [ 0x100056f, 0x100053f ] };
+ key <LatL> { [ 0x100056c, 0x100053c ] };
+ key <AC10> { [ semicolon, 0x1000589 ] };
+ key <AC11> { [ 0x100055b, 0x1000022 ] };
+
+ key <LatZ> { [ 0x1000566, 0x1000536 ] };
+ key <LatX> { [ 0x1000572, 0x1000542 ] };
+ key <LatC> { [ 0x1000581, 0x1000551 ] };
+ key <LatV> { [ 0x100057e, 0x100054e ] };
+ key <LatB> { [ 0x1000562, 0x1000532 ] };
+ key <LatN> { [ 0x1000576, 0x1000546 ] };
+ key <LatM> { [ 0x1000574, 0x1000544 ] };
+ key <AB08> { [ 0x100002C, 0x10000AB ] };
+ key <AB09> { [ 0x1002024, 0x10000BB ] };
+ key <AB10> { [ 0x100002F, 0x100055e ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic-alt" {
+ include "am(phonetic)"
+ name[Group1]= "Armenia - Alternative Phonetic";
+
+ key <AE08> { [ 0x1000580, 0x1000550 ] };
+ key <LatR> { [ 0x100057c, 0x100054c ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "eastern" {
+
+ name[Group1]="Armenia - Eastern";
+
+ // This is the closer phonetic transliteration for Eastern Armenian
+ // than the Windows XP layout for Eastern Armenian, which seems
+ // to have contained a bug, with the reversal of 'g' for keh and 'c' for gim
+ // Also, AE01 (the colon) has been replaced with the Armenian_full_stop and
+ // capital AE07 (ken) with the Armenian ligature ew
+
+ key <TLDE> { [ Armenian_separation_mark, Armenian_exclam ] };
+// key <AE01> { [ colon, KP_1 ] };
+ key <AE01> { [ Armenian_full_stop, KP_1 ] };
+ key <AE02> { [ Armenian_dza, Armenian_DZA ] };
+ key <AE03> { [ Armenian_hi, Armenian_HI ] };
+ key <AE04> { [ Armenian_accent, KP_3 ] };
+ key <AE05> { [ comma, KP_4 ] };
+ key <AE06> { [ minus, KP_9 ] };
+ key <AE07> { [ period, Armenian_ligature_ew ] };
+ key <AE08> { [ guillemotleft, parenleft ] };
+ key <AE09> { [ guillemotright, parenright ] };
+ key <AE10> { [ Armenian_o, Armenian_O ] };
+ key <AE11> { [ Armenian_ra, Armenian_RA ] };
+ key <AE12> { [ Armenian_zhe, Armenian_ZHE ] };
+
+ key <LatQ> { [ Armenian_khe, Armenian_KHE ] };
+ key <LatW> { [ Armenian_vyun, Armenian_VYUN ] };
+ key <LatE> { [ Armenian_e, Armenian_E ] };
+ key <LatR> { [ Armenian_re, Armenian_RE ] };
+ key <LatT> { [ Armenian_tyun, Armenian_TYUN ] };
+ key <LatY> { [ Armenian_yech, Armenian_YECH ] };
+ key <LatU> { [ Armenian_at, Armenian_AT ] };
+ key <LatI> { [ Armenian_ini, Armenian_INI ] };
+ key <LatO> { [ Armenian_vo, Armenian_VO ] };
+ key <LatP> { [ Armenian_pe, Armenian_PE ] };
+ key <AD11> { [ Armenian_cha, Armenian_CHA ] };
+ key <AD12> { [ Armenian_je, Armenian_JE ] };
+ key <BKSL> { [ apostrophe, Armenian_question ] };
+
+ key <LatA> { [ Armenian_ayb, Armenian_AYB ] };
+ key <LatS> { [ Armenian_se, Armenian_SE ] };
+ key <LatD> { [ Armenian_da, Armenian_DA ] };
+ key <LatF> { [ Armenian_fe, Armenian_FE ] };
+ key <LatG> { [ Armenian_gim, Armenian_GIM ] };
+ key <LatH> { [ Armenian_ho, Armenian_HO ] };
+ key <LatJ> { [ Armenian_tche, Armenian_TCHE ] };
+ key <LatK> { [ Armenian_ken, Armenian_KEN ] };
+ key <LatL> { [ Armenian_lyun, Armenian_LYUN ] };
+ key <AC10> { [ Armenian_to, Armenian_TO ] };
+ key <AC11> { [ Armenian_pyur, Armenian_PYUR ] };
+
+ key <LatZ> { [ Armenian_za, Armenian_ZA ] };
+ key <LatX> { [ Armenian_tso, Armenian_TSO ] };
+ key <LatC> { [ Armenian_ke, Armenian_KE ] };
+ key <LatV> { [ Armenian_vev, Armenian_VEV ] };
+ key <LatB> { [ Armenian_ben, Armenian_BEN ] };
+ key <LatN> { [ Armenian_nu, Armenian_NU ] };
+ key <LatM> { [ Armenian_men, Armenian_MEN ] };
+ key <AB08> { [ Armenian_sha, Armenian_SHA ] };
+ key <AB09> { [ Armenian_ghat, Armenian_GHAT ] };
+ key <AB10> { [ Armenian_tsa, Armenian_TSA ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "western" {
+ include "am(eastern)"
+ name[Group1]="Armenia - Western";
+
+ // This is exactly the same layout for Western Armenian
+ // as in Windows XP, except:
+ // AE01 (the colon) has been replaced with the Armenian_full_stop and
+ // capital AE07 (ken) with the Armenian ligature ew
+
+ key <LatW> { [ Armenian_vev, Armenian_VEV ] };
+ key <LatT> { [ Armenian_da, Armenian_DA ] };
+ key <LatP> { [ Armenian_ben, Armenian_BEN ] };
+ key <LatD> { [ Armenian_tyun, Armenian_TYUN ] };
+ key <LatG> { [ Armenian_ken, Armenian_KEN ] };
+ key <LatK> { [ Armenian_ke, Armenian_KE ] };
+ key <LatC> { [ Armenian_gim, Armenian_GIM ] };
+ key <LatV> { [ Armenian_vyun, Armenian_VYUN ] };
+ key <LatB> { [ Armenian_pe, Armenian_PE ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "eastern-alt" {
+ include "am(eastern)"
+ name[Group1]="Armenia - Alternative Eastern";
+
+ // This replicates the Windows XP keyboard layout for Eastern
+ // Armenian exactly (including the bug), except:
+ // AE01 (the colon) has been replaced with the Armenian_full_stop and
+ // capital AE07 (ken) with the Armenian ligature ew
+
+ key <LatG> { [ Armenian_ke, Armenian_KE ] };
+ key <LatC> { [ Armenian_gim, Armenian_GIM ] };
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/ara b/xorg-server/xkeyboard-config/symbols/ara
new file mode 100644
index 000000000..90a584475
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ara
@@ -0,0 +1,278 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/ar' file
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Arabic";
+
+// NOTES:
+//
+// there is also combined shadda diacritis in AltGr position of simple
+// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan
+// should a third state be added to Group2 ?
+//
+
+ key <TLDE> { [ Arabic_thal, Arabic_shadda ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, parenleft ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ Arabic_dad, Arabic_fatha ] };
+ key <AD02> { [ Arabic_sad, Arabic_fathatan ] };
+ key <AD03> { [ Arabic_theh, Arabic_damma ] };
+ key <AD04> { [ Arabic_qaf, Arabic_dammatan ] };
+ key <AD05> { [ Arabic_feh, 0x100fef9, 0x10006a4 ] };
+ key <AD06> { [ Arabic_ghain, Arabic_hamzaunderalef ] };
+ key <AD07> { [ Arabic_ain, grave ] };
+ key <AD08> { [ Arabic_ha, division ] };
+ key <AD09> { [ Arabic_khah, multiply ] };
+ key <AD10> { [ Arabic_hah, Arabic_semicolon ] };
+ key <AD11> { [ Arabic_jeem, less, 0x1000686 ] };
+ key <AD12> { [ Arabic_dal, greater ] };
+
+ key <AC01> { [ Arabic_sheen, Arabic_kasra ] };
+ key <AC02> { [ Arabic_seen, Arabic_kasratan ] };
+ key <AC03> { [ Arabic_yeh, bracketright ] };
+ key <AC04> { [ Arabic_beh, bracketleft, 0x100067e ] };
+ key <AC05> { [ Arabic_lam, 0x100fef7 ] };
+ key <AC06> { [ Arabic_alef, Arabic_hamzaonalef ] };
+ key <AC07> { [ Arabic_teh, Arabic_tatweel ] };
+ key <AC08> { [ Arabic_noon, Arabic_comma ] };
+ key <AC09> { [ Arabic_meem, slash ] };
+ key <AC10> { [ Arabic_kaf, colon, 0x10006af ] };
+ key <AC11> { [ Arabic_tah, quotedbl ] };
+
+ key <LSGT> { [ bar, brokenbar ] };
+ key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright ] };
+ key <AB02> { [ Arabic_hamza, Arabic_sukun, guillemotleft ] };
+ key <AB03> { [Arabic_hamzaonwaw, braceright ] };
+ key <AB04> { [ Arabic_ra, braceleft ] };
+ key <AB05> { [ 0x100fefb, 0x100fef5 ] };
+ key <AB06> { [Arabic_alefmaksura, Arabic_maddaonalef ] };
+ key <AB07> { [Arabic_tehmarbuta, apostrophe ] };
+ key <AB08> { [ Arabic_waw, comma ] };
+ key <AB09> { [ Arabic_zain, period ] };
+ key <AB10> { [ Arabic_zah, Arabic_question_mark ] };
+
+ include "level3(ralt_switch)"
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+ include "ara(basic)"
+ name[Group1]= "Arabic - qwerty";
+};
+
+partial alphanumeric_keys
+xkb_symbols "azerty" {
+ include "ara(basic)"
+ name[Group1]= "Arabic - azerty";
+
+ // the north african arabic keyboard differs from the middle east one
+ // by the numeric row; it follows French keyboard style
+ //
+ // PROBLEM: some chars are inaccessible: ! @ # $ % ^ *
+ // should they go elsewhere? replace " ' that are now in double ?
+ // also, dead_circumflex and dead_diaeresis from French keyboard
+ // as well as ugrave are missing, which questions the utility of the
+ // other accentuated latin letters. Maybe this is useful only with
+ // a French keyboard in Group1 ? Then, shouldn't Group1 be filled ?
+
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [ eacute, 2 ] };
+ key <AE03> { [ quotedbl, 3 ] };
+ key <AE04> { [ apostrophe, 4 ] };
+ key <AE05> { [ parenleft, 5 ] };
+ key <AE06> { [ minus, 6 ] };
+ key <AE07> { [ egrave, 7 ] };
+ key <AE08> { [ underscore, 8 ] };
+ key <AE09> { [ ccedilla, 9 ] };
+ key <AE10> { [ agrave, 0 ] };
+ key <AE11> { [ parenright, degree ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "digits" {
+ include "ara(basic)"
+ name[Group1]= "Arabic - digits";
+
+ // use arabic script digits
+
+ key <AE01> { [ 0x1000661, exclam ] };
+ key <AE02> { [ 0x1000662, at ] };
+ key <AE03> { [ 0x1000663, numbersign ] };
+ key <AE04> { [ 0x1000664, dollar ] };
+ key <AE05> { [ 0x1000665, Arabic_percent ] };
+ key <AE06> { [ 0x1000666, asciicircum ] };
+ key <AE07> { [ 0x1000667, ampersand ] };
+ key <AE08> { [ 0x1000668, asterisk ] };
+ key <AE09> { [ 0x1000669, parenright ] };
+ key <AE10> { [ 0x1000660, parenleft ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty_digits" {
+ include "ara(digits)"
+ name[Group1]= "Arabic - qwerty/digits";
+};
+
+partial alphanumeric_keys
+xkb_symbols "azerty_digits" {
+ include "ara(azerty)"
+ name[Group1]= "Arabic - azerty/digits";
+
+ key <AE01> { [ ampersand, 0x1000661 ] };
+ key <AE02> { [ eacute, 0x1000662 ] };
+ key <AE03> { [ quotedbl, 0x1000663 ] };
+ key <AE04> { [ apostrophe, 0x1000664 ] };
+ key <AE05> { [ parenleft, 0x1000665 ] };
+ key <AE06> { [ minus, 0x1000666 ] };
+ key <AE07> { [ egrave, 0x1000667 ] };
+ key <AE08> { [ underscore, 0x1000668 ] };
+ key <AE09> { [ ccedilla, 0x1000669 ] };
+ key <AE10> { [ agrave, 0x1000660 ] };
+};
+
+// Arabic keyboard using Buckwalter transliteration
+// http://www.qamus.org/transliteration.htm
+// Martin Vidner
+
+// symbol names: see /usr/X11R6/include/X11/keysymdef.h (XFree86-devel.rpm)
+
+partial alphanumeric_keys
+xkb_symbols "buckwalter" {
+ name[Group1]= "Arabic - Buckwalter";
+
+ // ARABIC LETTER SUPERSCRIPT ALEF
+ key <TLDE> { [ 0x1000670, Arabic_shadda ] };
+
+ // Arabic_0 .. Arabic_9 do not work in Kate,
+ // Unicode never seems to work worse.
+ key <AE01> { [ 0x1000661, VoidSymbol ] };
+ key <AE02> { [ 0x1000662, VoidSymbol ] };
+ key <AE03> { [ 0x1000663, VoidSymbol ] };
+ key <AE04> { [ 0x1000664, Arabic_sheen ] };
+ key <AE05> { [ 0x1000665, Arabic_percent ] };
+ key <AE06> { [ 0x1000666, VoidSymbol ] };
+ key <AE07> { [ 0x1000667, Arabic_hamzaonwaw ] };
+ key <AE08> { [ 0x1000668, Arabic_thal ] };
+ // ORNATE LEFT PARENTHESIS
+ key <AE09> { [ 0x1000669, 0x100fd3e ] };
+ // ORNATE RIGHT PARENTHESIS
+ key <AE10> { [ 0x1000660, 0x100fd3f ] };
+ key <AE11> { [ minus, Arabic_tatweel ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ Arabic_qaf, VoidSymbol ] };
+ key <AD02> { [ Arabic_waw, Arabic_hamzaonwaw ] };
+ key <AD03> { [ VoidSymbol, Arabic_ain ] };
+ key <AD04> { [ Arabic_ra, VoidSymbol ] };
+ key <AD05> { [ Arabic_teh, Arabic_tah ] };
+ key <AD06> { [ Arabic_yeh, Arabic_alefmaksura ] };
+ key <AD07> { [ Arabic_damma, VoidSymbol ] };
+ key <AD08> { [ Arabic_kasra, Arabic_hamzaunderalef ] };
+ key <AD09> { [ Arabic_sukun, Arabic_hamzaonalef ] };
+ key <AD10> { [ Arabic_tehmarbuta, VoidSymbol ] };
+ // ARABIC LETTER ALEF WASLA
+ key <AD11> { [ VoidSymbol, 0x1000671 ] };
+ key <AD12> { [ VoidSymbol, Arabic_hamzaonyeh ] };
+
+ key <AC01> { [ Arabic_fatha, Arabic_alef ] };
+ key <AC02> { [ Arabic_seen, Arabic_sad ] };
+ key <AC03> { [ Arabic_dal, Arabic_dad ] };
+ key <AC04> { [ Arabic_feh, Arabic_fathatan ] };
+ key <AC05> { [ Arabic_ghain, VoidSymbol ] };
+ key <AC06> { [ Arabic_ha, Arabic_hah ] };
+ key <AC07> { [ Arabic_jeem, VoidSymbol ] };
+ key <AC08> { [ Arabic_kaf, Arabic_kasratan ] };
+ key <AC09> { [ Arabic_lam, VoidSymbol ] };
+ key <AC10> { [ Arabic_semicolon, VoidSymbol ] };
+ key <AC11> { [ Arabic_hamza, VoidSymbol ] };
+
+ key <BKSL> { [ VoidSymbol, Arabic_maddaonalef ] };
+
+// key <LSGT> { [ bar, brokenbar ] };
+
+ key <AB01> { [ Arabic_zain, Arabic_zah ] };
+ key <AB02> { [ Arabic_khah, VoidSymbol ] };
+ key <AB03> { [ VoidSymbol, VoidSymbol ] };
+ key <AB04> { [ Arabic_theh, VoidSymbol ] };
+ key <AB05> { [ Arabic_beh, VoidSymbol ] };
+ key <AB06> { [ Arabic_noon, Arabic_dammatan ] };
+ key <AB07> { [ Arabic_meem, VoidSymbol ] };
+ key <AB08> { [ Arabic_comma, Arabic_hamzaunderalef ] };
+ // ARABIC FULL STOP (Urdu)
+ key <AB09> { [ 0x10006d4, Arabic_hamzaonalef ] };
+ key <AB10> { [ VoidSymbol, Arabic_question_mark ] };
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ include "ara(basic)"
+
+ // As part of the olpc design some changes were made to the Arabic
+ // keyboard design. Major changes are:
+ //
+ // * Removed the lam-alef single character. Poeple type as they
+ // pronounce, and lam-alef is just a visual formatting of the
+ // sequence and is not often used on the keyboard. It is
+ // similar to the Allah single character, which is also not on
+ // the keyboard.
+ // * Moved the following keys:
+ // o Thal from TLDE to AB05: Due to space limitation on the
+ // keybaord, but also accessibility
+ // o Shadda from TLDE to AD05
+ // * Placed currency letters on number keys and moved the ^ and &
+ // characters to lower keys (This change is worth revisiting
+ // before end of test period)
+
+ key <TLDE> { [ grave, asciitilde ] };
+
+ key <AE01> { [ 0x1000661, exclam ] };
+ key <AE02> { [ 0x1000662, at ] };
+ key <AE03> { [ 0x1000663, numbersign ] };
+ key <AE04> { [ 0x1000664, dollar ] };
+ key <AE05> { [ 0x1000665, Arabic_percent ] };
+ key <AE06> { [ 0x1000666, sterling ] };
+ key <AE07> { [ 0x1000667, EuroSign ] };
+ key <AE08> { [ 0x1000668, asterisk ] };
+ key <AE09> { [ 0x1000669, parenright ] };
+ key <AE10> { [ 0x1000660, parenleft ] };
+
+ key <AD05> { [ Arabic_feh, Arabic_shadda ] };
+
+ key <AD08> { [ Arabic_heh, division ] };
+ key <AD11> { [ Arabic_jeem, braceright ] };
+ key <AD12> { [ Arabic_dal, braceleft ] };
+
+ key <AC01> { [ Arabic_sheen, greater ] };
+ key <AC02> { [ Arabic_seen, less ] };
+ key <AC05> { [ Arabic_lam, ampersand ] };
+ key <AC10> { [ Arabic_kaf ] };
+ key <AC11> { [ Arabic_tah ] };
+
+ key <BKSL> { [ backslash, bar ] };
+
+
+ // REH isolated form?
+ key <AB03> { [ Arabic_hamzaonwaw, Arabic_kasra ] };
+ key <AB04> { [ Arabic_ra, Arabic_kasratan ] };
+ key <AB05> { [ Arabic_thal, asciicircum ] };
+
+ include "group(olpc)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/az b/xorg-server/xkeyboard-config/symbols/az
new file mode 100644
index 000000000..254cf7f8c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/az
@@ -0,0 +1,94 @@
+// $XKeyboardConfig$
+
+// based on:
+// symbols definition for a very simple Azerbaidjani keyboard layout.
+// 2001 - Pablo Saratxaga <pablo@mandrakesoft.com>
+
+partial default alphanumeric_keys
+xkb_symbols "latin" {
+
+ include "us"
+
+ name[Group1]= "Azerbaijan";
+
+ key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
+
+ key <AE03> { [ 3, numbersign, U2166 ] };
+ key <AE06> { [ 6, colon, EuroSign, periodcentered ] };
+ key <AE07> { [ 7, question ] };
+
+ key <AE08> { [ 8, asterisk, asciicircum, dead_circumflex ] };
+ key <AE11> { [ minus, underscore, hyphen, emdash ] };
+
+ key <AD02> { [ udiaeresis, Udiaeresis ] };
+ key <AD04> { [ r, R, registered ] };
+ key <AD08> { [ i, Iabovedot ] };
+ key <AD11> { [ odiaeresis, Odiaeresis, bracketleft, braceleft ] };
+ key <AD12> { [ gbreve, Gbreve, bracketright, braceright ] };
+
+ key <AC10> { [ idotless, I ] };
+ key <AC11> { [ schwa, SCHWA ] };
+
+ key <AB03> { [ c, C, copyright, division ] };
+ key <AB07> { [ m, M, periodcentered, currency ] };
+ key <AB08> { [ ccedilla, Ccedilla ] };
+ key <AB09> { [ scedilla, Scedilla ] };
+ key <AB10> { [ period, comma ] };
+ // End alphanumeric section
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "cyrillic" {
+
+ name[Group1]= "Azerbaijan - Cyrillic";
+
+ key <AE02> {[ 2, quotedbl ] };
+ key <AE03> {[ 3, numbersign ] };
+ key <AE04> {[ 4, semicolon ] };
+ key <AE06> {[ 6, colon ] };
+ key <AE07> {[ 7, question ] };
+ key <AE08> {[ 8, asterisk, braceleft ] };
+ key <AE09> {[ 9, parenleft, bracketleft ] };
+ key <AE10> {[ 0, parenright, bracketright ] };
+ key <AE11> {[ minus, underscore, braceright ] };
+
+ key <AD01> {[ Cyrillic_je, Cyrillic_JE ] };
+ key <AD02> {[ Cyrillic_u_straight, Cyrillic_U_straight ] };
+ key <AD03> {[ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> {[ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> {[ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> {[ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> {[ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> {[ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> {[ Cyrillic_shha, Cyrillic_SHHA ] };
+ key <AD10> {[ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> {[ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> {[ Cyrillic_che_vertstroke, Cyrillic_CHE_vertstroke ] };
+
+ key <AC01> {[ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> {[ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC03> {[ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> {[ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> {[ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> {[ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> {[ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> {[ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> {[ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> {[ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> {[ Cyrillic_ka_vertstroke,Cyrillic_KA_vertstroke ] };
+
+ key <AB01> {[ Cyrillic_schwa, Cyrillic_SCHWA ] };
+ key <AB02> {[ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> {[ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> {[ Cyrillic_em, Cyrillic_EM ] };
+ key <AB05> {[ Cyrillic_i, Cyrillic_I ] };
+ key <AB06> {[ Cyrillic_te, Cyrillic_TE ] };
+ key <AB07> {[ Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
+ key <AB08> {[ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> {[ Cyrillic_o_bar, Cyrillic_O_bar ] };
+ key <AB10> {[ period, comma ] };
+
+ // End alphanumeric section
+};
diff --git a/xorg-server/xkeyboard-config/symbols/ba b/xorg-server/xkeyboard-config/symbols/ba
new file mode 100644
index 000000000..68a887a94
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ba
@@ -0,0 +1,43 @@
+// $XKeyboardConfig$
+//
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]="Bosnia and Herzegovina";
+
+ include "rs(latin)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "us" {
+
+ name[Group1]= "Bosnia and Herzegovina - US keyboard with Bosnian letters";
+
+ include "rs(latinyz)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "alternatequotes" {
+
+ name[Group1]= "Bosnia and Herzegovina - Use guillemets for quotes";
+
+ include "rs(latinalternatequotes)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "unicode" {
+
+ name[Group1]= "Bosnia and Herzegovina - Use Bosnian digraphs";
+
+ include "rs(latinunicode)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "unicodeus" {
+
+ name[Group1]= "Bosnia and Herzegovina - US keyboard with Bosnian digraphs";
+
+ include "rs(latinunicodeyz)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/bd b/xorg-server/xkeyboard-config/symbols/bd
new file mode 100644
index 000000000..1f622e9fd
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/bd
@@ -0,0 +1,98 @@
+// $XKeyboardConfig$
+//
+// XKB symbol :: National Bangla/Bengali Standard Keyboard Layout for Bangladesh
+// Ref: http://www.bcc.net.bd/keyboard/bsti_kb_specification.pdf
+//
+// Author: Jamil Ahmed <jamil at bengalinux.org>
+// Created: 18-12-2005
+// Last Updated: 08-01-2006
+// Version: 6.01.3
+//
+// Issues:
+// <AC08> Khanda-Ta is given U-09CE; But BCC had U-09BA
+// <AC07> U-09BB is added though it is not allocated in Original Unicode
+// <AE06> U-09B3 is added though it is not allocated in Original Unicode
+// 3 Conjunct characters are not included
+//
+
+default partial alphanumeric_keys
+
+xkb_symbols "basic" {
+ name[Group1]= "Bangladesh";
+ key <ESC> { [ Escape ] };
+
+// numbers
+ key <TLDE> { [ quoteleft, asciitilde, voidsymbol, voidsymbol ] };
+ key <AE01> { [ 0x10009E7, exclam, 0x10009F4, voidsymbol ] };
+ key <AE02> { [ 0x10009E8, at, 0x10009F5, voidsymbol ] };
+ key <AE03> { [ 0x10009E9, numbersign, 0x10009F6, voidsymbol ] };
+ key <AE04> { [ 0x10009EA, dollar, 0x10009F3, 0x10009F2 ] };
+ key <AE05> { [ 0x10009EB, percent, 0x10009F7, voidsymbol ] };
+ key <AE06> { [ 0x10009EC, asciicircum, 0x10009F8, 0x10009B3 ] };
+ key <AE07> { [ 0x10009ED, ampersand, 0x1000902, voidsymbol ] };
+ key <AE08> { [ 0x10009EE, asterisk, voidsymbol, voidsymbol ] };
+ key <AE09> { [ 0x10009EF, parenleft, voidsymbol, voidsymbol ] };
+ key <AE10> { [ 0x10009E6, parenright, 0x10009F9, voidsymbol ] };
+ key <AE11> { [ minus, underscore, 0x100200C, voidsymbol ] };
+ key <AE12> { [ equal, plus, 0x100200D, voidsymbol ] };
+ key <BKSP> { [ BackSpace ] };
+
+// tab, q to ]
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ 0x1000999, 0x1000982, 0x10009E2, 0x10009E3 ] };
+ key <AD02> { [ 0x10009AF, 0x10009DF, voidsymbol, voidsymbol ] };
+ key <AD03> { [ 0x10009A1, 0x10009A2, 0x10009C4, voidsymbol ] };
+ key <AD04> { [ 0x10009AA, 0x10009AB, voidsymbol, voidsymbol ] };
+ key <AD05> { [ 0x100099F, 0x10009A0, voidsymbol, voidsymbol ] };
+ key <AD06> { [ 0x100099A, 0x100099B, voidsymbol, voidsymbol ] };
+ key <AD07> { [ 0x100099C, 0x100099D, voidsymbol, voidsymbol ] };
+ key <AD08> { [ 0x10009B9, 0x100099E, 0x10009BD, voidsymbol ] };
+ key <AD09> { [ 0x1000997, 0x1000998, voidsymbol, voidsymbol ] };
+ key <AD10> { [ 0x10009DC, 0x10009DD, voidsymbol, voidsymbol ] };
+ key <AD11> { [ bracketleft, braceleft, voidsymbol, voidsymbol ] };
+ key <AD12> { [ bracketright, braceright, voidsymbol, voidsymbol ] };
+ key <RTRN> { [ Return ] };
+
+// caps, a to '
+// key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ 0x10009C3, 0x10009D7, 0x100098B, 0x10009E0 ] };
+ key <AC02> { [ 0x10009C1, 0x10009C2, 0x1000989, 0x100098A ] };
+ key <AC03> { [ 0x10009BF, 0x10009C0, 0x1000987, 0x1000988 ] };
+ key <AC04> { [ 0x10009AC, 0x10009AD, 0x10009F0, 0x10009F1 ] };
+ key <AC05> { [ 0x10009CD, 0x1000964, 0x1000965, voidsymbol ] };
+ key <AC06> { [ 0x10009BE, 0x1000985, 0x1000986, voidsymbol ] };
+ key <AC07> { [ 0x1000995, 0x1000996, 0x10009BB, voidsymbol ] };
+ key <AC08> { [ 0x10009A4, 0x10009A5, 0x10009CE, voidsymbol ] };
+ key <AC09> { [ 0x10009A6, 0x10009A7, 0x100098C, 0x10009E1 ] };
+ key <AC10> { [ semicolon, colon, voidsymbol, voidsymbol ] };
+ key <AC11> { [ quoteright, quotedbl, voidsymbol, voidsymbol ] };
+
+// shift, z to /
+// key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ 0x1000981, 0x1000983, 0x10009FA, voidsymbol ] };
+ key <AB02> { [ 0x10009CB, 0x10009CC, 0x1000993, 0x1000994 ] };
+ key <AB03> { [ 0x10009C7, 0x10009C8, 0x100098F, 0x1000990 ] };
+ key <AB04> { [ 0x10009B0, 0x10009B2, voidsymbol, voidsymbol ] };
+ key <AB05> { [ 0x10009A8, 0x10009A3, voidsymbol, voidsymbol ] };
+ key <AB06> { [ 0x10009B8, 0x10009B7, voidsymbol, voidsymbol ] };
+ key <AB07> { [ 0x10009AE, 0x10009B6, voidsymbol, voidsymbol ] };
+ key <AB08> { [ comma, less, voidsymbol, voidsymbol ] };
+ key <AB09> { [ period, greater, 0x10009BC, voidsymbol ] };
+ key <AB10> { [ slash, question, voidsymbol, voidsymbol ] };
+ key <BKSL> { [ backslash, bar, voidsymbol, voidsymbol ] };
+
+// third level with right-Alt
+ include "level3(ralt_switch)"
+
+};
+
+
+//
+// XKB symbol :: Probhat Bangla/Bengali Keyboard Layout
+// Ref: www.ankurbangla.org/images/probhat_layout.png
+//
+
+xkb_symbols "probhat" {
+ include "in(ben_probhat)"
+ name[Group1]= "Bangladesh - Probhat";
+};
diff --git a/xorg-server/xkeyboard-config/symbols/be b/xorg-server/xkeyboard-config/symbols/be
new file mode 100644
index 000000000..040f1b42e
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/be
@@ -0,0 +1,236 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/be' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/be,v 1.3 2003/04/12 10:53:48 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin"
+
+ name[Group1]="Belgium";
+
+ key <AE01> { [ ampersand, 1, bar, exclamdown ] };
+ key <AE02> { [ eacute, 2, at, oneeighth ] };
+ key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
+ key <AE04> { [apostrophe, 4, onequarter, dollar ] };
+ key <AE05> { [ parenleft, 5, onehalf, threeeighths ] };
+ key <AE06> { [ section, 6, asciicircum, fiveeighths ] };
+ key <AE07> { [ egrave, 7, braceleft, seveneighths ] };
+ key <AE08> { [ exclam, 8, bracketleft, trademark ] };
+ key <AE09> { [ ccedilla, 9, braceleft, plusminus ] };
+ key <AE10> { [ agrave, 0, braceright, degree ] };
+ key <AE11> { [parenright, degree, backslash, questiondown ] };
+ key <AE12> { [ minus, underscore, dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [ a, A, at, Greek_OMEGA ] };
+ key <AD02> { [ z, Z, lstroke, Lstroke ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD09> { [ o, O, oe, OE ] }; // o O œ Œ
+ key <AD11> { [dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] };
+ key <AD12> { [ dollar, asterisk, bracketright, dead_macron ] };
+
+ key <AC01> { [ q, Q, ae, AE ] };
+ key <AC10> { [ m, M, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ ugrave, percent, dead_acute, dead_caron ] };
+ key <TLDE> { [twosuperior, threesuperior, notsign, notsign ] };
+
+ key <BKSL> { [ mu, sterling, dead_grave, dead_breve ] };
+ key <AB01> { [ w, W, guillemotleft, less ] };
+ key <AB07> { [ comma, question, dead_cedilla, masculine ] };
+ key <AB08> { [ semicolon, period, horizconnector, multiply ] };
+ key <AB09> { [ colon, slash, periodcentered, division ] };
+ key <AB10> { [ equal, plus, dead_tilde, dead_abovedot] };
+ key <LSGT> { [ less, greater, backslash, backslash ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+// Variant of the fr(oss) layout for Belgium
+// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+//
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
+// │ ³ ≤ │ 1 ≥ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ™ │ 7 È │ 8 ¡ │ 9 Ç │ 0 À │ ° Ø │ _ ± ┃ ⌫ Retour┃
+// │ ² ¹ │ & | │ é @ │ " # │ ' ¸ │ ( ˇ │ § ^ │ è ` │ ! ~ │ ç { │ à } │ ) ø │ - ‑ ┃ arrière┃
+// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
+// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ * ̨ ┃Entrée ┃
+// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ [ │ $ ] ┃ ⏎ ┃
+// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
+// ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L Ł │ M Ö │ % Ù │ £ ̄ ┃ ┃
+// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l ł │ m ö │ ù ' │ µ ` ┃ ┃
+// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
+// ┃ ┃ > ≠ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ + − ┃ ┃
+// ┃Shift ⇧┃ < \ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ = ~ ┃Shift ⇧ ┃
+// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
+// ┃ ┃ ┃ ┃ ␣ Espace insécable ⍽ ┃ ┃ ┃ ┃
+// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
+partial alphanumeric_keys
+xkb_symbols "oss" {
+
+ include "fr(oss)"
+ include "be(oss_frbe)"
+
+ name[Group1]="Belgium - Alternative";
+};
+
+partial alphanumeric_keys
+xkb_symbols "oss_frbe" {
+ // First row
+ key <TLDE> { [ twosuperior, threesuperior, onesuperior, lessthanequal ] }; // ² ³ ¹ ≤
+ key <AE01> { [ ampersand, 1, bar, greaterthanequal ] }; // & 1 | ≥
+ key <AE02> { [ eacute, 2, at, Eacute ] }; // é 2 @ É
+ key <AE04> { [ apostrophe, 4, dead_cedilla, 0x1002014 ] }; // ' 4 ¸ — (tiret cadratin)
+ key <AE05> { [ parenleft, 5, dead_caron, 0x1002013 ] }; // ( 5 ˇ – (tiret demi-cadratin)
+ key <AE06> { [ section, 6, asciicircum, trademark ] }; // § 6 ^ ™
+ key <AE08> { [ exclam, 8, asciitilde, exclamdown ] }; // ! 8 ~ ¡
+ key <AE09> { [ ccedilla, 9, braceleft, Ccedilla ] }; // ç 9 { Ç
+ key <AE10> { [ agrave, 0, braceright, Agrave ] }; // à 0 } À
+ key <AE11> { [ parenright, degree, oslash, Ooblique ] }; // ) ° ø Ø
+ key <AE12> { [ minus, underscore, 0x1002011, plusminus ] }; // - _ - (tiret insécable) ±
+
+ // Second row
+ key <AD11> { [ dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] }; // ^ ̈ [ ˚
+ key <AD12> { [ dollar, asterisk, bracketright, dead_ogonek ] }; // $ * ] ̨
+
+ // Third row
+ key <AC09> { [ l, L, dead_stroke ] }; // l L ł Ł
+ key <BKSL> { [ mu, sterling, dead_grave, dead_macron ] }; // µ £ ` ̄
+
+ // Fourth row
+ key <LSGT> { [ less, greater, backslash, notequal ] }; // < > \ ≠
+ key <AB10> { [ equal, plus, dead_tilde, 0x1002212 ] }; // = + ~ −
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "oss_latin9" {
+
+ // Restricts the be(oss) layout to latin9 symbols
+
+ include "fr(oss_latin9)"
+ include "be(oss_frbe)"
+ include "keypad(oss_latin9)"
+
+ name[Group1]="Belgium - Alternative, latin-9 only";
+
+ // First row
+ key <TLDE> { [ twosuperior, threesuperior, onesuperior, less ] }; // ² ³ ¹ <
+ key <AE01> { [ ampersand, 1, bar, greater ] }; // & 1 | >
+ key <AE04> { [ apostrophe, 4, dead_cedilla, minus ] }; // ' 4 ¸ -
+ key <AE05> { [ parenleft, 5, dead_caron, minus ] }; // ( 5 ˇ -
+ key <AE06> { [ section, 6, asciicircum, asciicircum ] }; // § 6 ^ ^
+ key <AE12> { [ minus, underscore, minus, plusminus ] }; // - _ - ±
+
+ // Second row
+ key <AD12> { [ dollar, asterisk, bracketright, dead_cedilla ] }; // $ * ] ¸
+
+ // Third row
+ key <AC09> { [ l, L, l, L ] }; // l L l L
+ key <BKSL> { [ mu, sterling, dead_grave, dead_circumflex ] }; // µ £ ` ^
+
+ // Fourth row
+ key <LSGT> { [ less, greater, backslash, equal ] }; // < > \ =
+ key <AB10> { [ equal, plus, dead_tilde, minus ] }; // = + ~ -
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "oss_Sundeadkeys" {
+
+ // Modifies the basic be(oss) layout to use the Sun dead keys
+
+ include "be(oss)"
+
+ // First row
+ key <AE04> { [ apostrophe, 4, dead_cedilla, 0x1002014 ] }; // ' 4 ¸ — (tiret cadratin)
+
+ // Second row
+ key <AD11> { [ dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] }; // ^ ̈ [ ˚
+
+ //Third row
+ key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù
+ key <BKSL> { [ mu, sterling, dead_grave, dead_macron ] }; // µ £ ` ̄
+
+ // Fourth row
+ key <AB10> { [ equal, plus, dead_tilde, 0x1002212 ] }; // = + ~ −
+};
+
+partial alphanumeric_keys
+xkb_symbols "oss_sundeadkeys" {
+
+ include "be(oss_Sundeadkeys)"
+
+ name[Group1]="Belgium - Alternative, Sun dead keys";
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "iso-alternate" {
+ include "be(basic)"
+ name[Group1]="Belgium - ISO Alternate";
+
+ key <AD01> { [ a, A, ae, AE ] };
+ key <AD02> { [ z, Z, guillemotleft, less ] };
+ key <AC01> { [ q, Q, at, Greek_OMEGA ] };
+ key <AC10> { [ m, M, mu, masculine ] };
+ key <AB01> { [ w, W, lstroke, Lstroke ] };
+ key <AB07> { [ comma, question, dead_cedilla, dead_doubleacute ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ // Use the Sun dead keys
+
+ include "be(basic)"
+ name[Group1]="Belgium - Sun dead keys";
+
+ key <AD11> { [dead_circumflex, dead_diaeresis, bracketleft, bracketleft] };
+ key <AC11> { [ ugrave, percent, dead_acute, dead_acute ] };
+ key <BKSL> { [ mu, sterling, dead_grave, dead_grave ] };
+ key <AB07> { [ comma, question, dead_cedilla, dead_cedilla] };
+ key <AB10> { [ equal, plus, dead_tilde, dead_tilde ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // Use the Sun dead keys
+
+ include "be(sundeadkeys)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Eliminates dead keys from the basic Belgian layout
+
+ include "be(basic)"
+ name[Group1]="Belgium - Eliminate dead keys";
+
+ key <AE12> { [ minus, underscore, cedilla, ogonek ] };
+ key <AD11> { [asciicircum, diaeresis, bracketleft, bracketleft] };
+ key <AD12> { [ dollar, asterisk, bracketright, macron ] };
+ key <AC10> { [ m, M, acute, doubleacute ] };
+ key <AC11> { [ ugrave, percent, quoteright, quoteright ] };
+ key <BKSL> { [ mu, sterling, quoteleft, quoteleft ] };
+ key <AB07> { [ comma, question, cedilla, masculine ] };
+ key <AB10> { [ equal, plus, asciitilde, asciitilde ] };
+};
+
+// Wang model 724 azerty Belgium keyboard
+partial alphanumeric_keys
+xkb_symbols "wang" {
+
+ include "be(basic)"
+ include "keypad(legacy_wang)"
+ name[Group1]="Belgium - Wang model 724 azerty";
+
+ // Engravings on Wang 725-3771-ae
+ key <TLDE> { [ twosuperior, threesuperior, notsign, asciitilde ] };
+ key <LSGT> { [ less, greater, backslash, brokenbar ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/bg b/xorg-server/xkeyboard-config/symbols/bg
new file mode 100644
index 000000000..d10204e8e
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/bg
@@ -0,0 +1,362 @@
+//////////////////////////////////////////////////////////////////////////
+// Copyright (C) 1999, 2000, 2007, 2009 by Anton Zinoviev <anton@lml.bas.bg>
+//
+// This software may be used, modified, copied, distributed, and sold,
+// both in source and binary form provided that the above copyright
+// notice and these terms are retained. The name of the author may not
+// be used to endorse or promote products derived from this software
+// without prior permission. THIS SOFTWARE IS PROVIDES "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED. IN NO EVENT
+// SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE.
+//
+//////////////////////////////////////////////////////////////////////////
+// Version 2.0
+
+// The following variants are defined in this file:
+
+// "bds" - the BDS keyboard layout compliant with the proposed
+// Bulgarian state standard BDS 5237:2006
+
+// "phonetic" - Bulgarian phonetic layout with traditional position of
+// the letters.
+
+// "bas_phonetic" - the phonetic keyboard layout compliant with the
+// proposed Bulgarian state standard BDS 5237:2006
+
+// "latin" - an extended variant of the QWERTY layout with symbols
+// Bulgarian users will type while the keyboard is in Latin mode.
+
+// The reasons behind the layout of the symbols in levels 3 and 4 are
+// explained in http://arxiv.org/abs/0905.0484 (in Bulgarian).
+
+// Two notes for the maintainers of xkeyboard-config:
+
+// 1. Please do not use key names such as <LatQ> for the Bulgarian
+// phonetic layouts. The placement of the symbols must stay always
+// the same regardless of which one of the alias sets in
+// xkb/keycodes/aliases is used.
+
+// 2. The layouts should not include level3(ralt_switch).
+
+//////////////////////////////////////////////////////////////////////////
+
+// Describes Bulgarian keyboard "BDS" modified according to the
+// the new state standard BDS 5237:2006 and extended with symbols in
+// levels 3 and 4.
+partial default alphanumeric_keys
+xkb_symbols "bds" {
+
+ name[Group1]= "Bulgaria";
+
+ key <TLDE> { [ parenleft, parenright,
+ bracketleft, bracketright ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, question ] };
+ key <AE03> { [ 3, plus,
+ dagger, dagger ] };
+ key <AE04> { [ 4, quotedbl ] };
+ key <AE05> { [ 5, percent,
+ U2329, U232A ] };
+ key <AE06> { [ 6, equal,
+ emdash, emdash ] };
+ key <AE07> { [ 7, colon,
+ ellipsis, ellipsis ] };
+ key <AE08> { [ 8, slash,
+ U0300, U0301 ] };
+ key <AE09> { [ 9, endash ] };
+ key <AE10> { [ 0, numerosign ] };
+ key <AE11> { [ minus, dollar,
+ U2011, EuroSign ] };
+ key <AE12> { [ period, EuroSign ] };
+
+
+ key <AD01> { [ comma, Cyrillic_yeru,
+ rightsinglequotemark, leftsinglequotemark ] };
+ key <AD02> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD03> { [ Cyrillic_ie, Cyrillic_IE,
+ Cyrillic_e, Cyrillic_E ] };
+ key <AD04> { [ Cyrillic_i, Cyrillic_I,
+ U045D, U040D ] };
+ key <AD05> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD06> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD07> { [ Cyrillic_ka, Cyrillic_KA,
+ copyright, copyright ] };
+ key <AD08> { [ Cyrillic_es, Cyrillic_ES,
+ copyright, copyright ] };
+ key <AD09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD12> { [ semicolon, section ] };
+
+
+ key <AC01> { [ Cyrillic_softsign, U045D,
+ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC02> { [ Cyrillic_ya, Cyrillic_YA,
+ U0463, U0462 ] };
+ key <AC03> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC04> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC05> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC06> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AC07> { [ Cyrillic_te, Cyrillic_TE,
+ trademark, trademark ] };
+ key <AC08> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AC09> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC10> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AC11> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <BKSL> { [ doublelowquotemark, leftdoublequotemark,
+ guillemotleft, guillemotright ] };
+
+
+ key <LSGT> { [ U045D, U040D ] };
+ key <AB01> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AB02> { [ Cyrillic_shorti, Cyrillic_SHORTI,
+ U046D, U046C ] };
+ key <AB03> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN,
+ U046B, U046A ] };
+ key <AB04> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AB05> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AB06> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AB07> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AB08> { [ Cyrillic_er, Cyrillic_ER,
+ registered, registered ] };
+ key <AB09> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AB10> { [ Cyrillic_be, Cyrillic_BE ] };
+
+
+ key <SPCE> { [ space, space,
+ nobreakspace, nobreakspace ] };
+
+
+ key <KPDL> { type[Group1] = "KEYPAD",
+ [ KP_Delete, KP_Separator ] };
+};
+
+// This is improved variant of the traditional Bulgarian phonetic
+// keyboard. Some unnecessary symbols in levels 1 and 2 are replaced
+// by more useful (the same way as in "bas_phonetic") and additional
+// symbols in levels 3 and 4 are added.
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+ name[Group1]= "Bulgaria - Traditional phonetic";
+
+ key <TLDE> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numerosign ] };
+ key <AE04> { [ 4, dollar,
+ EuroSign, EuroSign ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, EuroSign ] };
+ key <AE07> { [ 7, section ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft,
+ bracketleft, U2329 ] };
+ key <AE10> { [ 0, parenright,
+ bracketright, U232A ] };
+ key <AE11> { [ minus, endash,
+ U2011, U2011 ] };
+ key <AE12> { [ equal, plus,
+ emdash, dagger ] };
+
+ key <AD01> { [ Cyrillic_ya, Cyrillic_YA,
+ U0463, U0462 ] };
+ key <AD02> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AD03> { [ Cyrillic_ie, Cyrillic_IE,
+ Cyrillic_e, Cyrillic_E ] };
+ key <AD04> { [ Cyrillic_er, Cyrillic_ER,
+ registered, registered ] };
+ key <AD05> { [ Cyrillic_te, Cyrillic_TE,
+ trademark, trademark ] };
+ key <AD06> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN,
+ U046B, U046A ] };
+ key <AD07> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD08> { [ Cyrillic_i, Cyrillic_I,
+ U045D, U040D ] };
+ key <AD09> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AD10> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+
+ key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC02> { [ Cyrillic_es, Cyrillic_ES,
+ copyright, copyright ] };
+ key <AC03> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC04> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AC06> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC07> { [ Cyrillic_shorti, Cyrillic_SHORTI,
+ U046D, U046C ] };
+ key <AC08> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AC09> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ semicolon, colon,
+ ellipsis, ellipsis ] };
+ key <AC11> { [ apostrophe, quotedbl,
+ rightsinglequotemark, leftsinglequotemark ] };
+ key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+
+ key <LSGT> { [ U045D, U040D ] };
+ key <AB01> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AB02> { [ Cyrillic_softsign, U045D,
+ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AB03> { [ Cyrillic_tse, Cyrillic_TSE,
+ copyright, copyright ] };
+ key <AB04> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AB05> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB08> { [ comma, doublelowquotemark,
+ guillemotleft, guillemotleft ] };
+ key <AB09> { [ period, leftdoublequotemark,
+ guillemotright, guillemotright ] };
+ key <AB10> { [ slash, question,
+ U0300, U0301 ] };
+
+
+ key <SPCE> { [ space, space,
+ nobreakspace, nobreakspace ] };
+
+
+ key <KPDL> { type[Group1] = "KEYPAD",
+ [ KP_Delete, KP_Separator ] };
+
+};
+
+// This is the Bulgarian phonetic keyboard acording to the proposed
+// state standard BDS 5237:2006 with additional symbols in
+// levels 3 and 4.
+partial alphanumeric_keys
+xkb_symbols "bas_phonetic" {
+ include "bg(phonetic)"
+ name[Group1]= "Bulgaria - New phonetic";
+
+ key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AD01> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AD02> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD11> { [ Cyrillic_ya, Cyrillic_YA,
+ U0463, U0462 ] };
+ key <BKSL> { [ Cyrillic_softsign, U045D,
+ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AB02> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AB04> { [ Cyrillic_ve, Cyrillic_VE ] };
+};
+
+
+// This is extended variant of the standard Latin QWERTY layout with
+// additional symbols in levels 3 and 4.
+partial hidden alphanumeric_keys
+xkb_symbols "latin" {
+
+ key <TLDE> { [ grave, asciitilde,
+ U2248, U2245 ] };
+ key <AE01> { [ 1, exclam,
+ notsign, notsign ] };
+ key <AE02> { [ 2, at,
+ twosuperior, enfilledcircbullet ] };
+ key <AE03> { [ 3, numbersign,
+ threesuperior, notequal ] };
+ key <AE04> { [ 4, dollar,
+ EuroSign, sterling ] };
+ key <AE05> { [ 5, percent,
+ U2030, U2030 ] };
+ key <AE06> { [ 6, asciicircum,
+ logicaland, logicalor ] };
+ key <AE07> { [ 7, ampersand,
+ section, section ] };
+ key <AE08> { [ 8, asterisk,
+ infinity, multiply ] };
+ key <AE09> { [ 9, parenleft,
+ U2202, nabla ] };
+ key <AE10> { [ 0, parenright,
+ U2300, U2300 ] };
+ key <AE11> { [ minus, underscore,
+ U2011, endash ] };
+ key <AE12> { [ equal, plus,
+ emdash, plusminus ] };
+
+
+ key <AD01> { [ q, Q,
+ Greek_THETA, Greek_theta ] };
+ key <AD02> { [ w, W,
+ Greek_OMEGA, Greek_omega ] };
+ key <AD03> { [ e, E,
+ U2203, Greek_epsilon ] };
+ key <AD04> { [ r, R,
+ registered, Greek_rho ] };
+ key <AD05> { [ t, T,
+ trademark, Greek_tau ] };
+ key <AD06> { [ y, Y,
+ yen, Greek_upsilon ] };
+ key <AD07> { [ u, U,
+ intersection, union ] };
+ key <AD08> { [ i, I,
+ integral, Greek_iota ] };
+ key <AD09> { [ o, O,
+ degree, U222E ] };
+ key <AD10> { [ p, P,
+ Greek_PI, Greek_pi ] };
+ key <AD11> { [ bracketleft, braceleft,
+ U2286, includedin ] };
+ key <AD12> { [ bracketright, braceright,
+ U2208, U2209 ] };
+
+
+ key <AC01> { [ a, A,
+ U2200, Greek_alpha ] };
+ key <AC02> { [ s, S,
+ Greek_SIGMA, Greek_sigma ] };
+ key <AC03> { [ d, D,
+ Greek_DELTA, Greek_delta ] };
+ key <AC04> { [ f, F,
+ Greek_PHI, Greek_phi ] };
+ key <AC05> { [ g, G,
+ Greek_GAMMA, Greek_gamma ] };
+ key <AC06> { [ h, H,
+ U2225, Greek_eta ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K,
+ U03F0, Greek_kappa ] };
+ key <AC09> { [ l, L,
+ Greek_LAMBDA, Greek_lambda ] };
+ key <AC10> { [ semicolon, colon,
+ division, division ] };
+ key <AC11> { [ apostrophe, quotedbl,
+ leftdoublequotemark, rightdoublequotemark ] };
+ key <BKSL> { [ backslash, bar,
+ identical, downtack ] };
+
+
+ key <LSGT> { [ less, greater,
+ U2266, U2267 ] };
+ key <AB01> { [ z, Z,
+ U2220, Greek_zeta ] };
+ key <AB02> { [ x, X,
+ Greek_XI, Greek_xi ] };
+ key <AB03> { [ c, C,
+ copyright, Greek_chi ] };
+ key <AB04> { [ v, V,
+ Greek_PSI, Greek_psi ] };
+ key <AB05> { [ b, B,
+ U03D1, Greek_beta ] };
+ key <AB06> { [ n, N,
+ U207F, Greek_nu ] };
+ key <AB07> { [ m, M,
+ Greek_mu, Greek_mu ] };
+ key <AB08> { [ comma, less,
+ U2266, U21D4 ] };
+ key <AB09> { [ period, greater,
+ U2267, U21D2 ] };
+ key <AB10> { [ slash, question,
+ leftsinglequotemark, rightsinglequotemark ] };
+
+
+ key <SPCE> { [ space, space,
+ nobreakspace, nobreakspace ] };
+
+
+ key <KPDL> { type[Group1] = "KEYPAD",
+ [ KP_Delete, KP_Decimal ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/br b/xorg-server/xkeyboard-config/symbols/br
new file mode 100644
index 000000000..f9f5cbe5e
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/br
@@ -0,0 +1,320 @@
+// $XKeyboardConfig$
+// $XdotOrg: xc/programs/xkbcomp/symbols/br,v 1.1.4.3 2004/03/05 13:41:32 eich Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/br,v 1.3 2003/04/19 12:22:11 pascal Exp $
+//
+// based on
+// "a very simple Brasilian ABNT2 keyboard
+// by Ricardo Y. Igarashi (iga@that.com.br)
+// Adds suport for dead-keys in I18N applications
+// by Conectiva (http://www.conectiva.com.br)"
+//
+
+default
+xkb_symbols "abnt2" {
+
+ include "latin"
+ name[Group1]="Brazil";
+
+ key <AE02> { [ 2, at, twosuperior, onehalf ] };
+ key <AE03> { [ 3, numbersign, threesuperior, threequarters ] };
+ key <AE04> { [ 4, dollar, sterling, onequarter ] };
+ key <AE05> { [ 5, percent, cent, threeeighths ] };
+ key <AE06> { [ 6, dead_diaeresis, notsign, diaeresis ] };
+ key <AE12> { [ equal, plus, section, dead_ogonek ] };
+
+ key <AD01> { [ q, Q, slash, slash ] };
+ key <AD02> { [ w, W, question, question ] };
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD04> { [ r, R, registered, registered ] };
+ key <AD11> { [dead_acute, dead_grave, acute, grave ] };
+ key <AD12> { [bracketleft, braceleft, ordfeminine, dead_macron ] };
+
+ key <AC10> { [ ccedilla, Ccedilla, dead_acute, dead_doubleacute] };
+ key <AC11> { [dead_tilde, dead_circumflex, asciitilde, asciicircum ] };
+ key <BKSL> { [bracketright, braceright, masculine, masculine ] };
+
+ key <TLDE> { [apostrophe, quotedbl, notsign, notsign ] };
+
+ key <LSGT> { [ backslash, bar, masculine, dead_breve ] };
+ key <AB03> { [ c, C, copyright, copyright ] };
+ key <AB07> { [ m, M, mu, mu ] };
+ key <AB10> { [ semicolon, colon, dead_belowdot, dead_abovedot ] };
+
+// ABNT-2 keyboard has this special key
+
+ key <AB11> { [ slash, question, degree, questiondown ] };
+
+ modifier_map Mod3 { Scroll_Lock };
+
+ include "kpdl(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "br(abnt2)" // for consistent naming
+ name[Group1]="Brazil - Eliminate dead keys";
+
+ key <AE06> { [ 6, diaeresis, notsign, notsign ] };
+ key <AD11> { [apostrophe, grave ] };
+ key <AC10> { [ ccedilla, Ccedilla, acute, doubleacute ] };
+ key <AC11> { [asciitilde, asciicircum ] };
+ key <AB10> { [ semicolon, colon, dead_belowdot, abovedot ] };
+};
+
+
+// ABNT2 Keyboard to IBM/Lenovo Thinkpads
+// by Piter PUNK <piterpk@terra.com.br>
+//
+partial alphanumeric_keys
+xkb_symbols "thinkpad" {
+
+ include "br(abnt2)" // for consistent naming
+ name[Group1]="Brazil";
+
+ key <RCTL> { [ slash, question, degree, questiondown ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ include "us(basic)"
+ name[Group1]="Brazil";
+
+ key <TLDE> { [ apostrophe, quotedbl ] };
+
+ key <AE01> { [ 1, exclam, onesuperior ] };
+ key <AE02> { [ 2, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign, threesuperior ] };
+ key <AE04> { [ 4, dollar, sterling ] };
+ key <AE05> { [ 5, percent, cent ] };
+ key <AE06> { [ 6, dead_diaeresis, notsign ] };
+ key <AE12> { [ equal, plus, section ] };
+
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ dead_acute, dead_grave, acute, grave ] };
+ key <AD12> { [ bracketleft, braceleft, 0x10000AA ] };
+
+ key <AC10> { [ ccedilla, Ccedilla ] };
+ key <AC11> { [ dead_tilde, dead_circumflex ] };
+ key <BKSL> { [ bracketright, braceright, 0x10000BA ] };
+
+ key <AB01> { [ z, Z, bar ] };
+ key <AB03> { [ c, C, 0x10020A2 ] };
+ key <AB09> { [ period, greater, backslash ] };
+ key <AB10> { [ semicolon, colon ] };
+
+ key <I219> { [ slash, question, degree, ISO_Next_Group ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+//
+// Brazilian Dvorak keyboard 2005-04-18
+// "Teclado Simplificado Brasileiro" ou "Dvorak Brasileiro"
+//
+// Heitor Moraes heitor.moraes@gmail.com
+// Luiz Portella lfpor@lujz.org
+// Nando Florestan nando2003@mandic.com.br
+// Ari Caldeira ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+
+ name[Group1]="Brazil - Dvorak";
+
+// Numeric row
+ key <TLDE> { [ apostrophe, quotedbl, dead_caron, dead_doubleacute ] };
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, at, twosuperior, onehalf ] };
+ key <AE03> { [ 3, numbersign, threesuperior, threequarters ] };
+ key <AE04> { [ 4, dollar, sterling, onequarter ] };
+ key <AE05> { [ 5, percent, cent, 0x01002030 ] };
+ key <AE06> { [ 6, dead_diaeresis, notsign, diaeresis ] };
+ key <AE07> { [ 7, ampersand, dead_belowdot, dead_abovedot ] };
+ key <AE08> { [ 8, asterisk, dead_ogonek, dead_horn ] };
+ key <AE09> { [ 9, parenleft, dead_cedilla, dead_hook ] };
+ key <AE10> { [ 0, parenright, dead_macron, dead_breve ] };
+ key <AE11> { [ bracketleft, braceleft, ordfeminine, 0x01000326 ] };
+ key <AE12> { [ bracketright, braceright, masculine, dead_abovering ] };
+
+
+// Upper row
+ key <AD01> { [ slash, question, degree, questiondown ] };
+ key <AD02> { [ comma, less, 0x01000329, 0x01000313 ] };
+ key <AD03> { [ period, greater, 0x01002022, periodcentered ] };
+ key <AD04> { [ p, P, thorn, THORN ] };
+ key <AD05> { [ y, Y, yen, yen ] };
+ key <AD06> { [ f, F, leftdoublequotemark, leftsinglequotemark ] };
+ key <AD07> { [ g, G, rightdoublequotemark, rightsinglequotemark ] };
+ key <AD08> { [ c, C, uparrow, copyright ] };
+ key <AD09> { [ r, R, registered, registered ] };
+ key <AD10> { [ l, L, lstroke, Lstroke ] };
+ key <AD11> { [ dead_acute, dead_grave, acute, grave ] };
+ key <AD12> { [ equal, plus, section, plusminus ] };
+
+// Central row
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ o, O, oe, OE ] };
+ key <AC03> { [ e, E, EuroSign, EuroSign ] };
+ key <AC04> { [ u, U, oslash, Ooblique ] };
+ key <AC05> { [ i, I, idotless, Iabovedot ] };
+ key <AC06> { [ d, D, eth, ETH ] };
+ key <AC07> { [ h, H, leftarrow, paragraph ] };
+ key <AC08> { [ t, T, rightarrow, trademark ] };
+ key <AC09> { [ n, N, eng, ENG ] };
+ key <AC10> { [ s, S, ssharp, ssharp ] };
+ key <AC11> { [ dead_tilde, dead_circumflex, asciitilde, asciicircum ] };
+ key <BKSL> { [ minus, underscore, 0x01002015, 0x01000336 ] };
+
+// Lower row
+ key <LSGT> { [ ccedilla, Ccedilla, backslash, bar ] };
+ key <AB01> { [ semicolon, colon, 0x01000331, 0x0100032D ] };
+ key <AB02> { [ q, Q, 0x01000259, 0x0100018F ] };
+ key <AB03> { [ j, J, 0x01000292, 0x010001B7 ] };
+ key <AB04> { [ k, K, guillemotleft, 0x01002039 ] };
+ key <AB05> { [ x, X, multiply, division ] };
+ key <AB06> { [ b, B, guillemotright, 0x0100203A ] };
+ key <AB07> { [ m, M, downarrow, mu ] };
+ key <AB08> { [ w, W, ubreve, Ubreve ] };
+ key <AB09> { [ v, V, doublelowquotemark, singlelowquotemark ] };
+ key <AB10> { [ z, Z, 0x0100201F, 0x0100201B ] };
+ key <AB11> { [ backslash, bar, currency, brokenbar ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+// Configures the "," for the numeric keypad
+ include "kpdl(comma)"
+
+// Configures the use of the AltGr key
+ include "level3(ralt_switch)"
+
+};
+
+
+//
+// Teclado Nativo Brasileiro 2005-07-19
+// Brazilian Nativo Keyboard
+// This is a Dvorak-based layout, designed for the Portuguese language
+//
+// Ari Caldeira ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo" {
+
+ name[Group1]="Brazil - Nativo";
+
+// Numeric row
+ key <TLDE> { [ equal, plus, section, plusminus ] };
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, at, twosuperior, onehalf ] };
+ key <AE03> { [ 3, numbersign, threesuperior, threequarters ] };
+ key <AE04> { [ 4, dollar, sterling, onequarter ] };
+ key <AE05> { [ 5, percent, cent, 0x01002030 ] };
+ key <AE06> { [ 6, dead_diaeresis, notsign, diaeresis ] };
+ key <AE07> { [ 7, ampersand, dead_belowdot, dead_abovedot ] };
+ key <AE08> { [ 8, asterisk, dead_ogonek, dead_horn ] };
+ key <AE09> { [ 9, parenleft, dead_cedilla, dead_hook ] };
+ key <AE10> { [ 0, parenright, dead_macron, dead_breve ] };
+ key <AE11> { [ bracketleft, braceleft, ordfeminine, 0x01000326 ] };
+ key <AE12> { [ bracketright, braceright, masculine, dead_abovering ] };
+
+// Upper row
+ key <AD01> { [ slash, question, degree, questiondown ] };
+ key <AD02> { [ comma, less, 0x01000329, 0x01000313 ] };
+ key <AD03> { [ period, greater, 0x01002022, periodcentered ] };
+ key <AD04> { [ h, H, paragraph, paragraph ] };
+ key <AD05> { [ x, X, multiply, division ] };
+ key <AD06> { [ w, W, ubreve, Ubreve ] };
+ key <AD07> { [ l, L, lstroke, Lstroke ] };
+ key <AD08> { [ t, T, trademark, trademark ] };
+ key <AD09> { [ c, C, copyright, copyright ] };
+ key <AD10> { [ p, P, thorn, THORN ] };
+ key <AD11> { [ dead_tilde, dead_circumflex, asciitilde, asciicircum ] };
+ key <AD12> { [ minus, underscore, 0x01002015, 0x01000336 ] };
+
+// Central row
+ key <AC01> { [ i, I, idotless, Iabovedot ] };
+ key <AC02> { [ e, E, EuroSign, EuroSign ] };
+ key <AC03> { [ a, A, ae, AE ] };
+ key <AC04> { [ o, O, oe, OE ] };
+ key <AC05> { [ u, U, oslash, Ooblique ] };
+ key <AC06> { [ m, M, mu, mu ] };
+ key <AC07> { [ d, D, eth, ETH ] };
+ key <AC08> { [ s, S, ssharp, ssharp ] };
+ key <AC09> { [ r, R, registered, registered ] };
+ key <AC10> { [ n, N, eng, ENG ] };
+ key <AC11> { [ dead_acute, dead_grave, acute, grave ] };
+ key <BKSL> { [ apostrophe, quotedbl, dead_caron, dead_doubleacute ] };
+
+// Lower row
+ key <LSGT> { [ semicolon, colon, 0x01000331, 0x0100032D ] };
+ key <AB01> { [ y, Y, yen, yen ] };
+ key <AB02> { [ ccedilla, Ccedilla, backslash, bar ] };
+ key <AB03> { [ j, J, 0x01000292, 0x010001B7 ] };
+ key <AB04> { [ b, B, guillemotleft, 0x01002039 ] };
+ key <AB05> { [ k, K, guillemotright, 0x0100203A ] };
+ key <AB06> { [ q, Q, 0x01000259, 0x0100018F ] };
+ key <AB07> { [ v, V, doublelowquotemark, singlelowquotemark ] };
+ key <AB08> { [ g, G, leftdoublequotemark, leftsinglequotemark ] };
+ key <AB09> { [ f, F, rightdoublequotemark, rightsinglequotemark ] };
+ key <AB10> { [ z, Z, 0x0100201F, 0x0100201B ] };
+ key <AB11> { [ backslash, bar, currency, brokenbar ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+// Configures the "," for the numeric keypad
+ include "kpdl(comma)"
+
+// Configures the use of the AltGr key
+ include "level3(ralt_switch)"
+
+};
+
+
+//
+// Teclado Nativo Brasileiro para o teclado estadunidense 2005-07-19
+// Brazilian Nativo Keyboard for USA keyboards
+//
+// Ari Caldeira ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo-us" {
+ include "br(nativo)"
+
+ name[Group1]="Brazil - Nativo for USA keyboards";
+
+// Lower row
+ key <AB01> { [ y, Y, ccedilla, Ccedilla ] };
+ key <AB02> { [ semicolon, colon, backslash, bar ] };
+
+};
+
+
+//
+// Teclado Nativo Brasileiro para digitacao em Esperanto 2005-07-19
+// Brazilian Nativo Keyboard for typing Esperanto
+//
+// Ari Caldeira ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo-epo" {
+ include "br(nativo)"
+
+ name[Group1]="Brazil - Nativo for Esperanto";
+
+// Upper row Esperanto
+ key <AD04> { [ h, H, hcircumflex, Hcircumflex ] };
+ key <AD05> { [ ccircumflex, Ccircumflex, x, X ] };
+ key <AD06> { [ ubreve, Ubreve, w, W ] };
+
+// Lower row Esperanto
+ key <AB01> { [ jcircumflex, Jcircumflex, y, Y ] };
+ key <AB02> { [ scircumflex, Scircumflex, ccedilla, Ccedilla ] };
+ key <AB06> { [ gcircumflex, Gcircumflex, q, Q ] };
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/brai b/xorg-server/xkeyboard-config/symbols/brai
new file mode 100644
index 000000000..e89bed24f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/brai
@@ -0,0 +1,62 @@
+// $XKeyboardConfig$
+
+// 10-dot patterns on the home row + v and n
+partial default alphanumeric_keys
+xkb_symbols "home_row" {
+ include "brai(keypad)"
+
+ name[Group1]="Braille";
+
+ key <AC04> { [ braille_dot_1 ] };
+ key <AC03> { [ braille_dot_2 ] };
+ key <AC02> { [ braille_dot_3 ] };
+ key <AC07> { [ braille_dot_4 ] };
+ key <AC08> { [ braille_dot_5 ] };
+ key <AC09> { [ braille_dot_6 ] };
+ key <AC01> { [ braille_dot_7 ] };
+ key <AC10> { [ braille_dot_8 ] };
+ key <AB04> { [ braille_dot_9 ] };
+ key <AB06> { [ braille_dot_10 ] };
+};
+
+// 6-dot patterns for the left hand
+partial alphanumeric_keys
+xkb_symbols "left_hand" {
+ include "brai(keypad)"
+
+ name[Group1]="Braille - Left hand";
+
+ key <AC03> { [ braille_dot_1 ] };
+ key <AC02> { [ braille_dot_2 ] };
+ key <AC01> { [ braille_dot_3 ] };
+ key <AC04> { [ braille_dot_4 ] };
+ key <AB05> { [ braille_dot_5 ] };
+ key <AB04> { [ braille_dot_6 ] };
+};
+
+// 6-dot patterns for the right hand
+partial alphanumeric_keys
+xkb_symbols "right_hand" {
+ include "brai(keypad)"
+
+ name[Group1]="Braille - Right hand";
+
+ key <AC07> { [ braille_dot_1 ] };
+ key <AB05> { [ braille_dot_2 ] };
+ key <AB06> { [ braille_dot_3 ] };
+ key <AC08> { [ braille_dot_4 ] };
+ key <AC09> { [ braille_dot_5 ] };
+ key <AC10> { [ braille_dot_6 ] };
+};
+
+// 6-dot patterns on the keypad
+partial hidden keypad_keys
+xkb_symbols "keypad" {
+ key <KP4> { [ braille_dot_1 ] };
+ key <KP1> { [ braille_dot_2 ] };
+ key <KP0> { [ braille_dot_3 ] };
+ key <KP5> { [ braille_dot_4 ] };
+ key <KP6> { [ braille_dot_5 ] };
+ key <KPAD> { [ braille_dot_6 ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/bt b/xorg-server/xkeyboard-config/symbols/bt
new file mode 100644
index 000000000..d87558371
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/bt
@@ -0,0 +1,88 @@
+// $XKeyboardConfig$
+//
+// Dzongkha / Tibetan layout for Bhutanese keyboard
+//
+/////////////////////////////////////////////////////////////////
+//
+// Based on the official layout for Dzongkha
+// approved by the Department of Information Technology &
+// Dzongkha Development Authority of the Government of Bhutan
+//
+// Copyright (C) 2004, Gregory Mokhin <mokhin@bog.msu.ru>
+/////////////////////////////////////////////////////////////////
+// Version 0.97 2004-01-09 Layout map provided by Chris Fynn
+// Version 1.0 2004-07-29 Some correction by Pema Geyleg <pema_geyleg@druknet.bt>
+/////////////////////////////////////////////////////////////////
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Bhutan";
+
+ key <TLDE> { [ 0x1000F09, 0x1000F0A, 0x1000F6C, 0x1000F6D ] };
+
+// numbers e.a.
+ key <AE01> { [ 0x1000F21, 0x1000F04, 1, exclam ] };
+ key <AE02> { [ 0x1000F22, 0x1000F05, 2, at ] };
+ key <AE03> { [ 0x1000F23, 0x1000F06, 3, numbersign ] };
+ key <AE04> { [ 0x1000F24, 0x1000F48, 4, dollar ] };
+ key <AE05> { [ 0x1000F25, 0x1000F70, 5, percent ] };
+ key <AE06> { [ 0x1000F26, 0x1000F08, 6, 0x1000F01 ] };
+ key <AE07> { [ 0x1000F27, 0x1000F38, 7, ampersand ] };
+ key <AE08> { [ 0x1000F28, 0x1000F34, 8, asterisk ] };
+ key <AE09> { [ 0x1000F29, 0x1000F3C, 9, parenleft ] };
+ key <AE10> { [ 0x1000F20, 0x1000F3D, 0, parenright ] };
+ key <AE11> { [ 0x1000F14, 0x1000F7F, minus, underscore ] };
+ key <AE12> { [ 0x1000F0D, 0x1000F11, equal, plus ] };
+
+// consonants ( ka kha ga nga )
+ key <AD01> { [ 0x1000F40, 0x1000F90, 0x1000F88, VoidSymbol ] };
+ key <AD02> { [ 0x1000F41, 0x1000F91, 0x1000F89, VoidSymbol ] };
+ key <AD03> { [ 0x1000F42, 0x1000F92, 0x1000F6E, 0x1000F6F] };
+ key <AD04> { [ 0x1000F44, 0x1000F94, 0x1000F83, 0x1000F82 ] };
+
+// vowels ( i u e o )
+ key <AD05> { [ 0x1000F72, 0x1000F80, 0x1000F1A, VoidSymbol ] };
+ key <AD06> { [ 0x1000F74, 0x1000F84, 0x1000F1B, VoidSymbol ] };
+ key <AD07> { [ 0x1000F7A, 0x1000F7B, 0x1000F1C, VoidSymbol ] };
+ key <AD08> { [ 0x1000F7C, 0x1000F7D, 0x1000F1D, 0x1000F17 ] };
+
+// consonants ( ca cha ja nya )
+ key <AD09> { [ 0x1000F45, 0x1000F95, 0x1000F1E, 0x1000F18 ] };
+ key <AD10> { [ 0x1000F46, 0x1000F96, 0x1000F1F, 0x1000F19 ] };
+ key <AD11> { [ 0x1000F47, 0x1000F97, bracketleft, 0x1000F3E ] };
+ key <AD12> { [ 0x1000F49, 0x1000F99, bracketright, 0x1000F3F ] };
+
+// consonants ( ta tha da na pa pha ba ma tsa tsha dza wa )
+ key <AC01> { [ 0x1000F4F, 0x1000F9F, 0x1000F4A, 0x1000F9A ] };
+ key <AC02> { [ 0x1000F50, 0x1000FA0, 0x1000F4B, 0x1000F9B ] };
+ key <AC03> { [ 0x1000F51, 0x1000FA1, 0x1000F4C, 0x1000F9C ] };
+ key <AC04> { [ 0x1000F53, 0x1000FA3, 0x1000F4E, 0x1000F9E ] };
+ key <AC05> { [ 0x1000F54, 0x1000FA4, 0x1002039, guillemotleft ] };
+ key <AC06> { [ 0x1000F55, 0x1000FA5, 0x100203A, guillemotright ] };
+ key <AC07> { [ 0x1000F56, 0x1000FA6, 0x1000F37, 0x1000F35 ] };
+ key <AC08> { [ 0x1000F58, 0x1000FA8, 0x1000F7E, VoidSymbol ] };
+ key <AC09> { [ 0x1000F59, 0x1000FA9, 0x1000F39, VoidSymbol ] };
+ key <AC10> { [ 0x1000F5A, 0x1000FAA, colon, semicolon ] };
+ key <AC11> { [ 0x1000F5B, 0x1000FAB, apostrophe, quotedbl ] };
+
+// TODO: BKSL and LSGT are from gb layout, are there any variants?
+ key <BKSL> { [ 0x1000F5D, 0x1000FAD, backslash, 0x1000FBA ] };
+ key <LSGT> { [ 0x1000F0D, 0x1000F11, 0x1000F10, 0x1000F0F ] };
+
+// consonants ( zha za 'a ya ra la sha sa ha a )
+ key <AB01> { [ 0x1000F5E, 0x1000FAE, 0x1000F13, 0x1000F36 ] };
+ key <AB02> { [ 0x1000F5F, 0x1000FAF, 0x1000FBE, 0x1000FBF ] };
+ key <AB03> { [ 0x1000F60, 0x1000F71, 0x1000F03, 0x1000FB0 ] };
+ key <AB04> { [ 0x1000F61, 0x1000FB1, 0x1000F12, 0x1000FBB ] };
+ key <AB05> { [ 0x1000F62, 0x1000FB2, 0x1000F6A, 0x1000FBC ] };
+ key <AB06> { [ 0x1000F63, 0x1000FB3, 0x1000F8A, 0x1000F8B ] };
+ key <AB07> { [ 0x1000F64, 0x1000FB4, 0x1000F65, 0x1000FB5 ] };
+ key <AB08> { [ 0x1000F66, 0x1000FB6, comma, less ] };
+ key <AB09> { [ 0x1000F67, 0x1000FB7, period, greater ] };
+ key <AB10> { [ 0x1000F68, 0x1000FB8, slash, question ] };
+
+// space
+ key <SPCE> { [ 0x1000F0B, space, 0x1000F0C, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/bw b/xorg-server/xkeyboard-config/symbols/bw
new file mode 100644
index 000000000..ea5079e5d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/bw
@@ -0,0 +1,19 @@
+partial default alphanumeric_keys
+xkb_symbols "tswana" {
+
+ include "us"
+
+ name[Group1]= "Botswana";
+
+ key <AC10> { [ semicolon, colon, 0x01000324, 0x01000324 ] }; //COMBINING DIAERESIS BELOW
+ key <AC11> { [apostrophe, quotedbl, 0x01000301, 0x01000308 ] }; //COMBINING ACUTE ACCENT, COMBINING DIAERESIS
+ key <TLDE> { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; //COMBINING GRAVE ACCENT, COMBINING TILDE
+ key <AE06> { [ 6, asciicircum, 0x01000302 ] }; //COMBINING CIRCUMFLEX ACCENT
+ key <AE08> { [ 8, asterisk, 0x01000307, 0x01000323 ] }; //COMBINING DOT ABOVE, COMBINING DOT BELOW
+ key <AE09> { [ 9, parenleft, 0x01000306 ] }; //COMBINING BREVE
+ key <AE10> { [ 0, parenright, 0x0100030c ] }; //COMBINING CARON
+ key <AE11> { [ minus, underscore, 0x01000304, 0x01000331 ] }; //COMBINING MACRON,COMBINING MACRON BELOW
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/by b/xorg-server/xkeyboard-config/symbols/by
new file mode 100644
index 000000000..4409e52dd
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/by
@@ -0,0 +1,56 @@
+// $XKeyboardConfig$
+
+// based on
+// belarusian standard keyboard
+// Alexander Mikhailian <mikhailian@altern.org>
+// Reworked to use winkeys by default and russian keymap as base by Paul Lubetsky <vegeek@gmail.com>
+// Added third level with russian symbols
+// See freedesktop.org bug #23604
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ include "ru(winkeys)"
+ name[Group1]= "Belarus";
+
+ key <AD09> { [ Byelorussian_shortu, Byelorussian_SHORTU ] };
+ key <AD12> { [ apostrophe, apostrophe ] };
+ key <AB05> { [ Ukrainian_i, Ukrainian_I ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "legacy" {
+ include "by(basic)"
+ name[Group1]= "Belarus - Legacy";
+
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, asterisk ] };
+ key <AE05> { [ 5, colon ] };
+ key <AE06> { [ 6, comma ] };
+ key <AE07> { [ 7, period ] };
+ key <AE08> { [ 8, semicolon ] };
+ key <AB10> { [ slash, question ] };
+ key <BKSL> { [ backslash, bar ] };
+};
+
+// based on a keyboard map from an 'xkb/symbols/iso3335-3' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/en_US,v 1.3 2003/01/26 02:01:48 dawes Exp $
+
+partial alphanumeric_keys
+xkb_symbols "latin" {
+ include "latin"
+ name[Group1]= "Belarus - Latin";
+
+ key <AD02> { [ w, W, scaron, Scaron ] };
+ key <AD07> { [ u, U, ubreve, Ubreve ] };
+ key <AC02> { [ s, S, sacute, Sacute ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <AB01> { [ z, Z, zacute, Zacute ] };
+ key <AB02> { [ x, X, zcaron, Zcaron ] };
+ key <AB03> { [ c, C, cacute, Cacute ] };
+ key <AB04> { [ v, V, ccaron, Ccaron ] };
+ key <AB06> { [ n, N, nacute, Nacute ] };
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/ca b/xorg-server/xkeyboard-config/symbols/ca
new file mode 100644
index 000000000..63f9e48e6
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ca
@@ -0,0 +1,530 @@
+// $XKeyboardConfig$
+
+default partial
+xkb_symbols "fr" {
+ name[Group1] = "Canada";
+
+ key <TLDE> { [ numbersign, bar, backslash ] };
+ key <AE01> { [ 1, exclam, plusminus ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, slash, sterling ] };
+ key <AE04> { [ 4, dollar, cent ] };
+ key <AE05> { [ 5, percent, currency ] };
+ key <AE06> { [ 6, question, notsign ] };
+ key <AE07> { [ 7, ampersand, brokenbar ] };
+ key <AE08> { [ 8, asterisk, twosuperior ] };
+ key <AE09> { [ 9, parenleft, threesuperior ] };
+ key <AE10> { [ 0, parenright, onequarter ] };
+ key <AE11> { [ minus, underscore, onehalf ] };
+ key <AE12> { [ equal, plus, threequarters ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O, section ] };
+ key <AD10> { [ p, P, paragraph ] };
+ key <AD11> { [dead_circumflex, dead_circumflex, bracketleft ] };
+ key <AD12> { [ dead_cedilla, dead_diaeresis, bracketright ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon, asciitilde ] };
+ key <AC11> { [dead_grave, dead_grave, braceleft ] };
+ key <BKSL> { [ less, greater, braceright ] };
+
+ key <LSGT> { [guillemotleft, guillemotright, degree] };
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ comma, apostrophe, macron ] };
+ key <AB09> { [ period, period, hyphen ] };
+ key <AB10> { [ eacute, Eacute, dead_acute ] };
+
+ key <SPCE> { [ space, space, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
+
+xkb_symbols "fr-dvorak" {
+ name[Group1] = "Canada - French Dvorak";
+
+ key <TLDE> { [ numbersign, bar, backslash ] };
+ key <AE01> { [ 1, exclam, plusminus ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, slash, sterling ] };
+ key <AE04> { [ 4, dollar, cent ] };
+ key <AE05> { [ 5, percent, currency ] };
+ key <AE06> { [ 6, question, notsign ] };
+ key <AE07> { [ 7, ampersand, brokenbar ] };
+ key <AE08> { [ 8, asterisk, twosuperior ] };
+ key <AE09> { [ 9, parenleft, threesuperior ] };
+ key <AE10> { [ 0, parenright, onequarter ] };
+ key <AE11> { [dead_circumflex, dead_circumflex, bracketleft ] };
+ key <AE12> { [ dead_cedilla, dead_diaeresis, bracketright ] };
+
+ key <AD01> { [dead_grave, dead_grave, braceleft ] };
+ key <AD02> { [ comma, apostrophe, macron ] };
+ key <AD03> { [ period, period, hyphen ] };
+ key <AD04> { [ p, P, paragraph ] };
+ key <AD05> { [ y, Y ] };
+ key <AD06> { [ f, F ] };
+ key <AD07> { [ g, G ] };
+ key <AD08> { [ c, C ] };
+ key <AD09> { [ r, R ] };
+ key <AD10> { [ l, L ] };
+ key <AD11> { [ eacute, Eacute, dead_acute ] };
+ key <AD12> { [ equal, plus, threequarters ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ o, O, section ] };
+ key <AC03> { [ e, E ] };
+ key <AC04> { [ u, U ] };
+ key <AC05> { [ i, I ] };
+ key <AC06> { [ d, D ] };
+ key <AC07> { [ h, H ] };
+ key <AC08> { [ t, T ] };
+ key <AC09> { [ n, N ] };
+ key <AC10> { [ s, S ] };
+ key <AC11> { [ minus, underscore, onehalf ] };
+ key <BKSL> { [ less, greater, braceright ] };
+
+ key <LSGT> { [guillemotleft, guillemotright, degree] };
+ key <AB01> { [ semicolon, colon, asciitilde ] };
+ key <AB02> { [ q, Q ] };
+ key <AB03> { [ j, J ] };
+ key <AB04> { [ k, K ] };
+ key <AB05> { [ x, X ] };
+ key <AB06> { [ b, B ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ w, W ] };
+ key <AB09> { [ v, V ] };
+ key <AB10> { [ z, Z ] };
+
+ key <SPCE> { [ space, space, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial
+xkb_symbols "fr-legacy" {
+
+ name[Group1] = "Canada - French (legacy)";
+
+ include "ca(fr)"
+
+ key <TLDE> { [ degree, degree, notsign ] };
+ key <AE01> { [ 1, exclam, onesuperior ] };
+
+ key <AE03> { [ 3, numbersign, threesuperior ] };
+ key <AE04> { [ 4, dollar, onequarter ] };
+ key <AE05> { [ 5, percent, onehalf ] };
+ key <AE06> { [ 6, question, threequarters ] };
+ key <AE07> { [ 7, ampersand, braceleft ] };
+ key <AE08> { [ 8, asterisk, bracketleft ] };
+ key <AE09> { [ 9, parenleft, bracketright, plusminus ] };
+ key <AE10> { [ 0, parenright, braceright ] };
+ key <AE11> { [ minus, underscore, bar, questiondown] };
+ key <AE12> { [ equal, plus, dead_cedilla ] };
+
+ key <AD04> { [ r, R, paragraph, registered ] };
+ key <AD06> { [ y, Y, yen ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD10> { [ p, P, thorn, THORN ] };
+ key <AD11> { [dead_circumflex, dead_circumflex, degree ] };
+ key <AD12> { [ ccedilla, Ccedilla, dead_tilde, dead_diaeresis ] };
+
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ s, S, ssharp, section ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, ordfeminine ] };
+ key <AC10> { [ semicolon, colon, dead_acute, dead_acute ] };
+ key <AC11> { [ egrave, Egrave ] };
+ key <BKSL> { [ agrave, Agrave, dead_grave ] };
+
+ key <LSGT> { [ ugrave, Ugrave, backslash, bar ] };
+ key <AB01> { [ z, Z, guillemotleft ] };
+ key <AB02> { [ x, X, guillemotright ] };
+ key <AB03> { [ c, C, cent, copyright ] };
+ key <AB07> { [ m, M, mu, masculine ] };
+ key <AB08> { [ comma, apostrophe, less ] };
+ key <AB09> { [ period, period, greater ] };
+ key <AB10> { [ eacute, Eacute, slash ] };
+};
+
+partial
+xkb_symbols "multi" {
+
+ name[Group1] = "Canada - Multilingual, first part";
+
+ include "ca(fr)"
+
+ key <TLDE> { [ slash, backslash, bar ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, question ] };
+ key <AE07> { [ 7, ampersand, braceleft ] };
+ key <AE08> { [ 8, asterisk, braceright ] };
+ key <AE09> { [ 9, parenleft, bracketleft ] };
+ key <AE10> { [ 0, parenright, bracketright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus, notsign ] };
+
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [dead_circumflex, dead_diaeresis, dead_grave ] };
+ key <AD12> { [ ccedilla, Ccedilla, asciitilde ] };
+
+ key <AC10> { [ semicolon, colon, degree ] };
+ key <AC11> { [ egrave, Egrave ] };
+ key <BKSL> { [ agrave, Agrave ] };
+
+ key <LSGT> { [ ugrave, Ugrave ] };
+ key <AB01> { [ z, Z, guillemotleft ] };
+ key <AB02> { [ x, X, guillemotright ] };
+ key <AB08> { [ comma, apostrophe, less ] };
+ key <AB09> { [ period, quotedbl, greater ] };
+ key <AB10> { [ eacute, Eacute ] };
+};
+
+partial
+xkb_symbols "multi-2gr" {
+
+ name[Group1] = "Canada - Multilingual, second part";
+
+ key <TLDE> { [ NoSymbol, hyphen ] };
+ key <AE01> { [ onesuperior, exclamdown ] };
+ key <AE02> { [ twosuperior, NoSymbol ] };
+ key <AE03> { [ threesuperior, sterling ] };
+ key <AE04> { [ onequarter, currency ] };
+ key <AE05> { [ onehalf,threeeighths ] };
+ key <AE06> { [ threequarters, fiveeighths ] };
+ key <AE07> { [ NoSymbol,seveneighths ] };
+ key <AE08> { [ NoSymbol, trademark ] };
+ key <AE09> { [ NoSymbol, plusminus ] };
+
+ key <AE11> { [ NoSymbol, questiondown] };
+ key <AE12> { [ dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [ NoSymbol, Greek_OMEGA ] };
+ key <AD02> { [ lstroke, Lstroke ] };
+ key <AD03> { [ oe, OE ] };
+ key <AD04> { [ paragraph, registered ] };
+ key <AD05> { [ tslash, Tslash ] };
+ key <AD06> { [ leftarrow, yen ] };
+ key <AD07> { [ downarrow, uparrow ] };
+ key <AD08> { [ rightarrow, idotless ] };
+ key <AD09> { [ oslash, Ooblique ] };
+ key <AD10> { [ thorn, THORN ] };
+ key <AD11> { [ NoSymbol, dead_abovering ] };
+ key <AD12> { [ dead_tilde, dead_macron ] };
+
+ key <AC01> { [ ae, AE ] };
+ key <AC02> { [ ssharp, section ] };
+ key <AC03> { [ eth, ETH ] };
+ key <AC04> { [ NoSymbol, ordfeminine ] };
+ key <AC05> { [ eng, ENG ] };
+ key <AC06> { [ hstroke, Hstroke ] };
+ key <AC07> { [ U0133, U0132 ] };
+ key <AC08> { [ kra, NoSymbol ] };
+ key <AC09> { [ U0140, U013F ] };
+ key <AC10> { [ dead_acute, dead_doubleacute ] };
+ key <AC11> { [ NoSymbol, dead_caron ] };
+ key <BKSL> { [ NoSymbol, dead_breve ] };
+
+
+ key <LSGT> { [ NoSymbol, brokenbar ] };
+
+ key <AB03> { [ cent, copyright ] };
+ key <AB04> { [ leftdoublequotemark, leftsinglequotemark ] };
+ key <AB05> { [ rightdoublequotemark, rightsinglequotemark ] };
+ key <AB06> { [ U0149, U266A ] };
+ key <AB07> { [ mu, masculine ] };
+ key <AB08> { [ Greek_horizbar, multiply ] };
+ key <AB09> { [ periodcentered, division ] };
+ key <AB10> { [ NoSymbol, dead_abovedot ] };
+
+};
+
+// based on
+// Inuktitut keyboard for X11
+// written by Pablo Saratxaga <pablo@mandrakesoft.com>
+
+alphanumeric_keys
+xkb_symbols "ike" {
+
+ name[Group1]= "Canada - Inuktitut";
+
+ key <AE01> { [ 0x01001595, 1 ] };
+ key <AE02> { [ 0x01001449, 2 ] };
+ key <AE03> { [ 0x01001550, 3 ] };
+ key <AE04> { [ 0x01001483, 4 ] };
+ key <AE05> { [ 0x01001466, 5 ] };
+ key <AE06> { [ 0x01001585, 6 ] };
+ key <AE07> { [ 0x010014bb, 7 ] };
+ key <AE08> { [ 0x010014d0, 8 ] };
+ key <AE09> { [ 0x010014ea, 9 ] };
+ key <AE10> { [ 0x0100153e, 0 ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ 0x0100155d, equal ] };
+
+ key <AD01> { [ 0x0100158f, 0x0100148b ] };
+ key <AD02> { [ 0x01001403, 0x01001431 ] };
+ key <AD03> { [ 0x0100157f, 0x01001546 ] };
+ key <AD04> { [ 0x0100146d, 0x01001596 ] };
+ key <AD05> { [ 0x0100144e, 0x01001671 ] };
+ key <AD06> { [ 0x010014ef, 0x01001673 ] };
+ key <AD07> { [ 0x010014a5, 0x01001675 ] };
+ key <AD08> { [ 0x010014c2, 0x010015a4 ] };
+ key <AD09> { [ 0x010014d5, 0x010015a0 ] };
+ key <AD10> { [ 0x01001528, 0x010015a6 ] };
+ key <AD11> { [ 0x010014a1, 0x01001505 ] };
+ key <AD12> { [ dead_abovedot, 0x0100141e] };
+
+ key <AC01> { [ 0x01001591, 0x0100148d ] };
+ key <AC02> { [ 0x01001405, 0x01001433 ] };
+ key <AC03> { [ 0x01001581, 0x01001548 ] };
+ key <AC04> { [ 0x0100146f, 0x01001555 ] };
+ key <AC05> { [ 0x01001450, parenleft ] };
+ key <AC06> { [ 0x010014f1, parenright ] };
+ key <AC07> { [ 0x010014a7, 0x0100152a ] };
+ key <AC08> { [ 0x010014c4, 0x01001557 ] };
+ key <AC09> { [ 0x010014d7, 0x010015a2 ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+
+ key <AB01> { [ 0x01001593, 0x01001490 ] };
+ key <AB02> { [ 0x0100140a, 0x01001438 ] };
+ key <AB03> { [ 0x01001583, 0x0100154b ] };
+ key <AB04> { [ 0x01001472, question ] };
+ key <AB05> { [ 0x01001455, 0x0100157c ] };
+ key <AB06> { [ 0x010014f4, 0x010014c7 ] };
+ key <AB07> { [ 0x010014aa, 0x010014da ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ 0x0100152d, 0x01001559 ] };
+
+ key <TLDE> { [ 0x0100157b, 0x01001575 ] };
+ key <LSGT> { [ 0x01001579, 0x01001577 ] };
+ key <BKSL> { [ backslash, bar ] };
+
+// End alphanumeric section
+};
+
+partial
+xkb_symbols "multix" {
+
+ name[Group1] = "Canada - Multilingual";
+
+ key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
+ key <TLDE> { [ slash, backslash, bar, NoSymbol,
+ NoSymbol, hyphen ] };
+ key <AE01> { [ 1, exclam, plusminus, NoSymbol,
+ onesuperior, exclamdown ] };
+ key <AE02> { [ 2, at, at, NoSymbol,
+ twosuperior, NoSymbol ] };
+ key <AE03> { [ 3, numbersign, sterling, NoSymbol,
+ threesuperior, sterling ] };
+ key <AE04> { [ 4, dollar, cent, NoSymbol,
+ onequarter, currency ] };
+ key <AE05> { [ 5, percent, currency, NoSymbol,
+ onehalf, threeeighths ] };
+ key <AE06> { [ 6, question, notsign, NoSymbol,
+ threequarters, fiveeighths ] };
+ key <AE07> { [ 7, ampersand, braceleft, NoSymbol,
+ NoSymbol, seveneighths ] };
+ key <AE08> { [ 8, asterisk, braceright, NoSymbol,
+ NoSymbol, trademark ] };
+ key <AE09> { [ 9, parenleft, bracketleft, NoSymbol,
+ NoSymbol, plusminus ] };
+ key <AE10> { [ 0, parenright, bracketright, NoSymbol ] };
+ key <AE11> { [ minus, underscore, onehalf, NoSymbol,
+ NoSymbol, questiondown] };
+ key <AE12> { [ equal, plus, notsign, NoSymbol,
+ dead_cedilla, dead_ogonek ] };
+
+ key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
+ key <AD01> { [ q, Q, NoSymbol, NoSymbol,
+ NoSymbol, Greek_OMEGA ] };
+ key <AD02> { [ w, W, NoSymbol, NoSymbol,
+ lstroke, Lstroke ] };
+ key <AD03> { [ e, E, NoSymbol, NoSymbol,
+ oe, OE ] };
+ key <AD04> { [ r, R, NoSymbol, NoSymbol,
+ paragraph, registered ] };
+ key <AD05> { [ t, T, NoSymbol, NoSymbol,
+ tslash, Tslash ] };
+ key <AD06> { [ y, Y, NoSymbol, NoSymbol,
+ leftarrow, yen ] };
+ key <AD07> { [ u, U, NoSymbol, NoSymbol,
+ downarrow, uparrow ] };
+ key <AD08> { [ i, I, NoSymbol, NoSymbol,
+ rightarrow, idotless ] };
+ key <AD09> { [ o, O, section, NoSymbol,
+ oslash, Ooblique ] };
+ key <AD10> { [ p, P, paragraph, NoSymbol,
+ thorn, THORN ] };
+
+ key.type[group1]="EIGHT_LEVEL";
+ key <AD11> { [dead_circumflex, dead_diaeresis, dead_grave, NoSymbol,
+ NoSymbol, dead_abovering ] };
+
+ key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
+ key <AD12> { [ ccedilla, Ccedilla, asciitilde, NoSymbol,
+ dead_tilde, dead_macron ] };
+
+ key <AC01> { [ a, A, NoSymbol, NoSymbol,
+ ae, AE ] };
+ key <AC02> { [ s, S, NoSymbol, NoSymbol,
+ ssharp, section ] };
+ key <AC03> { [ d, D, NoSymbol, NoSymbol,
+ eth, ETH ] };
+ key <AC04> { [ f, F, NoSymbol, NoSymbol,
+ NoSymbol, ordfeminine ] };
+ key <AC05> { [ g, G, NoSymbol, NoSymbol,
+ eng, ENG ] };
+ key <AC06> { [ h, H, NoSymbol, NoSymbol,
+ hstroke, Hstroke ] };
+ key <AC07> { [ j, J, NoSymbol, NoSymbol,
+ U0133, U0132 ] };
+ key <AC08> { [ k, K, NoSymbol, NoSymbol,
+ kra, NoSymbol ] };
+ key <AC09> { [ l, L, NoSymbol, NoSymbol,
+ U0140, U013F ] };
+
+ key.type[group1]="EIGHT_LEVEL";
+ key <AC10> { [ semicolon, colon, degree, NoSymbol,
+ dead_acute, dead_doubleacute ] };
+
+ key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
+ key <AC11> { [ egrave, Egrave, braceleft, NoSymbol,
+ NoSymbol, dead_caron ] };
+ key <BKSL> { [ agrave, Agrave, braceright, NoSymbol,
+ NoSymbol, dead_breve ] };
+
+ key <LSGT> { [ ugrave, Ugrave, degree, NoSymbol,
+ NoSymbol, brokenbar ] };
+
+ key.type[group1]="FOUR_LEVEL_SEMIALPHABETIC";
+ key <AB01> { [ z, Z, guillemotleft, NoSymbol ] };
+ key <AB02> { [ x, X, guillemotright, NoSymbol ] };
+
+ key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
+ key <AB03> { [ c, C, NoSymbol, NoSymbol,
+ cent, copyright ] };
+ key <AB04> { [ v, V, NoSymbol, NoSymbol,
+ leftdoublequotemark, leftsinglequotemark ] };
+ key <AB05> { [ b, B, NoSymbol, NoSymbol,
+ rightdoublequotemark, rightsinglequotemark ] };
+ key <AB06> { [ n, N, NoSymbol, NoSymbol,
+ U0149, U266A ] };
+ key <AB07> { [ m, M, mu, NoSymbol,
+ mu, masculine ] };
+ key <AB08> { [ comma, apostrophe, less, NoSymbol,
+ Greek_horizbar, multiply ] };
+ key <AB09> { [ period, quotedbl, greater, NoSymbol,
+ periodcentered, division ] };
+ key <AB10> { [ eacute, Eacute, dead_acute, NoSymbol,
+ NoSymbol, dead_abovedot ] };
+
+ include "nbsp(level3s)"
+
+ modifier_map Control{ Control_L };
+
+ include "level3(ralt_switch)"
+ include "level5(rctrl_switch)"
+};
+
+// Secwepemctsin keyboard for X11
+// written by Neskie Manuel <neskiem@gmail.com>
+
+partial alphanumeric_keys
+xkb_symbols "shs" {
+
+ include "us"
+
+ name[Group1]= "Canada - Secwepemctsin";
+
+ //Using Dead key to get COMBINING COMMA ABOVE for ejectives on
+ //q, l, t, s, m, g, k, p, w, y, r
+ //XCompose key is used for the other accute and grave.
+
+ key <AB08> { [ comma, less, U0313 ] };
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+
+ include "level3(ralt_switch)"
+ include "compose(rctrl)"
+};
+
+// OLPC Section
+xkb_symbols "olpc" {
+
+ include "ca(fr)"
+
+ key <AE02> { [ 2, quotedbl, ograve, Ograve ] };
+ key <AE03> { [ 3, slash, at, VoidSymbol ] };
+
+ key <AD03> { [ e, E, EuroSign, VoidSymbol] };
+
+ key <AB09> { [ period, period, 0x1002010 ] };
+
+ key <I219> { [ guillemotleft, guillemotright, degree, VoidSymbol ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "kut" {
+
+ //Ejective U0313 and compose accents are from shs layout
+ include "ca(shs)"
+
+ name[Group1]= "Canada - Ktunaxa";
+
+ // Alphanumeric section
+
+ // Alveolar Click
+ key <AD05> { [ t, T,U01C2 ,U01C2 ] };
+
+ //Cent sign
+ key <AB03> { [ c, C,U00A2,U00A2 ] };
+
+ //Mid dot
+ key <AB09> { [ period, greater,U00B7 ] };
+
+ //Glottal stop
+ key <AB10> { [ slash, question, U0294 ] };
+
+ //COMBINING COMMA ABOVE RIGHT
+ key <AC11> { [ apostrophe, quotedbl, U0315,U0315 ] };
+
+ //MODIFIER LETTER RIGHT HALF RING
+ key <AC10> { [ semicolon, colon,U02BE,U02BE ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "eng" {
+ name[Group1] = "Canada - English";
+ include "us(basic)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/capslock b/xorg-server/xkeyboard-config/symbols/capslock
new file mode 100644
index 000000000..415e4db1d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/capslock
@@ -0,0 +1,65 @@
+// $XKeyboardConfig$
+
+default partial hidden modifier_keys
+xkb_symbols "capslock" {
+ replace key <CAPS> { [ Caps_Lock ] };
+ modifier_map Lock { Caps_Lock };
+};
+
+partial hidden modifier_keys
+xkb_symbols "shiftlock" {
+ replace key <CAPS> { [ Shift_Lock ] };
+ modifier_map Shift { Shift_Lock };
+};
+
+partial hidden modifier_keys
+xkb_symbols "grouplock" {
+ replace key <CAPS> { [ ISO_Next_Group, Caps_Lock ] };
+};
+
+partial hidden modifier_keys
+xkb_symbols "swapescape" {
+ key <CAPS> { [ Escape ] };
+ key <ESC> { [ Caps_Lock ] };
+};
+
+partial hidden modifier_keys
+xkb_symbols "groupshift" {
+ key <CAPS> {
+ type[Group1]="PC_ALT_LEVEL2",
+ [ Mode_switch, Caps_Lock ]
+ };
+};
+
+partial hidden modifier_keys
+xkb_symbols "escape" {
+ key <CAPS> { [ Escape ] };
+};
+
+partial hidden modifier_keys
+xkb_symbols "backspace" {
+ key <CAPS> { [ BackSpace ] };
+};
+
+partial hidden modifier_keys
+xkb_symbols "super" {
+ key <CAPS> { [ Super_L ] };
+ modifier_map Mod4 { <CAPS> };
+};
+
+partial hidden modifier_keys
+xkb_symbols "hyper" {
+ key <CAPS> { [ Hyper_L ] };
+ modifier_map Mod4 { <CAPS> };
+};
+
+partial hidden modifier_keys
+xkb_symbols "none" {
+ key <CAPS> { [ VoidSymbol ] };
+};
+
+partial hidden modifier_keys
+xkb_symbols "numlock" {
+ key <CAPS> { [ Num_Lock ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/cd b/xorg-server/xkeyboard-config/symbols/cd
new file mode 100644
index 000000000..1ba036551
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/cd
@@ -0,0 +1,71 @@
+// $XKeyboardConfig$
+
+// based on us_intl keyboard map file and a Sinhala keyboard map
+// version 0.3
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Congo, Democratic Republic of the";
+
+ key.type[Group1] = "FOUR_LEVEL";
+
+ // Alphanumeric section
+ // TILDE, COMBINING TILDE
+ key <TLDE> { [ grave, asciitilde, 0x01000303] };
+ key <AE01> { [ ampersand, 1, numbersign ] };
+ key <AE02> { [0x01000301, 2, at ] };
+ key <AE03> { [0x01000300, 3, guillemotleft ] };
+ key <AE04> { [ parenleft, 4, bracketleft ] };
+ key <AE05> { [ braceleft, 5, less ] };
+ key <AE06> { [ braceright, 6, greater ] };
+ key <AE07> { [parenright, 7, bracketright ] };
+ key <AE08> { [0x01000302, 8, guillemotright ] };
+ key <AE09> { [0x0100030c, 9 ] };
+ key <AE10> { [0x01000308, 0, at ] };
+ key <AE11> { [ minus, underscore, percent ] };
+ key <AE12> { [ equal, plus, multiply, division ] };
+
+ key <AD01> { [ a, A ] };
+ key <AD02> { [ z, Z ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U, 0x01000289, 0x01001d7e ] };
+ key <AD08> { [ i, I, 0x01000268, 0x01000197 ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [0x0100025B, 0x01000190, asciicircum ] };
+ key <AD12> { [ asterisk, asciicircum, dollar ] };
+
+ key <AC01> { [ q, Q ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ m, M ] };
+ key <AC11> { [0x01000254, 0x01000186 ] };
+ key <LSGT> { [ backslash, bar ] };
+
+ key <AB01> { [ w, W ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ comma, question, 0x01000327 ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ exclam, apostrophe, 0x01002019 ] };
+ key <BKSL> { [ quotedbl, backslash, bar ] };
+
+ // SPACE, SPACE, SPACE, NO-BREAK SPACE, SPACE
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/ch b/xorg-server/xkeyboard-config/symbols/ch
new file mode 100644
index 000000000..26dcb616f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ch
@@ -0,0 +1,218 @@
+// $XKeyboardConfig$
+// $Xorg: ch,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/ch,v 3.6 2002/11/25 14:05:06 eich Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin"
+
+ // Alphanumeric section
+ name[Group1]= "Switzerland";
+ key <TLDE> { [ section, degree ] };
+ key <AE01> { [ 1, plus, bar, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, at, oneeighth ] };
+ key <AE03> { [ 3, asterisk, numbersign ] };
+ key <AE04> { [ 4, ccedilla ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, ampersand, notsign ] };
+ key <AE07> { [ 7, slash, bar ] };
+ key <AE08> { [ 8, parenleft, cent ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ apostrophe, question, dead_acute ] };
+ key <AE12> { [ dead_circumflex, dead_grave, dead_tilde ] };
+
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD06> { [ z, Z ] };
+ key <AD11> { [ udiaeresis, egrave, bracketleft ] };
+ key <AD12> { [ dead_diaeresis, exclam, bracketright ] };
+
+ key <AC10> { [ odiaeresis, eacute ] };
+ key <AC11> { [ adiaeresis, agrave, braceleft ] };
+ key <BKSL> { [ dollar, sterling, braceright ] };
+
+ key <LSGT> { [ less, greater, backslash, brokenbar ] };
+ key <AB01> { [ y, Y ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "legacy" {
+ include "ch(basic)"
+
+ name[Group1]= "Switzerland - Legacy";
+ key <AE07> { [ 7, slash, brokenbar ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "de" {
+ include "ch(basic)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "de_Sundeadkeys" {
+ // modify the basic Swiss German layout to use Sun dead keys
+ include "ch(basic)"
+ key <AE11> { [ apostrophe, question, dead_acute ] };
+ key <AE12> { [ dead_circumflex, dead_grave, dead_tilde ] };
+ key <AD12> { [ dead_diaeresis, exclam, bracketright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "de_sundeadkeys" {
+ include "ch(de_Sundeadkeys)"
+ name[Group1]= "Switzerland - German, Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "de_nodeadkeys" {
+ // modify the basic Swiss German layout not to have any dead keys
+ include "ch(basic)"
+ name[Group1]= "Switzerland - German, eliminate dead keys";
+ key <AE11> { [ apostrophe, question, acute ] };
+ key <AE12> { [ asciicircum, grave, asciitilde ] };
+ key <AD12> { [ diaeresis, exclam, bracketright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Swiss/French keybaord
+
+ include "ch(basic)"
+ name[Group1]= "Switzerland - French";
+
+ override key <AD11> {
+ [ egrave, udiaeresis, bracketleft ]
+ };
+ override key <AC10> {
+ [ eacute, odiaeresis ]
+ };
+ override key <AC11> {
+ [ agrave, adiaeresis, braceleft ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr_Sundeadkeys" {
+ // modify the basic Swiss French layout to use Sun dead keys
+ include "ch(fr)"
+ key <AE11> { [ apostrophe, question, dead_acute ] };
+ key <AE12> { [ dead_circumflex, dead_grave, dead_tilde ] };
+ key <AD12> { [ dead_diaeresis, exclam, bracketright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr_sundeadkeys" {
+ include "ch(fr_Sundeadkeys)"
+ name[Group1]= "Switzerland - French, Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr_nodeadkeys" {
+ // modify the basic Swiss French layout not to have any dead keys
+ include "ch(fr)"
+ name[Group1]= "Switzerland - French, eliminate dead keys";
+ key <AE11> { [ apostrophe, question, acute ] };
+ key <AE12> { [ asciicircum, grave, asciitilde ] };
+ key <AD12> { [ diaeresis, exclam, bracketright ] };
+};
+
+// Copied from macintosh_vndr/ch
+// 03.01.2003
+// Andreas Tobler <a.tobler@schweiz.ch>
+// modified for Swiss German Apple Extended Keyboard II
+
+partial alphanumeric_keys
+xkb_symbols "de_mac" {
+
+ name[Group1]= "Switzerland - German (Macintosh)";
+
+ // Alphanumeric section
+
+ key <AE01> { [ 1, plus, plusminus, infinity ] };
+ key <AE02> { [ 2, quotedbl, leftdoublequotemark, rightdoublequotemark ] };
+ key <AE03> { [ 3, asterisk, numbersign, leftcaret ] };
+ // not displayed here
+ key <AE04> { [ 4, ccedilla, Ccedilla, slash ] };
+ key <AE05> { [ 5, percent, bracketleft ] };
+ key <AE06> { [ 6, ampersand, bracketright ] };
+ key <AE07> { [ 7, slash, bar, backslash ] };
+ key <AE08> { [ 8, parenleft, braceleft, Ograve ] };
+ key <AE09> { [ 9, parenright, braceright, Ocircumflex ] };
+ key <AE10> { [ 0, equal, notequal, Uacute ] };
+ key <AE11> { [ apostrophe, question, questiondown, NoSymbol ] };
+ key <AE12> { [ dead_circumflex,dead_grave, dead_acute, asciicircum ] };
+ key <AD01> { [ q, Q, oe, OE ] };
+ key <AD02> { [ w, W, Greek_SIGMA, Aacute ] };
+ key <AD03> { [ e, E, EuroSign, Ediaeresis ] };
+ key <AD04> { [ r, R, registered, Egrave ] };
+ key <AD05> { [ t, T, dagger, Icircumflex ] };
+ key <AD06> { [ z, Z, Greek_OMEGA, Iacute ] };
+ key <AD07> { [ u, U, degree, Ugrave ] };
+ key <AD08> { [ i, I, exclamdown, idotless ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
+ key <AD11> { [ udiaeresis, egrave, section, ydiaeresis ] };
+ key <AD12> { [ dead_diaeresis, exclam, grave, apostrophe ] };
+ key <AC01> { [ a, A, aring, Aring ] };
+ key <AC02> { [ s, S, ssharp, NoSymbol ] };
+ // ligature fl
+ key <AC03> { [ d, D, Greek_sigma, NoSymbol ] };
+ // partialderivative is not available here att
+ key <AC04> { [ f, F, function, doubledagger ] };
+ key <AC05> { [ g, G, at, comma ] };
+ key <AC06> { [ h, H, ordfeminine, periodcentered ] };
+ key <AC07> { [ j, J, masculine, eth ] };
+ key <AC08> { [ k, K, Greek_DELTA, macron ] };
+ key <AC09> { [ l, L, notsign, caret ] };
+ key <AC10> { [ odiaeresis, eacute, cent, breve ] };
+ key <AC11> { [ adiaeresis, agrave, ae, AE ] };
+ key <AB01> { [ y, Y, yen, Ydiaeresis ] };
+ key <AB02> { [ x, X, similarequal, trademark ] };
+ key <AB03> { [ c, C, copyright, NoSymbol ] };
+ key <AB04> { [ v, V, radical, diamond ] };
+ key <AB05> { [ b, B, integral, NoSymbol ] };
+ key <AB06> { [ n, N, dead_tilde, enopencircbullet ] };
+ // to be fixed att
+ key <AB07> { [ m, M, mu, dead_abovering ] };
+ // not sure att
+ key <AB08> { [ comma, semicolon, guillemotleft, guillemotright ] };
+ key <AB09> { [ period, colon, ellipsis, division ] };
+ key <AB10> { [ minus, underscore, hyphen, emdash ] };
+ key <TLDE> { [ section, degree, NoSymbol, NoSymbol ] };
+ // ligature fi // per mille
+ key <SPCE> { [ space, nobreakspace, nobreakspace ] };
+ key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] };
+ key <BKSL> { [ dollar, sterling, paragraph, enfilledcircbullet ] };
+
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr_mac" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Swiss/French keybaord
+
+ include "ch(de_mac)"
+ name[Group1]= "Switzerland - French (Macintosh)";
+
+ override key <AD11> {
+ [ egrave, udiaeresis, bracketleft ]
+ };
+ override key <AC10> {
+ [ eacute, odiaeresis ]
+ };
+ override key <AC11> {
+ [ agrave, adiaeresis, braceleft ]
+ };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/cn b/xorg-server/xkeyboard-config/symbols/cn
new file mode 100644
index 000000000..c3dfc94b2
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/cn
@@ -0,0 +1,154 @@
+// $XKeyboardConfig$
+//
+
+//
+// Default Chinise is the same as American
+//
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ include "us(basic)"
+
+ name[Group1]= "China";
+};
+
+// Tibetan Standard Keyboard map for XKB/X.org
+//
+// Based on the CNS Tibetan keyboard as supported by Windows Vista
+// using information published by Tashi Tsering:
+// http://www.yalasoo.com/English/docs/yalasoo_en_MStbKb.html
+//
+// XKB version by Rich Felker <dalias@aerifal.cx>.
+//
+// The CNS Tibetan keyboard standard specifies 5 keyboards worth of keys,
+// but apparently makes no requirements about how each is accessed. Only
+// the first 2 are needed for native Tibetan text; the remainder are
+// filled with special symbols and letters for transliterating foreign
+// text. Further, CNS leaves the level of support of keyboards 2-5 as an
+// option to the implementor (despite the fact that #2 is absolutely
+// essential...). Windows Vista maps them as follows:
+//
+// 1. Unshifted
+// 2. "m"-key-prefixed
+// 3. Shift-modified
+// 4. Ctrl+Alt+Shift-modified
+// 5. "M"-key-prefixed
+//
+// I roughly copy the Windows Vista mapping, which was intended by the
+// designer of the keyboard, with the following exceptions:
+//
+// The fifth keyboard is almost empty and contains only precomposed forms
+// of subjoined letter characters whose use is strongly discouraged, and
+// is not implemented at all in this XKB map. The fourth is implemented,
+// but is accessed by an "m"-prefix (or "M"-prefix, for convenience)
+// followed by a Shift-modified key. This avoids stealing the Ctrl and Alt
+// keys, which belong to applications on *nix and not to the keyboard or
+// input method. Aside from enterring rare special symbols and
+// foreign-word-transliteration letters, these differences should not
+// affect users.
+//
+// Implementation notes:
+//
+// A latching ISO Level3 shift is used for the "m"-prefix modifier. In
+// principle moving it to other keys (e.g. AltGr) would be possible
+// according to user preference, but this is not practical for typing
+// Tibetan, since the subjoined consonants, of which Tibetan has 0-2 per
+// syllable, are accessed via this mechanism.
+//
+// One annoyance is that the latching Level3 shift fails to work if the
+// previous key is not yet released when "m" is pressed (the key release
+// event kills the latch). I consider this a bug in X and don't know an
+// easy way to work around it. Complain to the maintainers if it bothers
+// you and maybe they'll find a fix. You won't notice it unless you're
+// fast at typing Tibetan anyway.
+
+partial alphanumeric_keys
+xkb_symbols "tib" {
+
+ name[Group1]= "China - Tibetan";
+
+ key <TLDE> { [ 0x1000f68, 0x1000f01, 0x1000fb8, 0x1000f00 ] }; # ཨ ༁ ྸ ༀ
+ key <AE01> { [ 0x1000f21, 0x1000f2a, 0x1000f04, 0x1000f76 ] }; # ༡ ༪ ༄ ྲྀ
+ key <AE02> { [ 0x1000f22, 0x1000f2b, 0x1000f05, 0x1000f77 ] }; # ༢ ༫ ༅ ཷ
+ key <AE03> { [ 0x1000f23, 0x1000f2c, 0x1000f7e, 0x1000f78 ] }; # ༣ ༬ ཾ ླྀ
+ key <AE04> { [ 0x1000f24, 0x1000f2d, 0x1000f83, 0x1000f79 ] }; # ༤ ༭ ྃ ཹ
+ key <AE05> { [ 0x1000f25, 0x1000f2e, 0x1000f37, 0x1000f81 ] }; # ༥ ༮ ༷ ཱྀ
+ key <AE06> { [ 0x1000f26, 0x1000f2f, 0x1000f35, 0x1000f09 ] }; # ༦ ༯ ༵ ༉
+ key <AE07> { [ 0x1000f27, 0x1000f30, 0x1000f7f, 0x1000f0a ] }; # ༧ ༰ ཿ ༊
+ key <AE08> { [ 0x1000f28, 0x1000f31, 0x1000f14, 0x1000f0f ] }; # ༨ ༱ ༔ ༏
+ key <AE09> { [ 0x1000f29, 0x1000f32, 0x1000f11, 0x1000f10 ] }; # ༩ ༲ ༑ ༐
+ key <AE10> { [ 0x1000f20, 0x1000f33, 0x1000f08, 0x1000f12 ] }; # ༠ ༳ ༈ ༒
+ key <AE11> { [ 0x1000f67, 0x1000f3c, 0x1000fb7, 0x1000f0c ] }; # ཧ ༼ ྷ ༌
+ key <AE12> { [ 0x1000f5d, 0x1000f3d, 0x1000fba, 0x1000f13 ] }; # ཝ ༽ ྺ ༓
+
+ key <AD01> { [ 0x1000f45, 0x1000f15, 0x1000f95, 0x1000f89 ] }; # ཅ ༕ ྕ ྉ
+ key <AD02> { [ 0x1000f46, 0x1000f16, 0x1000f96, 0x1000f88 ] }; # ཆ ༖ ྖ ྈ
+ key <AD03> { [ 0x1000f7a, 0x1000f17, 0x1000f7b, 0x1000fbe ] }; # ེ ༗ ཻ ྾
+ key <AD04> { [ 0x1000f62, 0x1000fbc, 0x1000fb2, 0x1000f6a ] }; # ར ྼ ྲ ཪ
+ key <AD05> { [ 0x1000f4f, 0x1000f4a, 0x1000f9f, 0x1000f9a ] }; # ཏ ཊ ྟ ྚ
+ key <AD06> { [ 0x1000f61, 0x1000fbb, 0x1000fb1, 0x1000fbf ] }; # ཡ ྻ ྱ ྿
+ key <AD07> { [ 0x1000f74, 0x1000f18, 0x1000fad, 0x1000f75 ] }; # ུ ༘ ྭ ཱུ
+ key <AD08> { [ 0x1000f72, 0x1000f19, 0x1000f80, 0x1000f73 ] }; # ི ༙ ྀ ཱི
+ key <AD09> { [ 0x1000f7c, 0x1000f1a, 0x1000f7d, 0x1000fc0 ] }; # ོ ༚ ཽ ࿀
+ key <AD10> { [ 0x1000f55, 0x1000f1b, 0x1000fa5, 0x1000fc1 ] }; # ཕ ༛ ྥ ࿁
+ key <AD11> { [ 0x1000f59, 0x1000f1c, 0x1000fa9, 0x1000fc2 ] }; # ཙ ༜ ྩ ࿂
+ key <AD12> { [ 0x1000f5a, 0x1000f1d, 0x1000faa, 0x1000fc3 ] }; # ཚ ༝ ྪ ࿃
+ key <BKSL> { [ 0x1000f5b, 0x1000f1e, 0x1000fab, 0x1000f5c ] }; # ཛ ༞ ྫ ཛྷ
+
+ key <AC01> { [ 0x1000f60, 0x1000f71, 0x1000fb0, 0x1000fc4 ] }; # འ ཱ ྰ ࿄
+ key <AC02> { [ 0x1000f66, 0x1000f1f, 0x1000fb6, 0x1000fc5 ] }; # ས ༟ ྶ ࿅
+ key <AC03> { [ 0x1000f51, 0x1000f4c, 0x1000fa1, 0x1000f9c ] }; # ད ཌ ྡ ྜ
+ key <AC04> { [ 0x1000f56, 0x1000f3e, 0x1000fa6, 0x1000f57 ] }; # བ ༾ ྦ བྷ
+ key <AC05> { [ 0x1000f44, 0x1000f3f, 0x1000f94, 0x1000fc6 ] }; # ང ༿ ྔ ࿆
+ key <AC06> { [ 0x1000f58, 0x1000fcf, 0x1000fa8, 0x1000fc7 ] }; # མ ࿏ ྨ ࿇
+ key <AC07> { [ 0x1000f0b, 0x1000f02, 0x1000f84, 0x1000fc8 ] }; # ་ ༂ ྄ ࿈
+ key <AC08> { [ 0x1000f42, 0x1000f03, 0x1000f92, 0x1000f43 ] }; # ག ༃ ྒ གྷ
+ key <AC09> { [ 0x1000f63, 0x1000f06, 0x1000fb3, 0x1000fc9 ] }; # ལ ༆ ླ ࿉
+ key <AC10> { [ 0x1000f5e, 0x1000f07, 0x1000fae, 0x1000fca ] }; # ཞ ༇ ྮ ࿊
+ key <AC11> { [ 0x1000f0d, 0x1000f38, 0x1000f0e, 0x1000fcb ] }; # ། ༸ ༎ ࿋
+
+ key <AB01> { [ 0x1000f5f, 0x1000f34, 0x1000faf, 0x1000fcc ] }; # ཟ ༴ ྯ ࿌
+ key <AB02> { [ 0x1000f64, 0x1000f65, 0x1000fb4, 0x1000fb5 ] }; # ཤ ཥ ྴ ྵ
+ key <AB03> { [ 0x1000f40, 0x1000f69, 0x1000f90, 0x1000fb9 ] }; # ཀ ཀྵ ྐ ྐྵ
+ key <AB04> { [ 0x1000f41, 0x1000f87, 0x1000f91, 0x1000f36 ] }; # ཁ ྇ ྑ ༶
+ key <AB05> { [ 0x1000f54, 0x1000f86, 0x1000fa4, 0x1000f82 ] }; # པ ྆ ྤ ྂ
+ key <AB06> { [ 0x1000f53, 0x1000f4e, 0x1000fa3, 0x1000f9e ] }; # ན ཎ ྣ ྞ
+ key <AB07> { [ ISO_Level3_Latch, ISO_Level3_Latch, 0x1000f85, 0x1000f52 ] }; # -བཏགས་ ྅ དྷ
+ key <AB08> { [ 0x1000f50, 0x1000f4b, 0x1000fa0, 0x1000f9b ] }; # ཐ ཋ ྠ ྛ
+ key <AB09> { [ 0x1000f47, 0x1000f3a, 0x1000f97, 0x1000f8b ] }; # ཇ ༺ ྗ ྋ
+ key <AB10> { [ 0x1000f49, 0x1000f3b, 0x1000f99, 0x1000f8a ] }; # ཉ ༻ ྙ ྊ
+
+};
+
+// Tibetan Standard Keyboard with ASCII numerals
+//
+// Users may prefer that the numeral keys enter ASCII numerals instead of
+// Tibetan numerals, since the latter are not in modern use in Tibet.
+// This is especially an issue for laptop users who do not have a numeric
+// keypad by which to access the ASCII numerals, and who need to type
+// numbers to be interpreted by applications.
+//
+// In this mapping, the Shift-modified numeral keys generate Tibetan
+// numerals, since it was unclear to me that the standard Latin punctuation
+// keys would be any use without Latin letters. (One can imagine wanting to
+// type an email address using the @ sign, but as of present non-ASCII
+// email addresses are not possible.) This mapping may change in the future
+// if a clearly better use for the shifted numerals is pointed out by users.
+
+partial alphanumeric_keys
+xkb_symbols "tib_asciinum" {
+ include "cn(tib)"
+
+ name[Group1]= "China - Tibetan (with ASCII numerals)";
+
+ key <AE01> { [ 1, 0x1000f21, 0x1000f04, 0x1000f76 ] }; # 1 ༡ ༄ ྲྀ
+ key <AE02> { [ 2, 0x1000f22, 0x1000f05, 0x1000f77 ] }; # 2 ༢ ༅ ཷ
+ key <AE03> { [ 3, 0x1000f23, 0x1000f7e, 0x1000f78 ] }; # 3 ༣ ཾ ླྀ
+ key <AE04> { [ 4, 0x1000f24, 0x1000f83, 0x1000f79 ] }; # 4 ༤ ྃ ཹ
+ key <AE05> { [ 5, 0x1000f25, 0x1000f37, 0x1000f81 ] }; # 5 ༥ ༷ ཱྀ
+ key <AE06> { [ 6, 0x1000f26, 0x1000f35, 0x1000f09 ] }; # 6 ༦ ༵ ༉
+ key <AE07> { [ 7, 0x1000f27, 0x1000f7f, 0x1000f0a ] }; # 7 ༧ ཿ ༊
+ key <AE08> { [ 8, 0x1000f28, 0x1000f14, 0x1000f0f ] }; # 8 ༨ ༔ ༏
+ key <AE09> { [ 9, 0x1000f29, 0x1000f11, 0x1000f10 ] }; # 9 ༩ ༑ ༐
+ key <AE10> { [ 0, 0x1000f20, 0x1000f08, 0x1000f12 ] }; # 0 ༠ ༈ ༒
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/compose b/xorg-server/xkeyboard-config/symbols/compose
new file mode 100644
index 000000000..84e1a4b04
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/compose
@@ -0,0 +1,59 @@
+// $XKeyboardConfig$
+
+// $XFree86: xc/programs/xkbcomp/symbols/compose,v 1.1 2001/08/17 16:31:25 dawes Exp $
+
+partial modifier_keys
+xkb_symbols "ralt" {
+ key <RALT> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "lwin" {
+ key <LWIN> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "rwin" {
+ key <RWIN> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "menu" {
+ key <MENU> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "rctrl" {
+ key <RCTL> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "lctrl" {
+ key <LCTL> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "caps" {
+ key <CAPS> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "102" {
+ key <LSGT> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "paus" {
+ key <PAUS> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "prsc" {
+ key <PRSC> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "sclk" {
+ key <SCLK> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/ctrl b/xorg-server/xkeyboard-config/symbols/ctrl
new file mode 100644
index 000000000..80930bc12
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ctrl
@@ -0,0 +1,48 @@
+// $XKeyboardConfig$
+
+// $XFree86: xc/programs/xkbcomp/symbols/ctrl,v 3.2 2003/10/24 20:38:20 tsi Exp $
+//
+// eliminate the caps lock key completely (replace with control)
+partial modifier_keys
+xkb_symbols "nocaps" {
+ replace key <CAPS> { [ Control_L, Control_L ] };
+ modifier_map Control { <CAPS>, <LCTL> };
+};
+
+// swap the caps lock key with the left control key
+partial modifier_keys
+xkb_symbols "swapcaps" {
+ replace key <CAPS> { [ Control_L ] };
+ replace key <LCTL> { [ Caps_Lock ] };
+};
+
+// moves the control key to the middle row and the caps lock
+// to the bottom row. Only works if the geometry or keycodes
+// file has defined appropriate aliases for the keys in question.
+partial modifier_keys
+xkb_symbols "ctrl_ac" {
+ replace key <AC00> { [ Control_L ] };
+ replace key <AA00> { [ Caps_Lock ] };
+};
+
+// Moves the control key to the bottom row and the caps lock
+// to the middle row. Only works if the geometry or keycodes
+// file has defined appropriate aliases for the keys in question.
+partial modifier_keys
+xkb_symbols "ctrl_aa" {
+ replace key <AA00> { [ Control_L ] };
+ replace key <AC00> { [ Caps_Lock ] };
+};
+
+// Right Ctrl works as Right Alt
+partial modifier_keys
+xkb_symbols "ctrl_ra" {
+ key <RCTL> { symbols[Group1]= [ Alt_R ] };
+};
+
+// Menu works as Right Ctrl
+partial modifier_keys
+xkb_symbols "ctrl_menu" {
+ replace key <MENU> { [ Control_R, Control_R ] };
+ modifier_map Control { Control_L, <MENU> };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/cz b/xorg-server/xkeyboard-config/symbols/cz
new file mode 100644
index 000000000..32592799a
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/cz
@@ -0,0 +1,174 @@
+// $XKeyboardConfig$
+// $XFree86: xc/programs/xkbcomp/symbols/cz,v 1.2 2002/11/22 04:02:22 dawes
+// Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // This layout conforms to a new cz compromise standard designed
+ // to satisfy most unix, windows and mac users.
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "latin"
+
+ name[Group1]= "Czechia";
+
+ key <TLDE> { [ semicolon, dead_abovering, grave, asciitilde ] };
+ key <AE01> { [ plus, 1, exclam, dead_tilde ] };
+ key <AE02> { [ ecaron, 2, at, dead_caron ] };
+ key <AE03> { [ scaron, 3, numbersign, dead_circumflex ] };
+ key <AE04> { [ ccaron, 4, dollar, dead_breve ] };
+ key <AE05> { [ rcaron, 5, percent, dead_abovering ] };
+ key <AE06> { [ zcaron, 6, asciicircum, dead_ogonek ] };
+ key <AE07> { [ yacute, 7, ampersand, dead_grave ] };
+ key <AE08> { [ aacute, 8, asterisk, dead_abovedot] };
+ key <AE09> { [ iacute, 9, braceleft, dead_acute ] };
+ key <AE10> { [ eacute, 0, braceright, dead_doubleacute ] };
+ key <AE11> { [ equal, percent, NoSymbol, dead_diaeresis ] };
+ key <AE12> { [dead_acute, dead_caron, dead_macron, dead_cedilla ] };
+
+ key <AD01> { [ q, Q, backslash, NoSymbol ] };
+ key <AD02> { [ w, W, bar, Nosymbol ] };
+ key <AD03> { [ e, E, EuroSign, NoSymbol ] };
+ key <AD04> { [ r, R, NoSymbol, NoSymbol ] };
+ key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
+ key <AD06> { [ z, Z, NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U, NoSymbol, NoSymbol ] };
+ key <AD08> { [ i, I, NoSymbol, NoSymbol ] };
+ key <AD09> { [ o, O, NoSymbol, NoSymbol ] };
+ key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
+
+ key <AD11> { [ uacute, slash, bracketleft, division ] };
+ key <AD12> { [parenright, parenleft, bracketright, multiply ] };
+
+ key <AC01> { [ a, A, asciitilde, NoSymbol ] };
+ key <AC02> { [ s, S, dstroke, NoSymbol ] };
+ key <AC03> { [ d, D, Dstroke, NoSymbol ] };
+ key <AC04> { [ f, F, bracketleft, NoSymbol ] };
+ key <AC05> { [ g, G, bracketright, NoSymbol ] };
+ key <AC06> { [ h, H, grave, NoSymbol ] };
+ key <AC07> { [ j, J, apostrophe, NoSymbol ] };
+ key <AC08> { [ k, K, lstroke, NoSymbol ] };
+ key <AC09> { [ l, L, Lstroke, NoSymbol ] };
+
+ key <AC10> { [ uring, quotedbl, dollar, NoSymbol ] };
+ key <AC11> { [ section, exclam, apostrophe, ssharp ] };
+ key <AC12> { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] };
+ key <BKSL> { [dead_diaeresis, apostrophe, backslash, bar ] };
+
+ key <LSGT> { [ backslash, bar, slash, NoSymbol ] };
+ key <AB01> { [ y, Y, degree, NoSymbol ] };
+ key <AB02> { [ x, X, numbersign, Nosymbol ] };
+ key <AB03> { [ c, C, ampersand, NoSymbol ] };
+ key <AB04> { [ v, V, at, NoSymbol ] };
+ key <AB05> { [ b, B, braceleft, NoSymbol ] };
+ key <AB06> { [ n, N, braceright, NoSymbol ] };
+ key <AB07> { [ m, M, asciicircum, NoSymbol ] };
+ key <AB08> { [ comma, question, less, NoSymbol ] };
+ key <AB09> { [ period, colon, greater, NoSymbol ] };
+ key <AB10> { [ minus, underscore, asterisk, NoSymbol ] };
+
+ key <SPCE> { [ space, space, space, space ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "bksl" {
+ include "cz(basic)"
+ name[Group1]= "Czechia - With <\|> key";
+
+ key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+
+ // This layout should work exactly as a cz with the exception
+ // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "cz(basic)"
+ name[Group1]= "Czechia - qwerty";
+
+ key <AB01> { [ z, Z, degree, NoSymbol ] };
+ key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
+};
+
+// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "qwerty_bksl" {
+ include "cz(qwerty)"
+
+ name[Group1]= "Czechia - qwerty, extended Backslash";
+
+ key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "ucw" {
+
+ // This layout is usually used as the second group, it contains
+ // accented characters only, no 'latin' set.
+ // 2008 by Milan Vancura <mvancura@suse.cz>
+
+ name[Group1]= "Czechia - UCW layout (accented letters only)";
+
+ key <AB01> { [zcaron, Zcaron ] };
+ key <AB02> { [ssharp ] };
+ key <AB03> { [ccaron, Ccaron ] };
+ key <AB04> { [ccedilla, Ccedilla ] };
+ key <AB05> { [ntilde, Ntilde ] };
+ key <AB06> { [ncaron, Ncaron ] };
+ key <AB07> { [lacute, Lacute ] };
+
+ key <AC01> { [aacute, Aacute ] };
+ key <AC02> { [scaron, Scaron ] };
+ key <AC03> { [dcaron, Dcaron ] };
+ key <AC04> { [ediaeresis, Ediaeresis ] };
+ key <AC05> { [racute, Racute ] };
+ key <AC06> { [uacute, Uacute ] };
+ key <AC07> { [udiaeresis, Udiaeresis ] };
+ key <AC08> { [ocircumflex, Ocircumflex ] };
+ key <AC09> { [lcaron, Lcaron ] };
+
+ key <AD01> { [adiaeresis, Adiaeresis ] };
+ key <AD02> { [ecaron, Ecaron ] };
+ key <AD03> { [eacute, Eacute ] };
+ key <AD04> { [rcaron, Rcaron ] };
+ key <AD05> { [tcaron, Tcaron ] };
+ key <AD06> { [yacute, Yacute ] };
+ key <AD07> { [uring, Uring ] };
+ key <AD08> { [iacute, Iacute ] };
+ key <AD09> { [oacute, Oacute ] };
+ key <AD10> { [odiaeresis, Odiaeresis ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "dvorak-ucw" {
+
+ // US Dvorak layout extend with UCW - AltGr produces accented characters
+
+ include "us(dvorak)"
+
+ name[Group1]= "Czechia - US Dvorak with CZ UCW support";
+
+ key <AB03> { [ j, J, eacute, Eacute ] };
+ key <AB04> { [ k, K, uacute, Uacute ] };
+ key <AB10> { [ z, Z, zcaron, Zcaron ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ o, O, oacute, Oacute ] };
+ key <AC03> { [ e, E, ecaron, Ecaron ] };
+ key <AC04> { [ u, U, uring, Uring ] };
+ key <AC05> { [ i, I, iacute, Iacute ] };
+ key <AC06> { [ d, D, dcaron, Dcaron ] };
+ key <AC08> { [ t, T, tcaron, Tcaron ] };
+ key <AC09> { [ n, N, ncaron, Ncaron ] };
+ key <AC10> { [ s, S, scaron, Scaron ] };
+
+ key <AD05> { [ y, Y, yacute, Yacute ] };
+ key <AD08> { [ c, C, ccaron, Ccaron ] };
+ key <AD09> { [ r, R, rcaron, Rcaron ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/de b/xorg-server/xkeyboard-config/symbols/de
new file mode 100644
index 000000000..d70bccd5d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/de
@@ -0,0 +1,505 @@
+
+// based on a keyboard map from an 'xkb/symbols/de' file
+//
+// $XKeyboardConfig$
+// $XFree86: xc/programs/xkbcomp/symbols/de,v 1.6 2003/09/08 13:12:51 pascal Exp $
+
+default
+xkb_symbols "basic" {
+
+ include "latin(type4)"
+
+ name[Group1]="Germany";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
+ key <AE03> { [ 3, section, threesuperior, sterling ] };
+ key <AE04> { [ 4, dollar, onequarter, currency ] };
+
+ key <AE11> {type[Group1]="FOUR_LEVEL_PLUS_LOCK", symbols[Group1]=
+ [ssharp, question, backslash, questiondown, 0x1001E9E ]};
+// The unicode capital letter sharp s U+1E9E is transformed to "SS"
+// to match the rules for capitalizing sharp s in german.
+// If the capital sharp s is needed, delete the line
+// starting with <U1E9C> from /usr/share/X11/locale/iso8859-15/Compose.
+// If both doubled S and capital sharp s are needed, use 0x1001E9E
+// for capital sharp s and some free unicode codepoint like 0x1001E9C
+// for doubled S. Don`t forget to change this in the Compose file, too.
+
+ key <AE12> { [dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
+
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD06> { [ z, Z, leftarrow, yen ] };
+ key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
+
+ key <AC02> { [ s, S, U017F, U1E9E ] };
+ key <AC07> { [ j, J, dead_belowdot, dead_abovedot ] };
+ key <AC10> { [odiaeresis, Odiaeresis, dead_doubleacute, dead_belowdot ] };
+ key <AC11> { [adiaeresis, Adiaeresis, dead_circumflex, dead_caron ] };
+ key <TLDE> { [dead_circumflex, degree, U2032, U2033 ] };
+
+ key <BKSL> { [numbersign, apostrophe, rightsinglequotemark, dead_breve ] };
+ key <AB01> { [ y, Y, guillemotright, U203A ] };
+ key <AB02> { [ x, X, guillemotleft, U2039 ] };
+ key <AB04> { [ v, V, doublelowquotemark, singlelowquotemark ] };
+ key <AB05> { [ b, B, leftdoublequotemark, leftsinglequotemark ] };
+ key <AB06> { [ n, N, rightdoublequotemark, rightsinglequotemark ] };
+ key <AB08> { [ comma, semicolon, periodcentered, multiply ] };
+ key <AB09> { [ period, colon, U2026, division ] };
+ key <AB10> { [ minus, underscore, endash, emdash ] };
+
+ include "kpdl(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // modify the basic German layout to not have any dead keys
+
+ include "de(basic)"
+ name[Group1]="Germany - Eliminate dead keys";
+
+ key <TLDE> { [asciicircum, degree, notsign, notsign ] };
+ key <AE12> { [ acute, grave, cedilla, cedilla ] };
+ key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] };
+ key <AD12> { [ plus, asterisk, asciitilde, macron ] };
+ key <AC10> { [odiaeresis, Odiaeresis, doubleacute, doubleacute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] };
+ key <BKSL> { [numbersign, apostrophe, grave, grave ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "deadgraveacute" {
+ // modify the basic German layout to have only acute and grave
+ // as dead keys (tilde and circumflex are needed as spacing characters
+ // in many programming languages)
+
+ include "de(basic)"
+ name[Group1]="Germany - Dead grave acute";
+
+ key <TLDE> { [asciicircum, degree, notsign, notsign ] };
+ key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] };
+ key <BKSL> { [numbersign, apostrophe, grave, grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "deadacute" {
+ // modify the basic German layout to have only acute as
+ // dead keys (ASCII grave, tilde and circumflex are needed as
+ // spacing characters in many programming languages and text formatters)
+
+ include "de(deadgraveacute)"
+
+ name[Group1]="Germany - Dead acute";
+
+ key <AE12> { [dead_acute, grave, dead_cedilla, dead_ogonek ] };
+ key <BKSL> { [numbersign, apostrophe, dead_grave, dead_grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "ro" {
+ // add romanian-specific letters to the basic German layout.
+ // Romanian symbols are accessible with combination of <AltGr> and
+ // 'a', 's', 't', 'i', 'ä (&auml)' (+<Shift> for capital letters).
+ // To view romanian-specific symbols, add "export LC_CTYPE=ro_RO"
+ // or "export LC_CTYPE=de_DE.utf8" to your .profile.
+
+ include "de(basic)"
+
+ name[Group1]="Germany - Romanian keyboard with German letters";
+
+ key <AD05> { [ t, T, tcedilla, Tcedilla ] };
+ key <AD08> { [ i, I, icircumflex, Icircumflex ] };
+ key <AC01> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S, scedilla, Scedilla ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "ro_nodeadkeys" {
+ // add romanian-specific letters to the German nodeadkeys layout.
+ // Read the comment for de_ro !
+
+ include "de(nodeadkeys)"
+ name[Group1]="Germany - Romanian keyboard with German letters, eliminate dead keys";
+
+ key <AD05> { [ t, T, tcedilla, Tcedilla ] };
+ key <AD08> { [ i, I, icircumflex, Icircumflex ] };
+ key <AC01> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S, scedilla, Scedilla ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
+};
+
+// German Dvorak keymap by Thorsten Staerk (www.staerk.de/thorsten)
+// Have acute and grave as dead keys, tilde and circumflex alive as they are needed
+// in many programming languages.
+// to use this keymap, use a 105-key-keyboard and the command setxkbmap -model pc105 -layout dvorak -variant de
+// source: http://www-lehre.informatik.uni-osnabrueck.de/~rfreund/dvorak.php
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "us(dvorak)"
+
+ name[Group1]="Germany - Dvorak";
+
+ key <TLDE> { [ asciicircum, degree ] };
+
+ key <AE01> { [ 1, exclam, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, twosuperior ] };
+ key <AE03> { [ 3, section, threesuperior ] };
+ key <AE04> { [ 4, dollar, bar ] };
+ key <AE05> { [ 5, percent, bar ] };
+ key <AE06> { [ 6, ampersand, brokenbar ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, asterisk, asciitilde ] };
+ key <AE12> { [ less, greater, dead_grave ] };
+
+ key <AD01> { [ udiaeresis, Udiaeresis, at ] };
+ key <AD02> { [ comma, semicolon, dead_diaeresis ] };
+ key <AD03> { [ period, colon ] };
+ key <AD08> { [ c, C, copyright, Cacute ] };
+ key <AD09> { [ t, T, trademark ] };
+ key <AD10> { [ z, Z, zabovedot, Zabovedot ] };
+ key <AD11> { [ question, ssharp ] };
+ key <AD12> { [ slash, backslash, dead_acute ] };
+
+ key <AC01> { [ a, A, at, aogonek ] };
+ key <AC02> { [ o, O, oacute, Oacute ] };
+ key <AC03> { [ e, E, EuroSign, eogonek ] };
+ key <AC04> { [ i, I ] };
+ key <AC05> { [ u, U ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ d, D ] };
+ key <AC08> { [ r, R, registered ] };
+ key <AC09> { [ n, N, nacute, Nacute ] };
+ key <AC10> { [ s, S, sacute, Sacute] };
+ key <AC11> { [ l, L, lstroke, Lstroke ] };
+
+ key <AB01> { [ odiaeresis, Odiaeresis ] };
+ key <AB02> { [ q, Q, at ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB10> { [ numbersign, apostrophe ] };
+
+ key <BKSL> { [ minus, underscore, hyphen, diaeresis] };
+
+ key <LSGT> { [ adiaeresis, Adiaeresis, bar ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // For naming consistency
+
+ include "de(basic)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ // For naming consistency
+
+ include "de(Sundeadkeys)"
+
+ name[Group1]="Germany - Sun dead keys";
+};
+
+
+// German Neo-Layout Version 2
+// adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de>
+// inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/
+//
+// Authors:
+// Stephan Hilb <stephan at ehilb dot de>
+// <lucky at zankt dot net>
+// Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany>
+// Erik Streb <mail at erikstreb dot de>
+// and many other contributors
+//
+// http://www.neo-layout.org
+//
+// $Revision$, $Date$
+
+partial alphanumeric_keys modifier_keys keypad_keys
+xkb_symbols "neo_base" {
+
+ // Levels in Neo jargon
+ // --------------------------------------------------------------
+ // Ebene 1: normal
+ // Ebene 2: Shift
+ // Ebene 3: Mod3
+ // Ebene 4: Mod4 (for marking something use Shift + Mod4)
+ // Ebene 5: Shift + Mod3
+ // Ebene 6: Mod3 + Mod4
+ // Compose (not a level): Mod3 + Tab
+ // Feststelltaste (Capslock): Shift + Shift
+ // Mod4-Lock: Mod4 + Mod4
+ // Mod4-Lock: Shift + Mod3 + Tab
+
+ // Legend
+ // ===============
+ // Levels in Xkbmap jargon to be found here in the definitions.
+ // These are the levels used, and Xorg's translations:
+ // --------------------------------------------------------------
+ // Xorg: Level1 Level2 Level3 Level4 Level5 Level6 Level7 Level8
+ // Neo: Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Pseudo-Ebene Ebene6 ???
+ // Keys (Neo): None Shift Mod3 Mod3 + Shift Mod4 Mod4 + Shift Mod3 + Mod4 Mod3 + Mod4 + Shift
+
+
+ // Alphanumeric-keys
+ // ===============
+ key.type[Group1] = "EIGHT_LEVEL";
+
+ // Tab as Multi_key (Compose)
+ // --------------------------------------------------------------
+ key <TAB> { [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ] };
+
+
+ // Number row
+ // --------------------------------------------------------------
+ key <TLDE> { [ dead_circumflex, dead_caron, U21BB, U02DE, dead_abovedot, Pointer_EnableKeys, dead_belowdot, NoSymbol ] };
+
+ key <AE01> { [ 1, degree, onesuperior, onesubscript, ordfeminine, NoSymbol, notsign, NoSymbol ] };
+ key <AE02> { [ 2, section, twosuperior, twosubscript, masculine, NoSymbol, logicalor, NoSymbol ] };
+ key <AE03> { [ 3, U2113, threesuperior, threesubscript, numerosign, NoSymbol, logicaland, NoSymbol ] };
+ key <AE04> { [ 4, guillemotright, U203A, femalesymbol, NoSymbol, NoSymbol, U22A5, NoSymbol ] };
+ key <AE05> { [ 5, guillemotleft, U2039, malesymbol, periodcentered, NoSymbol, U2221, NoSymbol ] };
+ key <AE06> { [ 6, dollar, cent, U26A5, sterling, NoSymbol, U2225, NoSymbol ] };
+
+ key <AE07> { [ 7, EuroSign, yen, U03F0, currency, NoSymbol, rightarrow, NoSymbol ] };
+ key <AE08> { [ 8, doublelowquotemark, singlelowquotemark, U27E8, Tab, ISO_Left_Tab, U221E, NoSymbol ] };
+ key <AE09> { [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, KP_Divide, variation, NoSymbol ] };
+ key <AE10> { [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, KP_Multiply, emptyset, NoSymbol ] };
+
+ key <AE11> { [ minus, emdash, NoSymbol, U2011, KP_Subtract, KP_Subtract, hyphen, NoSymbol ] };
+ key <AE12> { [ dead_grave, dead_cedilla, dead_abovering, dead_dasia, dead_diaeresis, NoSymbol, dead_macron, NoSymbol ] };
+
+ // Top row
+ // --------------------------------------------------------------
+ key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC";
+ key <AD01> { [ x, X, ellipsis, Greek_xi, Prior, Prior, Greek_XI, NoSymbol ] };
+ key <AD02> { [ v, V, underscore, NoSymbol, BackSpace, BackSpace, radical, NoSymbol ] };
+ key <AD03> { [ l, L, bracketleft, Greek_lambda, Up, Up, Greek_LAMBDA, NoSymbol ] };
+ key <AD04> { [ c, C, bracketright, Greek_chi, Delete, Delete, U2102, NoSymbol ] };
+ key <AD05> { [ w, W, asciicircum, Greek_omega, Next, Next, Greek_OMEGA, NoSymbol ] };
+
+ key <AD06> { [ k, K, exclam, Greek_kappa, exclamdown, NoSymbol, multiply, NoSymbol ] };
+ key <AD07> { [ h, H, less, Greek_psi, KP_7, KP_7, Greek_PSI, NoSymbol ] };
+ key <AD08> { [ g, G, greater, Greek_gamma, KP_8, KP_8, Greek_GAMMA, NoSymbol ] };
+ key <AD09> { [ f, F, equal, Greek_phi, KP_9, KP_9, Greek_PHI, NoSymbol ] };
+ key <AD10> { [ q, Q, ampersand, U03D5, KP_Add, KP_Add, U211A, NoSymbol ] };
+
+ key <AD11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] };
+
+ key.type[Group1] = "EIGHT_LEVEL";
+ key <AD12> { [ dead_acute, dead_tilde, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ] };
+
+ // Middle row
+ // --------------------------------------------------------------
+ key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC";
+ key <AC01> { [ u, U, backslash, NoSymbol, Home, Home, includedin, NoSymbol ] };
+ key <AC02> { [ i, I, slash, Greek_iota, Left, Left, integral, NoSymbol ] };
+ key <AC03> { [ a, A, braceleft, Greek_alpha, Down, Down, U2200, NoSymbol ] };
+ key <AC04> { [ e, E, braceright, Greek_epsilon, Right, Right, U2203, NoSymbol ] };
+ key <AC05> { [ o, O, asterisk, Greek_omicron, End, End, elementof, NoSymbol ] };
+
+ key <AC06> { [ s, S, question, Greek_sigma, questiondown, NoSymbol, Greek_SIGMA, NoSymbol ] };
+ key <AC07> { [ n, N, parenleft, Greek_nu, KP_4, KP_4, U2115, NoSymbol ] };
+ key <AC08> { [ r, R, parenright, Greek_rho, KP_5, KP_5, U211D, NoSymbol ] };
+ key <AC09> { [ t, T, minus, Greek_tau, KP_6, KP_6, partialderivative, NoSymbol ] };
+ key <AC10> { [ d, D, colon, Greek_delta, KP_Separator, comma, Greek_DELTA, NoSymbol ] };
+
+ key <AC11> { [ y, Y, at, Greek_upsilon, period, KP_Decimal, nabla, NoSymbol ] };
+
+ // Bottom row
+ // --------------------------------------------------------------
+ key <AB01> { [ udiaeresis, Udiaeresis, numbersign, NoSymbol, Escape, Escape, union, NoSymbol ] };
+ key <AB02> { [ odiaeresis, Odiaeresis, dollar, U03F5, Tab, Tab, intersection, NoSymbol ] };
+ key <AB03> { [ adiaeresis, Adiaeresis, bar, Greek_eta, Insert, Insert, U2135, NoSymbol ] };
+ key <AB04> { [ p, P, asciitilde, Greek_pi, Return, Return, Greek_PI, NoSymbol ] };
+ key <AB05> { [ z, Z, grave, Greek_zeta, Undo, Undo, U2124, NoSymbol ] };
+
+ key <AB06> { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ] };
+ key <AB07> { [ m, M, percent, Greek_mu, KP_1, KP_1, ifonlyif, NoSymbol ] };
+ key.type[Group1] = "EIGHT_LEVEL";
+ key <AB08> { [ comma, endash, quotedbl, U03F1, KP_2, KP_2, U21D2, NoSymbol ] };
+ key <AB09> { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, KP_3, U21A6, NoSymbol ] };
+ key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC";
+ key <AB10> { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, Greek_THETA, NoSymbol ] };
+ key.type[Group1] = "EIGHT_LEVEL";
+
+ // Space key
+ // --------------------------------------------------------------
+ key <SPCE> { [ space, space, space, nobreakspace, KP_0, KP_0, U202F, NoSymbol ] };
+
+
+ // Keypad-keys
+ // ===============
+
+ // The former Numlock key:
+ key <NMLK> { [ Tab, ISO_Left_Tab, equal, approxeq, notequal, Pointer_EnableKeys, identical, NoSymbol ] };
+
+ // Topmost row
+ // --------------------------------------------------------------
+ key <KPDV> { [ KP_Divide, KP_Divide, division, U2300, U2215, NoSymbol, U2223, NoSymbol ] };
+ key <KPMU> { [ KP_Multiply, KP_Multiply, U2219, U2299, multiply, NoSymbol, U2297, NoSymbol ] };
+ key <KPSU> { [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238, NoSymbol ] };
+
+ // Top row
+ // --------------------------------------------------------------
+ key <KP7> { [ KP_7, U2714, U2195, U226A, KP_Home, KP_Home, upstile, NoSymbol ] };
+ key <KP8> { [ KP_8, U2718, uparrow, intersection, KP_Up, KP_Up, U22C2, NoSymbol ] };
+ key <KP9> { [ KP_9, dagger, U20D7, U226B, KP_Prior, KP_Prior, U2309, NoSymbol ] };
+ key <KPAD> { [ KP_Add, KP_Add, plusminus, U2295, U2213, NoSymbol, U2214, NoSymbol ] };
+
+ // Middle row
+ // --------------------------------------------------------------
+ key <KP4> { [ KP_4, club, leftarrow, includedin, KP_Left, KP_Left, U2286, NoSymbol ] };
+ key <KP5> { [ KP_5, EuroSign, colon, U22B6, KP_Begin, KP_Begin, U22B7, NoSymbol ] };
+ key <KP6> { [ KP_6, U2023, rightarrow, includes, KP_Right, KP_Right, U2287, NoSymbol ] };
+
+ // Bottom row
+ // --------------------------------------------------------------
+ key <KP1> { [ KP_1, diamond, U2194, lessthanequal, KP_End, KP_End, downstile, NoSymbol ] };
+ key <KP2> { [ KP_2, heart, downarrow, union, KP_Down, KP_Down, U22C3, NoSymbol ] };
+ key <KP3> { [ KP_3, U2660, U21CC, greaterthanequal, KP_Next, KP_Next, U230B, NoSymbol ] };
+ key <KPEN> { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, NoSymbol ] };
+ key <KPEQ> { [ KP_Equal, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] };
+
+ // Bottommost row
+ // --------------------------------------------------------------
+ key <KP0> { [ KP_0, U2423, percent, U2030, KP_Insert, KP_Insert, U25A1, NoSymbol ] };
+ key <KPDL> { [ KP_Separator, period, comma, minutes, KP_Delete, KP_Delete, seconds, NoSymbol ] };
+};
+
+partial alphanumeric_keys modifier_keys keypad_keys
+xkb_symbols "neo" {
+
+ include "de(neo_base)"
+
+ name[Group1]= "Germany - Neo 2";
+
+ include "shift(both_capslock)"
+ include "level3(caps_switch)"
+ include "level3(bksl_switch)"
+ include "level5(lsgt_switch)"
+ include "level5(ralt_switch)"
+};
+
+// Copied from macintosh_vndr/de
+// olh@suse.de very close to MacOS map
+
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ include "de"
+ name[Group1]= "Germany - Macintosh";
+
+ // Alphanumeric section
+ key <AE01> { [ 1, exclam, exclamdown, at ] };
+ key <AE05> { [ 5, percent, bracketleft ] };
+ key <AE06> { [ 6, ampersand, bracketright ] };
+ key <AE07> { [ 7, slash, bar, backslash ] };
+ key <AE08> { [ 8, parenleft, braceleft, asciitilde ] };
+ key <AE09> { [ 9, parenright, braceright ] };
+ key <AD01> { [ q, Q, guillemotleft, guillemotright ] };
+ key <AD04> { [ r, R, registered ] };
+ key <AD07> { [ u, U, diaeresis, Aacute ] };
+ key <AD08> { [ i, I, slash, Ucircumflex ] };
+ key <AD11> { [ udiaeresis, Udiaeresis, periodcentered, degree ] };
+ key <AD12> { [ plus, asterisk, asciitilde ] };
+ key <AC01> { [ a, A, aring, Aring ] };
+ key <AC05> { [ g, G, copyright ] };
+ key <AC06> { [ h, H, ordfeminine ] };
+ key <AC09> { [ l, L, at ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, dead_acute ] };
+ key <AB06> { [ n, N, asciitilde ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "mac_nodeadkeys" {
+ // modify the standard German mac layout to not have any dead keys
+ include "de(mac)"
+ name[Group1]= "Germany - Macintosh, eliminate dead keys";
+ key <AE04> { [ 4, dollar, onequarter, currency ] };
+
+ key <TLDE> { [ asciicircum, degree, notsign ] };
+ key <AE12> { [ acute, grave, cedilla ] };
+ key <AD11> { [ udiaeresis, Udiaeresis, diaeresis ] };
+ key <AD12> { [ plus, asterisk, asciitilde, macron ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, acute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, asciicircum ] };
+
+ key <BKSL> { [ numbersign, apostrophe, grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "dsb"
+{
+ name[Group1] = "Germany - Lower Sorbian";
+ include "latin(basic)"
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ key <AB02> { [ x, X, zacute, Zacute ] };
+ key <AB03> { [ c, C, cacute, Cacute ] };
+ key <AB04> { [ v, V, ccaron, Ccaron ] };
+ key <AB06> { [ n, N, nacute, Nacute ] };
+ key <AC02> { [ s, S, sacute, Sacute ] };
+ key <AC03> { [ d, D, scaron, Scaron ] };
+ key <AC04> { [ f, F ] };
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E, ecaron, Ecaron ] };
+ key <AD04> { [ r, R, racute, Racute ] };
+ key <AD05> { [ t, T, U20B5, EuroSign ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "dsb_qwertz"
+{
+ name[Group1] = "Germany - Lower Sorbian (qwertz)";
+ include "latin(basic)"
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+ key <AB01> { [ y, Y ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C, cacute, Cacute ] };
+ key <AB04> { [ v, V, ccaron, Ccaron ] };
+ key <AB06> { [ n, N, nacute, Nacute ] };
+ key <AC02> { [ s, S, sacute, Sacute ] };
+ key <AC03> { [ d, D, scaron, Scaron ] };
+ key <AC04> { [ f, F ] };
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E, ecaron, Ecaron ] };
+ key <AD04> { [ r, R, racute, Racute ] };
+ key <AD05> { [ t, T, U20B5, EuroSign ] };
+ key <AD06> { [ z, Z, zcaron, Zcaron ] };
+ key <AD07> { [ u, U, zacute, Zacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+
+ // This layout should work exactly as a de with the exception
+ // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
+ // 2008 by Matej Košík <kosik@fiit.stuba.sk>
+
+ include "de(basic)"
+
+ name[Group1] = "Germany - qwerty";
+
+ key <AB01> { [ z, Z, leftarrow, yen ] };
+ key <AD06> { [ y, Y, guillemotleft, less ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/digital_vndr/Makefile.am b/xorg-server/xkeyboard-config/symbols/digital_vndr/Makefile.am
new file mode 100644
index 000000000..063fc8d57
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/digital_vndr/Makefile.am
@@ -0,0 +1,5 @@
+symbolsdir = $(xkb_base)/symbols/digital_vndr
+
+dist_symbols_DATA = \
+lk pc us \
+vt
diff --git a/xorg-server/xkeyboard-config/symbols/digital_vndr/lk b/xorg-server/xkeyboard-config/symbols/digital_vndr/lk
new file mode 100644
index 000000000..4d311c7e5
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/digital_vndr/lk
@@ -0,0 +1,131 @@
+// $Xorg: lk,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log: lk,v
+// Revision 1.2 1996/06/18 09:10:09 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.2.2 1995/03/10 17:16:52 William_Walker
+// Rename to avoid name conflicts with XKB stuff
+// [1995/03/10 17:10:33 William_Walker]
+//
+// Revision 1.1.2.2 1994/10/31 15:22:00 William_Walker
+// New experimental version.
+// [1994/10/31 14:48:37 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: lk,v Revision: 1.2 (DEC) Date: 1996/01/24 12:14:58
+//
+// Symbols common to all the LK-style keyboards.
+//
+default xkb_symbols "common" {
+
+ // Modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control { Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod3 { Scroll_Lock };
+
+ // Additional alphanumeric keys
+ key <LSGT> { [ less, greater ] };
+ key <LALT> { [ Alt_L, Meta_L ] };
+
+ // "Function" keys
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ Escape, F11 ] };
+ key <FK12> { [ F12 ] };
+ key <FK13> { [ F13 ] };
+ key <FK14> { [ F14 ] };
+ key <FK17> { [ F17 ] };
+ key <FK18> { [ F18 ] };
+ key <FK19> { [ F19 ] };
+ key <FK20> { [ F20 ] };
+
+ // "Editing" keys
+ key <HELP> { [ Help ] };
+ key <DO> { [ Menu ] };
+ key <FIND> { [ Find ] };
+ key <INS> { [ Insert ] };
+ key <DELE> { [ Delete ] };
+ key <SELE> { [ Select ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // "Keypad" keys
+ key <KPF1> {
+ type= "SHIFT+ALT",
+ symbols[Group1]=[ KP_F1,Pointer_EnableKeys ]
+ };
+ key <KPF2> { [ KP_F2 ] };
+ key <KPF3> { [ KP_F3 ] };
+ key <KPF4> { [ KP_F4 ] };
+
+ key <KPCO> { [ KP_Separator ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_0 ] };
+ key <KPDL> { [ KP_Decimal ] };
+};
+
+xkb_symbols "lk401" {
+ include "symbols/digital_vndr/lk(common)"
+ key <RALT> { [ Alt_R, Meta_R ] };
+ key <LCMP> { [ Multi_key ] };
+ key <RCMP> { [ Multi_key ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/digital_vndr/pc b/xorg-server/xkeyboard-config/symbols/digital_vndr/pc
new file mode 100644
index 000000000..b1faec03c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/digital_vndr/pc
@@ -0,0 +1,176 @@
+// $Xorg: pc,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log
+// Revision 1.2 1996/06/18 09:10:12 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.4 1995/12/19 19:55:58 William_Walker
+// Update to XKB 0.65
+// [1995/12/17 02:37:07 William_Walker]
+//
+// Revision 1.1.6.3 1995/10/25 21:01:09 William_Walker
+// Make sure we use DIN 2137 and VT510 Spec for Group Semantics
+// [1995/10/23 15:49:03 William_Walker]
+//
+// Revision 1.1.6.2 1995/08/07 17:40:40 William_Walker
+// Upgrade XKB to protocol 0.62 (dual submit from decx11)
+// [1995/08/06 14:06:32 William_Walker]
+//
+// Revision 1.1.2.7 1995/08/05 15:25:57 William_Walker
+// Sync up with Erik's pool.
+// [1995/08/03 20:17:15 William_Walker]
+//
+// Revision 1.1.2.6 1995/06/27 12:18:25 William_Walker
+// Add LK201 and LK450 support as well as TW and DP variants.
+// [1995/06/26 20:29:52 William_Walker]
+//
+// Revision 1.1.2.5 1995/06/08 17:10:28 William_Walker
+// Make RALT default to Mode_switch
+// [1995/06/08 17:08:50 William_Walker]
+//
+// Revision 1.1.2.4 1995/06/05 19:24:14 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:17:03 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: pc Revision: /main/4 (DEC) Date: 1996/01/24 12:15:02
+//
+
+// **************************************************************
+// * *
+// * The symbols common to all Extended PC layouts. *
+// * *
+// **************************************************************
+xkb_symbols "pc" {
+
+ // Modifier mappings
+ //
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control { Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Num_Lock };
+ modifier_map Mod5 { Scroll_Lock };
+
+ // Common keys
+ //
+ key <BKSP> { [ BackSpace, Delete ] };
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <CAPS> { [ Caps_Lock ] };
+ key <RTRN> { [ Return ] };
+ key <LFSH> { [ Shift_L ] };
+ key <RTSH> { [ Shift_R ] };
+ key <LCTL> { [ Control_L ] };
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <SPCE> { [ space ] };
+ key <RALT> { [ Mode_switch ] };
+ key <RCTL> { [ Control_R ] };
+
+ // "Function" keys
+ //
+ key <ESC> { [ Escape ] };
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ key <PRSC> {
+ type= "PC_ALT_LEVEL2",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> {
+ type= "PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ Pause, Break ]
+ };
+
+ // "Editing" keys
+ //
+ key <INS> { [ Insert ] };
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <DELE> { [ Delete ] };
+ key <END> { [ End ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // "Keypad" keys
+ //
+ key <NMLK> {
+ type= "SHIFT+ALT",
+ symbols[Group1]= [ Num_Lock,Pointer_EnableKeys]
+ };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+
+ // Key to support Lock-Down Modifier descriptions for R5
+ //
+ key <LDM> { [ NoSymbol ] };
+};
+
+xkb_symbols "pc104" {
+ include "digital_vndr/pc(pc)"
+
+ replace key <LALT> { [ Alt_L ] };
+ key <LWIN> { [ Meta_L ] };
+ key <RWIN> { [ Meta_R ] };
+ key <MENU> { [ Menu ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/digital_vndr/us b/xorg-server/xkeyboard-config/symbols/digital_vndr/us
new file mode 100644
index 000000000..7e1131a63
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/digital_vndr/us
@@ -0,0 +1,212 @@
+// $Xorg: us,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log
+// Revision 1.2 1996/06/18 09:10:16 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.3 1995/12/19 19:56:37 William_Walker
+// Update to XKB 0.65
+// [1995/12/17 02:37:44 William_Walker]
+//
+// Revision 1.1.6.2 1995/10/25 21:01:25 William_Walker
+// Add pc104-key support
+// [1995/10/23 15:46:27 William_Walker]
+//
+// Revision 1.1.2.7 1995/06/27 12:18:40 William_Walker
+// Add LK201 and LK450 support as well as TW and DP variants.
+// [1995/06/26 20:30:33 William_Walker]
+//
+// Revision 1.1.2.6 1995/06/09 20:55:20 William_Walker
+// Add VT105 layout support and ISO group support
+// [1995/06/09 20:43:05 William_Walker]
+//
+// Revision 1.1.2.5 1995/06/08 21:05:49 William_Walker
+// Use ISO_Next_Group instead of grouplock
+// [1995/06/08 21:03:56 William_Walker]
+//
+// Revision 1.1.2.4 1995/06/05 19:25:00 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:17:54 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: us Revision: /main/4 (DEC) Date: 1996/01/24 12:15:05
+//
+
+// **************************************************************
+// * *
+// * Symbols for en_US.ISO8859-1 - English for U.S. *
+// * *
+// **************************************************************
+
+xkb_symbols "us" {
+
+ key <AE00> { [ grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+};
+
+// **************************************************************
+// * *
+// * The VT105 layouts *
+// * *
+// * NOTES: The typewriter (TW) and dataprocessing (DP) keys *
+// * for the VT108 layout are identical for the US. *
+// * *
+// **************************************************************
+xkb_symbols "vt105-tw" {
+ include "digital_vndr/us(us)"
+ include "digital_vndr/vt(vt105)"
+ override key <AE03> {
+ symbols[Group1]= [ 3, numbersign ],
+ symbols[Group2]= [ sterling ]
+ };
+ key <AB00> { [ less, greater ] };
+};
+
+xkb_symbols "vt105-dp" { include "digital_vndr/us(vt105-tw)" };
+xkb_symbols "vt105" { include "digital_vndr/us(vt105-tw)" };
+
+// **************************************************************
+// * *
+// * The VT108 layouts - based upon the LK401-AA *
+// * *
+// * NOTES: The typewriter (TW) and dataprocessing (DP) keys *
+// * for the VT108 layout are identical for the US. *
+// * *
+// **************************************************************
+xkb_symbols "vt108-tw" {
+ include "digital_vndr/us(us)"
+ include "digital_vndr/vt(vt108)"
+ replace key <LCMP> { [ Multi_key ] };
+ override key <AE03> {
+ symbols[Group1]= [ 3, numbersign ],
+ symbols[Group2]= [ sterling ]
+ };
+ key <AB00> { [ less, greater ] };
+};
+
+xkb_symbols "vt108-dp" { include "digital_vndr/us(vt108-tw)" };
+xkb_symbols "vt108" { include "digital_vndr/us(vt108-tw)" };
+
+// **************************************************************
+// * *
+// * The "unix" layouts - based upon the LK421-AA *
+// * *
+// * NOTES: The "unix" keyboard emits the same keycodes as the *
+// * LK401, but is a shorter keyboard that uses an *
+// * "extend" key. To make life easier, we map <AE00> *
+// * to Escape so users do not have to press Extend+F11 *
+// * to get Escape. *
+// * *
+// **************************************************************
+xkb_symbols "unix" {
+ include "digital_vndr/us(vt108)"
+ override key <AE00> { [ Escape ] };
+ override key <AB00> { [ grave, asciitilde ] };
+};
+
+// **************************************************************
+// * *
+// * The "pcxal" layouts *
+// * *
+// * NOTES: The pcxal layouts are pretty much standardized for *
+// * the US and use a 101-key keyboard. *
+// * *
+// **************************************************************
+xkb_symbols "pcxalga" {
+ include "digital_vndr/pc(pc)"
+ include "digital_vndr/us(us)"
+ replace key <RALT> { [ Alt_R, Meta_R ] };
+};
+
+xkb_symbols "pcxal" { include "digital_vndr/us(pcxalga)" };
+xkb_symbols "pcxalaa" { include "digital_vndr/us(pcxalga)" };
+xkb_symbols "pcxalfa" { include "digital_vndr/us(pcxalga)" };
+xkb_symbols "pcxalka" { include "digital_vndr/us(pcxalga)" };
+xkb_symbols "lk44x" { include "digital_vndr/us(pcxalga)" };
+
+// **************************************************************
+// * *
+// * The "pc104" layouts. *
+// * *
+// **************************************************************
+xkb_symbols "pc104" {
+ include "digital_vndr/pc(pc104)"
+ include "digital_vndr/us(us)"
+ replace key <RALT> { [ Alt_R ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/digital_vndr/vt b/xorg-server/xkeyboard-config/symbols/digital_vndr/vt
new file mode 100644
index 000000000..483f1debe
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/digital_vndr/vt
@@ -0,0 +1,159 @@
+// $Xorg: vt,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log
+// Revision 1.2 1996/06/18 09:10:19 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.2 1995/12/19 19:56:39 William_Walker
+// Update to XKB 0.65
+// [1995/12/17 02:37:47 William_Walker]
+//
+// Revision 1.1.2.5 1995/07/11 21:20:50 William_Walker
+// Make RALT act as RALT
+// [1995/07/11 21:18:28 William_Walker]
+//
+// Revision 1.1.2.4 1995/06/27 12:18:41 William_Walker
+// Add LK201 and LK450 support as well as TW and DP variants.
+// [1995/06/26 20:30:37 William_Walker]
+//
+// Revision 1.1.2.3 1995/06/09 20:55:21 William_Walker
+// Add VT105 layout support and ISO group support
+// [1995/06/09 20:43:09 William_Walker]
+//
+// Revision 1.1.2.2 1995/06/05 19:25:04 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:17:58 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: vt Revision: /main/3 (DEC) Date: 1996/01/24 12:15:08
+//
+xkb_symbols "vt105" {
+
+ // Modifier mappings
+ //
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control { Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod3 { Mode_switch };
+
+ // Common keys
+ //
+ key <BKSP> { [ Delete ] };
+ key <TAB> { [ Tab ] };
+ key <RTRN> { [ Return ] };
+ key <LCTL> { [ Control_L ] };
+ key <CAPS> { [ Caps_Lock ] };
+ key <LFSH> { [ Shift_L ] };
+ key <RTSH> { [ Shift_R ] };
+ key <LCMP> { [ Alt_L, Meta_L ] };
+ key <SPCE> { [ space ] };
+
+ // "Function" keys
+ //
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ Escape, F11 ] };
+ key <FK12> { [ F12 ] };
+ key <FK13> { [ F13 ] };
+ key <FK14> { [ F14 ] };
+ key <FK17> { [ F17 ] };
+ key <FK18> { [ F18 ] };
+ key <FK19> { [ F19 ] };
+ key <FK20> { [ F20 ] };
+
+ // "Editing" keys
+ //
+ key <HELP> { [ Help ] };
+ key <DO> { [ Menu ] };
+ key <FIND> { [ Find ] };
+ key <INS> { [ Insert ] };
+ key <DELE> { [ apLineDel ] };
+ key <SELE> { [ Select ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // "Keypad" keys
+ //
+ key <KPF1> {
+ type= "SHIFT+ALT",
+ symbols[Group1]= [ KP_F1,Pointer_EnableKeys ]
+ };
+ key <KPF2> { [ KP_F2 ] };
+ key <KPF3> { [ KP_F3 ] };
+ key <KPF4> { [ KP_F4 ] };
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPCO> { [ KP_Separator ] };
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_0 ] };
+ key <KPDL> { [ KP_Decimal ] };
+
+ // Key to support Lock-Down Modifier descriptions for R5
+ //
+ key <LDM> { [ NoSymbol ] };
+};
+
+xkb_symbols "vt108" {
+
+ include "digital_vndr/vt(vt105)"
+
+ replace key <LCMP> { [ Mode_switch ] };
+
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+ key <RCMP> { [ Multi_key ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/dk b/xorg-server/xkeyboard-config/symbols/dk
new file mode 100644
index 000000000..16223e9a5
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/dk
@@ -0,0 +1,77 @@
+
+// based on a keyboard map from an 'xkb/symbols/dk' file
+//
+// $XKeyboardConfig$
+// $XFree86: xc/programs/xkbcomp/symbols/dk,v 1.3 2002/12/19 01:07:56 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin(type2)"
+
+ name[Group1]="Denmark";
+
+ key <AE11> { [ plus, question, plusminus, questiondown ] };
+ key <AE12> { [dead_acute, dead_grave, bar, brokenbar ] };
+
+
+ key <AC10> { [ ae, AE, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ oslash, Ooblique, dead_circumflex, dead_caron ] };
+ key <TLDE> { [ onehalf, section, threequarters, paragraph ] };
+
+ key <BKSL> { [apostrophe, asterisk, dead_doubleacute, multiply ] };
+
+ key <LSGT> { [ less, greater, backslash, notsign ] };
+
+ include "kpdl(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "dk(basic)"
+
+ name[Group1]="Denmark - Eliminate dead keys";
+
+ key <AE12> { [ acute, grave, bar, ogonek ] };
+ key <AD11> { [ aring, Aring, diaeresis, degree ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
+ key <AC10> { [ ae, AE, acute, doubleacute ] };
+ key <AC11> { [ oslash, Ooblique, asciicircum, caron ] };
+ key <BKSL> { [apostrophe, asterisk, doubleacute, multiply ] };
+ key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, abovedot ] };
+
+};
+
+// Copied from macintosh_vndr/dk
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ include "dk"
+ name[Group1]= "Denmark - Macintosh";
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+ key <AB10> { [ minus, underscore, hyphen, macron ] };
+ include "kpdl(dot)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "mac_nodeadkeys" {
+ include "dk(mac)"
+ name[Group1]= "Denmark - Macintosh, eliminate dead keys";
+
+ key <AE12> { [ acute, grave, bar, ogonek ] };
+ key <AD12> { [diaeresis, asciicircum, asciitilde, dead_macron ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "no(dvorak)"
+
+ name[Group1]= "Denmark - Dvorak";
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/ee b/xorg-server/xkeyboard-config/symbols/ee
new file mode 100644
index 000000000..e55f20e27
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ee
@@ -0,0 +1,103 @@
+// $XKeyboardConfig$
+
+// based on
+// Estonian XKB-keymap by Ville Hallik <ville@linux.ee>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/ee,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Estonian keyboard
+ // This layout conforms to both EVS8:1993 and EVS8:2000 standards
+
+ include "latin(type4)"
+
+ name[Group1]="Estonia";
+
+ key <AE03> { [ 3, numbersign, sterling, sterling ] };
+ key <AE04> { [ 4, currency, dollar, dollar ] };
+ key <AE11> { [ plus, question, backslash, questiondown ] };
+ key <AE12> { [dead_acute, dead_grave, grave, apostrophe ] };
+
+ key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ otilde, Otilde, section, dead_macron ] };
+
+ key <AC02> { [ s, S, scaron, Scaron ] };
+ key <AC10> { [odiaeresis, Odiaeresis, dead_acute, dead_doubleacute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, asciicircum, dead_caron ] };
+ key <TLDE> { [dead_caron, dead_tilde, notsign, notsign ] };
+
+ key <BKSL> { [apostrophe, asterisk, onehalf, dead_breve ] };
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ key <AB08> { [ comma, semicolon, less, multiply ] };
+ key <AB09> { [ period, colon, greater, division ] };
+
+ include "level3(ralt_switch)"
+ include "eurosign(e)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Estonian layout to eliminate all dead keys
+
+ include "ee(basic)"
+ name[Group1]="Estonia - Eliminate dead keys";
+
+ key <TLDE> { [asciicircum,asciitilde ] };
+ key <AE12> { [apostrophe, grave ] };
+ key <AD11> { [udiaeresis, Udiaeresis, diaeresis, degree ] };
+ key <AD12> { [ otilde, Otilde, section, macron ] };
+ key <AC10> { [odiaeresis, Odiaeresis, acute, doubleacute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, asciicircum, caron ] };
+ key <BKSL> { [apostrophe, asterisk, onehalf, breve ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
+// Dvorak with Estonian characters
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "us(dvorak)"
+ name[Group1]= "Estonia - Dvorak";
+
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, dollar, section, currency ] };
+ key <AE08> { [ 8, asterisk, onehalf ] };
+
+ key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
+ key <AC02> { [ o, O, otilde, Otilde ] };
+ key <AC03> { [ e, E, odiaeresis, Odiaeresis ] };
+ key <AC04> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AC10> { [ s, S, scaron, Scaron ] };
+ key <AB10> { [ z, Z, zcaron, Zcaron ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+ include "eurosign(5)"
+};
+
+// Estonian few characters on basic US keymap.
+// by Elan Ruusamäe <glen@delfi.ee>
+partial alphanumeric_keys
+xkb_symbols "us" {
+ include "us(euro)"
+ name[Group1] = "Estonia - US keyboard with Estonian letters";
+
+ // ž, Ž
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ // ¢
+ key <AB03> { [ c, C, cent, cent ] };
+ // š, Š
+ key <AC02> { [ s, S, scaron, Scaron ] };
+ key <AC10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
+ key <AC11> { [ quoteright, quotedbl, adiaeresis, Adiaeresis ] };
+ key <AD11> { [ bracketleft, braceleft, udiaeresis, Udiaeresis ] };
+ key <AD12> { [ bracketright, braceright, otilde, Otilde ] };
+ // £
+ key <AE03> { [ 3, numbersign, sterling, sterling ] };
+
+ include "level3(ralt_switch)"
+ include "eurosign(e)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/empty b/xorg-server/xkeyboard-config/symbols/empty
new file mode 100644
index 000000000..f315260ce
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/empty
@@ -0,0 +1,12 @@
+// $XKeyboardConfig$
+
+default partial alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+ name[Group1]= "Empty";
+};
+// $XKeyboardConfig$
+
+default partial alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+ name[Group1]= "Empty";
+};
diff --git a/xorg-server/xkeyboard-config/symbols/epo b/xorg-server/xkeyboard-config/symbols/epo
new file mode 100644
index 000000000..c9b2d57b2
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/epo
@@ -0,0 +1,141 @@
+// $XKeyboardConfig$
+
+// Esperanto keyboard maps -- "Ekverto"
+//
+// Ekverto A ("legacy") (2004-01-10)
+// Chusslove Illich (Ĉaslavo Iliĉo) <caslav.ilic@gmx.net>
+//
+// Ekverto B ("basic") (2006-12-02)
+// Benno Schulenberg (Beno Sĥilenberĥ) <bensberg@justemail.net>
+// Chusslove Illich (Ĉaslavo Iliĉo) <caslav.ilic@gmx.net>
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Esperanto";
+
+ include "us(basic)"
+
+ key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
+
+ key <AD01> { [ scircumflex, Scircumflex, q, Q ] };
+ key <AD02> { [ gcircumflex, Gcircumflex, w, W ] };
+ key <AB02> { [ ccircumflex, Ccircumflex, x, X ] };
+ key <AD06> { [ ubreve, Ubreve, y, Y ] };
+
+ key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ key <AD11> { [ jcircumflex, Jcircumflex, bracketleft, braceleft ] };
+ key <AD12> { [ hcircumflex, Hcircumflex, bracketright, braceright ] };
+
+ key <AD09> { [ o, O, braceleft, braceleft ] };
+ key <AD10> { [ p, P, braceright, braceright ] };
+
+ key <AC01> { [ a, A, leftsinglequotemark, NoSymbol ] };
+ key <AC02> { [ s, S, rightsinglequotemark, NoSymbol ] };
+ key <AC03> { [ d, D, leftdoublequotemark, NoSymbol ] };
+ key <AC04> { [ f, F, rightdoublequotemark, NoSymbol ] };
+
+ key <AB06> { [ n, N, endash, endash ] };
+ key <AB07> { [ m, M, emdash, emdash ] };
+
+ key.type[Group1] = "FOUR_LEVEL";
+
+ key <AE05> { [ 5, percent, EuroSign, EuroSign ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "legacy" {
+
+ name[Group1]= "Esperanto - displaced semicolon and quote (obsolete)";
+
+ key.type[Group1] = "FOUR_LEVEL";
+
+ key <TLDE> { [ grave, asciitilde, NoSymbol, NoSymbol ] };
+ key <AE01> { [ 1, exclam, NoSymbol, NoSymbol ] };
+ key <AE02> { [ 2, quotedbl, NoSymbol, NoSymbol ] };
+ key <AE03> { [ 3, numbersign, NoSymbol, NoSymbol ] };
+ key <AE04> { [ 4, dollar, NoSymbol, NoSymbol ] };
+ key <AE05> { [ 5, percent, NoSymbol, NoSymbol ] };
+ key <AE06> { [ 6, apostrophe, NoSymbol, NoSymbol ] };
+ key <AE07> { [ 7, ampersand, NoSymbol, NoSymbol ] };
+ key <AE08> { [ 8, asterisk, NoSymbol, NoSymbol ] };
+ key <AE09> { [ 9, parenleft, NoSymbol, NoSymbol ] };
+ key <AE10> { [ 0, parenright, NoSymbol, NoSymbol ] };
+ key <AE11> { [ minus, underscore, NoSymbol, NoSymbol ] };
+ key <AE12> { [ equal, plus, NoSymbol, NoSymbol ] };
+
+ key <AB08> { [ comma, semicolon, NoSymbol, NoSymbol ] };
+ key <AB09> { [ period, colon, NoSymbol, NoSymbol ] };
+ key <AB10> { [ slash, question, NoSymbol, NoSymbol ] };
+
+ key <AD11> { [ bracketleft, braceleft, NoSymbol, NoSymbol ] };
+ key <AD12> { [ bracketright, braceright, NoSymbol, NoSymbol ] };
+
+ key <BKSL> { [ backslash, bar, NoSymbol, NoSymbol ] };
+ key <LSGT> { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] };
+
+ key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ key <AD01> { [ scircumflex, Scircumflex, at, NoSymbol ] };
+ key <AD02> { [ jcircumflex, Jcircumflex, asciicircum, NoSymbol ] };
+ key <AD03> { [ e, E, EuroSign, NoSymbol ] };
+ key <AD04> { [ r, R, emdash, NoSymbol ] };
+ key <AD05> { [ t, T, endash, NoSymbol ] };
+ key <AD06> { [ gcircumflex, Gcircumflex, NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U, NoSymbol, NoSymbol ] };
+ key <AD08> { [ i, I, NoSymbol, NoSymbol ] };
+ key <AD09> { [ o, O, NoSymbol, NoSymbol ] };
+ key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
+
+ key <AC01> { [ a, A, less, NoSymbol ] };
+ key <AC02> { [ s, S, greater, NoSymbol ] };
+ key <AC03> { [ d, D, leftdoublequotemark, NoSymbol ] };
+ key <AC04> { [ f, F, rightdoublequotemark, NoSymbol ] };
+ key <AC05> { [ g, G, NoSymbol, NoSymbol ] };
+ key <AC06> { [ h, H, NoSymbol, NoSymbol ] };
+ key <AC07> { [ j, J, NoSymbol, NoSymbol ] };
+ key <AC08> { [ k, K, NoSymbol, NoSymbol ] };
+ key <AC09> { [ l, L, NoSymbol, NoSymbol ] };
+ key <AC10> { [ ubreve, Ubreve, NoSymbol, NoSymbol ] };
+ key <AC11> { [ hcircumflex, Hcircumflex, NoSymbol, NoSymbol ] };
+
+ key <AB01> { [ z, Z, leftsinglequotemark, NoSymbol ] };
+ key <AB02> { [ ccircumflex, Ccircumflex, rightsinglequotemark, NoSymbol ] };
+ key <AB03> { [ c, C, NoSymbol, NoSymbol ] };
+ key <AB04> { [ v, V, NoSymbol, NoSymbol ] };
+ key <AB05> { [ b, B, NoSymbol, NoSymbol ] };
+ key <AB06> { [ n, N, NoSymbol, NoSymbol ] };
+ key <AB07> { [ m, M, NoSymbol, NoSymbol ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Add Esperanto supersignos to the corresponding key in a Qwerty keyboard.
+// This is a generic "component" that is not used to the other layouts in this
+// file but it is meant to be applied to any layout. If you have any questions
+// ask J. Pablo Fernández <pupeno@pupeno.com>.
+partial
+xkb_symbols "qwerty" {
+ key <AB03> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
+ key <AC05> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
+ key <AC06> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
+ key <AC07> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
+ key <AC02> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
+ key <AD07> { [ NoSymbol, NoSymbol, ubreve, Ubreve ] };
+};
+
+// Add Esperanto supersignos to the corresponding key in a Dvorak keyboard.
+// Same comment as the Qwerty one above applies.
+partial
+xkb_symbols "dvorak" {
+ key <AD08> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
+ key <AD07> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
+ key <AC07> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
+ key <AB03> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
+ key <AC10> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
+ key <AC04> { [ NoSymbol, NoSymbol, ubreve, Ubreve ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/es b/xorg-server/xkeyboard-config/symbols/es
new file mode 100644
index 000000000..70f8088a8
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/es
@@ -0,0 +1,205 @@
+// $XKeyboardConfig$
+
+// based on a keyboard
+// Modified for a real Spanish Keyboard by Jon Tombs
+//
+// $XFree86: xc/programs/xkbcomp/symbols/es,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin(type4)"
+
+ name[Group1]="Spain";
+
+ key <AE01> { [ 1, exclam, bar, exclamdown ] };
+ key <AE03> { [ 3, periodcentered, numbersign, sterling ] };
+ key <AE04> { [ 4, dollar, asciitilde, dollar ] };
+ key <AE06> { [ 6, ampersand, notsign, fiveeighths ] };
+ key <AE11> { [apostrophe, question, backslash, questiondown ] };
+ key <AE12> { [exclamdown, questiondown, dead_tilde, asciitilde ] };
+
+ key <AD11> { [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
+ key <AD12> { [ plus, asterisk, bracketright, dead_macron ] };
+
+ key <AC10> { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] };
+ key <AC11> { [dead_acute, dead_diaeresis, braceleft, braceleft ] };
+ key <TLDE> { [ masculine, ordfeminine, backslash, backslash ] };
+
+ key <BKSL> { [ ccedilla, Ccedilla, braceright, dead_breve ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ include "es(basic)"
+
+ key <AC11> { [dead_acute, dead_diaeresis, braceleft, braceleft ] };
+ key <AD11> { [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ include "es(Sundeadkeys)"
+
+ name[Group1]="Spain - Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "es(basic)"
+
+ name[Group1]="Spain - Eliminate dead keys";
+
+ key <AD11> { [ grave, asciicircum, bracketleft, degree ] };
+ key <AD12> { [ plus, asterisk, bracketright, macron ] };
+ key <AC10> { [ ntilde, Ntilde, asciitilde, doubleacute ] };
+ key <AC11> { [ acute, diaeresis, braceleft, braceleft ] };
+ key <BKSL> { [ ccedilla, Ccedilla, braceright, breve ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
+// Spanish mapping (note R-H exchange)
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+
+ name[Group1]="Spain - Dvorak";
+
+ // Alphanumeric section
+ key <TLDE> {[ masculine, ordfeminine, backslash, degree ]};
+ key <AE01> {[ 1, exclam, bar, onesuperior ]};
+ key <AE02> {[ 2, quotedbl, at, twosuperior ]};
+ key <AE03> {[ 3, periodcentered, numbersign, threesuperior ]};
+ key <AE04> {[ 4, dollar, asciitilde, onequarter ]};
+ key <AE05> {[ 5, percent, brokenbar, fiveeighths ]};
+ key <AE06> {[ 6, ampersand, notsign, threequarters ]};
+ key <AE07> {[ 7, slash, onehalf, seveneighths ]};
+ key <AE08> {[ 8, parenleft, oneeighth, threeeighths ]};
+ key <AE09> {[ 9, parenright, asciicircum ]};
+ key <AE10> {[ 0, equal, grave, dead_doubleacute ]};
+ key <AE11> {[ apostrophe, question, dead_macron, dead_ogonek ]};
+ key <AE12> {[ exclamdown, questiondown, dead_breve, dead_abovedot ]};
+
+ key <AD01> {[ period, colon ]};
+ key <AD02> {[ comma, semicolon ]};
+ key <AD03> {[ ntilde, Ntilde, lstroke, Lstroke ]};
+ key <AD04> {[ p, P, paragraph ]};
+ key <AD05> {[ y, Y, yen ]};
+ key <AD06> {[ f, F, tslash, Tslash ]};
+ key <AD07> {[ g, G, dstroke, Dstroke ]};
+ key <AD08> {[ c, C, cent, copyright ]};
+ key <AD09> {[ h, H, hstroke, Hstroke ]};
+ key <AD10> {[ l, L, sterling ]};
+ key <AD11> {[ dead_grave, dead_circumflex, bracketleft, dead_caron ]};
+ key <AD12> {[ plus, asterisk, bracketright, plusminus ]};
+
+ key <AC01> {[ a, A, ae, AE ]};
+ key <AC02> {[ o, O, oslash, Oslash ]};
+ key <AC03> {[ e, E, EuroSign ]};
+ key <AC04> {[ u, U, aring, Aring ]};
+ key <AC05> {[ i, I, oe, OE ]};
+ key <AC06> {[ d, D, eth, ETH ]};
+ key <AC07> {[ r, R, registered, trademark ]};
+ key <AC08> {[ t, T, thorn, THORN ]};
+ key <AC09> {[ n, N, eng, ENG ]};
+ key <AC10> {[ s, S, ssharp, section ]};
+ key <AC11> {[ dead_acute, dead_diaeresis, braceleft, dead_tilde ]};
+ key <BKSL> {[ ccedilla, Ccedilla, braceright, dead_cedilla ]};
+
+ key <LSGT> {[ less, greater, guillemotleft, guillemotright ]};
+ key <AB01> {[ minus, underscore, hyphen, macron ]};
+ key <AB02> {[ q, Q, currency ]};
+ key <AB03> {[ j, J ]};
+ key <AB04> {[ k, K, kra ]};
+ key <AB05> {[ x, X, multiply, division ]};
+ key <AB06> {[ b, B ]};
+ key <AB07> {[ m, M, mu ]};
+ key <AB08> {[ w, W ]};
+ key <AB09> {[ v, V ]};
+ key <AB10> {[ z, Z ]};
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "cat" {
+
+ include "es(basic)"
+
+ name[Group1]="Spain - Catalan variant with middle-dot L";
+
+ key <AC09> { [ l, L, 0x1000140, 0x100013F ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "ast" {
+
+ include "es(basic)"
+
+ name[Group1]="Spain - Asturian variant with bottom-dot H and bottom-dot L";
+
+ key <AC06> { [ h, H, 0x1001E25, 0x1001E24 ] };
+ key <AC09> { [ l, L, 0x1001E37, 0x1001E36 ] };
+};
+
+// Copied from macintosh_vndr/es
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ // Describes the differences between a very simple mac_US
+ // keyboard and a very simple Spanish keybaord
+
+ include "es"
+ name[Group1]= "Spain - Macintosh";
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ include "us(basic)"
+ name[Group1]="Spain";
+
+ key <TLDE> { [ masculine, ordfeminine ] };
+ key <AE01> { [ 1, exclam, bar ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, dead_grave, numbersign, grave ] };
+ key <AE05> { [ 5, percent, asciicircum, dead_circumflex ] };
+ key <AE06> { [ 6, ampersand, notsign ] };
+ key <AE07> { [ 7, slash, backslash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ apostrophe, question ] };
+ key <AE12> { [ exclamdown, questiondown ] };
+
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ dead_acute, dead_diaeresis, acute, dead_abovering ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+
+ key <AC10> { [ ntilde, Ntilde ] };
+ key <AC11> { [ plus, asterisk, dead_tilde ] };
+ key <BKSL> { [ bracketright, braceright ] };
+
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ key <I219> { [ less, greater, ISO_Next_Group ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "deadtilde" {
+
+ include "es(basic)"
+
+ name[Group1]="Spain - Include dead tilde";
+
+ key <AE04> { [ 4, dollar, dead_tilde, dollar ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/et b/xorg-server/xkeyboard-config/symbols/et
new file mode 100644
index 000000000..f3d4a98db
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/et
@@ -0,0 +1,75 @@
+// $XKeyboardConfig$
+
+//
+// Ethiopia
+// Designed as a part of OLPC project
+//
+// 2007 Sergey Udaltsov <svu@gnome.org>
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ include "et(olpc)"
+ name[Group1]="Ethiopia";
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ name[Group1]="Ethiopia";
+
+ key <AE01> { [ 0x01001369, 0x01001372 ] }; // 1
+ key <AE02> { [ 0x0100136a, 0x01001373 ] }; // 2
+ key <AE03> { [ 0x0100136b, 0x01001374 ] }; // 3
+ key <AE04> { [ 0x0100136c, 0x01001375 ] }; // 4
+ key <AE05> { [ 0x0100136d, 0x01001376 ] }; // 5
+ key <AE06> { [ 0x0100136e, 0x01001377 ] }; // 6
+ key <AE07> { [ 0x0100136f, 0x01001378 ] }; // 7
+ key <AE08> { [ 0x01001370, 0x01001379 ] }; // 8
+ key <AE09> { [ 0x01001371, 0x0100137a ] }; // 9
+ key <AE10> { [ 0x0100137b, 0x0100137c ] }; // 0
+ key <AE11> { [ minus, underscore ] }; // -_
+ key <AE12> { [ equal, plus ] }; // =+
+
+ key <AD01> { [ 0x01001240, 0x01001250 ] }; // q
+ key <AD02> { [ 0x010012C8, VoidSymbol ] }; // w
+ key <AD03> { [ e, E ] }; // e
+ key <AD04> { [ 0x01001228, VoidSymbol ] }; // r
+ key <AD05> { [ 0x01001270, 0x01001320 ] }; // t
+ key <AD06> { [ 0x010012E8, VoidSymbol ] }; // y
+ key <AD07> { [ u, U ] }; // u
+ key <AD08> { [ i, I ] }; // i
+ key <AD09> { [ o, O ] }; // o
+ key <AD10> { [ 0x01001350, 0x01001330 ] }; // p
+ key <AD11> { [ 0x01001340, 0x01001338 ] }; // [
+ key <AD12> { [ 0x01001328, 0x01001280 ] }; // ]
+
+ key <AC01> { [ a, A ] }; // a
+ key <AC02> { [ 0x01001230, 0x01001220 ] }; // s
+ key <AC03> { [ 0x010012F0, 0x010012F8 ] }; // d
+ key <AC04> { [ 0x01001348, VoidSymbol ] }; // f
+ key <AC05> { [ 0x01001308, 0x01001318 ] }; // g
+ key <AC06> { [ 0x01001200, 0x01001210 ] }; // h
+ key <AC07> { [ 0x01001300, VoidSymbol ] }; // j
+ key <AC08> { [ 0x010012A8, 0x010012B8 ] }; // k
+ key <AC09> { [ 0x01001208, VoidSymbol ] }; // l
+
+ key <AC10> { [ 0x01001362, 0x01001361 ] }; // :;
+ key <AC11> { [ 0x01001366, 0x01001365 ] }; // '"
+
+ key <AB01> { [ 0x010012D8, 0x010012E0 ] }; // z
+ key <AB02> { [ 0x010012A0, 0x010012D0 ] }; // x
+ key <AB03> { [ 0x01001278, VoidSymbol ] }; // c
+ key <AB04> { [ 0x01001238, 0x01001268 ] }; // v
+ key <AB05> { [ 0x01001260, VoidSymbol ] }; // b
+ key <AB06> { [ 0x01001290, 0x01001298 ] }; // n
+ key <AB07> { [ 0x01001218, VoidSymbol ] }; // m
+
+ key <AB08> { [ 0x01001363, VoidSymbol ] }; // <
+ key <AB09> { [ 0x01001364, VoidSymbol ] }; // >
+ key <AB10> { [ 0x01001367, VoidSymbol ] }; // ?
+
+ key <BKSL> { [ VoidSymbol, 0x01002010 ] }; // bksl
+
+ include "group(olpc)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/eurosign b/xorg-server/xkeyboard-config/symbols/eurosign
new file mode 100644
index 000000000..9458cea33
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/eurosign
@@ -0,0 +1,26 @@
+// $XKeyboardConfig$
+
+// Most keyboards have the EuroSign engraved on the E key
+partial
+xkb_symbols "e" {
+ key <AD03> { [ NoSymbol, NoSymbol, EuroSign ] };
+};
+
+// Many Apple keyboards have the EuroSign engraved on the 2 key
+partial
+xkb_symbols "2" {
+ key <AE02> { [ NoSymbol, NoSymbol, EuroSign ] };
+};
+
+// Some keyboards have the EuroSign engraved on the 4 key
+partial
+xkb_symbols "4" {
+ key <AE04> { [ NoSymbol, NoSymbol, EuroSign ] };
+};
+
+// Many keyboards have the EuroSign engraved on the 5 key
+partial
+xkb_symbols "5" {
+ key <AE05> { [ NoSymbol, NoSymbol, EuroSign ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/extractGroupNames.sh b/xorg-server/xkeyboard-config/symbols/extractGroupNames.sh
new file mode 100644
index 000000000..fb128fd19
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/extractGroupNames.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+grep 'name\[Group1\]' * | sed 's/[[:space:]]*name\[Group1\].*=[[:space:]]*//;s/;[[:space:]]*$//' | sort
diff --git a/xorg-server/xkeyboard-config/symbols/extras/Makefile.am b/xorg-server/xkeyboard-config/symbols/extras/Makefile.am
new file mode 100644
index 000000000..7410ac24f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/extras/Makefile.am
@@ -0,0 +1,5 @@
+symbolsdir = $(xkb_base)/symbols/extras
+dist_symbols_DATA = apl \
+ ir \
+ rs \
+ us
diff --git a/xorg-server/xkeyboard-config/symbols/extras/apl b/xorg-server/xkeyboard-config/symbols/extras/apl
new file mode 100644
index 000000000..512277a75
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/extras/apl
@@ -0,0 +1,296 @@
+// APL Keyboard Layouts
+
+// This file supports:
+// - The Sharp APL for Unix (SAX) layout
+// - The IBM APL2 layout
+// - The Manugistics APL*PLUS II (Version 5.1, 1993) keyboard layout
+
+// Unicode APL table: http://aplwiki.com/UnicodeAplTable
+// ...and another: http://publibfp.boulder.ibm.com/epubs/pdf/h2110611.pdf (appendix A)
+// Generic Unicode stuff: http://www.fileformat.info/info/unicode/category/index.htm
+
+// Tim Nelson (this file's creator) says:
+
+// This file doesn't deal with all the combining stuff -- I'm not an APL programmer,
+// and am not quite sure what's needed here. However, it may be possible to get this
+// working with dead keys and the like. Patches gratefully accepted.
+
+// Some of the shift-key assignments may differ from the APL tradition. If
+// that's not considered acceptable, it should be possible to remap the
+// shift keys. I have striven, however, to ensure that the use of shift keys
+// in these maps is at least self-consistent.
+
+// I'm assuming that this will be used with another keyboard layout (ie. for
+// your language), with a special shift key to use these maps.
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "common" {
+ name[Group1]= "APL";
+
+ key <AE01> { [ diaeresis ] };
+ key <AE02> { [ U00AF ] }; // ¯ -- Macron
+ key <AE03> { [ less ] };
+ key <AE04> { [ U2264 ] }; // ≤ -- Less-than Or Equal To
+ key <AE05> { [ equal ] };
+ key <AE06> { [ U2265 ] }; // ≥ -- Greater-than Or Equal To
+ key <AE07> { [ greater ] };
+ key <AE08> { [ U2260 ] }; // ≠ -- Not Equal To
+ key <AE09> { [ U2228 ] }; // ∨ -- Logical Or
+ key <AE10> { [ U2227 ] }; // ∧ -- Logical And
+
+ // Q
+ key <AD01> { [ question ] };
+ // W
+ key <AD02> { [ U2375 ] }; // ⍵ -- APL Functional Symbol Omega
+ // E
+ key <AD03> { [ U220A ] }; // ∊ -- Small Element Of
+ // R
+ key <AD04> { [ U2374 ] }; // ⍴ -- APL Functional Symbol Rho
+ // T
+ key <AD05> { [ asciitilde ] };
+ // Y
+ key <AD06> { [ U2191 ] }; // ↑ -- Upwards Arrow
+ // U
+ key <AD07> { [ U2193 ] }; // ↓ -- Downwards Arrow
+ // I
+ key <AD08> { [ U2373 ] }; // ⍳ -- APL Functional Symbol Iota
+ // O
+ key <AD09> { [ U25CB ] }; // ○ -- White Circle
+ // P
+ key <AD10> { [ U22C6 ] }; // ⋆ -- Should this be a plain asterisk, or the star operator???
+ // [
+ key <AD11> { [ U2190 ] }; // ← -- Leftwards Arrow
+
+ // A
+ key <AC01> { [ U237A ] }; // ⍺ -- APL Functional Symbol Alpha
+ // S
+ key <AC02> { [ U2308 ] }; // ⌈ -- Left Ceiling
+ // D
+ key <AC03> { [ U230A ] }; // ⌊ -- Left Floor
+ // F
+ key <AC04> { [ underscore ] };
+ // G
+ key <AC05> { [ U2207 ] }; // ∇ -- Nabla
+ // H
+ key <AC06> { [ U2206 ] }; // ∆ -- Increment
+ // J
+ key <AC07> { [ U2218 ] }; // ∘ -- Ring Operator
+ // K
+ key <AC08> { [ apostrophe ] };
+ // L
+ key <AC09> { [ U2395 ] }; // ⎕ -- APL Functional Symbol Quad
+
+ // Z
+ key <AB01> { [ U2282 ] }; // ⊂ -- Subset Of
+ // X
+ key <AB02> { [ U2283 ] }; // ⊃ -- Superset Of
+ // C
+ key <AB03> { [ U2229 ] }; // ∩ -- Intersection
+ // V
+ key <AB04> { [ U222A ] }; // ∪ -- Union
+ // B
+ key <AB05> { [ U22A5 ] }; // ⊥ -- Up Tack
+ // N
+ key <AB06> { [ U22A4 ] }; // ⊤ -- Down Tack
+ // M
+ key <AB07> { [ U007C ] }; // | -- Vertical Line
+};
+
+// Keys common to a number of keyboards that allow normal language usage alongside APL
+partial alphanumeric_keys modifier_keys
+xkb_symbols "unified" {
+ name[Group1]= "APL Keyboard Symbols: Unified Layout";
+
+ include "apl(common)"
+
+ // `
+ key <TLDE> { [ U22C4 ] }; // ⋄ -- Diamond Operator
+ key <AE09> { [ NoSymbol, U2371 ] }; // ⍱ -- APL Functional Symbol Down Caret Tilde
+ key <AE10> { [ NoSymbol, U2372 ] }; // ⍲ -- APL Functional Symbol Up Caret Tilde
+ // -
+ key <AE11> { [ U00D7 ] }; // × -- Multiplication Sign
+ // =
+ key <AE12> { [ U00F7, U2339 ] }; // ÷ ⌹ -- Division Sign / APL Functional Symbol Quad Divide
+
+ // ]
+ key <AD12> { [ U2192 ] }; // → -- Rightwards Arrow
+};
+
+// Layout: http://www.wickensonline.co.uk/apl-unicomp.html
+default
+partial alphanumeric_keys modifier_keys
+xkb_symbols "sax" {
+ name[Group1]= "APL Keyboard Symbols: Sharp APL for Unix";
+
+ include "apl(unified)"
+
+ key <AE01> { [ NoSymbol, U00A1 ] }; // ¡ -- Inverted Exclamation Mark
+ key <AE04> { [ NoSymbol, cent ] };
+ key <AE08> { [ NoSymbol, U2342 ] }; // ⍂ -- APL Functional Symbol Quad Backslash
+ // -
+ key <AE11> { [ NoSymbol, U2261 ] }; // ≡ -- Identical To
+
+ // Q
+ key <AD01> { [ NoSymbol, U00BF ] }; // ¿ -- Inverted Question Mark
+ // W
+ key <AD02> { [ NoSymbol, U233D ] }; // ⌽ -- APL Functional Symbol Circle Stile
+ // E
+ key <AD03> { [ NoSymbol, U2377 ] }; // ⍷ -- APL Functional Symbol Epsilon Underbar
+ // T
+ key <AD05> { [ NoSymbol, U2349 ] }; // ⍉ -- APL Functional Symbol Circle Backslash
+ // I
+ key <AD08> { [ NoSymbol, U2378 ] }; // ⍸ -- APL Functional Symbol Iota Underbar
+ // O
+ key <AD09> { [ NoSymbol, U2365 ] }; // ⍥ -- APL Functional Symbol Circle Diaeresis
+ // P
+ key <AD10> { [ NoSymbol, U235F ] }; // ⍟ -- APL Functional Symbol Circle Star
+
+ // A
+ key <AC01> { [ NoSymbol, U2296 ] }; // ⊖ -- Circled Minus
+ // F
+ key <AC04> { [ NoSymbol, U236B ] }; // ⍫ -- APL Functional Symbol Del Tilde
+ // G
+ key <AC05> { [ NoSymbol, U2352 ] }; // ∇ ⍒ -- APL Functional Symbol Del Stile
+ // H
+ key <AC06> { [ NoSymbol, U234B ] }; // ∆ ⍋ -- APL Functional Symbol Delta Stile
+ // J
+ key <AC07> { [ NoSymbol, U2364 ] }; // ⍤ -- APL Functional Symbol Jot Diaeresis
+ // K
+ key <AC08> { [ NoSymbol, U233B ] }; // ⌻
+ // L
+ key <AC09> { [ NoSymbol, U235E ] }; // ⍞ -- APL Functional Symbol Quote Quad
+ // ;
+ key <AC10> { [ U22A2 ] }; // ⊢ -- Right Tack
+ // '
+ key <AC11> { [ U22A3 ] }; // ⊣ -- Left Tack
+
+ // C
+ key <AB03> { [ NoSymbol, U235D ] }; // ⍝ -- APL Functional Symbol Up Shoe Jot
+ // B
+ key <AB05> { [ NoSymbol, U234E ] }; // ⍎ -- APL Functional Symbol Down Tack Jot (Unicode got the name wrong; it should have been "Up Tack")
+ // N
+ key <AB06> { [ NoSymbol, U2355 ] }; // ⍕ -- APL Functional Symbol Up Tack Jot (Unicode got the name wrong; it should have been "Down Tack")
+ // M
+ key <AB07> { [ NoSymbol, U2336 ] }; // ⌶ -- APL Functional Symbol I-Beam
+ // ,
+ key <AB08> { [ U235E, U236A ] }; // ⍞ ⍪ -- APL Functional Symbol Quote Quad / APL Functional Symbol Comma Bar
+ // .
+ key <AB09> { [ U234E, U2359 ] }; // ⍎ ⍙ -- [See B key] / APL Functional Symbol Delta Underbar
+ // /
+ key <AB10> { [ U2355, U233F ] }; // ⍕ ⌿ -- [See N key] / APL Functional Symbol Slash Bar
+
+ key <BKSL> { [ U235D, U2340 ] }; // ⍝ ⍀ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Backslash Bar
+};
+
+// Layout: http://www.wickensonline.co.uk/apl-unicomp.html
+partial alphanumeric_keys modifier_keys
+xkb_symbols "apl2" {
+ name[Group1]= "APL Keyboard Symbols: IBM APL2";
+
+ include "apl(common)"
+
+ // The first column is NoSymbol because it inherits. The second is NoSymbol because those keys don't do anything
+
+ // `
+ key <TLDE> { [ NoSymbol, U233B, U2342 ] }; // ⌻ ⍂ --
+ key <AE01> { [ NoSymbol, NoSymbol, U2336 ] }; // ⌶ -- APL Functional Symbol I-Beam
+ key <AE02> { [ NoSymbol, NoSymbol, U236B ] }; // ⍫ -- APL Functional Symbol Del Tilde
+ key <AE03> { [ NoSymbol, NoSymbol, U2353 ] }; // ⍒ -- APL Functional Symbol Del Stile
+ key <AE04> { [ NoSymbol, NoSymbol, U234B ] }; // ⍋ -- APL Functional Symbol Delta Stile
+ key <AE05> { [ NoSymbol, NoSymbol, U233D ] }; // ⌽ -- APL Functional Symbol Circle Stile
+ key <AE06> { [ NoSymbol, NoSymbol, U2349 ] }; // ⍉ -- APL Functional Symbol Circle Backslash
+ key <AE07> { [ NoSymbol, NoSymbol, U2296 ] }; // ⊖ -- Circled Minus
+ key <AE08> { [ NoSymbol, NoSymbol, U235F ] }; // ⍟ -- APL Functional Symbol Circle Star
+ key <AE09> { [ NoSymbol, NoSymbol, U2371 ] }; // ⍱ -- APL Functional Symbol Down Caret Tilde
+ key <AE10> { [ NoSymbol, NoSymbol, U2372 ] }; // ⍲ -- APL Functional Symbol Up Caret Tilde
+ // -
+ key <AE11> { [ plus, minus, exclam ] };
+ // =
+ key <AE12> { [ U00D7, U00F7, U2339 ] }; // × ÷ ⌹ -- Multiplication Sign / Division Sign / APL Functional Symbol Quad Divide
+
+ // [
+ key <AD11> { [ NoSymbol, U2192, U235E ] }; // (←) → ⍞ -- Rightwards Arrow / APL Functional Symbol Quote Quad
+ // ]
+ key <AD12> { [ U2337, U2378, U2359 ] }; // ⌷ ⍸ ⍙ -- APL Functional Symbol Squish Quad / APL Functional Symbol Iota Underbar / APL Functional Symbol Delta Underbar
+
+ // ;
+ key <AC10> { [ bracketleft, parenleft, U234E ] }; // ⍎ -- [See B key in SAX layout]
+ // '
+ key <AC11> { [ bracketright, parenright, U2355 ] }; // ⍕ -- [See N key in SAX layout]
+
+ // ,
+ key <AB08> { [ comma, semicolon, U235D ] }; // ⍝ -- APL Functional Symbol Up Shoe Jot
+ // .
+ key <AB09> { [ period, colon, U2340 ] }; // ⍀ -- APL Functional Symbol Backslash Bar
+ // /
+ key <AB10> { [ slash, backslash, U233F ] }; // ⌿ -- APL Functional Symbol Slash Bar
+
+ key <BKSL> { [ U2261, U2377, U2364 ] }; // ≡ ⍷ ⍤ -- Identical To / APL Functional Symbol Epsilon Underbar / APL Functional Symbol Jot Diaeresis
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "aplplusII" {
+ name[Group1]= "APL Keyboard Symbols: Manugistics APL*PLUS II";
+
+ include "apl(apl2)"
+
+ // `
+ key <TLDE> { [ dollar, U22C4, U236A ] }; // ⋄ ⍪ -- Diamond Operator / APL Functional Symbol Comma Bar
+ key <AE01> { [ NoSymbol, NoSymbol, U2261 ] }; // ≡ -- Identical To
+
+ // [
+ key <AD11> { [ U2190, NoSymbol, U235E ] }; // ← ⍞ -- Leftwards Arrow / APL Functional Symbol Quote Quad
+ // ]
+ key <AD12> { [ U2192, NoSymbol, U236C ] }; // → ⍬ -- Rightwards Arrow / APL Functional Symbol Zilde
+
+ // ;
+ key <AC10> { [ bracketleft, parenleft, U234E ] }; // ⍎ -- [See B key in SAX layout]
+ // '
+ key <AC11> { [ bracketright, parenright, U2355 ] }; // ⍕ -- [See N key in SAX layout]
+
+ key <BKSL> { [ U22A3, U22A2, U2359 ] }; // ⊣ ⊢ ⍙ -- Left Tack / Right Tack / APL Functional Symbol Delta Underbar
+};
+
+
+// MicroAPL layout: http://aplwiki.com/APLXKeyboardLayouts
+// I didn't do the old-style MicroAPL layout; patches gratefully accepted
+partial alphanumeric_keys modifier_keys
+xkb_symbols "aplx" {
+ name[Group1]= "APL Keyboard Symbols: APLX Unified APL Layout";
+
+ include "apl(unified)"
+
+ // `
+ key <TLDE> { [ NoSymbol, U235E ] }; // ⍞ -- APL Functional Symbol Quote Quad
+ key <AE01> { [ NoSymbol, U2336 ] }; // ⌶ -- APL Functional Symbol I-Beam
+ key <AE02> { [ NoSymbol, U236B ] }; // ⍫ -- APL Functional Symbol Del Tilde
+ key <AE03> { [ NoSymbol, U2353 ] }; // ⍒ -- APL Functional Symbol Del Stile
+ key <AE04> { [ NoSymbol, U234B ] }; // ⍋ -- APL Functional Symbol Delta Stile
+ key <AE05> { [ NoSymbol, U233D ] }; // ⌽ -- APL Functional Symbol Circle Stile
+ key <AE06> { [ NoSymbol, U2349 ] }; // ⍉ -- APL Functional Symbol Circle Backslash
+ key <AE07> { [ NoSymbol, U2296 ] }; // ⊖ -- Circled Minus
+ key <AE08> { [ NoSymbol, U235F ] }; // ⍟ -- APL Functional Symbol Circle Star
+ // -
+ key <AE11> { [ NoSymbol, exclam ] };
+
+ // [
+ key <AD11> { [ NoSymbol, U2347 ] }; // ⍇ -- Box With Left Arrow
+ // ]
+ key <AD12> { [ NoSymbol, U2348 ] }; // ⍈ -- Box With Right Arrow
+
+ // ;
+ key <AC10> { [ U234E, U2261 ] }; // ⍎ ≡ -- [See B key in SAX layout] / Identical To
+ // '
+ key <AC11> { [ U2355, U2262 ] }; // ⍕ ≢ -- [See N key in SAX layout] / Not Identical To
+
+ // ,
+ key <AB08> { [ U235D, U236A ] }; // ⍝ ⍪ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Comma Bar
+ // .
+ key <AB09> { [ U2340, U2364 ] }; // ⍀ ⍤ -- APL Functional Symbol Backslash Bar / APL Functional Symbol Jot Diaeresis
+ // /
+ key <AB10> { [ U233F ] }; // ⌿ -- APL Functional Symbol Slash Bar
+
+ key <BKSL> { [ U22A3, U22A3 ] }; // ⊣ ⊢ -- Left Tack / Right Tack
+};
+
+
diff --git a/xorg-server/xkeyboard-config/symbols/extras/ir b/xorg-server/xkeyboard-config/symbols/extras/ir
new file mode 100644
index 000000000..52502bf75
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/extras/ir
@@ -0,0 +1,63 @@
+/////////////////////////////////////////////////////////////////////////////////
+//
+// Generated keyboard layout file with the Keyboard Layout Editor.
+// For more about the software, see http://code.google.com/p/keyboardlayouteditor
+//
+// Version 0.2, fixed AD09.
+//
+// Layout by Ernst Tremel, http://ubuntuforums.org/showpost.php?p=9365469&postcount=32
+// Creation of this file by Simos Xenitellis.
+
+partial default alphanumeric_keys
+xkb_symbols "ave"
+{
+ name[Group1] = "Iran - Avestan";
+
+ key <AB01> { [ U10B30, U10B32 ] }; // 𐬰 𐬲
+ key <AB02> { [ U10B11, U10B12 ] }; // 𐬑 𐬒
+ key <AB03> { [ U10B17, UE102 ] }; // 𐬗 
+ key <AB04> { [ U10B2C, U10B13 ] }; // 𐬬 𐬓
+ key <AB05> { [ U10B20, U10B21 ] }; // 𐬠 𐬡
+ key <AB06> { [ U10B25, U10B27 ] }; // 𐬥 𐬧
+ key <AB07> { [ U10B28, U10B29 ] }; // 𐬨 𐬩
+ key <AB08> { [ U10B3C, U10B39 ] }; // 𐬼 𐬹
+ key <AB09> { [ U10B3E, U10B3D ] }; // 𐬾 𐬽
+ key <AB10> { [ U10B3F, periodcentered ] }; // 𐬿 ·
+
+ key <AC01> { [ U10B00, U10B01 ] }; // 𐬀 𐬁
+ key <AC02> { [ U10B2F, U10B31 ] }; // 𐬯 𐬱
+ key <AC03> { [ U10B1B, U10B1C ] }; // 𐬛 𐬜
+ key <AC04> { [ U10B1F, U10B16 ] }; // 𐬟 𐬖
+ key <AC05> { [ U10B14, U10B15 ] }; // 𐬔 𐬕
+ key <AC06> { [ U10B35, UE100 ] }; // 𐬵 
+ key <AC07> { [ U10B18, U10B24 ] }; // 𐬘 𐬤
+ key <AC08> { [ U10B10, UE101 ] }; // 𐬐 
+ key <AC09> { [ U10B2E, UE103 ] }; // 𐬮 
+ key <AC10> { [ U10B3B, U10B3A ] }; // 𐬻 𐬺
+ key <AC11> { [ U10B1D ] }; // 𐬝
+
+ key <AD01> { [ U10B22, U10B23 ] }; // 𐬢 𐬣
+ key <AD02> { [ U10B33, U10B34 ] }; // 𐬳 𐬴
+ key <AD03> { [ U10B08, U10B09 ] }; // 𐬈 𐬉
+ key <AD04> { [ U10B2D, U10B26 ] }; // 𐬭 𐬦
+ key <AD05> { [ U10B19, U10B1A ] }; // 𐬙 𐬚
+ key <AD06> { [ U10B2B, U10B2A ] }; // 𐬫 𐬪
+ key <AD07> { [ U10B0E, U10B0F ] }; // 𐬎 𐬏
+ key <AD08> { [ U10B0C, U10B0D ] }; // 𐬌 𐬍
+ key <AD09> { [ U10B0A, U10B0B ] }; // 𐬊 𐬋
+ key <AD10> { [ U10B1E ] }; // 𐬞
+ key <AD11> { [ U10B06, U10B07 ] }; // 𐬆 𐬇
+ key <AD12> { [ U10B02, U10B03 ] }; // 𐬂 𐬃
+
+ key <AE01> { [ U10B78 ] }; // 𐭸
+ key <AE02> { [ U10B79 ] }; // 𐭹
+ key <AE03> { [ U10B7A ] }; // 𐭺
+ key <AE04> { [ U10B7B ] }; // 𐭻
+ key <AE05> { [ U10B7C ] }; // 𐭼
+ key <AE06> { [ U10B7D ] }; // 𐭽
+ key <AE07> { [ U10B7E ] }; // 𐭾
+ key <AE08> { [ U10B7F ] }; // 𐭿
+
+ key <BKSL> { [ U10B04, U10B05 ] }; // 𐬄 𐬅
+ key <LSGT> { [ U10B04, U10B05 ] }; // 𐬄 𐬅
+};
diff --git a/xorg-server/xkeyboard-config/symbols/extras/rs b/xorg-server/xkeyboard-config/symbols/extras/rs
new file mode 100644
index 000000000..cc6b5fb44
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/extras/rs
@@ -0,0 +1,15 @@
+xkb_symbols "combiningkeys" {
+ // Raw combining characters instead of dead keys,
+ // especially good for post-accenting texts.
+
+ name[Group1]= "Serbia - Combining accents instead of dead keys";
+
+ include "rs(basic)"
+
+ key <AE03> { [ any,any, U0302, dead_circumflex ] }; // 3, U0302 = COMBINING CIRCUMFLEX ACCENT
+ key <AE07> { [ any,any, U0300, NoSymbol ] }; // 7, U0300 = COMBINING GRAVE ACCENT
+ key <AE08> { [ any,any, U030F, NoSymbol ] }; // 8, U030F = COMBINING DOUBLE GRAVE ACCENT
+ key <AE09> { [ any,any, U0301, NoSymbol ] }; // 9, U0301 = COMBINING ACUTE ACCENT
+ key <AE10> { [ any,any, U0311, NoSymbol ] }; // 0, U0311 = COMBINING INVERTED BREVE
+ key <AE11> { [ any,any, U0304, NoSymbol ] }; // -, U0304 = COMBINING MACRON
+};
diff --git a/xorg-server/xkeyboard-config/symbols/extras/us b/xorg-server/xkeyboard-config/symbols/extras/us
new file mode 100644
index 000000000..b58932c6a
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/extras/us
@@ -0,0 +1,147 @@
+// XCompose is out! Unicode combining is in! For those of us who live
+// on the edge: A keymap using Unicode combining characters instead of
+// deadkeys. This variation does not deviate from the lame MS-style
+// US-intl layout; but it uses AltGr for combining, like altgr-intl.
+//
+// This might break your font layout layout systems (because they
+// suck), caveat emptor. Also, most of today's software will count
+// individual combining marks for selection, deletion, character
+// counting &c., and won't be smart enough to do canonical equivalence
+// when searching, &c.
+//
+// With Unicode combining you use "handwriting order", not
+// "typewriting order" as with deadkeys. That is, you first type the
+// base character, then the diacritics/accents/modifiers. This has
+// the advantage of avoiding hidden states --- each keypress changes
+// something on screen.
+//
+// TODO: as of now, this duplicates all us(intl) functionality with
+// combining. With care, perhaps we could add more combining marks
+// not present in intl, and support all major languages.
+partial alphanumeric_keys
+xkb_symbols "intl-unicode" {
+
+ name[Group1]= "USA - International (AltGr Unicode combining)";
+
+ include "us(intl)"
+ include "level3(ralt_switch)"
+
+ // grave, tilde
+ key <TLDE> { [grave, asciitilde, U0300, U0303 ] };
+ // double acute
+ key <AE02> { [ 2, at, twosuperior, U030B ] };
+ // macron
+ key <AE03> { [ 3, numbersign, threesuperior, U0304 ] };
+ // circumflex
+ key <AE06> { [ 6, asciicircum, onequarter, U0302 ] };
+ // horn
+ key <AE07> { [ 7, ampersand, onehalf, U031B ] };
+ // ogonek
+ key <AE08> { [ 8, asterisk, threequarters, U0328 ] };
+ // breve
+ key <AE09> { [ 9, parenleft, leftsinglequotemark, U0306 ] };
+ // abovering
+ key <AE10> { [ 0, parenright, rightsinglequotemark, U030A ] };
+
+ // belowdot
+ key <AE11> { [ minus, underscore, yen, U0323 ] };
+ // acute, diaeresis
+ key <AC11> { [apostrophe, quotedbl, U0301, U0308 ] };
+ // abovedot, caron
+ key <AB09> { [ period, greater, U0307, U030C ] };
+ // hook
+ key <AB10> { [ slash, question, questiondown, 0309 ] };
+
+ // alt-intl compatibility
+ // cedilla, caron
+ key <AB08> { [ comma, less, U0327, U030C ] };
+ // ogonek, diaeresis
+ key <AC10> { [ semicolon, colon, U0328, U0308 ] };
+ // doubleacute, horn
+ key <AE12> { [ equal, plus, U030B, U031B ] };
+
+ // we don't do combining latin letters and combining enclosures
+ // because support for those is very rare.
+};
+
+// XCompose is out! Unicode combining is in! For those of us who live
+// on the edge: A keymap using Unicode combining characters instead of
+// deadkeys. This variation does break compatibility with us-intl,
+// whenever I thought it would be more mnemonic or Unicodeish.
+partial alphanumeric_keys
+xkb_symbols "alt-intl-unicode" {
+
+ name[Group1]= "USA - International (AltGr Unicode combining, alternative)";
+
+ include "extras/us(intl-unicode)"
+ include "level3(ralt_switch)"
+
+ // easier macron; em-dash.
+ // em-dash is available via compose, but I added here since it's such
+ // an important typographic character.
+ key <AE11> { [ minus, underscore, U0304, U2014 ] };
+
+ // belowdot, abovedot (caron at coma/less key, per above)
+ key <AB09> { [ period, greater, U0323, U0307 ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "ats" {
+
+ include "us"
+
+ name[Group1]= "USA - Atsina";
+
+ //Using Dead key to get COMBINING COMMA ABOVE for ejectives on
+ //q, l, t, s, m, g, k, p, w, y, r
+ //XCompose key is used for the other accute and grave.
+
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD11> { [ bracketleft, braceleft, U03B8 ] };
+ key <AD12> { [ bracketright, braceright, U010D, U010C ] };
+ //U+010C (uppercase Č) and U+010D (lowercase č).
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+
+
+ //Small letter Open use compose to key get acute accent
+ key <AB03> { [ c, C, U0254, U0186 ] };
+ key <AB08> { [ comma, less, U0313 ] };
+ key <AB10> { [ slash, question, U0294 ] };
+
+ include "level3(ralt_switch)"
+ include "compose(rctrl)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "crd" {
+
+ include "us"
+
+ name[Group1]= "USA - Couer D'alene Salish";
+
+ // Alphanumeric section
+ key <AD02> { [ w, W, U02B7, U02B7 ] };
+ key <AE07> { [ 7, ampersand, U0294 ] };
+ key <AD01> { [ q, Q, U221A ] };
+ key <AB04> { [ v, V, U0259 ] };
+ key <BKSL> { [ backslash, bar, U026B ] };
+ key <AD03> { [ e, E, U025B ] };
+ key <AD08> { [ i, I, U026A ] };
+ key <AC07> { [ j, J, U01F0 ] };
+ key <AE06> { [ 6, asciicircum, U0295 ] };
+ key <AC02> { [ s, S, U0161 ] };
+ key <AB03> { [ c, C, U010D ] };
+ key <AD09> { [ o, O, U0254 ] };
+ key <AB09> { [ period, greater, U0323 ] };
+
+ include "level3(ralt_switch)"
+ include "compose(rctrl)"
+
+ // End alphanumeric section
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/fi b/xorg-server/xkeyboard-config/symbols/fi
new file mode 100644
index 000000000..78dd91934
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/fi
@@ -0,0 +1,207 @@
+//
+// $XKeyboardConfig$
+//
+// X keyboard maps for Finland
+//
+// SFS 5966 / Kotoistus keymap created by Troy Korjuslommi
+// Classic keymap based on traditional by Marko Myllynen
+// Eliminate deadkeys alternative sent by Linus Torvalds
+//
+
+//
+// Missing from X11/keysymdef.h as of 2010-05-13
+//
+// U2030 # PER MILLE SIGN
+// U0292 # LATIN SMALL LETTER EZH
+// U01B7 # LATIN CAPITAL LETTER EZH
+//
+
+partial alphanumeric_keys default
+xkb_symbols "kotoistus" {
+
+ // Official keymap for Finland based on SFS 5966 standard
+ //
+ // This keymap implements all the functionality of Annex 1
+ // of the standard and additionally defines the following to
+ // allow entering these characters with keyboars without LSGT.
+ //
+ // AE08+4, U+003C : LESS-THAN SIGN (less)
+ // AE09+4, U+003E : GREATER-THAN SIGN (greater)
+ // AD08+4, U+007C : VERTICAL LINE (bar)
+ //
+ // Annex 3 of the standard is implemented in fi_FI.UTF-8/Compose
+
+ name[Group1]="Finland";
+
+ key <TLDE> { [ section, onehalf, dead_stroke, NoSymbol ] };
+ key <AE01> { [ 1, exclam, NoSymbol, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, at, rightdoublequotemark ] };
+ key <AE03> { [ 3, numbersign, sterling, guillemotright ] };
+ key <AE04> { [ 4, currency, dollar, guillemotleft ] };
+ key <AE05> { [ 5, percent, U2030, leftdoublequotemark ] };
+ key <AE06> { [ 6, ampersand, singlelowquotemark, doublelowquotemark ] };
+ key <AE07> { [ 7, slash, braceleft, NoSymbol ] };
+ key <AE08> { [ 8, parenleft, bracketleft, less ] };
+ key <AE09> { [ 9, parenright, bracketright, greater ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+ key <AE11> { [ plus, question, backslash, questiondown ] };
+ key <AE12> { [ dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [ q, Q, q, Q ] };
+ key <AD02> { [ w, W, w, W ] };
+ key <AD03> { [ e, E, EuroSign, NoSymbol ] };
+ key <AD04> { [ r, R, r, R ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, y, Y ] };
+ key <AD07> { [ u, U, u, U ] };
+ key <AD08> { [ i, I, idotless, bar ] };
+ key <AD09> { [ o, O, oe, OE ] };
+ key <AD10> { [ p, P, dead_horn, dead_hook ] };
+ key <AD11> { [ aring, Aring, dead_doubleacute, dead_abovering ] };
+ key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_macron ] };
+
+ key <AC01> { [ a, A, schwa, SCHWA ] };
+ key <AC02> { [ s, S, ssharp, NoSymbol ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, f, F ] };
+ key <AC05> { [ g, G, g, G ] };
+ key <AC06> { [ h, H, h, H ] };
+ key <AC07> { [ j, J, j, J ] };
+ key <AC08> { [ k, K, kra, NoSymbol ] };
+ key <AC09> { [ l, L, dead_stroke, NoSymbol ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, oslash, Oslash ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
+ key <BKSL> { [ apostrophe, asterisk, dead_caron, dead_breve ] };
+
+ key <LSGT> { [ less, greater, bar, NoSymbol ] };
+ key <AB01> { [ z, Z, U0292, U01B7 ] };
+ key <AB02> { [ x, X, multiply, periodcentered ] };
+ key <AB03> { [ c, C, c, C ] };
+ key <AB04> { [ v, V, v, V ] };
+ key <AB05> { [ b, B, b, B ] };
+ key <AB06> { [ n, N, eng, ENG ] };
+ key <AB07> { [ m, M, mu, emdash ] };
+ key <AB08> { [ comma, semicolon, rightsinglequotemark, leftsinglequotemark ] };
+ key <AB09> { [ period, colon, dead_belowdot, dead_abovedot ] };
+ key <AB10> { [ minus, underscore, endash, dead_belowcomma ] };
+
+ include "nbsp(level3)"
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+ include "compose(rwin)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "classic" {
+
+ include "fi(fi)"
+
+ name[Group1]="Finland - Classic";
+};
+
+partial alphanumeric_keys hidden
+xkb_symbols "fi" {
+
+ // Classic Finnish keyboard layout with dead keys support
+ // and all ISO-8859-1 and ISO-8859-15 characters available
+
+ key <TLDE> { [ section, onehalf, onequarter, threequarters ] };
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
+ key <AE04> { [ 4, currency, dollar, cent ] };
+ key <AE05> { [ 5, percent, EuroSign, masculine ] };
+ key <AE06> { [ 6, ampersand, yen, ordfeminine ] };
+ key <AE07> { [ 7, slash, braceleft, plusminus ] };
+ key <AE08> { [ 8, parenleft, bracketleft, guillemotleft ] };
+ key <AE09> { [ 9, parenright, bracketright, guillemotright ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+ key <AE11> { [ plus, question, backslash, questiondown ] };
+ key <AE12> { [ dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [ q, Q, q, Q ] };
+ key <AD02> { [ w, W, w, W ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD04> { [ r, R, registered, NoSymbol ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, y, Y ] };
+ key <AD07> { [ u, U, u, U ] };
+ key <AD08> { [ i, I, idotless, bar ] };
+ key <AD09> { [ o, O, o, O ] };
+ key <AD10> { [ p, P, paragraph, NoSymbol ] };
+ key <AD11> { [ aring, Aring, oe, OE ] };
+ key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] };
+
+ key <AC01> { [ a, A, schwa, SCHWA ] };
+ key <AC02> { [ s, S, scaron, Scaron ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, f, F ] };
+ key <AC05> { [ g, G, eng, ENG ] };
+ key <AC06> { [ h, H, h, H ] };
+ key <AC07> { [ j, J, j, J ] };
+ key <AC08> { [ k, K, kra, NoSymbol ] };
+ key <AC09> { [ l, L, dead_stroke, NoSymbol ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, oslash, Oslash ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
+ key <BKSL> { [ apostrophe, asterisk, dead_caron, dead_breve ] };
+
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ key <AB02> { [ x, X, multiply, division ] };
+ key <AB03> { [ c, C, copyright, cent ] };
+ key <AB04> { [ v, V, v, V ] };
+ key <AB05> { [ b, B, ssharp, NoSymbol ] };
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB07> { [ m, M, mu, NoSymbol ] };
+ key <AB08> { [ comma, semicolon, dead_cedilla, dead_ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, notsign ] };
+ key <AB10> { [ minus, underscore, hyphen, dead_macron ] };
+
+ include "nbsp(level4)"
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+ include "compose(rwin)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Classic Finnish keyboard layout without dead keys
+
+ include "fi(fi)"
+
+ name[Group1]="Finland - Classic, eliminate dead keys";
+
+ key <AE12> { [ acute, grave, cedilla, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, caron ] };
+ key <AC09> { [ l, L, l, L ] };
+ key <BKSL> { [ apostrophe, asterisk, caron, breve ] };
+ key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
+ key <AB10> { [ minus, underscore, hyphen, macron ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "smi" {
+
+ // Describes the differences between a Norwegian Northern Sami
+ // (keyboard with dead key support) and a Swedish/Finnish Sami
+ // keyboard according to the specs at:
+ // http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html
+
+ include "no(smi)"
+
+ name[Group1]="Finland - Northern Saami";
+
+ key <AC10> { [ odiaeresis, Odiaeresis, oslash, Oslash ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ // Macintosh keyboard for Finland based on Swedish(Macintosh) keyboard
+
+ include "se(mac)"
+
+ name[Group1]="Finland - Macintosh";
+};
diff --git a/xorg-server/xkeyboard-config/symbols/fo b/xorg-server/xkeyboard-config/symbols/fo
new file mode 100644
index 000000000..5ac205560
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/fo
@@ -0,0 +1,50 @@
+// $XKeyboardConfig$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin(type2)"
+
+ name[Group1]= "Faroe Islands";
+
+ key <TLDE> { [ onehalf, section, threequarters, paragraph ] };
+ key <LSGT> { [ less, greater, backslash, notsign ] };
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ key <AE05> { [ 5, percent, NoSymbol, cent ] };
+ key <AE06> { [ 6, ampersand, yen, NoSymbol ] };
+ key <AE11> { [ plus, question, plusminus, questiondown ] };
+ key <AE12> { [dead_acute, dead_grave, bar, brokenbar ] };
+
+ key <AB03> { [ c, C, copyright, NoSymbol ] };
+ key <AB10> { [ minus, underscore, hyphen, macron ] };
+
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC10> { [ ae, AE ] };
+ key <AC11> { [ oslash, Ooblique ] };
+
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ aring, Aring, dead_diaeresis, dead_circumflex ] };
+ key <AD12> { [ eth, ETH, dead_tilde, dead_caron ] };
+
+ key <BKSL> { [apostrophe, asterisk, dead_doubleacute, multiply ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "fo(basic)"
+
+ name[Group1]= "Faroe Islands - Eliminate dead keys";
+
+ key <AE12> { [ acute, grave, bar, ogonek ] };
+ key <AD11> { [ aring, Aring, diaeresis, degree ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
+ key <AC10> { [ ae, AE, acute, doubleacute ] };
+ key <AC11> { [ oslash, Ooblique, asciicircum, caron ] };
+ key <BKSL> { [apostrophe, asterisk, doubleacute, multiply ] };
+ key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, abovedot ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/fr b/xorg-server/xkeyboard-config/symbols/fr
new file mode 100644
index 000000000..37038bee4
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/fr
@@ -0,0 +1,1028 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/fr' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/fr,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin"
+
+ name[Group1]="France";
+
+ key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
+ key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
+ key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
+ key <AE04> { [apostrophe, 4, braceleft, dollar ] };
+ key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
+ key <AE06> { [ minus, 6, bar, fiveeighths ] };
+ key <AE07> { [ egrave, 7, grave, seveneighths ] };
+ key <AE08> { [underscore, 8, backslash, trademark ] };
+ key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
+ key <AE10> { [ agrave, 0, at, degree ] };
+ key <AE11> { [parenright, degree, bracketright, questiondown ] };
+ key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
+
+ key <AD01> { [ a, A, ae, AE ] };
+ key <AD02> { [ z, Z, guillemotleft, less ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ dollar, sterling, currency, dead_macron ] };
+
+ key <AC01> { [ q, Q, at, Greek_OMEGA ] };
+ key <AC10> { [ m, M, mu, masculine ] };
+ key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
+ key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
+
+ key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
+ key <AB01> { [ w, W, lstroke, Lstroke ] };
+ key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] };
+ key <AB08> { [ semicolon, period, horizconnector, multiply ] };
+ key <AB09> { [ colon, slash, periodcentered, division ] };
+ key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+ // Contact: Sayamindu Dasgupta <sayamindu@laptop.org>
+ include "fr(basic)"
+
+ name[Group1]="France";
+
+ key <AD02> { [ z, Z, VoidSymbol, guillemotleft ] };
+
+ key <AC02> { [ s, S, VoidSymbol, ssharp ] };
+
+ key <AB02> { [ x, X, VoidSymbol, guillemotright ] };
+
+ key <I219> { [ less, greater ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // Modifies the basic French layout to use the Sun dead keys
+
+ include "fr(basic)"
+
+ key <AD11> { [dead_circumflex, dead_diaeresis ] };
+ key <AB07> { [comma, question, dead_acute, dead_doubleacute ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "fr(Sundeadkeys)"
+
+ name[Group1]="France - Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic French layout to eliminate all dead keys
+
+ include "fr(basic)"
+
+ name[Group1]="France - Eliminate dead keys";
+
+ key <AE12> { [ equal, plus, braceright, ogonek ] };
+ key <AD11> { [asciicircum, diaeresis ] };
+ key <AD12> { [ dollar, sterling, currency, macron ] };
+ key <AC11> { [ ugrave, percent, asciicircum, caron ] };
+ key <BKSL> { [ asterisk, mu, grave, breve ] };
+ key <AB07> { [ comma, question, acute, doubleacute ] };
+ key <AB10> { [ exclam, section, dead_belowdot, abovedot ] };
+};
+
+
+// Unicode French derivative
+// Loose refactoring of the historic Linux French keyboard layout
+//
+// Copyright © 2006-2008 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+//
+// Credits (fr-latin1, fr-latin0, fr-latin9)
+// © 199x-1996 René Cougnenc ✝
+// © 1997-2002 Guylhem Aznar <clavier @ externe.net>
+// © 2003-2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+//
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
+// │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃
+// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃ arrière┃
+// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
+// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ £ Ø ┃Entrée ┃
+// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ ~ │ $ ø ┃ ⏎ ┃
+// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
+// ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L Ŀ │ M Ö │ % Ù │ µ ̄ ┃ ┃
+// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l ŀ │ m ö │ ù ' │ * ` ┃ ┃
+// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
+// ┃ ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃ ┃
+// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃
+// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
+// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃
+// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
+partial alphanumeric_keys
+xkb_symbols "oss" {
+
+ include "latin"
+ include "level3(ralt_switch)"
+ include "nbsp(level4nl)"
+ include "keypad(oss)"
+
+ name[Group1]="France - Alternative";
+
+ // First row
+ key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ² ³ ¹ ¸
+ key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1 ˇ ̨
+ key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // é 2 ~ É
+ key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 # ˘
+ key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { — (tiret cadratin)
+ key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin)
+ key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | ‑ (tiret insécable)
+ key <AE07> { [ egrave, 7, grave, Egrave ] }; // è 7 ` È
+ key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \ ™
+ key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // ç 9 ^ Ç
+ key <AE10> { [ agrave, 0, at, Agrave ] }; // à 0 @ À
+ key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ° ] ≠
+ key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + } ±
+
+ // Second row
+ key <AD01> { [ a, A, ae, AE ] }; // a A æ Æ
+ key <AD02> { [ z, Z, acircumflex, Acircumflex ] }; // z Z â Â
+ key <AD03> { [ e, E, EuroSign, cent ] }; // e E € ¢
+ key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R ê Ê
+ key <AD05> { [ t, T, thorn, THORN ] }; // t T þ Þ
+ key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; // y Y ÿ Ÿ
+ key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; // u U û Û
+ key <AD08> { [ i, I, icircumflex, Icircumflex ] }; // i I î Î
+ key <AD09> { [ o, O, oe, OE ] }; // o O œ Œ
+ key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; // p P ô Ô
+ key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^ ̈ ̃ ˚
+ key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $ £ ø Ø
+
+ // Third row
+ key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä
+ key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S ß „
+ key <AC03> { [ d, D, ediaeresis, Ediaeresis ] }; // d D ë Ë
+ key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F ‘ ‚
+ key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G ’ ¥
+ key <AC06> { [ h, H, eth, ETH ] }; // h H ð Ð
+ key <AC07> { [ j, J, udiaeresis, Udiaeresis ] }; // j J ü Ü
+ key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; // k K ï Ï
+ key <AC09> { [ l, L, 0x1000140, 0x100013F ] }; // l L ŀ Ŀ
+ key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M ö Ö
+ key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù
+ key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄
+
+ // Fourth row
+ key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥
+ key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “
+ key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » ”
+ key <AB03> { [ c, C, copyright, registered ] }; // c C © ®
+ key <AB04> { [ v, V, 0x100202F, leftarrow ] }; // v V ⍽ ← (espace fine insécable)
+ key <AB05> { [ b, B, downarrow, uparrow ] }; // b B ↓ ↑
+ key <AB06> { [ n, N, notsign, rightarrow ] }; // n N ¬ →
+ key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ …
+ key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅
+ key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕
+ key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ −
+};
+
+partial alphanumeric_keys
+xkb_symbols "oss_latin9" {
+
+ // Restricts the fr(oss) layout to latin9 symbols
+
+ include "fr(oss)"
+ include "keypad(oss_latin9)"
+
+ name[Group1]="France - Alternative, latin-9 only";
+
+ // First row
+ key <AE01> { [ ampersand, 1, dead_caron, dead_cedilla ] }; // & 1 ˇ ¸
+ key <AE03> { [ quotedbl, 3, numbersign, dead_tilde ] }; // " 3 # ~
+ key <AE04> { [ apostrophe, 4, braceleft, underscore ] }; // ' 4 { _
+ key <AE05> { [ parenleft, 5, bracketleft, minus ] }; // ( 5 [ -
+ key <AE06> { [ minus, 6, bar, minus ] }; // - 6 | -
+ key <AE08> { [ underscore, 8, backslash, backslash ] }; // _ 8 \ \
+ key <AE11> { [ parenright, degree, bracketright, equal ] }; // ) ° ] =
+
+ // Third row
+ key <AC02> { [ s, S, ssharp, guillemotleft ] }; // s S ß «
+ key <AC04> { [ f, F, apostrophe, apostrophe ] }; // f F ' '
+ key <AC05> { [ g, G, apostrophe, yen ] }; // g G ' ¥
+ key <AC09> { [ l, L, periodcentered, periodcentered ] }; // l L · ·
+ key <BKSL> { [ asterisk, mu, dead_grave, dead_circumflex ] }; // * µ ` ^
+
+ // Fourth row
+ key <LSGT> { [ less, greater, less, greater ] }; // < > < >
+ key <AB01> { [ w, W, guillemotleft, guillemotleft ] }; // w W « «
+ key <AB02> { [ x, X, guillemotright, guillemotright ] }; // x X » »
+ key <AB04> { [ v, V, nobreakspace, less ] }; // v V ⍽ < (espace insécable)
+ key <AB05> { [ b, B, minus, asciicircum ] }; // b B - ^
+ key <AB06> { [ n, N, notsign, greater ] }; // n N ¬ >
+ key <AB07> { [ comma, question, questiondown, period ] }; // , ? ¿ .
+ key <AB08> { [ semicolon, period, multiply, periodcentered ] }; // ; . × ·
+ key <AB09> { [ colon, slash, division, slash ] }; // : / ÷ /
+ key <AB10> { [ exclam, section, exclamdown, minus ] }; // ! § ¡ -
+};
+
+partial alphanumeric_keys
+xkb_symbols "oss_Sundeadkeys" {
+
+ // Modifies the basic fr(oss) layout to use the Sun dead keys
+
+ include "fr(oss)"
+
+ // First row
+ key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ¹ ² ³ ¸
+
+ // Second row
+ key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^ ̈ ̃ ˚
+
+ //Third row
+ key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù
+ key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄
+};
+
+partial alphanumeric_keys
+xkb_symbols "oss_sundeadkeys" {
+
+ include "fr(oss_Sundeadkeys)"
+
+ name[Group1]="France - Alternative, Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "oss_nodeadkeys" {
+
+ // Modifies the basic fr(oss) layout to eliminate all dead keys
+
+ include "fr(oss)"
+
+ name[Group1]="France - Alternative, eliminate dead keys";
+
+ key <TLDE> { [ twosuperior, threesuperior, onesuperior, cedilla ] }; // ² ³ ¹ ¸
+ key <AE01> { [ ampersand, 1, caron, ogonek ] }; // & 1 ˇ ̨
+ key <AE03> { [ quotedbl, 3, numbersign, breve ] }; // " 3 # ˘
+
+ // Second row
+ key <AD11> { [ asciicircum, diaeresis, asciitilde, Aring ] }; // ^ ̈ ̃ Å
+ key <AC11> { [ ugrave, percent, acute, Ugrave ] }; // ù % ' Ù
+ key <BKSL> { [ asterisk, mu, grave, macron ] }; // * µ ` ̄
+};
+
+
+// Historic Linux French keyboard layout (fr-latin9)
+// Copyright (c) 199x, 2002 Rene Cougnenc (original work)
+// Guylhem Aznar <clavier @ externe.net> (maintainer)
+// Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
+// (XFree86 submission)
+//
+// $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $
+//
+// This layout has long been distributed and refined outside official channels.
+// To this day it remains more feature-rich and popular than the 'fr' layout.
+//
+// This file is derived from an original version by Guylhem Aznar. The
+// original version is always available from:
+// http://en.tldp.org/HOWTO/Francophones-HOWTO.html
+// and is distributed under a GPL license.
+//
+// The author has given permission for this derived version to be distributed
+// under the standard XFree86 license. He would like all changes to this
+// version be send to him at <clavier @ externe.net> so he can sync the
+// identically named linux console map (kbd, linux-console) and this
+// fileout-of-tree GPL version.
+//
+// Now follows the keyboard design description in French.
+// (If you can't read it you probably have no business changing this file anyway:)
+//
+// Les accents circonflexes des principales voyelles sont obtenus avec
+// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
+//
+// ____ _________ _____________ _______
+// | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause |
+// | s a| s = normal, a = AltGr | Exec | | Halte |
+// ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
+// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
+// | œ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- |
+// | Œ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
+// ========================================================================
+// | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë| , |
+// | ->| | a â| z å| e €| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' |
+// ===================================================================¬ |
+// | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| |
+// | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| |
+// ========================================================================
+// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
+// | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | |
+// ========================================================================
+// | | | | | | | | |
+// | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl |
+// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
+//
+//
+// Si les touches mortes fonctionnent, utiliser les accents dits
+// « morts », i.e. fonctionnant comme l'accent circonflexe & le
+// tréma des machines à écrire ; sont disponibles :
+//
+// (^) : accent circonflexe,
+// Shift+(^) : tréma,
+// Shift+AltGr (^) : tilde,
+// AltGr (1) : accent aigu,
+// AltGr (7) : accent grave
+//
+// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
+// sur les vielles machines à écrire :
+//
+// AltGr (1) puis e : é
+// Shift+AltGr (1) puis e : É ...
+partial alphanumeric_keys
+
+xkb_symbols "latin9" {
+
+ include "latin"
+ include "nbsp(level3)"
+
+ name[Group1]="France - (Legacy) Alternative";
+
+ key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] };
+ key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
+ key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
+ key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
+ key <AE04> { [ apostrophe, 4, braceleft, acute ] };
+ key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
+ key <AE06> { [ minus, 6, bar, brokenbar ] };
+ key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
+ key <AE08> { [ underscore, 8, backslash, macron ] };
+ key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
+ key <AE10> { [ agrave, 0, at, Agrave ] };
+ key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] };
+ key <AE12> { [ equal, plus, braceright, dead_abovering ] };
+
+ key <AD01> { [ a, A, acircumflex, adiaeresis ] };
+ key <AD02> { [ z, Z, aring, Aring ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD04> { [ r, R, ccedilla, Ccedilla ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, yacute, Yacute ] };
+ key <AD07> { [ u, U, ucircumflex, udiaeresis ] };
+ key <AD08> { [ i, I, icircumflex, idiaeresis ] };
+ key <AD09> { [ o, O, ocircumflex, odiaeresis ] };
+ key <AD10> { [ p, P, paragraph, quoteleft ] };
+ key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
+ key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] };
+
+ key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] };
+ key <AC02> { [ s, S, oslash, Ooblique ] };
+ key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] };
+ key <AC04> { [ f, F, plusminus, ordfeminine ] };
+ key <AC05> { [ g, G, ae, AE ] };
+ key <AC06> { [ h, H, eth, ETH ] };
+ key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] };
+ key <AC08> { [ k, K, Icircumflex, Idiaeresis ] };
+ key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] };
+ key <AC10> { [ m, M, onesuperior, masculine ] };
+ key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] };
+ key <BKSL> { [ asterisk, mu, threesuperior, yen ] };
+
+ key <LSGT> { [ less, greater, bar ] };
+ key <AB01> { [ w, W, guillemotleft ] };
+ key <AB02> { [ x, X, guillemotright ] };
+ key <AB03> { [ c, C, copyright ] };
+ key <AB04> { [ v, V, registered ] };
+ key <AB05> { [ b, B, ssharp ] };
+ key <AB06> { [ n, N, notsign ] };
+ key <AB07> { [ comma, question, questiondown ] };
+ key <AB08> { [ semicolon, period, multiply ] };
+ key <AB09> { [ colon, slash, division ] };
+ key <AB10> { [ exclam, section, exclamdown ] };
+
+ // French uses a comma as decimal separator, but keyboards are labeled with a period
+ // Will take effect when KP_Decimal is mapped to the locale decimal separator
+ key <KPDL> { [ KP_Delete, KP_Decimal, KP_Delete, KP_Decimal ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin9_Sundeadkeys" {
+
+ // Modifies the basic fr-latin9 layout to use the Sun dead keys
+
+ include "fr(latin9)"
+
+ key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
+ key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
+ key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin9_sundeadkeys" {
+
+ include "fr(latin9_Sundeadkeys)"
+
+ name[Group1]="France - (Legacy) Alternative, Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin9_nodeadkeys" {
+
+ // Modifies the basic fr-latin9 layout to eliminate all dead keys
+
+ include "fr(latin9)"
+
+ name[Group1]="France - (Legacy) Alternative, eliminate dead keys";
+
+ key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] };
+ key <AE07> { [ egrave, 7, grave, Egrave ] };
+ key <AE12> { [ equal, plus, braceright ] };
+ key <AD11> { [ asciicircum, diaeresis, asciitilde, quoteright ] };
+};
+
+// Bépo : Improved ergonomic french keymap using Dvorak method.
+// Built by community on 'Dvorak Fr / Bépo' :
+// see http://www.clavier-dvorak.org/wiki/ to join and help.
+// XOrg integration (1.0rc2 version) in 2008
+// by Frédéric Boiteux <fboiteux at free dot fr>
+//
+// Bépo layout (1.0rc2 version) for a pc105 keyboard (french) :
+// ┌────┐
+// │ S A│ S = Shift, A = AltGr + Shift
+// │ s a│ s = normal, a = AltGr
+// └────┘
+//
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
+// │ # ¶ │ 1 „ │ 2 “ │ 3 ” │ 4 ≤ │ 5 ≥ │ 6 │ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃
+// │ $ – │ " — │ « < │ » > │ ( [ │ ) ] │ @ ^ │ + ± │ - − │ / ÷ │ * × │ = ≠ │ % ‰ ┃ arrière┃
+// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
+// ┃ ┃ B ¦ │ É ˝ │ P § │ O Œ │ È ` │ ! │ V │ D Ð │ L │ J IJ │ Z Ə │ W ┃Entrée ┃
+// ┃Tab ↹ ┃ b | │ é ˊ │ p & │ o œ │ è ` │ ˆ ¡ │ v ˇ │ d ð │ l / │ j ij │ z ə │ w ̆ ┃ ⏎ ┃
+// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
+// ┃ ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ; ̛ │ C ſ │ T Þ │ S ẞ │ R ™ │ N │ M º │ Ç , ┃ ┃
+// ┃Maj ⇬ ┃ a æ │ u ù │ i ̈ │ e € │ , ’ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃ ┃
+// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
+// ┃ ┃ Ê │ À │ Y ‘ │ X ’ │ : · │ K │ ? ̉ │ Q ̣ │ G │ H ‡ │ F ª ┃ ┃
+// ┃Shift ⇧┃ ê / │ à \ │ y { │ x } │ . … │ k ~ │ ' ¿ │ q ˚ │ g µ │ h † │ f ˛ ┃Shift ⇧ ┃
+// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
+// ┃ ┃ ┃ ┃ Espace inséc. Espace inséc. fin ┃ ┃ ┃ ┃
+// ┃Ctrl ┃Meta ┃Alt ┃ ␣ (Espace) _ ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
+partial alphanumeric_keys
+xkb_symbols "bepo" {
+
+ include "level3(ralt_switch)"
+ include "keypad(oss)"
+
+ name[Group1]= "France - Bepo, ergonomic, Dvorak way";
+
+ // First row
+ key <TLDE> { [ dollar, numbersign, endash, paragraph ] }; // $ # – ¶
+ key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; // " 1 — „
+ key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; // « 2 < “
+ key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; // » 3 > ”
+ key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, lessthanequal ] }; // ( 4 [ ≤
+ key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, greaterthanequal ] }; // ) 5 ] ≥
+ key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum ] }; // @ 6 ^
+ key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; // + 7 ± ¬
+ key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; // - 8 − ¼
+ key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; // / 9 ÷ ½
+ key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; // * 0 × ¾
+ key <AE11> { [ equal, degree, notequal, minutes ] }; // = ° ≠ ′
+ key <AE12> { [ percent, grave, U2030, seconds ] }; // % ` ‰ ″
+
+ // Second row
+ key <AD01> { [ b, B, bar, brokenbar ] }; // b B | ¦
+ key <AD02> { [ eacute, Eacute, dead_acute, dead_doubleacute ] }; // é É ˊ ˝
+ key <AD03> { [ p, P, ampersand, section ] }; // p P & §
+ key <AD04> { [ o, O, oe, OE ] }; // o O œ Œ
+ key <AD05> { [ egrave, Egrave, dead_grave, grave ] }; // è È ` `
+ key <AD06> { [ dead_circumflex, exclam, exclamdown ] }; // ^ ! ¡
+ key <AD07> { [ v, V, dead_caron ] }; // v V ˇ
+ key <AD08> { [ d, D, eth, ETH ] }; // d D ð Ð
+ key <AD09> { [ l, L, dead_stroke ] }; // l L /
+ key <AD10> { [ j, J, U0133, U0132 ] }; // j J ij IJ
+ key <AD11> { [ z, Z, schwa, SCHWA ] }; // z Z ə Ə
+ key <AD12> { [ w, W, dead_breve ] }; // w W ̆
+
+ // Third row
+ key <AC01> { [ a, A, ae, AE ] }; // a A æ Æ
+ key <AC02> { [ u, U, ugrave, Ugrave ] }; // u U ù Ù
+ key <AC03> { [ i, I, dead_diaeresis, dead_abovedot ] }; // i I ̈ ˙
+ key <AC04> { [ e, E, EuroSign, dead_currency ] }; // e E € ¤
+ key <AC05> { [ comma, semicolon, rightsinglequotemark, dead_horn ] }; // , ; ’ ̛
+ key <AC06> { [ c, C, copyright, U017F ] }; // c C © ſ
+ key <AC07> { [ t, T, thorn, THORN ] }; // t T þ Þ
+ key <AC08> { [ s, S, ssharp, U1E9E ] }; // s S ß ẞ
+ key <AC09> { [ r, R, registered, trademark ] }; // r R ® ™
+ key <AC10> { [ n, N, dead_tilde ] }; // n N ~
+ key <AC11> { [ m, M, dead_macron, masculine ] }; // m M ̄ º
+ key <BKSL> { [ ccedilla, Ccedilla, dead_cedilla, dead_belowcomma ] }; // ç Ç ¸ ,
+
+ // Fourth row
+ key <LSGT> { [ ecircumflex, Ecircumflex, slash ] }; // ê Ê /
+ key <AB01> { [ agrave, Agrave, backslash ] }; // à À \
+ key <AB02> { [ y, Y, braceleft, leftsinglequotemark ] }; // y Y { ‘
+ key <AB03> { [ x, X, braceright, rightsinglequotemark ] }; // x X } ’
+ key <AB04> { [ period, colon, ellipsis, periodcentered ] }; // . : … ·
+ key <AB05> { [ k, K, asciitilde ] }; // k K ~
+ key <AB06> { [ apostrophe, question, questiondown, dead_hook ] }; // ' ? ¿ ̉
+ key <AB07> { [ q, Q, dead_abovering, dead_belowdot ] }; // q Q ˚ ̣
+ key <AB08> { [ g, G, mu ] }; // g G µ
+ key <AB09> { [ h, H, dagger, doubledagger ] }; // h H † ‡
+ key <AB10> { [ f, F, dead_ogonek, ordfeminine ] }; // f F ̨ ª
+
+ key <SPCE> { [ space, nobreakspace, underscore, U202F ] }; // ␣ (espace insécable) _ (espace insécable fin)
+};
+
+partial alphanumeric_keys
+xkb_symbols "bepo_latin9" {
+
+ // Restricts the fr(bepo) layout to latin9 symbols
+
+ include "fr(bepo)"
+ include "keypad(oss_latin9)"
+
+ name[Group1]="France - Bepo, ergonomic, Dvorak way, latin-9 only";
+
+ key <TLDE> { [ dollar, numbersign, dollar, paragraph ] }; // $ # $ ¶
+
+ key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1 ] }; // " 1
+ key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less ] }; // « 2 <
+ key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater ] }; // » 3 >
+ key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft ] }; // ( 4 [
+ key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright ] }; // ) 5 ]
+ key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, minus, onequarter ] }; // - 8 - ¼
+ key <AE11> { [ equal, degree ] }; // = °
+ key <AE12> { [ percent, grave ] }; // % `
+
+ key <AD01> { [ b, B, bar ] }; // b B |
+ key <AD02> { [ eacute, Eacute, dead_acute ] }; // é É ˊ
+ key <AD10> { [ j, J ] }; // j J
+ key <AD11> { [ z, Z ] }; // z Z
+ key <AD12> { [ w, W ] }; // w W
+
+ key <AC03> { [ i, I, dead_diaeresis ] }; // i I ̈
+ key <AC05> { [ comma, semicolon, comma, dead_horn ] }; // , ; , ̛
+ key <AC06> { [ c, C, copyright ] }; // c C ©
+ key <AC08> { [ s, S, ssharp ] }; // s S ß
+ key <AC09> { [ r, R, registered ] }; // r R ®
+ key <AC11> { [ m, M, macron, masculine ] }; // m M ̄ º
+
+ key <AB02> { [ y, Y, braceleft ] }; // y Y {
+ key <AB03> { [ x, X, braceright ] }; // x X }
+ key <AB04> { [ period, colon ] }; // . :
+ key <AB09> { [ h, H ] }; // h H
+ key <AB10> { [ f, F, f, ordfeminine ] }; // f F ª
+
+ // Note : on a besoin de redéfinir les niveaux 3 et 4,
+ // donc nbsp(level2) ne suffit pas !
+ key <SPCE> { [ space, nobreakspace, underscore, nobreakspace ] }; // ␣ (espace insécable) _ (espace insécable)
+};
+
+// Author : Francis Leboutte, http://www.algo.be/ergo/dvorak-fr.html
+// thanks to Fabien Cazenave for his help
+// Licence : X11 (the layout itself is released under CC-NC-ND licence)
+// Version : 0.3
+
+// Base layer + dead AltGr key (`):
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
+// │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ % ┃ ┃
+// │ _ │ = │ / ± │ - ¼ │ è ½ │ \ ¾ │ ^ │ ( │ ` ` │ ) │ " │ [ │ ] ┃ ⌫ ┃
+// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫
+// ┃ ┃ ? Æ │ < │ > │ G │ ! │ H │ V │ C Ç │ M │ K │ Z │ & ┃ ┃
+// ┃ ↹ ┃ : æ │ ' $ │ é É │ g € │ . ° │ h │ v │ c ç │ m µ │ k │ z │ ¨ ┃ ┃
+// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ⏎ ┃
+// ┃ ┃ O Ò │ A À │ U Ù │ E È │ B │ F │ S │ T │ N │ D │ W │ # ┃ ┃
+// ┃ ⇬ ┃ o ò │ a à │ u ù │ e è │ b │ f │ s « │ t │ n » │ d │ w │ ~ ┃ ┃
+// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫
+// ┃ ┃ ç Ç │ | Œ │ Q │ @ │ I Ì │ Y │ X │ R │ L │ P │ J ┃ ┃
+// ┃ ⇧ ┃ à À │ ; œ │ q { │ , } │ i ì │ y £ │ x │ r º │ l │ p § │ j ┃ ⇧ ┃
+// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
+// ┃ ┃ ┃ ┃ ␣ ⍽ ┃ ┃ ┃ ┃ ┃
+// ┃ ctrl ┃ super ┃ alt ┃ ␣ Espace Espace insécable ⍽ ┃ alt ┃ super ┃ menu ┃ ctrl ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
+
+// Notice the specific Caps_Lock layer:
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
+// │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ % ┃ ┃
+// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ⌫ ┃
+// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫
+// ┃ ┃ │ < │ > │ │ │ │ │ │ │ │ │ ┃ ┃
+// ┃ ↹ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
+// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ⏎ ┃
+// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
+// ┃ ⇬ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
+// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫
+// ┃ ┃ / │ - │ │ │ │ │ │ │ │ │ ┃ ┃
+// ┃ ⇧ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ⇧ ┃
+// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
+// ┃ ┃ ┃ ┃ ␣ ⍽ ┃ ┃ ┃ ┃ ┃
+// ┃ ctrl ┃ super ┃ alt ┃ ␣ Espace Espace insécable ⍽ ┃ alt ┃ super ┃ menu ┃ ctrl ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "dvorak" {
+ name[Group1]="France - Dvorak";
+
+ // First row
+ key <TLDE> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ underscore, asterisk ] };
+ key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ equal, 1 ] };
+ key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 2, plusminus ] };
+ key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 3, onequarter ] };
+ key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, 4, onehalf ] };
+ key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ backslash, 5, threequarters ] };
+ key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ dead_circumflex, 6 ] };
+ key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 7 ] };
+ key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Latch, 8, grave ] };
+ key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 9 ] };
+ key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 0 ] };
+ key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketleft, plus ] };
+ key <AE12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketright, percent ] };
+
+ // Second row
+ key <AD01> { [ colon, question, ae, AE ] };
+ key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ apostrophe, less, dollar ] };
+ key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, greater, Eacute ] };
+ key <AD04> { [ g, G, EuroSign ] };
+ key <AD05> { [ period, exclam, degree ] };
+ key <AD06> { [ h, H ] };
+ key <AD07> { [ v, V ] };
+ key <AD08> { [ c, C, ccedilla, Ccedilla ] };
+ key <AD09> { [ m, M, mu ] };
+ key <AD10> { [ k, K ] };
+ key <AD11> { [ z, Z ] };
+ key <AD12> { [ dead_diaeresis, ampersand ] };
+
+ // Third row
+ key <AC01> { [ o, O, ograve, Ograve ] };
+ key <AC02> { [ a, A, agrave, Agrave ] };
+ key <AC03> { [ u, U, ugrave, Ugrave ] };
+ key <AC04> { [ e, E, egrave, Egrave ] };
+ key <AC05> { [ b, B ] };
+ key <AC06> { [ f, F ] };
+ key <AC07> { [ s, S, guillemotleft ] };
+ key <AC08> { [ t, T ] };
+ key <AC09> { [ n, N, guillemotright ] };
+ key <AC10> { [ d, D ] };
+ key <AC11> { [ w, W ] };
+ key <BKSL> { [ asciitilde, numbersign ] };
+
+ // Fourth row
+ key <LSGT> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ agrave, ccedilla, Agrave, Ccedilla, slash ] };
+ key <AB01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ semicolon, bar, oe, OE, minus ] };
+ key <AB02> { [ q, Q, braceleft ] };
+ key <AB03> { [ comma, at, braceright ] };
+ key <AB04> { [ i, I, igrave, Igrave ] };
+ key <AB05> { [ y, Y, sterling ] };
+ key <AB06> { [ x, X ] };
+ key <AB07> { [ r, R, masculine ] };
+ key <AB08> { [ l, L ] };
+ key <AB09> { [ p, P, section ] };
+ key <AB10> { [ j, J ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+};
+
+// C'WHERTY: Breton keyboard. Ar c'hlavier brezhoneg.
+// Copyright © 2009 Dominique Pellé <dominique.pelle@gmail.com>
+// Version: 0.1
+//
+// ┌────┐
+// │ S A│ S = Reol = Shift, A = ArErl + Pennlizherenn = AltGr + Shift
+// │ s a│ s = normal, a = AltGr
+// └────┘
+//
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
+// │ $ Γ │ 1 Δ │ 2 Θ │ 3 Λ │ 4 Ξ │ 5 Π │ 6 Σ │ 7 Φ │ 8 Ψ │ 9 Ç │ 0 Ω │ ° ß │ + ¬ ┃ ⌫ Souzañ┃
+// │ ² ˙ │ & ¯ │ é ´ │ " # │ ' { │ ( [ │ - | │ è ` │ - \ │ ç ± │ à @ │ ) ] │ = } ┃ ┃
+// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
+// ┃Toalenn┃ C'h │ W ω │ E ε │ R ρ │ T τ │ Y ψ │ U υ │ I ι │ O OE│ P π │ ¨ ¥ │ * £ ┃Enankañ┃
+// ┃ ↹ ┃ c'h │ w │ e € │ r │ t │ y │ u │ i ı │ o oe│ p │ ^ « │ / » ┃ ⏎ ┃
+// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
+// ┃Prenn ┃ A Æ │ S σ │ D δ │ F φ │ G γ │ H η │ J ς │ K κ │ L λ │ M μ │ Ù ® │ ! ¡ ┃ ┃
+// ┃Pennli ⇬┃ a æ │ s │ d $ │ f │ g │ h │ j │ k │ l │ m │ ù ŭ │ ? ¿ ┃ ┃
+// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
+// ┃ ┃ Q θ │ Z ζ │ X ξ │ C χ │ V │ B β │ N ν │ CH │ Ñ │ : © │ ; ┃ ┃
+// ┃Shift ⇧┃ q < │ z > │ x │ c ¢ │ v │ b │ n │ ch │ ñ │ . │ , ┃Shift ⇧ ┃
+// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
+// ┃ ┃ ┃ ┃ ⍽ Espace insécable ␣ ┃ ┃ ┃ ┃
+// ┃Reol ┃Meta ┃Erl ┃ ␣ Espace ␣ ┃ArErl ⇮┃Menu ┃Reol ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
+partial alphanumeric_keys
+xkb_symbols "bre" {
+
+ include "keypad(oss)"
+
+ name[Group1]= "France - Breton";
+
+ // First row
+ key <TLDE> { [ twosuperior, dead_tilde, dead_abovedot, Greek_GAMMA ] };
+ key <AE01> { [ ampersand, 1, dead_macron, Greek_DELTA ] };
+ key <AE02> { [ eacute, 2, dead_acute, Greek_THETA ] };
+ key <AE03> { [ quotedbl, 3, numbersign, Greek_LAMDA ] };
+ key <AE04> { [ apostrophe, 4, braceleft, Greek_XI ] };
+ key <AE05> { [ parenleft, 5, bracketleft, Greek_PI ] };
+ key <AE06> { [ minus, 6, bar, Greek_SIGMA ] };
+ key <AE07> { [ egrave, 7, dead_grave, Greek_PHI ] };
+ key <AE08> { [ underscore, 8, backslash, Greek_PSI ] };
+ key <AE09> { [ ccedilla, 9, plusminus, Ccedilla ] };
+ key <AE10> { [ agrave, 0, at, Greek_OMEGA ] };
+ key <AE11> { [ parenright, dead_abovering, bracketright, ssharp ] };
+ key <AE12> { [ equal, plus, braceright, notsign ] };
+
+ // Second row
+ // Handling the C'H key correctly requires an inputmethod (XIM)
+ // See https://bugs.freedesktop.org/show_bug.cgi?id=19506
+ // key <AD01> { [ trigraph_c_h, trigraph_C_h, trigraph_C_H, Greek_alpha ] };
+ key <AD01> { [ UF8FD, UF8FE, UF8FF, Greek_alpha ] };
+ key <AD02> { [ w, W, Greek_omega, Greek_omega ] };
+ key <AD03> { [ e, E, EuroSign, Greek_epsilon ] };
+ key <AD04> { [ r, R, Greek_rho, Greek_rho ] };
+ key <AD05> { [ t, T, Greek_tau, Greek_tau ] };
+ key <AD06> { [ y, Y, Greek_psi, Greek_psi ] };
+ key <AD07> { [ u, U, Greek_upsilon, Greek_upsilon ] };
+ key <AD08> { [ i, I, idotless, Greek_iota ] };
+ key <AD09> { [ o, O, oe, OE ] };
+ key <AD10> { [ p, P, Greek_pi, Greek_pi ] };
+ key <AD11> { [ dead_circumflex, dead_diaeresis, guillemotleft, yen ] };
+ key <AD12> { [ slash, asterisk, guillemotright, sterling ] };
+
+ // Third row
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ s, S, Greek_sigma, Greek_sigma ] };
+ key <AC03> { [ d, D, dollar, Greek_delta ] };
+ key <AC04> { [ f, F, Greek_phi, Greek_phi ] };
+ key <AC05> { [ g, G, Greek_gamma, Greek_gamma ] };
+ key <AC06> { [ h, H, Greek_eta, Greek_eta ] };
+ key <AC07> { [ j, J, Greek_finalsmallsigma, Greek_finalsmallsigma ] };
+ key <AC08> { [ k, K, Greek_kappa, Greek_kappa ] };
+ key <AC09> { [ l, L, Greek_lamda, Greek_lambda ] };
+ key <AC10> { [ m, M, Greek_mu, Greek_mu ] };
+ key <AC11> { [ ugrave, Ugrave, ubreve, registered ] };
+ key <BKSL> { [ question, exclam, questiondown, exclamdown ] };
+
+ // Fourth row
+ key <LSGT> { [ q, Q, less, Greek_theta ] };
+ key <AB01> { [ z, Z, greater, Greek_zeta ] };
+ key <AB02> { [ x, X, Greek_xi, Greek_xi ] };
+ key <AB03> { [ c, C, cent, Greek_chi ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B, Greek_beta, Greek_beta ] };
+ key <AB06> { [ n, N, Greek_nu, Greek_nu ] };
+ // Handling the CH key correctly requires an inputmethod (XIM)
+ // See https://bugs.freedesktop.org/show_bug.cgi?id=19506
+ // key <AB07> { [ digraph_ch, digraph_Ch, digraph_CH, Greek_omicron ] };
+ key <AB07> { [ UF8FA, UF8FB, UF8FC, Greek_omicron ] };
+ key <AB08> { [ ntilde, Ntilde ] };
+ key <AB09> { [ period, colon, section, copyright ] };
+ key <AB10> { [ comma, semicolon, percent ] };
+
+ key <SPCE> { [ space, nobreakspace, space, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Occitan layout
+// Author : 2009 Thomas Metz <tmetz @ free.fr>
+// Derivated from the layout defined at http://www.panoccitan.org
+// Version: 0.1
+// From OSS french keyboard :
+// - add á, í, ò, ó et ú, Á, Í, Ò, Ó, Ú, ñ, Ñ
+// - change position of æ, ü, î, û, œ, ô, ö, ï, â, ë
+//
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
+// │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃
+// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃ arrière┃
+// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
+// ┃ ┃ A Á │ Z Æ │ E ¢ │ R Ê │ T Ë │ Y Û │ U Ú │ I Í │ O Ó │ P Ò │ ¨ Œ │ £ Ø ┃Entrée ┃
+// ┃Tab ↹ ┃ a á │ z æ │ e € │ r ê │ t ë │ y û │ u ú │ i í │ o ó │ p ò │ ^ œ │ $ ø ┃ ⏎ ┃
+// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
+// ┃ ┃ Q Ä │ S „ │ D Â │ F ‚ │ G ¥ │ H Ü │ J Î │ K Ï │ L Ô │ M Ö │ % Ù │ µ ̄ ┃ ┃
+// ┃Maj ⇬ ┃ q ä │ s ß │ d â │ f ‘ │ g ’ │ h ü │ j î │ k ï │ l ô │ m ö │ ù ' │ * ` ┃ ┃
+// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
+// ┃ ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N Ñ │ ? … │ . . │ / ∕ │ § − ┃ ┃
+// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v → │ b ↓ │ n ñ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃
+// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
+// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃
+// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
+partial alphanumeric_keys
+xkb_symbols "oci" {
+
+ include "keypad(oss)"
+
+ name[Group1]= "France - Occitan";
+
+ // First row
+ key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ² ³ ¹ ¸
+ key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1 ˇ ̨
+ key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // é 2 ~ É
+ key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 # ˘
+ key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { — (tiret cadratin)
+ key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin)
+ key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | ‑ (tiret insécable)
+ key <AE07> { [ egrave, 7, grave, Egrave ] }; // è 7 ` È
+ key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \ ™
+ key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // ç 9 ^ Ç
+ key <AE10> { [ agrave, 0, at, Agrave ] }; // à 0 @ À
+ key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ° ] ≠
+ key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + } ±
+
+ // Second row
+ key <AD01> { [ a, A, aacute, Aacute ] }; // a A á Á
+ key <AD02> { [ z, Z, ae, AE ] }; // z Z æ Æ
+ key <AD03> { [ e, E, EuroSign, cent ] }; // e E € ¢
+ key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R ê Ê
+ key <AD05> { [ t, T, ediaeresis, Ediaeresis ] }; // t T ë Ë
+ key <AD06> { [ y, Y, ucircumflex, Ucircumflex ] }; // y Y û Û
+ key <AD07> { [ u, U, uacute, Uacute ] }; // u U ú Ú
+ key <AD08> { [ i, I, iacute, Iacute ] }; // i I í Í
+ key <AD09> { [ o, O, oacute, Oacute ] }; // o O ó Ó
+ key <AD10> { [ p, P, ograve, Ograve ] }; // p P ò Ò
+ key <AD11> { [ dead_circumflex, dead_diaeresis, oe, OE ] }; // ^ ̈ ̃ œ Œ
+ key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $ £ ø Ø
+
+ // Third row
+ key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä
+ key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S ß „
+ key <AC03> { [ d, D, acircumflex, Acircumflex ] }; // d D â Â
+ key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F ‘ ‚
+ key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G ’ ¥
+ key <AC06> { [ h, H, udiaeresis, Udiaeresis ] }; // h H ü Ü
+ key <AC07> { [ j, J, icircumflex, Icircumflex] }; // j J î Î
+ key <AC08> { [ k, K, idiaeresis, Idiaeresis] }; // k K ï Ï
+ key <AC09> { [ l, L, ocircumflex, Ocircumflex ] }; // l L ô Ô
+ key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M ö Ö
+ key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù
+ key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄
+
+ // Fourth row
+ key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥
+ key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “
+ key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » ”
+ key <AB03> { [ c, C, copyright, registered ] }; // c C © ®
+ key <AB04> { [ v, V, rightarrow, leftarrow ] }; // v V → ←
+ key <AB05> { [ b, B, downarrow, uparrow ] }; // b B ↓ ↑
+ key <AB06> { [ n, N, ntilde, Ntilde ] }; // n N ñ Ñ
+ key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ …
+ key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅
+ key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕
+ key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ −
+};
+
+// Marc.Shapiro@inria.fr 19-sep-1998
+// modifications : Etienne Herlent <eherlent@linux-france.org> june 2000
+// adapted to the new input layer :
+// Martin Costabel <costabel@wanadoo.fr> 3-jan-2001
+// adapted for Latin9 alphabet (ISO-8859-15):
+// Etienne Herlent <eherlent@linux-france.org> march 2005
+
+// This map is an almost-complete mapping of the standard French
+// MacIntosh keyboard under Xwindows. I tried to remain as faithful
+// as possible to the Mac meaning of each key. I did this entirely by
+// hand and by intuition, relying on the Clavier (Keyboard?) Desktop
+// Accessory for the Mac meaning of keys, and on reading keysymdef.h
+// to intuit the corresponding X names. Lacking proper documentation,
+// I may have made some mistakes.
+
+// Entries marked CHECK are particularly uncertain
+
+// Entries marked MISSING mark Mac characters for which I was unable
+// to find a corresponding keysym. (Some for sure don't: e.g. the
+// Apple mark and the oe/OE character; others I may have simply not
+// found.)
+
+// Copied from macintosh_vndr/fr
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ name[Group1]= "France - Macintosh";
+
+ // Alphanumeric section
+ key <TLDE> { [ at, numbersign, periodcentered, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9
+ key <AE01> { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple
+ key <AE02> { [ eacute, 2, ediaeresis, Eacute ] };
+ key <AE03> { [ quotedbl, 3, VoidSymbol, VoidSymbol ] }; // CHECK all quotemarks
+ key <AE04> { [ apostrophe, 4, VoidSymbol, VoidSymbol ] };
+ key <AE05> { [ parenleft, 5, braceleft, bracketleft ] };
+ // CHECK section
+ key <AE06> { [ section, 6, paragraph, aring ] };
+ key <AE07> { [ egrave, 7, guillemotleft, guillemotright ] };
+ key <AE08> { [ exclam, 8, exclamdown, Ucircumflex ] };
+ key <AE09> { [ ccedilla, 9, Ccedilla, Aacute ] };
+ key <AE10> { [ agrave, 0, oslash, VoidSymbol ] }; // MISSING: Oslash
+ key <AE11> { [ parenright, degree, braceright, bracketright ] };
+ key <AE12> { [ minus, underscore, emdash, endash ] }; // CHECK dashes
+
+ key <AD01> { [ a, A, ae, AE ] };
+ key <AD02> { [ z, Z, Acircumflex, Aring ] };
+ key <AD03> { [ e, E, ecircumflex, Ecircumflex ] };
+ key <AD04> { [ r, R, registered, currency ] };
+ key <AD05> { [ t, T, VoidSymbol, VoidSymbol ] };
+ key <AD06> { [ y, Y, Uacute, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9
+ key <AD07> { [ u, U, VoidSymbol, ordfeminine ] }; // MISSING: ordmasculine?
+ key <AD08> { [ i, I, icircumflex, idiaeresis ] };
+ key <AD09> { [ o, O, oe, OE ] }; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9
+ key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] };
+ key <AD11> { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] };
+ key <AD12> { [ dollar, asterisk, EuroSign, yen ] }; // eherlent : EuroSign in Latin9
+
+ key <AC01> { [ q, Q, acircumflex, Agrave ] };
+ key <AC02> { [ s, S, Ograve, VoidSymbol ] };
+ key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] };
+ key <AC04> { [ f, F, VoidSymbol, periodcentered ] }; // MISSING: oblong script f??
+ key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: kerned fi, fl
+ key <AC06> { [ h, H, Igrave, Icircumflex ] };
+ key <AC07> { [ j, J, Idiaeresis, Iacute ] };
+ key <AC08> { [ k, K, Egrave, Ediaeresis ] };
+ key <AC09> { [ l, L, notsign, bar ] };
+ key <AC10> { [ m, M, mu, Oacute ] };
+ key <AC11> { [ ugrave,percent, Ugrave, ucircumflex ] }; // MISSING: per-mille
+ key <BKSL> { [ dead_grave, sterling, at, numbersign ] };
+
+ key <LSGT> { [ less, greater, VoidSymbol, VoidSymbol ] };
+ key <AB01> { [ w, W, VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket)
+ key <AB02> { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK similarequal; MISSING: extra-slanted slash
+ key <AB03> { [ c, C, copyright, cent ] };
+ key <AB04> { [ v, V, diamond, leftradical ] }; // CHECK diamond, leftradical
+ key <AB05> { [ b, B, ssharp, VoidSymbol ] }; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s
+ key <AB06> { [ n, N, dead_tilde, asciitilde ] };
+ key <AB07> { [ comma, question, VoidSymbol, questiondown ] };
+ key <AB08> { [ semicolon, period, VoidSymbol, periodcentered ] };
+ key <AB09> { [ colon, slash, division, backslash ] };
+ key <AB10> { [ equal, plus, VoidSymbol, plusminus ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+ // End alphanumeric section
+
+ key <KPDL> { [ comma,KP_Decimal ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "geo" {
+ include "ge(basic)"
+
+ name[Group1]= "France - Georgian AZERTY Tskapo";
+
+ key <TLDE> { [ exclam, noSymbol ] };
+ key <AE01> { [ 0x0100201e, 1 ] };
+ key <AE02> { [ 0x01002116, 2 ] };
+ key <AE03> { [ percent, 3 ] };
+ key <AE04> { [ parenleft, 4 ] };
+ key <AE05> { [ colon, 5 ] };
+ key <AE06> { [ semicolon, 6 ] };
+ key <AE07> { [ question, 7 ] };
+ key <AE08> { [ 0x01002116, 8 ] };
+ key <AE09> { [ degree, 9 ] };
+ key <AE10> { [ parenright, 0 ] };
+ key <AE11> { [ minus, underscore, 0x01002014 ] };
+ key <AE12> { [ less, greater ] };
+
+ key <AD01> { [ 0x010010d0, 0x010010fa ] };
+ key <AD02> { [ 0x010010d6, Z ] };
+ key <AD03> { [ 0x010010d4, E, 0x010010f1 ] };
+ key <AD04> { [ 0x010010e0, 0x010000ae ] };
+ key <AD05> { [ 0x010010e2, T ] };
+ key <AD06> { [ 0x010010e7, 0x010010f8 ] };
+ key <AD07> { [ 0x010010e3, U ] };
+ key <AD08> { [ 0x010010d8, 0x010010f2 ] };
+ key <AD09> { [ 0x010010dd, O ] };
+ key <AD10> { [ 0x010010de, P ] };
+ key <AD11> { [ 0x010010d7, T ] };
+ key <AD12> { [ 0x010010eb, Z ] };
+
+ key <AC01> { [ 0x010010e5, Q ] };
+ key <AC02> { [ 0x010010e1, S ] };
+ key <AC03> { [ 0x010010d3, D ] };
+ key <AC04> { [ 0x010010e4, 0x010010f6 ] };
+ key <AC05> { [ 0x010010d2, 0x010010f9 ] };
+ key <AC06> { [ 0x010010f0, 0x010010f5 ] };
+ key <AC07> { [ 0x010010ef, 0x010010f7 ] };
+ key <AC08> { [ 0x010010d9, K ] };
+ key <AC09> { [ 0x010010da, L ] };
+ key <AC10> { [ 0x010010db, M ] };
+ key <AC11> { [ 0x010010df, J ] };
+ key <BKSL> { [ 0x010010e9, 0x010000a9 ] };
+
+ key <LSGT> { [ guillemotleft,guillemotright ] };
+ key <AB01> { [ 0x010010ec, W ] };
+ key <AB02> { [ 0x010010ee, 0x010010f4 ] };
+ key <AB03> { [ 0x010010ea, 0x010000a9 ] };
+ key <AB04> { [ 0x010010d5, 0x010010f3 ] };
+ key <AB05> { [ 0x010010d1, B ] };
+ key <AB06> { [ 0x010010dc, 0x010010fc ] };
+ key <AB07> { [ comma, 0x01002014 ] };
+ key <AB08> { [ 0x010010e8, S ] };
+ key <AB09> { [ 0x010010e6, noSymbol ] };
+ key <AB10> { [ 0x010010ed, noSymbol ] };
+
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/Makefile.am b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/Makefile.am
new file mode 100644
index 000000000..4e3a96ee1
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/Makefile.am
@@ -0,0 +1,4 @@
+symbolsdir = $(xkb_base)/symbols/fujitsu_vndr
+
+dist_symbols_DATA = \
+jp us
diff --git a/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/jp b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/jp
new file mode 100644
index 000000000..2f49dea76
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/jp
@@ -0,0 +1,88 @@
+// $Xorg: jp,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// Japanese layout for a Fujitsu 140 key keyboard
+
+xkb_symbols {
+ override "fujitsu_vndr/us"
+ augment key <AE01> { [], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ augment key <AE05> { [], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ] };
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ] };
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ] };
+ replace key <AE10> { [ 0 ], [ kana_WA, kana_WO ] };
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, asciitilde ], [ kana_HE ] };
+ key <BKSL> { [ backslash, bar ], [ prolongedsound] };
+ augment key <AD01> { [], [ kana_TA ] };
+ augment key <AD02> { [], [ kana_TE ] };
+ augment key <AD03> { [], [ kana_I, kana_i ] };
+ augment key <AD04> { [], [ kana_SU ] };
+ augment key <AD05> { [], [ kana_KA ] };
+ augment key <AD06> { [], [ kana_N ] };
+ augment key <AD07> { [], [ kana_NA ] };
+ augment key <AD08> { [], [ kana_NI ] };
+ augment key <AD09> { [], [ kana_RA ] };
+ augment key <AD10> { [], [ kana_SE ] };
+ key <AD11> { [ at, grave ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+ augment key <AC01> { [], [ kana_CHI ] };
+ augment key <AC02> { [], [ kana_TO ] };
+ augment key <AC03> { [], [ kana_SHI ] };
+ augment key <AC04> { [], [ kana_HA ] };
+ augment key <AC05> { [], [ kana_KI ] };
+ augment key <AC06> { [], [ kana_KU ] };
+ augment key <AC07> { [], [ kana_MA ] };
+ augment key <AC08> { [], [ kana_NO ] };
+ augment key <AC09> { [], [ kana_RI ] };
+ key <AC10> { [ semicolon, plus ], [ kana_RE ] };
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <TLDE> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+ augment key <AB01> { [], [ kana_TSU, kana_tsu ] };
+ augment key <AB02> { [], [ kana_SA ] };
+ augment key <AB03> { [], [ kana_SO ] };
+ augment key <AB04> { [], [ kana_HI ] };
+ augment key <AB05> { [], [ kana_KO ] };
+ augment key <AB06> { [], [ kana_MI ] };
+ augment key <AB07> { [], [ kana_MO ] };
+ augment key <AB08> { [], [ kana_NE, kana_comma ] };
+ augment key <AB09> { [], [ kana_RU, kana_fullstop ] };
+ augment key <AB10> { [], [ kana_ME, kana_conjunctive ] };
+ key <AB11> { [ underscore ], [ kana_RO ] };
+ key <UNK0> { [ Select ] };
+ key <UNK1> { [ Massyo ] };
+ key <UNK2> { [ Touroku ] };
+ key <UNK3> { [ Zenkaku_Hankaku ] };
+ key <UNK4> { [ Eisu_Shift ] };
+ key <UNK5> { [ Mode_switch ] };
+ key <UNK6> { [ Cancel ] };
+ key <UNK7> { [ Muhenkan ] };
+ key <UNK8> { [ Henkan ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/us b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/us
new file mode 100644
index 000000000..e81be028d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/us
@@ -0,0 +1,145 @@
+// $Xorg: us,v 1.4 2001/02/09 02:05:53 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// US/ASCII layout for a Fujitsu 138 key keyboard
+xkb_symbols {
+ include "us(basic)"
+
+ // A few alphanumeric keys are different
+ key <TLDE> { [ grave, asciitilde ] };
+ key <BKSP> { [ BackSpace ] };
+ key <BKSL> { [ backslash, bar ] };
+ key <AB11> { [ ] };
+
+ key <RTSH> { [ Shift_R ] };
+
+ key <LALT> { [ Alt_L ] };
+ key <RALT> { [ Alt_R ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <LNFD> { [ Linefeed ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <BREA> { [ Break ] };
+ key <PRSC> { [ Print ] };
+ key <KNJI> { [ Kanji ] };
+ key <PAUS> { [ Pause ] };
+
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ key <FK13> { [ F13 ] };
+ key <FK14> { [ F14 ] };
+ key <FK15> { [ F15 ] };
+ key <FK16> { [ F16 ] };
+ key <FK17> { [ F17 ] };
+ key <FK18> { [ F18 ] };
+ key <FK19> { [ F19 ] };
+ key <FK20> { [ F20 ] };
+ key <FK21> { [ F21 ] };
+ key <FK22> { [ F22 ] };
+ key <FK23> { [ F23 ] };
+ key <FK24> { [ F24 ] };
+ key <FK25> { [ F25 ] };
+ key <FK26> { [ F26 ] };
+ key <FK27> { [ F27 ] };
+ key <FK28> { [ F28 ] };
+ key <FK29> { [ F29 ] };
+ key <FK30> { [ F30 ] };
+ key <FK31> { [ F31 ] };
+ key <FK32> { [ F32 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <UNDO> { [ Undo ] };
+ key <COPY> { [ F33 ] };
+ key <PAST> { [ F34 ] };
+ key <CUT> { [ F35 ] };
+ key <HELP> { [ Help ] };
+ // End "Editing" section
+
+ // Begin "Cursor" section
+ key <UNK0> { [ ] };
+ key <UNK1> { [ ] };
+ key <UNK2> { [ ] };
+ key <PGUP> { [ Prior ] };
+ key <HOME> { [ Home ] };
+ key <PGDN> { [ Next ] };
+ key <UNK3> { [ ] };
+ key <DEL> { [ Delete ] };
+ key <INS> { [ Insert ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+ key <EXEC> { [ Execute ] };
+ // End "Cursor" section
+
+ // Begin "Keypad" section
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPAD> { [ KP_Add ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPEQ> { [ KP_Equal ] };
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPDC> { [ KP_Decimal ] };
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_0 ] };
+ key <KP00> { [ KP_0 ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Mode_switch };
+ modifier_map Mod3 { Alt_L };
+ modifier_map Mod4 { Num_Lock };
+ modifier_map Mod5 { F13, F18, F20 };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/gb b/xorg-server/xkeyboard-config/symbols/gb
new file mode 100644
index 000000000..f7e5bbe66
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/gb
@@ -0,0 +1,204 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/gb' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/gb,v 1.6 2003/10/04 10:25:14 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple U.K. keyboard layout defined by
+ // the SVR4 European Language Supplement and sometimes also
+ // known as the IBM 166 layout.
+
+ include "latin"
+
+ name[Group1]="United Kingdom";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
+ key <AE03> { [ 3, sterling, threesuperior, sterling ] };
+ key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
+
+ key <AC11> { [apostrophe, at, dead_circumflex, dead_caron] };
+ key <TLDE> { [ grave, notsign, bar, bar ] };
+
+ key <BKSL> { [numbersign, asciitilde, dead_grave, dead_breve ] };
+ key <LSGT> { [ backslash, bar, bar, brokenbar ] };
+
+ include "level3(ralt_switch_multikey)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "intl" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple U.K. keyboard layout with
+ // dead keys. By Phil Jones (philjones1@blueyonder.co.uk)
+
+ // Includes the following keys:
+ // dead_grave
+ // dead_acute
+ // dead_circumflex
+ // dead_tilde
+ // dead_diaeresis
+
+ include "latin"
+
+ name[Group1]="United Kingdom - International (with dead keys)";
+
+ key <AE02> { [ 2, dead_diaeresis, twosuperior, onehalf ] };
+ key <AE03> { [ 3, sterling, threesuperior, onethird ] };
+ key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
+ key <AE06> { [ 6, dead_circumflex, NoSymbol, onesixth ] };
+
+ key <AC11> { [ dead_acute, at, apostrophe, bar ] };
+ key <TLDE> { [ dead_grave, notsign, bar, bar ] };
+
+ key <BKSL> { [ numbersign, dead_tilde, bar, bar ] };
+ key <LSGT> { [ backslash, bar, bar, bar ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "extd" {
+ // Clone of the Microsoft "United Kingdom - Extended" layout, which
+ // includes dead keys for: grave; diaeresis; circumflex; tilde; and
+ // accute. It also enables direct access to accute characters using
+ // the Multi_key (Alt Gr).
+ //
+ // Taken from...
+ // "Windows Keyboard Layouts"
+ // http://msdn.microsoft.com/en-us/goglobal/bb964651.aspx
+ //
+ // -- Jonathan Miles <jon@cybah.co.uk>
+
+ include "latin"
+
+ name[Group1]="United Kingdom - Extended - Winkeys";
+
+ // Alphanumeric section
+ key <TLDE> { [ dead_grave, notsign, brokenbar, NoSymbol ] };
+
+ key <AE02> { [ 2, quotedbl, dead_diaeresis, onehalf ] };
+ key <AE03> { [ 3, sterling, threesuperior, onethird ] };
+ key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
+ key <AE06> { [ 6, asciicircum, dead_circumflex, NoSymbol ] };
+
+ key <AD02> { [ w, W, wacute, Wacute ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD06> { [ y, Y, yacute, Yacute ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC11> { [ apostrophe, at, dead_acute, NoSymbol ] };
+
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+
+ key <BKSL> { [ numbersign, asciitilde, dead_tilde, NoSymbol ] };
+ key <LSGT> { [ backslash, bar, NoSymbol, NoSymbol ] };
+ // End alphanumeric section
+
+ include "level3(ralt_switch)"
+};
+
+// Describe the differences between the US Colemak layout
+// and a UK variant. By Andy Buckley (andy@insectnation.org)
+
+partial alphanumeric_keys
+xkb_symbols "colemak" {
+ include "us(colemak)"
+
+ name[Group1]="United Kingdom - Colemak";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
+ key <AE03> { [ 3, sterling, threesuperior, sterling ] };
+ key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
+
+ key <AC11> { [apostrophe, at, dead_circumflex, dead_caron] };
+ key <TLDE> { [ grave, notsign, bar, bar ] };
+
+ key <BKSL> { [numbersign, asciitilde, dead_grave, dead_breve ] };
+ key <LSGT> { [ backslash, bar, bar, brokenbar ] };
+
+ include "level3(ralt_switch_multikey)"
+};
+
+
+// Dvorak (UK) keymap (by odaen) allowing the usage of
+// the £ and ? key and swapping the @ and " keys.
+
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "us(dvorak-alt-intl)"
+
+ name[Group1]="United Kingdom - Dvorak";
+
+ key <AD01> { [ apostrophe, at ] };
+ key <AE02> { [ 2, quotedbl, twosuperior, NoSymbol ] };
+ key <AE03> { [ 3, sterling, threesuperior, NoSymbol ] };
+ key <BKSL> { [ numbersign, asciitilde ] };
+ key <LSGT> { [ backslash, bar ] };
+ key <TLDE> { [ grave, notsign, bar, bar ] };
+};
+
+// Dvorak letter positions, but punctuation all in the normal UK positions.
+partial alphanumeric_keys
+xkb_symbols "dvorakukp" {
+ include "gb(dvorak)"
+
+ name[Group1]="United Kingdom - Dvorak (UK Punctuation)";
+
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+ key <AD01> { [ slash, question ] };
+ key <AC11> { [apostrophe, at, dead_circumflex, dead_caron] };
+};
+
+// Copied from macintosh_vndr/gb
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple U.K. keyboard layout
+
+ include "latin"
+
+ name[Group1]= "United Kingdom - Macintosh";
+
+ key <AE02> { [ 2, at, EuroSign ] };
+ key <AE03> { [ 3, sterling, numbersign ] };
+
+ // End alphanumeric section
+
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "mac_intl" {
+
+ include "latin"
+
+ name[Group1]="United Kingdom - Macintosh (International)";
+
+ key <AE02> { [ 2, at, EuroSign, onehalf ] };
+ key <AE03> { [ 3, sterling, twosuperior, onethird ] };
+ key <AE04> { [ 4, dollar, threesuperior, onequarter ] };
+ key <AE06> { [ 6, dead_circumflex, NoSymbol, onesixth ] };
+ key <AD09> { [ o, O, oe, OE ] };
+
+ key <AC11> { [ dead_acute, dead_diaeresis, dead_diaeresis, bar ] }; //dead_doubleacute
+ key <TLDE> { [ section, plusminus, notsign, notsign ] }; //dead_grave
+
+ key <BKSL> { [ backslash, bar, numbersign, bar ] };
+ key <LSGT> { [ dead_grave, dead_tilde, brokenbar, bar ] };
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/ge b/xorg-server/xkeyboard-config/symbols/ge
new file mode 100644
index 000000000..155a9da66
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ge
@@ -0,0 +1,275 @@
+// $XKeyboardConfig$
+
+// Georgian Keyboard Layouts by Aiet Kolkhi <aietkolkhi@gmail.com>
+// Full layout descriptions available at http://www.gakartuleba.org/layouts/
+//
+// This includes the following keyboard layouts: Georgian QWERTY; Georgian Ergonomic;
+// Georgian MESS; Georgian AZERTY Tskapo; Georgian Russian.
+//
+// Layouts include Georgian Mkhedruli alphabeth; most layouts also include some special
+// and ancient characters (like Fi, Yn, Elifi, Turned Gan and Ain). Layouts do not
+// include Georgian Asomtavruli or Georgian Khutsuri alphabeths which are also present
+// in Unicode.
+//
+// Georgian Typewriter no longer supported, as it is no longer used in Georgia.
+//
+// some layouts based on Georgian keyboard map, in the so called "latin" layout.
+// 1999, Pablo Saratxaga <srtxg@chanae.alphanet.ch>
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Georgia";
+
+ key <TLDE> { [ 0x0100201e, 0x0100201c, 0x0100201e, asciitilde ] };
+ key <AE01> { [ 1, exclam, apostrophe ] };
+ key <AE02> { [ 2, at, 0x0100201e ] };
+ key <AE03> { [ 3, numbersign, 0x0100201c ] };
+ key <AE04> { [ 4, dollar, 0x01002116 ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand, section ] };
+ key <AE08> { [ 8, asterisk, degree ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore, 0x01002014 ] };
+ key <AE12> { [ equal, plus, 0x01002013 ] };
+
+ key <AD01> { [ 0x010010e5, Q ] };
+ key <AD02> { [ 0x010010ec, 0x010010ed ] };
+ key <AD03> { [ 0x010010d4, E, 0x010010f1 ] };
+ key <AD04> { [ 0x010010e0, 0x010010e6, 0x010000ae ] };
+ key <AD05> { [ 0x010010e2, 0x010010d7 ] };
+ key <AD06> { [ 0x010010e7, Y, 0x010010f8 ] };
+ key <AD07> { [ 0x010010e3, U ] };
+ key <AD08> { [ 0x010010d8, I, 0x010010f2 ] };
+ key <AD09> { [ 0x010010dd, O ] };
+ key <AD10> { [ 0x010010de, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright,braceright ] };
+
+ key <AC01> { [ 0x010010d0, A, 0x010010fa ] };
+ key <AC02> { [ 0x010010e1, 0x010010e8 ] };
+ key <AC03> { [ 0x010010d3, D ] };
+ key <AC04> { [ 0x010010e4, F, 0x010010f6 ] };
+ key <AC05> { [ 0x010010d2, G, 0x010010f9 ] };
+ key <AC06> { [ 0x010010f0, H, 0x010010f5 ] };
+ key <AC07> { [ 0x010010ef, 0x010010df, 0x010010f7 ] };
+ key <AC08> { [ 0x010010d9, K ] };
+ key <AC09> { [ 0x010010da, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+ key <BKSL> { [ backslash, bar, asciitilde, asciitilde ] };
+
+ key <LSGT> { [ guillemotleft,guillemotright ] };
+ key <AB01> { [ 0x010010d6, 0x010010eb ] };
+ key <AB02> { [ 0x010010ee, X, 0x010010f4 ] };
+ key <AB03> { [ 0x010010ea, 0x010010e9, 0x010000a9 ] };
+ key <AB04> { [ 0x010010d5, V, 0x010010f3 ] };
+ key <AB05> { [ 0x010010d1, B ] };
+ key <AB06> { [ 0x010010dc, N, 0x010010fc ] };
+ key <AB07> { [ 0x010010db, M ] };
+ key <AB08> { [ comma, less, guillemotleft ] };
+ key <AB09> { [ period, greater, guillemotright ] };
+ key <AB10> { [ slash, question, 0x010010fb ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+ include "ge(basic)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "ergonomic" {
+ include "ge(basic)"
+
+ name[Group1]= "Georgia - Ergonomic";
+
+ key <TLDE> { [ 0x0100201e, apostrophe, 0x0100201e, asciitilde ] };
+ key <AE01> { [ exclam, 1, exclam ] };
+ key <AE02> { [ 0x01002116, 2, at ] };
+ key <AE03> { [ comma, 3, numbersign, section ] };
+ key <AE04> { [ semicolon, 4, dollar ] };
+ key <AE05> { [ percent, 5, EuroSign ] };
+ key <AE06> { [ colon, 6, asciicircum ] };
+ key <AE07> { [ question, 7, ampersand ] };
+ key <AE08> { [ period, 8, asterisk, degree ] };
+ key <AE09> { [ parenleft, 9, parenleft, guillemotleft ] };
+ key <AE10> { [ parenright, 0, parenright, guillemotright ] };
+ key <AE11> { [ minus, plus, 0x01002014, underscore ] };
+ key <AE12> { [ 0x0100201c, equal, equal ] };
+
+ key <AD01> { [ 0x010010e9, noSymbol ] };
+ key <AD02> { [ 0x010010de, noSymbol ] };
+ key <AD03> { [ 0x010010e3, noSymbol ] };
+ key <AD04> { [ 0x010010eb, noSymbol, noSymbol, 0x010000ae ] };
+ key <AD05> { [ 0x010010ed, noSymbol, noSymbol, 0x010010d7 ] };
+ key <AD06> { [ 0x010010e2, noSymbol, noSymbol, 0x010010f8 ] };
+ key <AD07> { [ 0x010010d7, noSymbol ] };
+ key <AD08> { [ 0x010010dc, noSymbol, 0x010010fc, I ] };
+ key <AD09> { [ 0x010010d5, noSymbol, 0x010010f3 ] };
+ key <AD10> { [ 0x010010e8, noSymbol ] };
+ key <AD11> { [ 0x010010d9, noSymbol, bracketleft, braceleft ] };
+ key <AD12> { [ 0x010010e5, noSymbol, bracketright,braceright ] };
+
+ key <AC01> { [ 0x010010ee, noSymbol, 0x010010f4 ] };
+ key <AC02> { [ 0x010010d8, noSymbol, 0x010010f2 ] };
+ key <AC03> { [ 0x010010d0, noSymbol, 0x010010fa, D ] };
+ key <AC04> { [ 0x010010d4, noSymbol, 0x010010f1 ] };
+ key <AC05> { [ 0x010010dd, noSymbol ] };
+ key <AC06> { [ 0x010010d3, noSymbol ] };
+ key <AC07> { [ 0x010010db, noSymbol ] };
+ key <AC08> { [ 0x010010e1, noSymbol ] };
+ key <AC09> { [ 0x010010e0, noSymbol, L ] };
+ key <AC10> { [ 0x010010d1, noSymbol, colon ] };
+ key <AC11> { [ 0x010010d2, noSymbol, 0x010010f9, quotedbl ] };
+ key <BKSL> { [ slash, section, backslash, bar ] };
+
+ key <LSGT> { [ guillemotleft,guillemotright ] };
+ key <AB01> { [ 0x010010ef, noSymbol ] };
+ key <AB02> { [ 0x010010f0, noSymbol, 0x010010f5, X ] };
+ key <AB03> { [ 0x010010e7, noSymbol, 0x010010f8, C ] };
+ key <AB04> { [ 0x010010e6, noSymbol, 0x010010f7, V ] };
+ key <AB05> { [ 0x010010df, noSymbol ] };
+ key <AB06> { [ 0x010010d6, noSymbol ] };
+ key <AB07> { [ 0x010010ea, noSymbol, noSymbol, M ] };
+ key <AB08> { [ 0x010010da, noSymbol, guillemotleft, less ] };
+ key <AB09> { [ 0x010010e4, noSymbol, 0x010010f6, guillemotright ] };
+ key <AB10> { [ 0x010010ec, noSymbol, 0x010010fb ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "mess" {
+ include "ge(basic)"
+
+ name[Group1]= "Georgia - MESS";
+
+ key <TLDE> { [ 0x010010ed, backslash, quoteleft ] };
+ key <AE01> { [ 1, exclam, apostrophe ] };
+ key <AE02> { [ 2, at, asciitilde ] };
+ key <AE03> { [ 3, 0x01002116, numbersign ] };
+ key <AE04> { [ 4, dollar, EuroSign ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand, section ] };
+ key <AE08> { [ 8, asterisk, degree ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright, 0x01002014 ] };
+ key <AE11> { [ minus, underscore, 0x01002013 ] };
+ key <AE12> { [ 0x010010df, plus, bar ] };
+ key <AD01> { [ 0x010010e5, Q ] };
+ key <AD02> { [ 0x010010ec, W ] };
+ key <AD03> { [ 0x010010d4, E ] };
+ key <AD04> { [ 0x010010e0, R ] };
+ key <AD05> { [ 0x010010e2, T ] };
+ key <AD06> { [ 0x010010e7, Y ] };
+ key <AD07> { [ 0x010010e3, U ] };
+ key <AD08> { [ 0x010010d8, I, 0x010010f2 ] };
+ key <AD09> { [ 0x010010dd, O ] };
+ key <AD10> { [ 0x010010de, P ] };
+ key <AD11> { [ 0x010010e8, bracketleft, guillemotleft ] };
+ key <AD12> { [ 0x010010e6, bracketright, guillemotright ] };
+ key <AC01> { [ 0x010010d0, A, 0x010010fa ] };
+ key <AC02> { [ 0x010010e1, S ] };
+ key <AC03> { [ 0x010010d3, D ] };
+ key <AC04> { [ 0x010010e4, F, 0x010010f6 ] };
+ key <AC05> { [ 0x010010d2, G, 0x010010f9 ] };
+ key <AC06> { [ 0x010010f0, H, 0x010010f1 ] };
+ key <AC07> { [ 0x010010ef, J, 0x010010f7 ] };
+ key <AC08> { [ 0x010010d9, K ] };
+ key <AC09> { [ 0x010010da, L ] };
+ key <AC10> { [ 0x010010d7,0x0100201e ] };
+ key <AC11> { [ 0x010010e9,0x0100201c ] };
+ key <BKSL> { [ equal, slash, bar ] };
+
+ key <LSGT> { [ guillemotleft, guillemotright ] };
+ key <AB01> { [ 0x010010d6, Z, 0x010010f5 ] };
+ key <AB02> { [ 0x010010ee, X, 0x010010f4 ] };
+ key <AB03> { [ 0x010010ea, C ] };
+ key <AB04> { [ 0x010010d5, V, 0x010010f3 ] };
+ key <AB05> { [ 0x010010d1, B ] };
+ key <AB06> { [ 0x010010dc, N, 0x010010fc ] };
+ key <AB07> { [ 0x010010db, M ] };
+ key <AB08> { [ comma, semicolon, less ] };
+ key <AB09> { [ period, colon, greater ] };
+ key <AB10> { [ 0x010010eb, question, 0x010010fb ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "ru" {
+
+ name[Group1]= "Georgia - Russian";
+
+ key <TLDE> { [ asciicircum, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, colon ] };
+ key <AE06> { [ 6, comma ] };
+ key <AE07> { [ 7, period ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ numbersign, bar ] };
+
+ key <AD01> { [ 0x010010e6, q ] };
+ key <AD02> { [ 0x010010ea, w ] };
+ key <AD03> { [ 0x010010e3, e ] };
+ key <AD04> { [ 0x010010d9, r ] };
+ key <AD05> { [ 0x010010d4, t ] };
+ key <AD06> { [ 0x010010dc, y ] };
+ key <AD07> { [ 0x010010d2, u ] };
+ key <AD08> { [ 0x010010e8, i ] };
+ key <AD09> { [ 0x010010ec, o ] };
+ key <AD10> { [ 0x010010d6, p ] };
+ key <AD11> { [ 0x010010ee, bracketleft ] };
+ key <AD12> { [ 0x010010ef, bracketright ] };
+
+ key <AC01> { [ 0x010010e4, a ] };
+ key <AC02> { [ 0x010010d7, s ] };
+ key <AC03> { [ 0x010010d5, d ] };
+ key <AC04> { [ 0x010010d0, f ] };
+ key <AC05> { [ 0x010010de, g ] };
+ key <AC06> { [ 0x010010e0, h ] };
+ key <AC07> { [ 0x010010dd, j ] };
+ key <AC08> { [ 0x010010da, k ] };
+ key <AC09> { [ 0x010010d3, l ] };
+ key <AC10> { [ 0x010010df, semicolon ] };
+ key <AC11> { [ 0x010010eb, percent ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <LSGT> { [ guillemotleft,guillemotright ] };
+ key <AB01> { [ 0x010010ed, z ] };
+ key <AB02> { [ 0x010010e9, x ] };
+ key <AB03> { [ 0x010010e1, c ] };
+ key <AB04> { [ 0x010010db, v ] };
+ key <AB05> { [ 0x010010d8, b ] };
+ key <AB06> { [ 0x010010e2, n ] };
+ key <AB07> { [ 0x010010e5, m ] };
+ key <AB08> { [ 0x010010d1, less ] };
+ key <AB09> { [ 0x010010e7, greater ] };
+ key <AB10> { [ 0x010010f0, question ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "os" {
+
+ include "ru(os_legacy)"
+
+ name[Group1]= "Georgia - Ossetian";
+
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/gh b/xorg-server/xkeyboard-config/symbols/gh
new file mode 100644
index 000000000..a997e9fb0
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/gh
@@ -0,0 +1,153 @@
+// $XKeyboardConfig$
+//
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "us"
+
+ name[Group1]= "Ghana";
+
+ key <AE04> { [ 4, 0x010020B5, dollar, cent ] };
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "akan" {
+ include "gh(basic)"
+
+ name[Group1]= "Ghana - Akan";
+
+ key <AD01> { [ 0x0100025B, 0x01000190, q, Q ] };
+ key <AB02> { [ 0x01000254, 0x01000186, x, X ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "ga" {
+ include "gh(basic)"
+
+ name[Group1]= "Ghana - Ga";
+
+ key <AD01> { [ 0x0100025B, 0x01000190, q, Q ] };
+ key <AB02> { [ 0x01000254, 0x01000186, x, X ] };
+ key <AB03> { [ 0x0100014B, 0x0100014A, c, C ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "ewe" {
+ include "gh(basic)"
+
+ name[Group1]= "Ghana - Ewe";
+
+ key <AD01> { [ 0x0100025B, 0x01000190, q, Q ] };
+ key <AB03> { [ 0x0100014B, 0x0100014A, c, C ] };
+ key <AD11> { [ 0x01000254, 0x01000186, braceleft, braceleft ] };
+ key <AD12> { [ 0x0100028B, 0x010001B2, braceright, braceright ] };
+ key <BKSL> { [ 0x01000256, 0x01000189, backslash, backslash ] };
+ key <AC07> { [ 0x01000192, 0x01000191, j, J ] };
+ key <AC05> { [ g, G, 0x01000263, 0x01000194 ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "fula" {
+ include "gh(basic)"
+
+ name[Group1]= "Ghana - Fula";
+
+ key <AD01> { [ 0x01000071, 0x01000051, q, Q ] };
+ key <AD02> { [ udiaeresis, Udiaeresis, w, W ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD11> { [ 0x010001B4, 0x010001B3,bracketleft, braceleft ] };
+ key <AD12> { [ gcaron, Gcaron,bracketright, braceright] };
+ key <AC03> { [ 0x01000257, 0x0100018A, d, D ] };
+ key <AC10> { [ 0x01000131, 0x01000130, semicolon, colon ] };
+ key <AC11> { [ 0x010001DD, 0x0100018E,apostrophe, quotedbl ] };
+ key <AB01> { [ 0x01000272, 0x0100019D, z, Z ] };
+ key <AB07> { [ ntilde, Ntilde, m, M ] };
+ key <AB09> { [ ccedilla, Ccedilla, period, greater ] };
+ key <AB10> { [ scedilla, Scedilla, slash, question ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "hausa" {
+ include "gh(fula)"
+
+ name[Group1]= "Ghana - Hausa";
+};
+
+partial alphanumeric_keys
+xkb_symbols "generic" {
+ include "gh(basic)"
+
+ name[Group1]= "Ghana - Multilingual";
+
+ key <AD03> { [ e, E, 0x0100025b, 0x01000190 ] };
+ key <AB03> { [ c, C, 0x01000254, 0x01000186 ] };
+ key <AC03> { [ d, D, 0x01000256, 0x01000189 ] };
+ key <AC04> { [ f, F, 0x01000192, 0x01000191 ] };
+ key <AC05> { [ g, G, 0x01000263, 0x01000194 ] };
+ key <AB06> { [ n, N, 0x0100014b, 0x0100014a ] };
+ key <AB01> { [ z, Z, 0x010001B6, 0x010001B5 ] };
+ key <AB04> { [ v, V, 0x0100028B, 0x010001B2 ] };
+ key <AE04> { [ 4, dollar, 0x010020B5, cent ] };
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "avn" {
+ include "gh(basic)"
+
+ name[Group1]= "Ghana - Avatime";
+
+ key <TLDE> { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; // combining grave; combining tilde
+ key <AE04> { [ 4, dollar, cent, 0x010020B5 ] }; // ¢, ₵
+ key <AE11> { [ minus, underscore, 0x01000304, 0x01000304 ] }; // combining macron
+ key <AD01> { [ 0x0100028B, 0x010001B2 ] }; // ʋ, Ʋ
+ key <AD07> { [ u, U, 0x0100028A, 0x010001B1 ] }; // ʊ, Ʊ
+ key <AD08> { [ i, I, 0x01000269, 0x01000196 ] }; // ɩ, Ɩ
+ key <AD11> { [ 0x0100025B, 0x01000190, bracketleft, braceleft ] }; // ɛ, Ɛ
+ key <AC03> { [ d, D, 0x01000256, 0x01000189 ] }; // ɖ, Ɖ
+ key <AC04> { [ f, F, 0x01000192, 0x01000191 ] }; // ƒ, Ƒ
+ key <AC07> { [ 0x0100014B, 0x0100014A ] }; // ŋ, Ŋ
+ key <AC11> { [ apostrophe, quotedbl, 0x01000301, 0x01000301 ] }; // combining acute
+ key <AB03> { [ 0x01000254, 0x01000186 ] }; // ɔ, Ɔ
+
+ include "level3(ralt_switch)"
+
+};
+
+// This keyboard layout fully imitates the 'Ghana Unicode' layout which is used in GILLBT on Windows with Keyman.
+// However, in this layout a 3rd level key (R ALT) is used rather than dead keys.
+// Also it has three additional features:
+// 1) combining macron above: <R ALT> + <SHIFT> + <->
+// 2) cent: <R ALT> + <4> or <R ALT> + <SHIFT> + <4>
+// 3) ʊ/Ʊ: <R ALT> + <u>/<U>
+
+partial alphanumeric_keys
+xkb_symbols "gillbt" {
+ include "gh(basic)"
+
+ name[Group1]= "Ghana - GILLBT";
+
+ key <TLDE> { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; // combining grave; combining tilde
+ key <AE04> { [ 4, dollar, cent, 0x010020B5 ] }; // ¢, ₵
+ key <AE06> { [ 6, asciicircum, 0x01000302, 0x01000302 ] }; // combining circumflex accent
+ key <AE11> { [ minus, underscore, 0x01000331, 0x01000304 ] }; // combining macron below; combining macron above
+ key <AE12> { [ 0x0100014B, 0x0100014A, equal, plus ] }; // ŋ, Ŋ
+ key <AD01> { [ 0x0100028B, 0x010001B2, q, Q ] }; // ʋ, Ʋ
+ key <AD03> { [ e, E, 0x010001DD, 0x0100018E ] }; // ǝ, Ǝ
+ key <AD07> { [ u, U, 0x0100028A, 0x010001B1 ] }; // ʊ, Ʊ
+ key <AD11> { [ 0x0100025B, 0x01000190, bracketleft, braceleft ] }; // ɛ, Ɛ
+ key <AD12> { [ 0x01000254, 0x01000186, bracketright, braceright ] }; // ɔ, Ɔ
+ key <AC03> { [ d, D, 0x01000256, 0x01000189 ] }; // ɖ, Ɖ
+ key <AC04> { [ f, F, 0x01000192, 0x01000191 ] }; // ƒ, Ƒ
+ key <AC05> { [ g, G, 0x01000263, 0x01000194 ] }; // ɣ, Ɣ
+ key <AC11> { [ apostrophe, quotedbl, 0x01000301, 0x01000301 ] }; // combining acute
+ key <AB01> { [ z, Z, 0x01000292, 0x010001B7 ] }; // ʒ, Ʒ
+ key <AB02> { [ 0x01000269, 0x01000196, x, X ] }; // ɩ, Ɩ
+ key <AB03> { [ c, C, 0x010000E7, 0x010000C7 ] }; // ç, Ç
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/gn b/xorg-server/xkeyboard-config/symbols/gn
new file mode 100644
index 000000000..fb47bfe4b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/gn
@@ -0,0 +1,63 @@
+// $XKeyboardConfig$
+
+// based on us_intl keyboard map file and a Sinhala keyboard map
+// version 0.3
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]="Guinea";
+
+ key <AE01> { [0x010007F1, 0x010007C1 ] };
+ key <AE02> { [0x010007EB, 0x010007C2 ] };
+ key <AE03> { [0x010007F5, 0x010007C3, numbersign, sterling ] };
+ key <AE04> { [0x010007F4, 0x010007C4, 0x01002E1C, dollar ] };
+ key <AE05> { [ parenleft, 0x010007C5, 0x01002E1D ] };
+ key <AE06> { [ minus, 0x010007C6, bar ] };
+ key <AE07> { [0x010007EC, 0x010007C7, grave ] };
+ key <AE08> { [0x010007FA, 0x010007C8, backslash ] };
+ key <AE09> { [0x010007ED, 0x010007C9, asciicircum, plusminus ] };
+ key <AE10> { [0x010007EE, 0x010007C0, at, degree ] };
+ key <AE11> { [parenright ] };
+ key <AE12> { [ equal, plus, braceright ] };
+
+ key <AD01> { [0x010007CA ] };
+ key <AD02> { [0x010007E0, less ] };
+ key <AD03> { [0x010007CD,0x010007CB ] };
+ key <AD04> { [0x010007D9,0x010007DA ] };
+ key <AD05> { [0x010007D5 ] };
+ key <AD06> { [0x010007E6,0x010007E7 ] };
+ key <AD07> { [0x010007CE,0x010007F6 ] };
+ key <AD08> { [0x010007CC ] };
+ key <AD09> { [0x010007D0,0x010007CF ] };
+ key <AD10> { [0x010007D4 ] };
+ key <AD11> { [0x010007F3 ] };
+ key <AD12> { [ dollar, sterling, currency ] };
+
+ key <AC01> { [0x010007EB ] };
+ key <AC02> { [0x010007DB ] };
+ key <AC03> { [0x010007D8 ] };
+ key <AC04> { [0x010007DD ] };
+ key <AC05> { [0x010007DC,0x010007F7 ] };
+ key <AC06> { [0x010007E4 ] };
+ key <AC07> { [0x010007D6,0x010007E8 ] };
+ key <AC08> { [0x010007DE ] };
+ key <AC09> { [0x010007DF,0x010007EA ] };
+ key <AC10> { [0x010007E1 ] };
+ key <AC11> { [0x010007EF, 0x010007F8, percent ] };
+ key <TLDE> { [0x010007EC, asciitilde, notsign ] };
+
+ key <BKSL> { [0x010007D1, asterisk ] };
+ key <AB01> { [0x010007E5 ] };
+ key <AB02> { [0x0100060C ] };
+ key <AB03> { [0x010007D7,0x010007E9 ] };
+ key <AB04> { [0x010007E2 ] };
+ key <AB05> { [0x010007D3 ] };
+ key <AB06> { [0x010007E3,0x010007D2 ] };
+ key <AB07> { [0x010007F8,0x0100061F ] };
+ key <AB08> { [0x0100061B ] };
+ key <AB09> { [0x0100060C, slash ] };
+ key <AB10> { [0x010007F9] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/gr b/xorg-server/xkeyboard-config/symbols/gr
new file mode 100644
index 000000000..4ededb3ff
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/gr
@@ -0,0 +1,195 @@
+// $XKeyboardConfig$
+
+// Hellenic keyboard map for X.org
+//
+// Original version:
+// Kostas Gewrgiou <gewrgiou@imbc.gr>
+// Heavily modified and maintained by:
+// Vasilis Vasaitis <vvas@hal.csd.auth.gr>
+// Originally converted to single group form by:
+// Ivan Pascal <pascal@info.tsu.ru>
+
+default partial alphanumeric_keys alternate_group
+xkb_symbols "basic" {
+ name[Group1] = "Greece";
+
+ include "eurosign(e)"
+ include "eurosign(5)"
+ include "gr(simple)"
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+
+ key <AB01> { [ NoSymbol, NoSymbol, U037D, U03FF ] };
+ key <AB02> { [ NoSymbol, NoSymbol, rightarrow, leftarrow ] };
+ key <AB03> { [ NoSymbol, NoSymbol, copyright ] };
+ key <AB04> { [ NoSymbol, NoSymbol, U03D6 ] };
+ key <AB05> { [ NoSymbol, NoSymbol, U03D0 ] };
+ key <AB06> { [ NoSymbol, NoSymbol, U0374, U0375 ] };
+ key <AB07> { [ NoSymbol, NoSymbol, U03FB, U03FA ] };
+ key <AB08> { [ NoSymbol, NoSymbol, guillemotleft ] };
+ key <AB09> { [ NoSymbol, NoSymbol, guillemotright, periodcentered ] };
+ key <AC03> { [ NoSymbol, NoSymbol, downarrow, uparrow ] };
+ key <AC04> { [ NoSymbol, NoSymbol, U03D5 ] };
+ key <AC05> { [ NoSymbol, NoSymbol, U03DD, U03DC ] };
+ key <AC07> { [ NoSymbol, NoSymbol, U037C, U03FE ] };
+ key <AC08> { [ NoSymbol, NoSymbol, U03DF, U03DE ] };
+ key <AC09> { [ NoSymbol, NoSymbol, U03F2, U03F9 ] };
+ key <AC10> { [ NoSymbol, NoSymbol, dead_acute, dead_psili ] };
+ key <AC11> { [ NoSymbol, NoSymbol, dead_grave, dead_dasia ] };
+ key <AD01> { [ NoSymbol, NoSymbol, periodcentered ] };
+ key <AD02> { [ NoSymbol, NoSymbol, U03DB, U03DA ] };
+ key <AD04> { [ NoSymbol, NoSymbol, registered, U03F1 ] };
+ key <AD07> { [ NoSymbol, NoSymbol, U03D1, U03F4 ] };
+ key <AD08> { [ NoSymbol, NoSymbol, U037B, U03FD ] };
+ key <AD10> { [ NoSymbol, NoSymbol, U03E1, U03E0 ] };
+ key <AD11> { [ NoSymbol, NoSymbol, dead_tilde, dead_macron ] };
+ key <AD12> { [ NoSymbol, NoSymbol, dead_iota, dead_breve ] };
+ key <AE01> { [ NoSymbol, NoSymbol, NoSymbol, onesuperior ] };
+ key <AE02> { [ NoSymbol, NoSymbol, onehalf, twosuperior ] };
+ key <AE03> { [ NoSymbol, NoSymbol, sterling, threesuperior ] };
+ key <AE04> { [ NoSymbol, NoSymbol, onequarter, threequarters ] };
+ key <AE07> { [ NoSymbol, NoSymbol, U03F0 ] };
+ key <AE10> { [ NoSymbol, NoSymbol, degree ] };
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "simple" {
+
+ include "gr(bare)"
+
+ name[Group1] = "Greece - Simple";
+
+ key <TLDE> { [ grave, asciitilde ] }; // ` ~
+ key <AE01> { [ 1, exclam ] }; // 1 !
+ key <AE02> { [ 2, at ] }; // 2 @
+ key <AE03> { [ 3, numbersign ] }; // 3 #
+ key <AE04> { [ 4, dollar ] }; // 4 $
+ key <AE05> { [ 5, percent ] }; // 5 %
+ key <AE06> { [ 6, asciicircum ] }; // 6 ^
+ key <AE07> { [ 7, ampersand ] }; // 7 &
+ key <AE08> { [ 8, asterisk ] }; // 8 *
+ key <AE09> { [ 9, parenleft ] }; // 9 (
+ key <AE10> { [ 0, parenright ] }; // 0 )
+ key <AE11> { [ minus, underscore ] }; // - _
+ key <AE12> { [ equal, plus ] }; // = +
+
+ key <AD11> { [ bracketleft, braceleft ] }; // [ {
+ key <AD12> { [ bracketright, braceright ] }; // [ {
+
+ key <AC11> { [ apostrophe, quotedbl ] }; // ' "
+
+ key <AB08> { [ comma, less ] }; // , <
+ key <AB09> { [ period, greater ] }; // . >
+ key <AB10> { [ slash, question ] }; // / ?
+ key <BKSL> { [ backslash, bar ] }; // \ |
+
+ include "kpdl(comma)"
+};
+
+hidden partial alphanumeric_keys alternate_group
+xkb_symbols "bare" {
+
+ key <AD01> { [ semicolon, colon ] }; // ; :
+ key <AD02> { [ Greek_finalsmallsigma, Greek_SIGMA ] }; // ς Σ
+ key <AD03> { [ Greek_epsilon, Greek_EPSILON ] }; // ε Ε
+ key <AD04> { [ Greek_rho, Greek_RHO ] }; // ρ Ρ
+ key <AD05> { [ Greek_tau, Greek_TAU ] }; // τ Τ
+ key <AD06> { [ Greek_upsilon, Greek_UPSILON ] }; // υ Υ
+ key <AD07> { [ Greek_theta, Greek_THETA ] }; // θ Θ
+ key <AD08> { [ Greek_iota, Greek_IOTA ] }; // ι Ι
+ key <AD09> { [ Greek_omicron, Greek_OMICRON ] }; // ο Ο
+ key <AD10> { [ Greek_pi, Greek_PI ] }; // π Π
+
+ key <AC01> { [ Greek_alpha, Greek_ALPHA ] }; // α Α
+ key <AC02> { [ Greek_sigma, Greek_SIGMA ] }; // σ Σ
+ key <AC03> { [ Greek_delta, Greek_DELTA ] }; // δ Δ
+ key <AC04> { [ Greek_phi, Greek_PHI ] }; // φ Φ
+ key <AC05> { [ Greek_gamma, Greek_GAMMA ] }; // γ Γ
+ key <AC06> { [ Greek_eta, Greek_ETA ] }; // η Η
+ key <AC07> { [ Greek_xi, Greek_XI ] }; // ξ Ξ
+ key <AC08> { [ Greek_kappa, Greek_KAPPA ] }; // κ Κ
+ key <AC09> { [ Greek_lamda, Greek_LAMDA ] }; // λ Λ
+ key <AC10> { [ dead_acute, dead_diaeresis ] }; // ´ ¨
+
+ key <AB01> { [ Greek_zeta, Greek_ZETA ] }; // ζ Ζ
+ key <AB02> { [ Greek_chi, Greek_CHI ] }; // χ Χ
+ key <AB03> { [ Greek_psi, Greek_PSI ] }; // ψ Ψ
+ key <AB04> { [ Greek_omega, Greek_OMEGA ] }; // ω Ω
+ key <AB05> { [ Greek_beta, Greek_BETA ] }; // β Β
+ key <AB06> { [ Greek_nu, Greek_NU ] }; // ν Ν
+ key <AB07> { [ Greek_mu, Greek_MU ] }; // μ Μ
+
+ key <LSGT> { [ guillemotleft, guillemotright ] }; // « »
+};
+
+// ===========================================================================================
+// Greek - Extended |
+// ===========================================================================================
+//
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━━┓
+// │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + ┃Backspace ┃
+// │ ` │ 1 │ 2 │ 3 £ │ 4 │ 5 € │ 6 │ 7 │ 8 │ 9 │ 0 ° │ - ± │ = ┃ ┃
+// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━━━┫
+// ┃ ┃ : │ Σ │ Ε │ Ρ │ Τ │ Υ │ Θ │ Ι │ Ο │ Π │ { │ } ┃Enter ┃
+// ┃Tab ┃ ; · │ ς │ ε € │ ρ ® │ τ │ υ │ θ │ ι │ ο │ π │ [ │ ] ┃ ┃
+// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
+// ┃Caps ┃ Α │ Σ │ Δ │ Φ │ Γ │ Η │ Ξ │ Κ │ Λ │ ¨ │ " │ | ┃ ┃
+// ┃Lock ┃ α │ σ │ δ │ φ │ γ │ η │ ξ │ κ │ λ │ ´ │ ' │ \ ┃ ┃
+// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━━━┫
+// ┃ ┃ » │ Ζ │ Χ │ Ψ │ Ω │ Β │ Ν │ Μ │ < │ > │ ? ┃ ┃
+// ┃Shift ┃ « │ ζ │ χ │ ψ © │ ω │ β │ ν │ μ │ , « │ . » │ / ┃Shift ┃
+// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴──┲━━┷━━━━┳┷━━━━━┻┳━━━━━━━┳━━━━━━┫
+// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
+// ┃Ctrl ┃Meta ┃Alt ┃ Space ┃AltGr ┃Meta ┃Menu ┃Ctrl ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹──────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━┛
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "extended" {
+
+ include "gr(simple)"
+
+ name[Group1] = "Greece - Extended";
+
+ key.type[Group1] = "THREE_LEVEL";
+
+ key <AE03> { [ NoSymbol, NoSymbol, sterling ] }; // £
+ key <AE10> { [ NoSymbol, NoSymbol, degree ] }; // °
+ key <AE11> { [ NoSymbol, NoSymbol, plusminus ] }; // ±
+
+ key <AD01> { [ NoSymbol, NoSymbol, periodcentered ] }; // ·
+ key <AD04> { [ NoSymbol, NoSymbol, registered ] }; // ®
+
+ key <AB03> { [ NoSymbol, NoSymbol, copyright ] }; // ©
+ key <AB08> { [ NoSymbol, NoSymbol, guillemotleft ] }; // «
+ key <AB09> { [ NoSymbol, NoSymbol, guillemotright ] }; // »
+
+ include "level3(ralt_switch)"
+ include "eurosign(5)"
+ include "eurosign(e)"
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "polytonic" {
+
+ include "gr(extended)"
+
+ name[Group1] = "Greece - Polytonic";
+
+ key.type[Group1] = "THREE_LEVEL";
+
+ key <AD11> { [ dead_tilde, dead_diaeresis, dead_macron ] }; // ~ ¨ ¯
+ key <AD12> { [ dead_iota, VoidSymbol, dead_breve ] }; // ͺ ˘
+
+ key <AC10> { [ dead_acute, dead_psili ] }; // ´ ̓
+ key <AC11> { [ dead_grave, dead_dasia ] }; // ` ̔
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "nodeadkeys" {
+
+ include "gr(simple)"
+
+ name[Group1] = "Greece - Eliminate dead keys";
+
+ key <AC10> { [ semicolon, colon ] }; // ; :
+};
diff --git a/xorg-server/xkeyboard-config/symbols/group b/xorg-server/xkeyboard-config/symbols/group
new file mode 100644
index 000000000..f39b05159
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/group
@@ -0,0 +1,389 @@
+// $XKeyboardConfig$
+// $Xorg: group,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+// using the group(switch) map, the right alt key temporarily chooses
+// the second keyboard group (until it is released).
+//
+// $XFree86: xc/programs/xkbcomp/symbols/group,v 3.9 2003/12/30 13:26:25 pascal Exp $
+partial modifier_keys
+xkb_symbols "switch" {
+ key <RALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
+
+// using the group(lswitch) map, the left alt key temporarily chooses
+// the second keyboard group (until it is released).
+//
+partial modifier_keys
+xkb_symbols "lswitch" {
+ key <LALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
+
+
+// using the group(win_switch) map, both Windows'logo keys temporarily
+// choose the second keyboard group (until release). If you use this
+// map, you would declare you keyboard as pc101 or pc102 instead of
+// pc104 or pc105.
+partial modifier_keys
+xkb_symbols "win_switch" {
+ include "group(lwin_switch)"
+ include "group(rwin_switch)"
+};
+
+// using the group(lwin_switch) map, the left Windows' logo key
+// temporarily chooses the second keyboard group (until it is
+// released). If you use this map, you would declare you keyboard as
+// pc101 or pc102 instead of pc104 or pc105.
+partial modifier_keys
+xkb_symbols "lwin_switch" {
+ key <LWIN> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
+
+// using the group(rwin_switch) map, the right Windows' logo key
+// temporarily chooses the second keyboard group (until it is
+// released). If you use this map, you would declare you keyboard as
+// pc101 or pc102 instead of pc104 or pc105.
+partial modifier_keys
+xkb_symbols "rwin_switch" {
+ key <RWIN> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
+
+// Right Ctrl key temporary chooses the second keyboard group.
+// Needed mainly for Canadian keyboard
+partial modifier_keys
+xkb_symbols "rctrl_switch" {
+ key <RCTL> {
+ symbols[Group1]= [ Mode_switch ]
+ };
+};
+
+// using the group(toggle) map, pressing the right alt key switches to
+// the next sequential group (until the next explicit group change).
+partial modifier_keys
+xkb_symbols "toggle" {
+ virtual_modifiers AltGr;
+ key <RALT> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// using the group(shifts_toggle) map, pressing both shift keys together
+// locks the next or previous sequential keyboard group
+// (depending on which shift is pressed first - right or left,
+// correspongingly)
+partial modifier_keys
+xkb_symbols "shifts_toggle" {
+ key <LFSH> { [ Shift_L, ISO_Prev_Group ] };
+ key <RTSH> { [ Shift_R, ISO_Next_Group ] };
+};
+
+// using the group(ctrl_shift_toggle) map, pressing:
+// Control_L+Shift_L locks the previous group
+// Control_R+Shift_R locks the next group
+// If you have two groups and group wrap is enabled, the effect is
+// indistinguishable.
+partial modifier_keys
+xkb_symbols "ctrl_shift_toggle" {
+ key <LFSH> {
+ type[Group1]="PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ Shift_L, ISO_Prev_Group ]
+ };
+ key <RTSH> {
+ type[Group1]="PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ Shift_R, ISO_Next_Group ]
+ };
+ key <LCTL> { [ Control_L, ISO_Prev_Group ] };
+ key <RCTL> { [ Control_R, ISO_Next_Group ] };
+};
+
+// using the group(lctrl_lshift_toggle) map, pressing:
+// Control_L+Shift_L locks the next group
+// If you have two groups and group wrap is enabled, the effect is
+// indistinguishable.
+partial modifier_keys
+xkb_symbols "lctrl_lshift_toggle" {
+ key <LFSH> {
+ type[Group1]="PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ Shift_L, ISO_Next_Group ]
+ };
+ key <LCTL> { [ Control_L, ISO_Next_Group ] };
+};
+
+// using the group(rctrl_rshift_toggle) map, pressing:
+// Control_R+Shift_R locks the next group
+// If you have two groups and group wrap is enabled, the effect is
+// indistinguishable.
+partial modifier_keys
+xkb_symbols "rctrl_rshift_toggle" {
+ key <RTSH> {
+ type[Group1]="PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ Shift_R, ISO_Next_Group ]
+ };
+ key <RCTL> { [ Control_R, ISO_Next_Group ] };
+};
+
+// using the group(shift_caps_toggle) map, pressing:
+// Shift+Caps Lock toggles group
+partial modifier_keys
+xkb_symbols "shift_caps_toggle" {
+ key <CAPS> { [ Caps_Lock, ISO_Next_Group ] };
+};
+
+// using the group(shift_caps_switch) map, pressing:
+// Caps Lock selects the first group
+// Shift+Caps Lock selects the last group
+partial modifier_keys
+xkb_symbols "shift_caps_switch" {
+ key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] };
+};
+
+// using the group(win_menu_switch) map, pressing:
+// LWIN selects the first group
+// RWIN or MENU selects the last group
+partial modifier_keys
+xkb_symbols "win_menu_switch" {
+ virtual_modifiers AltGr;
+ key <LWIN> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_First_Group ]
+ };
+ key <MENU> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Last_Group ]
+ };
+ key <RWIN> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Last_Group ]
+ };
+};
+
+// using the group(lctrl_rctrl_switch) map, pressing:
+// Left Control selects the first group
+// Right Control selects the last group
+partial modifier_keys
+xkb_symbols "lctrl_rctrl_switch" {
+ virtual_modifiers AltGr;
+ key <LCTL> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_First_Group ]
+ };
+ key <RCTL> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Last_Group ]
+ };
+};
+
+// using the group(ctrl_alt_toggle) map, pressing:
+// Control_L+Alt_L locks the previous group
+// Control_R+Alt_R locks the next group
+// If you have two groups and group wrap is enabled, the effect is
+// indistinguishable.
+partial modifier_keys
+xkb_symbols "ctrl_alt_toggle" {
+ virtual_modifiers Alt;
+ key <LALT> {
+ type[Group1]="PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
+ virtualMods= Alt
+ };
+ key <RALT> {
+ type[Group1]="PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ virtualMods= Alt
+ };
+ key <LCTL> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Control_L, ISO_Prev_Group ]
+ };
+ key <RCTL> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Control_R, ISO_Next_Group ]
+ };
+};
+
+// using the group(alt_shift_toggle) map, pressing:
+// Shift_L+Alt_L locks the previous group
+// Shift_R+Alt_R locks the next group
+// If you have two groups and group wrap is enabled, the effect is
+// indistinguishable.
+partial modifier_keys
+xkb_symbols "alt_shift_toggle" {
+ virtual_modifiers Alt;
+ key <LALT> {
+ symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
+ virtualMods= Alt
+ };
+ key <RALT> {
+ symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ virtualMods= Alt
+ };
+ key <LFSH> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Shift_L, ISO_Prev_Group ]
+ };
+ key <RTSH> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Shift_R, ISO_Next_Group ]
+ };
+};
+
+// using the group(menu_toggle) map, pressing:
+// Menu key toggles groups
+// Shift+Menu acts as Menu
+partial modifier_keys
+xkb_symbols "menu_toggle" {
+ key <MENU> { [ ISO_Next_Group, Menu ] };
+};
+
+// using the group(lwin_toggle) map, pressing the left Windows' logo key
+// toggles groups. If you use this map, you would declare you keyboard
+// as pc101 or pc102 instead of pc104 or pc105.
+partial modifier_keys
+xkb_symbols "lwin_toggle" {
+ virtual_modifiers AltGr;
+ key <LWIN> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Next_Group ]
+ };
+};
+
+// using the group(rwin_toggle) map, pressing the right Windows' logo key
+// toggles groups. If you use this map, you would declare you keyboard
+// as pc101 or pc102 instead of pc104 or pc105.
+partial modifier_keys
+xkb_symbols "rwin_toggle" {
+ virtual_modifiers AltGr;
+ key <RWIN> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Next_Group ]
+ };
+};
+
+// Both Ctrls pressed together toggle group
+partial modifier_keys
+xkb_symbols "ctrls_toggle" {
+ virtual_modifiers LControl, RControl;
+ key <LCTL> {
+ type[Group1]="PC_RCONTROL_LEVEL2",
+ symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
+ virtualMods= LControl
+ };
+ key <RCTL> {
+ type[Group1]="PC_LCONTROL_LEVEL2",
+ symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ virtualMods= RControl
+ };
+};
+
+// Both Alts pressed together toggle group
+partial modifier_keys
+xkb_symbols "alts_toggle" {
+ virtual_modifiers LAlt, RAlt;
+ key <LALT> {
+ type[Group1]="PC_RALT_LEVEL2",
+ symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
+ virtualMods= LAlt
+ };
+ key <RALT> {
+ type[Group1]="PC_LALT_LEVEL2",
+ symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ virtualMods= RAlt
+ };
+};
+
+// Left Shift key toggles group
+partial modifier_keys
+xkb_symbols "lshift_toggle" {
+ virtual_modifiers AltGr;
+ key <LFSH> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// Right Shift key toggles group
+partial modifier_keys
+xkb_symbols "rshift_toggle" {
+ virtual_modifiers AltGr;
+ key <RTSH> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// Left Alt key toggles group
+partial modifier_keys
+xkb_symbols "lalt_toggle" {
+ virtual_modifiers AltGr;
+ key <LALT> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// Left Ctrl key toggles group
+partial modifier_keys
+xkb_symbols "lctrl_toggle" {
+ virtual_modifiers AltGr;
+ key <LCTL> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// Right Ctrl key toggles group
+partial modifier_keys
+xkb_symbols "rctrl_toggle" {
+ virtual_modifiers AltGr;
+ key <RCTL> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// using the group(alt_caps_toggle) map, pressing:
+// Alt+Caps Lock toggles group
+// Caps Lock toggles caps lock
+partial modifier_keys
+xkb_symbols "alt_caps_toggle" {
+ key <CAPS> {
+ type="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Caps_Lock, ISO_Next_Group]
+ };
+};
+
+partial hidden modifier_keys
+xkb_symbols "olpc" {
+ key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
+};
+
+partial modifier_keys
+xkb_symbols "alt_space_toggle" {
+ key <SPCE> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ space, ISO_Next_Group ]
+ };
+};
+
+// using the group(sclk_toggle) map, pressing the Scroll Lock key
+// toggles groups.
+partial modifier_keys
+xkb_symbols "sclk_toggle" {
+ virtual_modifiers AltGr;
+ key <SCLK> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Next_Group ]
+ };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/hp_vndr/Makefile.am b/xorg-server/xkeyboard-config/symbols/hp_vndr/Makefile.am
new file mode 100644
index 000000000..6bcd4da3e
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/hp_vndr/Makefile.am
@@ -0,0 +1,4 @@
+symbolsdir = $(xkb_base)/symbols/hp_vndr
+
+dist_symbols_DATA = \
+us
diff --git a/xorg-server/xkeyboard-config/symbols/hp_vndr/us b/xorg-server/xkeyboard-config/symbols/hp_vndr/us
new file mode 100644
index 000000000..18ce8aeae
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/hp_vndr/us
@@ -0,0 +1,106 @@
+// $Xorg: us,v 1.4 2001/02/09 02:05:53 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// US/ASCII layout for a HP non-PC keyboard
+xkb_symbols "hil" {
+ include "us(basic)"
+
+ // A few alphanumeric keys are different
+ key <TLDE> { [ grave, asciitilde ]};
+ key <RTSH> { [ Shift_R ]};
+ key <LALT> { [ Meta_L ]};
+ key <RALT> { [ Meta_R ]};
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <BRK> { [ Break ]};
+ key <STOP> { [ Cancel ]};
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <MENU> { [ Menu ] };
+ key <SYST> { [ hpSystem ]};
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <CLRL> { [ hpClearLine ]};
+ key <CLR> { [ Clear ]};
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ Execute, Print ]};
+ key <INSL> { [ hpInsertLine ]};
+ key <DELL> { [ hpDeleteLine ]};
+ key <INSC> { [ hpInsertChar ]};
+ key <DELC> { [ hpDeleteChar ]};
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <SELE> { [ Select ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <UP> { [ Up ] };
+ key <RGHT> { [ Right ]};
+
+ // End "Editing" section, begin "Keypad"
+ key <KPMU> { [ KP_Multiply ]};
+ key <KPDV> { [ KP_Divide ]};
+ key <KPAD> { [ KP_Add ]};
+ key <KPSU> { [ KP_Subtract ]};
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPEN> { [ KP_Enter ]};
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPSP> { [ KP_Separator ]};
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPTB> { [ KP_Tab ]};
+
+ key <KP0> { [ KP_0 ] };
+ key <KPDL> { [ KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Alt_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/hr b/xorg-server/xkeyboard-config/symbols/hr
new file mode 100644
index 000000000..61c6eae18
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/hr
@@ -0,0 +1,76 @@
+// $XKeyboardConfig$
+//
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]="Croatia";
+
+ include "rs(latin)"
+
+ // Redefine these keys to match XFree86 Croatian layout
+ key <AE01> { [ 1, exclam, asciitilde, dead_tilde ] };
+ key <AE03> { [ 3, numbersign, asciicircum, dead_circumflex ] };
+ key <AE05> { [ 5, percent, degree, dead_abovering ] };
+ key <AE07> { [ 7, slash, grave, dead_grave ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "us" {
+
+ name[Group1]= "Croatia - US keyboard with Croatian letters";
+
+ include "us"
+
+ key <AD01> { [ any, any, backslash ] };
+ key <AD02> { [ any, any, bar ] };
+ key <AD03> { [ any, any, EuroSign ] };
+ key <AD06> { [ any, any, z, Z ] };
+ key <AD11> { [ any, any, scaron, Scaron ] };
+ key <AD12> { [ any, any, dstroke, Dstroke ] };
+ key <AC04> { [ any, any, bracketleft ] };
+ key <AC05> { [ any, any, bracketright ] };
+ key <AC08> { [ any, any, lstroke ] };
+ key <AC09> { [ any, any, Lstroke ] };
+ key <AC10> { [ any, any, ccaron, Ccaron ] };
+ key <AC11> { [ any, any, cacute, Cacute ] };
+ key <LSGT> { [ any, any, bar ] };
+ key <AB01> { [ any, any, y, Y ] };
+ key <AB04> { [ any, any, at ] };
+ key <AB05> { [ any, any, braceleft ] };
+ key <AB06> { [ any, any, braceright ] };
+ key <AB07> { [ any, any, section ] };
+ key <AB08> { [ any, any, semicolon ] };
+ key <AB09> { [ any, any, colon ] };
+ key <AB10> { [ any, any, minus, underscore ] };
+ key <BKSL> { [ any, any, zcaron, Zcaron ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "alternatequotes" {
+
+ name[Group1]= "Croatia - Use guillemets for quotes";
+
+ include "rs(latinalternatequotes)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "unicode" {
+
+ name[Group1]= "Croatia - Use Croatian digraphs";
+
+ include "rs(latinunicode)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "unicodeus" {
+
+ name[Group1]= "Croatia - US keyboard with Croatian digraphs";
+
+ include "rs(latinunicodeyz)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/hu b/xorg-server/xkeyboard-config/symbols/hu
new file mode 100644
index 000000000..9e97740fa
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/hu
@@ -0,0 +1,432 @@
+// New style XKB layout for some widely used Hungarian keyboard layouts
+//
+// Based on old style 'xkb/symbols/hu"
+//
+// $XKeyboardConfig$
+// (C) 2002-2004 Soós Péter <sp@osb.hu>
+// (C) 2010 Andras Timar <timar@fsf.hu>
+//
+// Permission is granted to anyone to use, distribute and modify
+// this file in any way, provided that the above copyright notice
+// is left intact and the author of the modification summarizes
+// the changes in this header.
+//
+// This file is distributed without any expressed or implied warranty.
+//
+// Changes:
+// 2004-04-17 - Moved to new style (only Unicode based layouts)
+// - Added consistent dead key support
+// - Fixed abovedot
+// - Added adiaeresis
+// - Added EuroSign and cent symbol
+// 2010-04-23 - Added doublelowquotemark
+// - Added rightdoublequotemark
+// - Added endash
+// 2010-05-13 - Added ellipsis
+
+
+// Default layout
+default partial
+xkb_symbols "basic" {
+ include "hu(102_qwertz_comma_dead)"
+ name[Group1] = "Hungary";
+};
+
+// Standard layout
+partial
+xkb_symbols "standard" {
+ include "hu(102_qwertz_comma_dead)"
+ name[Group1] = "Hungary - Standard";
+};
+
+// Standard layout without dead key support
+partial
+xkb_symbols "nodeadkeys" {
+ include "hu(102_qwertz_comma_nodead)"
+ name[Group1] = "Hungary - Eliminate dead keys";
+};
+
+// Qwerty layout
+partial
+xkb_symbols "qwerty" {
+ include "hu(101_qwerty_comma_dead)"
+ name[Group1] = "Hungary - qwerty";
+};
+
+// Main layouts
+
+// 101_qwertz_comma_dead
+// 101 key qwertz layout
+// with decimal comma on keypad
+// and with dead key support
+partial
+xkb_symbols "101_qwertz_comma_dead" {
+ name[Group1] = "Hungary - 101/qwertz/comma/Dead keys";
+ include "latin"
+ include "hu(def_101)"
+ include "hu(def_qwertz)"
+ include "kpdl(comma)"
+ include "hu(def_dead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwertz_comma_nodead
+// 101 key qwertz layout
+// with decimal comma on keypad
+// and without dead key support
+partial
+xkb_symbols "101_qwertz_comma_nodead" {
+ name[Group1] = "Hungary - 101/qwertz/comma/Eliminate dead keys";
+ include "latin"
+ include "hu(def_101)"
+ include "hu(def_qwertz)"
+ include "kpdl(comma)"
+ include "hu(def_nodead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwertz_dot_dead
+// 101 key qwertz layout
+// with decimal dot on keypad
+// and with dead key support
+partial
+xkb_symbols "101_qwertz_dot_dead" {
+ name[Group1] = "Hungary - 101/qwertz/dot/Dead keys";
+ include "latin"
+ include "hu(def_101)"
+ include "hu(def_qwertz)"
+ include "hu(def_dot)"
+ include "hu(def_dead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwertz_dot_nodead
+// 101 key qwertz layout
+// with decimal dot on keypad
+// and without dead key support
+partial
+xkb_symbols "101_qwertz_dot_nodead" {
+ name[Group1] = "Hungary - 101/qwertz/dot/Eliminate dead keys";
+ include "latin"
+ include "hu(def_101)"
+ include "hu(def_qwertz)"
+ include "hu(def_dot)"
+ include "hu(def_nodead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwerty_comma_dead
+// 101 key qwerty layout
+// with decimal comma on keypad
+// and with dead key support
+partial
+xkb_symbols "101_qwerty_comma_dead" {
+ name[Group1] = "Hungary - 101/qwerty/comma/Dead keys";
+ include "latin"
+ include "hu(def_101)"
+ include "hu(def_qwerty)"
+ include "kpdl(comma)"
+ include "hu(def_dead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwerty_comma_nodead
+// 101 key qwerty layout
+// with decimal comma on keypad
+// and without dead key support
+partial
+xkb_symbols "101_qwerty_comma_nodead" {
+ name[Group1] = "Hungary - 101/qwerty/comma/Eliminate dead keys";
+ include "latin"
+ include "hu(def_101)"
+ include "hu(def_qwerty)"
+ include "kpdl(comma)"
+ include "hu(def_nodead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwerty_dot_dead
+// 101 key qwerty layout
+// with decimal dot on keypad
+// and with dead key support
+partial
+xkb_symbols "101_qwerty_dot_dead" {
+ name[Group1] = "Hungary - 101/qwerty/dot/Dead keys";
+ include "latin"
+ include "hu(def_101)"
+ include "hu(def_qwerty)"
+ include "hu(def_dot)"
+ include "hu(def_dead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwerty_dot_nodead
+// 101 key qwerty layout
+// with decimal dot on keypad
+// and without dead key support
+partial
+xkb_symbols "101_qwerty_dot_nodead" {
+ name[Group1] = "Hungary - 101/qwerty/dot/Eliminate dead keys";
+ include "latin"
+ include "hu(def_101)"
+ include "hu(def_qwerty)"
+ include "hu(def_dot)"
+ include "hu(def_nodead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwertz_comma_dead
+// 102 key qwertz layout
+// with decimal comma on keypad
+// and with dead key support
+partial
+xkb_symbols "102_qwertz_comma_dead" {
+ name[Group1] = "Hungary - 102/qwertz/comma/Dead keys";
+ include "latin"
+ include "hu(def_102)"
+ include "hu(def_qwertz)"
+ include "kpdl(comma)"
+ include "hu(def_dead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwertz_comma_nodead
+// 102 key qwertz layout
+// with decimal comma on keypad
+// and without dead key support
+partial
+xkb_symbols "102_qwertz_comma_nodead" {
+ name[Group1] = "Hungary - 102/qwertz/comma/Eliminate dead keys";
+ include "latin"
+ include "hu(def_102)"
+ include "hu(def_qwertz)"
+ include "kpdl(comma)"
+ include "hu(def_nodead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwertz_dot_dead
+// 102 key qwertz layout
+// with decimal dot on keypad
+// and with dead key support
+partial
+xkb_symbols "102_qwertz_dot_dead" {
+ name[Group1] = "Hungary - 102/qwertz/dot/Dead keys";
+ include "latin"
+ include "hu(def_102)"
+ include "hu(def_qwertz)"
+ include "hu(def_dot)"
+ include "hu(def_dead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwertz_dot_nodead
+// 102 key qwertz layout
+// with decimal dot on keypad
+// and without dead key support
+partial
+xkb_symbols "102_qwertz_dot_nodead" {
+ name[Group1] = "Hungary - 102/qwertz/dot/Eliminate dead keys";
+ include "latin"
+ include "hu(def_102)"
+ include "hu(def_qwertz)"
+ include "hu(def_dot)"
+ include "hu(def_nodead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwerty_comma_dead
+// 102 key qwerty layout
+// with decimal comma on keypad
+// and with dead key support
+partial
+xkb_symbols "102_qwerty_comma_dead" {
+ name[Group1] = "Hungary - 102/qwerty/comma/Dead keys";
+ include "latin"
+ include "hu(def_102)"
+ include "hu(def_qwerty)"
+ include "kpdl(comma)"
+ include "hu(def_dead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwerty_comma_nodead
+// 102 key qwerty layout
+// with decimal comma on keypad
+// and without dead key support
+partial
+xkb_symbols "102_qwerty_comma_nodead" {
+ name[Group1] = "Hungary - 102/qwerty/comma/Eliminate dead keys";
+ include "latin"
+ include "hu(def_102)"
+ include "hu(def_qwerty)"
+ include "kpdl(comma)"
+ include "hu(def_nodead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwerty_dot_dead
+// 102 key qwerty layout
+// with decimal dot on keypad
+// and with dead key support
+partial
+xkb_symbols "102_qwerty_dot_dead" {
+ name[Group1] = "Hungary - 102/qwerty/dot/Dead keys";
+ include "latin"
+ include "hu(def_102)"
+ include "hu(def_qwerty)"
+ include "hu(def_dot)"
+ include "hu(def_dead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwerty_dot_nodead
+// 102 key qwerty layout
+// with decimal dot on keypad
+// and without dead key support
+partial
+xkb_symbols "102_qwerty_dot_nodead" {
+ name[Group1] = "Hungary - 102/qwerty/dot/Eliminate dead keys";
+ include "latin"
+ include "hu(def_102)"
+ include "hu(def_qwerty)"
+ include "hu(def_dot)"
+ include "hu(def_nodead)"
+ include "hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// Partial layouts
+
+// def_102:
+// The standard Hungarian 102 key layout
+hidden partial alphanumeric_keys
+xkb_symbols "def_102" {
+ key <TLDE> { [ 0, section, notsign ] };
+ key <LSGT> { [ iacute, Iacute, less, greater ] };
+
+};
+
+// def_101:
+// An alternative layout for 101 key keyboards
+hidden partial alphanumeric_keys
+xkb_symbols "def_101" {
+ key <TLDE> { [ iacute, Iacute, 0, section ] };
+ key <LSGT> { [ less, greater ] };
+};
+
+// def_qwertz:
+// The standard Hungaryan qwertz layout
+hidden partial alphanumeric_keys
+xkb_symbols "def_qwertz" {
+ key <AD06> { [ z, Z, endash ] };
+ key <AB01> { [ y, Y, greater ] };
+};
+
+
+// def_qwerty:
+// The qwerty layout for people who familiar with the standard US layout
+hidden partial alphanumeric_keys
+xkb_symbols "def_qwerty" {
+ key <AD06> { [ y, Y, endash ] };
+ key <AB01> { [ z, Z, greater ] };
+};
+
+// def_dot:
+// The Hungarian standard is the comma on the keypad not decimal dot,
+// but programmers hate it
+hidden partial keypad_keys
+xkb_symbols "def_dot" {
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+};
+
+
+// def_dead:
+// Dead keys support part
+hidden partial alphanumeric_keys
+xkb_symbols "def_dead" {
+ key <AE01> { [ 1, apostrophe, asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl, dead_caron, caron ] };
+ key <AE03> { [ 3, plus, asciicircum, dead_circumflex ] };
+ key <AE04> { [ 4, exclam, dead_breve, breve ] };
+ key <AE05> { [ 5, percent, dead_abovering, degree ] };
+ key <AE06> { [ 6, slash, dead_ogonek, ogonek ] };
+ key <AE07> { [ 7, equal, grave, dead_grave ] };
+ key <AE08> { [ 8, parenleft, dead_abovedot, abovedot ] };
+ key <AE09> { [ 9, parenright, dead_acute, acute ] };
+ key <AE10> { [ odiaeresis, Odiaeresis, dead_doubleacute, doubleacute ] };
+ key <AE11> { [ udiaeresis, Udiaeresis, dead_diaeresis, diaeresis ] };
+ key <AE12> { [ oacute, Oacute, dead_cedilla, cedilla ] };
+};
+
+// def_nodead:
+// Without dead keys support
+hidden partial alphanumeric_keys
+xkb_symbols "def_nodead" {
+ key <AE01> { [ 1, apostrophe, asciitilde ] };
+ key <AE02> { [ 2, quotedbl, caron ] };
+ key <AE03> { [ 3, plus, asciicircum ] };
+ key <AE04> { [ 4, exclam, breve ] };
+ key <AE05> { [ 5, percent, degree ] };
+ key <AE06> { [ 6, slash, ogonek ] };
+ key <AE07> { [ 7, equal, grave ] };
+ key <AE08> { [ 8, parenleft, abovedot ] };
+ key <AE09> { [ 9, parenright, acute ] };
+ key <AE10> { [ odiaeresis, Odiaeresis, doubleacute ] };
+ key <AE11> { [ udiaeresis, Udiaeresis, diaeresis ] };
+ key <AE12> { [ oacute, Oacute, cedilla ] };
+};
+
+
+// def_common:
+// The common part of all Hungarian layout above
+hidden partial alphanumeric_keys
+xkb_symbols "def_common" {
+ key <AD01> { [ q, Q, backslash ] };
+ key <AD02> { [ w, W, bar ] };
+ key <AD07> { [ u, U, EuroSign ] };
+ key <AD08> { [ i, I, Iacute, iacute ] };
+ key <AD09> { [ o, O, doublelowquotemark ] };
+ key <AD10> { [ p, P, rightdoublequotemark ] };
+ key <AD11> { [ odoubleacute, Odoubleacute, division ] };
+ key <AD12> { [ uacute, Uacute, multiply ] };
+
+ key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
+ key <AC02> { [ s, S, dstroke ] };
+ key <AC03> { [ d, D, Dstroke ] };
+ key <AC04> { [ f, F, bracketleft ] };
+ key <AC05> { [ g, G, bracketright ] };
+ key <AC07> { [ j, J, iacute, Iacute ] };
+ key <AC08> { [ k, K, lstroke ] };
+ key <AC09> { [ l, L, Lstroke ] };
+ key <AC10> { [ eacute, Eacute, dollar, cent ] };
+ key <AC11> { [ aacute, Aacute, ssharp ] };
+
+ key <BKSL> { [ udoubleacute, Udoubleacute, currency ] };
+
+ key <AB02> { [ x, X, numbersign ] };
+ key <AB03> { [ c, C, ampersand ] };
+ key <AB04> { [ v, V, at ] };
+ key <AB05> { [ b, B, braceleft ] };
+ key <AB06> { [ n, N, braceright ] };
+ key <AB07> { [ m, M, less ] };
+ key <AB08> { [ comma, question, semicolon ] };
+ key <AB09> { [ period, colon, ellipsis ] };
+ key <AB10> { [ minus, underscore, asterisk ] };
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/ie b/xorg-server/xkeyboard-config/symbols/ie
new file mode 100644
index 000000000..22d857247
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ie
@@ -0,0 +1,411 @@
+// $XKeyboardConfig$
+
+// $XFree86: xc/programs/xkbcomp/symbols/ie,v 1.3 2002/12/31 02:07:04 dawes Exp $
+
+// Irish keyboard map
+
+// Support for Irish (old and new orthography) and English
+// Seamus O Ciardhuain <seoc@cnds.ucd.ie> (19 December 2002)
+
+// The general idea is to provide the characters in ISO 8859-1,
+// ISO 8859-15, ISO 8859-14, CP1252 and "Extended Latin-8".
+// However, not all are accessible directly because there aren't
+// enough keys; some need deadkeys to access them, others the
+// "Multi_key" compose sequences.
+
+// Designed to be similar to the layouts used on Windows
+// and the Macintosh.
+
+// Everything is in Group 1 to be compatible with the
+// multi-layout keyboard support in XFree86 4.3.
+
+// The basic layout is a modern keyboard, but dotted consonants are
+// accessible using a deadkey (AltGr+H or AltGr+W).
+// If a proper Clo Gaelach keyboard is needed, then use the layout
+// defined below as ie(CloGaelach), which gives dotted consonants
+// without use of a deadkey.
+
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Modern keyboard for Irish and English
+ // - acute-accented vowels as AltGr+vowel and AltGr+Shift+vowel
+ // - euro currency sign as AltGr+4
+ // - Comhartha Agus (Tironian Sign Et) as AltGr+Shift+7
+ // - non-breaking space as AltGr+Space and AltGr+Shift+Space
+ // - matches hardware (keys and engraved symbols) for Irish keyboards
+
+ name[Group1] = "Ireland";
+
+ //
+ // Numeric row `1234567890-=
+ //
+ key <TLDE> { [ grave, notsign, brokenbar, NoSymbol ] };
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, trademark, twosuperior ] };
+ key <AE03> { [ 3, sterling, copyright, threesuperior ] };
+ key <AE04> { [ 4, dollar, EuroSign, cent ] };
+ key <AE05> { [ 5, percent, section, dagger ] };
+ key <AE06> { [ 6, asciicircum, dead_circumflex, 0x1002030 ] };
+ // per thousand
+ key <AE07> { [ 7, ampersand, paragraph, 0x100204A ] };
+ // Tironian Et
+ key <AE08> { [ 8, asterisk, dead_diaeresis, enfilledcircbullet ] };
+ key <AE09> { [ 9, parenleft, ordfeminine, periodcentered ] };
+ key <AE10> { [ 0, parenright, masculine, degree ] };
+ key <AE11> { [ minus, underscore, endash, emdash ] };
+ key <AE12> { [ equal, plus, notequal, plusminus ] };
+
+ //
+ // QWERTYUIOP[]
+ //
+ key <AD01> { [ q, Q, oe, OE ] };
+ key <AD02> { [ w, W, dead_abovedot, dead_abovedot ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, registered, 0x1002030 ] };
+ // per thousand
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, yen, mu ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, singlelowquotemark, NoSymbol ] };
+ key <AD11> { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] };
+ key <AD12> { [ bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] };
+
+ //
+ // ASDFGHJKL;'#
+ //
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ s, S, ssharp, NoSymbol ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, 0x1000192, NoSymbol ] };
+ // f with hook
+ key <AC05> { [ g, G, copyright, NoSymbol ] };
+ key <AC06> { [ h, H, dead_abovedot, dead_abovedot ] };
+ key <AC07> { [ j, J, idotless, onequarter ] };
+ key <AC08> { [ k, K, dead_abovering, onehalf ] };
+ key <AC09> { [ l, L, acute, threequarters ] };
+ key <AC10> { [ semicolon, colon, ellipsis, doubledagger ] };
+ key <AC11> { [ apostrophe, at, ae, AE ] };
+ key <BKSL> { [ numbersign, asciitilde, guillemotleft, guillemotright ] };
+
+
+ //
+ // \ZXCVBNM,./
+ //
+ key <LSGT> { [ backslash, bar, dead_grave, dead_acute ] };
+ key <AB01> { [ z, Z, leftanglebracket, rightanglebracket ] };
+ key <AB02> { [ x, X, multiply, approximate ] };
+ key <AB03> { [ c, C, dead_cedilla, cedilla ] };
+ key <AB04> { [ v, V, dead_caron, NoSymbol ] };
+ key <AB05> { [ b, B, diaeresis, NoSymbol ] };
+ key <AB06> { [ n, N, dead_tilde, NoSymbol ] };
+ key <AB07> { [ m, M, macron, NoSymbol ] };
+ key <AB08> { [ comma, less, lessthanequal, doublelowquotemark ] };
+ key <AB09> { [ period, greater, greaterthanequal, singlelowquotemark ] };
+ key <AB10> { [ slash, question, division, questiondown ] };
+
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+
+ // NB: putting Shift+<RALT> as Multi_key gives odd behaviour since the
+ // order of pressing keys affects the result.
+
+ include "compose(rwin)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "CloGaelach" {
+
+ // Adds support for Clo Gaelach (old orthography for Irish).
+ // Changes from "basic":
+ // - dotted consonants as AltGr+consonant or AltGr+Shift+consonant (TPSDFGCBM)
+ // - long lowercase r as AltGr+R
+ // - long lowercase s as AltGr+Z
+ // - long lowercase s dotted as AltGr+Shift+Z
+ // - some symbols moved around to retain them
+ // - several characters unlikely to be used are lost
+ // The long letters are needed only where the font provides
+ // both the long and short forms as different glyphs.
+
+ include "ie(basic)"
+
+ name[Group1] = "Ireland - CloGaelach";
+
+ key <TLDE> { [ grave, notsign, brokenbar, ssharp ] };
+ key <AD04> { [ r, R, 0x100027C, registered ] };
+ // long r
+ key <AD05> { [ t, T, tabovedot, Tabovedot ] };
+ key <AD10> { [ p, P, pabovedot, Pabovedot ] };
+
+ key <AC02> { [ s, S, sabovedot, Sabovedot ] };
+ key <AC03> { [ d, D, dabovedot, Dabovedot ] };
+ key <AC04> { [ f, F, fabovedot, Fabovedot ] };
+ key <AC05> { [ g, G, gabovedot, Gabovedot ] };
+
+ key <AB01> { [ z, Z, 0x100017F, 0x1001E9B ] };
+ // long s, long s dot
+ key <AB03> { [ c, C, cabovedot, Cabovedot ] };
+ key <AB05> { [ b, B, babovedot, Babovedot ] };
+ key <AB07> { [ m, M, mabovedot, Mabovedot ] };
+
+ key <LSGT> { [ backslash, bar, dead_grave, dead_cedilla ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "UnicodeExpert" {
+
+// This should eventually be a "Unicode Expert" layout like the Mac one.
+
+ name[Group1] = "Ireland - UnicodeExpert";
+
+ //
+ // Numeric row `1234567890-=
+ //
+ key <TLDE> { [ grave, notsign, 0x10000A6, 0x10000A6 ] };
+ // broken bar
+ key <AE01> { [ 1, exclam, NoSymbol, NoSymbol ] };
+ key <AE02> { [ 2, quotedbl, dead_doubleacute, dead_doubleacute ] };
+ key <AE03> { [ 3, sterling, NoSymbol, NoSymbol ] };
+ key <AE04> { [ 4, dollar, EuroSign, EuroSign ] };
+ key <AE05> { [ 5, percent, NoSymbol, NoSymbol ] };
+ key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
+ key <AE07> { [ 7, ampersand, 0x100204A, 0x100204A ] };
+ // Tironian Et
+ key <AE08> { [ 8, asterisk, dead_abovering, dead_abovering ] };
+ key <AE09> { [ 9, parenleft, dead_breve, dead_breve ] };
+ key <AE10> { [ 0, parenright, dead_ogonek, dead_ogonek ] };
+ key <AE11> { [ minus, underscore, dead_macron, dead_macron ] };
+ key <AE12> { [ equal, plus, NoSymbol, NoSymbol ] };
+
+ //
+ // QWERTYUIOP[]
+ //
+ key <AD01> { [ q, Q, NoSymbol, NoSymbol ] };
+ key <AD02> { [ w, W, NoSymbol, NoSymbol ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, 0x100027C, 0x100027C ] };
+ // long r
+ key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
+ key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
+ key <AD11> { [ bracketleft, braceleft, dead_hook, dead_hook ] };
+ key <AD12> { [ bracketright, braceright, dead_horn, dead_horn ] };
+
+ //
+ // ASDFGHJKL;'#
+ //
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ s, S, NoSymbol, NoSymbol ] };
+ key <AC03> { [ d, D, NoSymbol, NoSymbol ] };
+ key <AC04> { [ f, F, NoSymbol, NoSymbol ] };
+ key <AC05> { [ g, G, NoSymbol, NoSymbol ] };
+ key <AC06> { [ h, H, dead_abovedot, dead_abovedot ] };
+ key <AC07> { [ j, J, NoSymbol, NoSymbol ] };
+ key <AC08> { [ k, K, NoSymbol, NoSymbol ] };
+ key <AC09> { [ l, L, NoSymbol, NoSymbol ] };
+ key <AC10> { [ semicolon, colon, dead_diaeresis, dead_diaeresis ] };
+ key <AC11> { [ apostrophe, at, dead_acute, dead_acute ] };
+ key <BKSL> { [ numbersign, asciitilde, dead_tilde, dead_tilde ] };
+
+ //
+ // \ZXCVBNM,./
+ //
+ key <LSGT> { [ backslash, bar, dead_grave, dead_grave ] };
+ key <AB01> { [ z, Z, 0x100017F, 0x1001E9B ] };
+ // long s, long s dot
+ key <AB02> { [ x, X, NoSymbol, NoSymbol ] };
+ key <AB03> { [ c, C, NoSymbol, NoSymbol ] };
+ key <AB04> { [ v, V, dead_caron, dead_caron ] };
+ key <AB05> { [ b, B, NoSymbol, NoSymbol ] };
+ key <AB06> { [ n, N, NoSymbol, NoSymbol ] };
+ key <AB07> { [ m, M, NoSymbol, NoSymbol ] };
+ key <AB08> { [ comma, less, dead_cedilla, dead_cedilla ] };
+ key <AB09> { [ period, greater, dead_abovedot, dead_abovedot ] };
+ key <AB10> { [ slash, question, dead_belowdot, dead_belowdot ] };
+
+ key <SPCE> { [ space, space, space, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+
+ include "compose(rwin)"
+};
+
+//
+// Ogham keyboard map for XFree86
+//
+// Seamus O Ciardhuain <seoc@cnds.ucd.ie> (17 December 2002)
+//
+// Ogham keyboard layout as recommended in I.S. 434:1999.
+// Suitable for multi-layout xkbcomp.
+// Character names are given as in the Unicode standard,
+// range U+1680 to U+169F.
+
+partial alphanumeric_keys
+xkb_symbols "ogam" {
+
+ name[Group1] = "Ireland - Ogham";
+
+ key.type[Group1] = "ONE_LEVEL";
+
+ key <LSGT> { type[Group1]="TWO_LEVEL",
+ [ 0x100169B, 0x100169C ] };
+ // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
+
+ key <BKSL> { [ 0x1001680 ] }; // OGHAM SPACE MARK
+
+ key <TLDE> { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+
+ key <SPCE> { [ space ] };
+
+ //
+ // Top Row QWERTYUIOP
+ //
+ key <AD01> { [ 0x100168A ] }; // OGHAM LETTER CEIRT
+ key <AD02> { [ 0x1001695 ] }; // OGHAM LETTER EABHADH
+ key <AD03> { [ 0x1001693 ] }; // OGHAM LETTER EADHADH
+ key <AD04> { [ 0x100168F ] }; // OGHAM LETTER RUIS
+ key <AD05> { [ 0x1001688 ] }; // OGHAM LETTER TINNE
+ key <AD06> { [ 0x1001698 ] }; // OGHAM LETTER IFIN
+ key <AD07> { [ 0x1001692 ] }; // OGHAM LETTER UR
+ key <AD08> { [ 0x1001694 ] }; // OGHAM LETTER IODHADH
+ key <AD09> { [ 0x1001691 ] }; // OGHAM LETTER ONN
+ key <AD10> { [ 0x100169A ] }; // OGHAM LETTER PEITH
+
+ //
+ // Middle Row ASDFGHJKL
+ //
+ key <AC01> { [ 0x1001690 ] }; // OGHAM LETTER AILM
+ key <AC02> { [ 0x1001684 ] }; // OGHAM LETTER SAIL
+ key <AC03> { [ 0x1001687 ] }; // OGHAM LETTER DAIR
+ key <AC04> { [ 0x1001683 ] }; // OGHAM LETTER FEARN
+ key <AC05> { [ 0x100168C ] }; // OGHAM LETTER GORT
+ key <AC06> { [ 0x1001686 ] }; // OGHAM LETTER UATH
+ key <AC07> { [ 0x1001697 ] }; // OGHAM LETTER UILLEANN
+ key <AC08> { [ 0x1001696 ] }; // OGHAM LETTER OR
+ key <AC09> { [ 0x1001682 ] }; // OGHAM LETTER LUIS
+
+ //
+ // Bottom Row ZXCVBNM
+ //
+ key <AB01> { [ 0x100168E ] }; // OGHAM LETTER STRAIF
+ key <AB02> { [ 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL
+ key <AB03> { [ 0x1001689 ] }; // OGHAM LETTER COLL
+ key <AB04> { [ 0x100168D ] }; // OGHAM LETTER NGEADAL
+ key <AB05> { [ 0x1001681 ] }; // OGHAM LETTER BEITH
+ key <AB06> { [ 0x1001685 ] }; // OGHAM LETTER NION
+ key <AB07> { [ 0x100168B ] }; // OGHAM LETTER MUIN
+
+ // As an extension because <BKSL> and <LSGT> may not be
+ // available or sensible. These are also a bit more
+ // intuitive on a standard Irish keyboard.
+ key <AB08> { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+ key <AB09> { [ 0x100169B ] }; // OGHAM FEATHER MARK
+ key <AB10> { [ 0x1001680 ] }; // OGHAM SPACE MARK
+
+ include "compose(rwin)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "ogam_is434" {
+
+ // This has the full layout of IS434 with an Irish QWERTY keyboard,
+ // and the Ogham characters accessed when CAPS LOCK is on.
+
+ name[Group1] = "Ireland - Ogham IS434";
+
+ key.type[Group1] = "THREE_LEVEL";
+
+ key <LSGT> { type[Group1] = "FOUR_LEVEL_ALPHABETIC",
+ [ backslash, bar, 0x100169B, 0x100169C ] };
+ // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
+
+ key <BKSL> { [ numbersign, asciitilde, 0x1001680 ] }; // OGHAM SPACE MARK
+ key <TLDE> { [ grave, notsign, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+ key <SPCE> { [ space, space, space ] };
+
+ //
+ // Numeric row
+ //
+ key <AE01> { type[Group1]="TWO_LEVEL", [ 1, exclam ] };
+ key <AE02> { type[Group1]="TWO_LEVEL", [ 2, quotedbl ] };
+ key <AE03> { type[Group1]="TWO_LEVEL", [ 3, sterling ] };
+ key <AE04> { [ 4, dollar, EuroSign ] };
+ key <AE05> { type[Group1]="TWO_LEVEL", [ 5, percent ] };
+ key <AE06> { type[Group1]="TWO_LEVEL", [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand, 0x100204A ] }; // Tironian Et
+ key <AE08> { type[Group1]="TWO_LEVEL", [ 8, asterisk ] };
+ key <AE09> { type[Group1]="TWO_LEVEL", [ 9, parenleft ] };
+ key <AE10> { type[Group1]="TWO_LEVEL", [ 0, parenright ] };
+ key <AE11> { type[Group1]="TWO_LEVEL", [ minus, underscore ] };
+ key <AE12> { type[Group1]="TWO_LEVEL", [ equal, plus ] };
+
+ //
+ // Top Row QWERTYUIOP
+ //
+ key <AD01> { [ q, Q, 0x100168A ] }; // OGHAM LETTER CEIRT
+ key <AD02> { [ w, W, 0x1001695 ] }; // OGHAM LETTER EABHADH
+ key <AD03> { [ e, E, 0x1001693 ] }; // OGHAM LETTER EADHADH
+ key <AD04> { [ r, R, 0x100168F ] }; // OGHAM LETTER RUIS
+ key <AD05> { [ t, T, 0x1001688 ] }; // OGHAM LETTER TINNE
+ key <AD06> { [ y, Y, 0x1001698 ] }; // OGHAM LETTER IFIN
+ key <AD07> { [ u, U, 0x1001692 ] }; // OGHAM LETTER UR
+ key <AD08> { [ i, I, 0x1001694 ] }; // OGHAM LETTER IODHADH
+ key <AD09> { [ o, O, 0x1001691 ] }; // OGHAM LETTER ONN
+ key <AD10> { [ p, P, 0x100169A ] }; // OGHAM LETTER PEITH
+
+ //
+ // Middle Row ASDFGHJKL
+ //
+ key <AC01> { [ a, A, 0x1001690 ] }; // OGHAM LETTER AILM
+ key <AC02> { [ s, S, 0x1001684 ] }; // OGHAM LETTER SAIL
+ key <AC03> { [ d, D, 0x1001687 ] }; // OGHAM LETTER DAIR
+ key <AC04> { [ f, F, 0x1001683 ] }; // OGHAM LETTER FEARN
+ key <AC05> { [ g, G, 0x100168C ] }; // OGHAM LETTER GORT
+ key <AC06> { [ h, H, 0x1001686 ] }; // OGHAM LETTER UATH
+ key <AC07> { [ j, J, 0x1001697 ] }; // OGHAM LETTER UILLEANN
+ key <AC08> { [ k, K, 0x1001696 ] }; // OGHAM LETTER OR
+ key <AC09> { [ l, L, 0x1001682 ] }; // OGHAM LETTER LUIS
+
+ //
+ // Bottom Row ZXCVBNM
+ //
+ key <AB01> { [ z, Z, 0x100168E ] }; // OGHAM LETTER STRAIF
+ key <AB02> { [ x, X, 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL
+ key <AB03> { [ c, C, 0x1001689 ] }; // OGHAM LETTER COLL
+ key <AB04> { [ v, V, 0x100168D ] }; // OGHAM LETTER NGEADAL
+ key <AB05> { [ b, B, 0x1001681 ] }; // OGHAM LETTER BEITH
+ key <AB06> { [ n, N, 0x1001685 ] }; // OGHAM LETTER NION
+ key <AB07> { [ m, M, 0x100168B ] }; // OGHAM LETTER MUIN
+
+ // As an extension because <BKSL> and <LSGT> may not be
+ // available or sensible. These are also a bit more
+ // intuitive on a standard Irish keyboard.
+ key <AB08> { [ comma, less, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+ key <AB09> { [ period, greater, 0x100169B ] }; // OGHAM FEATHER MARK
+ key <AB10> { [ slash, question, 0x1001680 ] }; // OGHAM SPACE MARK
+
+ // The standard says the Ogham characters should be accessed when
+ // Caps Lock is down; not clear if this means it should lock but
+ // seems logical.
+
+ key <CAPS> { type[Group1] = "ONE_LEVEL", [ ISO_Level3_Lock ] };
+
+ // Also allow access to Ogham characters using RALT for convenience
+ include "level3(ralt_switch)"
+
+ // Redefine Scroll Lock as locking shift in case that's needed.
+ // Also overcomes annoying use of Scroll Lock LED inherited from
+ // US symbols but not relevant here since we're not changing group.
+ key <SCLK> {type[Group1] = "ONE_LEVEL", [ Shift_Lock ] };
+ modifier_map Shift { Shift_Lock };
+
+ include "compose(rwin)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/il b/xorg-server/xkeyboard-config/symbols/il
new file mode 100644
index 000000000..cc29b128e
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/il
@@ -0,0 +1,255 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/il' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/il,v 1.3 2003/01/07 02:03:44 dawes Exp $
+
+// This is a partial implemetation of the Israeli standard SI-1452
+// It does not implement changes to the English layout ("Alt-English"),
+// as I believe that it is not the job of this layout to modify the English
+// layout.
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ // uses the kbd layout in use in Israel.
+
+ name[Group1]= "Israel";
+
+ key <AD01> { [ slash, Q ] };
+ key <AD02> { [ apostrophe, W ] };
+ key <AD04> { [ hebrew_resh, R ] };
+ key <AD05> { [ hebrew_aleph,T ] };
+ key <AD06> { [ hebrew_tet, Y ] };
+ key <AD07> { [ hebrew_waw, U ] };
+ key <AD08> { [ hebrew_finalnun, I ] };
+ key <AD09> { [ hebrew_finalmem, O ] };
+ key <AD10> { [ hebrew_pe, P ] };
+
+ key <AC02> { [ hebrew_dalet,S ] };
+ key <AC03> { [ hebrew_gimel,D ] };
+ key <AC04> { [ hebrew_kaph, F ] };
+ key <AC05> { [ hebrew_ayin, G ] };
+ key <AC06> { [ hebrew_yod, H ] };
+ key <AC07> { [ hebrew_chet, J ] };
+ key <AC08> { [ hebrew_lamed, K ] };
+ key <AC09> { [ hebrew_finalkaph, L ] };
+ key <AC10> { [ hebrew_finalpe, colon ] };
+ key <AC11> { [ comma, quotedbl ] };
+
+ key <AB01> { [ hebrew_zain, Z ] };
+ key <AB02> { [ hebrew_samech, X ] };
+ key <AB03> { [ hebrew_bet, C ] };
+ key <AB04> { [ hebrew_he, V ] };
+ key <AB05> { [ hebrew_nun, B ] };
+ key <AB06> { [ hebrew_mem, N ] };
+ key <AB07> { [ hebrew_zade, M ] };
+ // Mirrored:
+ key <AB08> { [ hebrew_taw, greater ] };
+ key <AB09> { [ hebrew_finalzade, less ] };
+
+ key.type[Group1] = "THREE_LEVEL";
+
+ key <TLDE> { [ semicolon, asciitilde,0x10005b0 ]}; // Sheva
+ key <AB10> { [ period, question, 0x10005c3 ]}; // Sof Pasuq
+ key <AD03> { [ hebrew_qoph, E, EuroSign ]};
+ key <AC01> { [ hebrew_shin, A, 0x10020AA ]};
+
+ // The following may get overriden by the iso9995-3(basic101) symbols.
+ // therefore they are included here.
+ // Including them isn't a great idea (for instance: what if group 1 uses
+ // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't
+ // preserve that, and I'm not sure that this is a good feature.
+ key <AE01> { [ 1, exclam , 0x10005b1 ]}; // H. Segol
+ key <AE02> { [ 2, at , 0x10005b2 ]}; // H. Patah
+ key <AE03> { [ 3, numbersign , 0x10005b3 ]}; // H. Qamats
+ key <AE04> { [ 4, dollar , 0x10005b4 ]}; // Hiriq
+ key <AE05> { [ 5, percent , 0x10005b5 ]}; // Tsere
+ key <AE06> { [ 6, asciicircum , 0x10005b6 ]}; // Segol
+ key <AE07> { [ 7, ampersand , 0x10005b7 ]}; // Patah
+ key <AE08> { [ 8, asterisk , 0x10005b8 ]}; // Qamats
+ // Mirrored:
+ key <AE09> { [ 9, parenright , 0x10005c2 ]}; // Sin dot
+ key <AE10> { [ 0, parenleft , 0x10005c1 ]}; // Shin dot
+ key <AE11> { [ minus, underscore , 0x10005b9 ]}; // Holam
+ key <AE12> { [ equal, plus , 0x10005bc ]}; // Dagesh/Shuruq
+
+ // Mirrored:
+ key <AD11> { [ bracketright, braceright, 0x10005bf ]}; // Rafe
+ key <AD12> { [ bracketleft, braceleft, 0x10005bd ]}; // Meteg
+
+ key <BKSL> { [ backslash, bar, 0x10005bb ]}; // Qubuts
+
+ include "level3(ralt_switch)"
+};
+
+
+// nikud patter based on Dekel Tsur's Hebrew mapping for LyX
+partial alphanumeric_keys
+xkb_symbols "lyx" {
+ name[Group1]= "Israel - lyx";
+
+ key <TLDE> { [ semicolon, asciitilde ] };
+ // On some key (e.g. AD01, right below) there is not yet mapping for the
+ // second shift level. Since I could not figure a simple way to map this
+ // to "emit nothing", it is currently mapped to the same letter of the
+ // first shift level (avoiding mapping may risk it be used by a character
+ // from a different group).
+ key <AD01> { [ slash, slash ] };
+ key <AD02> { [ apostrophe, apostrophe ] };
+ key <AD03> { [ hebrew_qoph, 0x10005b8 ] }; // Qamats
+ key <AD04> { [ hebrew_resh, 0x10005bc ] }; // Dagesh/Shuruq
+ key <AD05> { [ hebrew_aleph, 0x100200e ] }; // LRM
+ key <AD06> { [ hebrew_tet, 0x100200f ] }; // RLM
+ key <AD07> { [ hebrew_waw, 0x10005b9 ] }; // Holam
+ key <AD08> { [ hebrew_finalnun,hebrew_finalnun] };
+ key <AD09> { [ hebrew_finalmem,hebrew_finalmem] };
+ key <AD10> { [ hebrew_pe, 0x10005b7 ] }; // Patah
+
+ key <AC01> { [ hebrew_shin, 0x10005b0 ] }; // Sheva
+ key <AC02> { [ hebrew_dalet, 0x10005bc ] }; // Dagesh/Shuruq
+ key <AC03> { [ hebrew_gimel, hebrew_gimel ] };
+ key <AC04> { [ hebrew_kaph, hebrew_kaph ] };
+ key <AC05> { [ hebrew_ayin, 0x10005c2 ] }; // Sin dot
+ key <AC06> { [ hebrew_yod, 0x10005c1 ] }; // Shin dot
+ key <AC07> { [ hebrew_chet, 0x10005b4 ] }; // Hiriq
+ key <AC08> { [ hebrew_lamed, 0x10020aa ] }; // NIS
+ key <AC09> { [ hebrew_finalkaph,hebrew_finalkaph] };
+ key <AC10> { [ hebrew_finalpe, colon ] };
+ key <AC11> { [ comma, quotedbl ] };
+
+ key <AB01> { [ hebrew_zain, hebrew_zain ] };
+ key <AB02> { [ hebrew_samech,0x10005b6 ] }; // Segol
+ key <AB03> { [ hebrew_bet, 0x10005bb ] }; // Qubuts
+ key <AB04> { [ hebrew_he, 0x10005b1 ] }; // H. Segol
+ key <AB05> { [ hebrew_nun, 0x10005b2 ] }; // H. Patah
+ key <AB06> { [ hebrew_mem, 0x10005b3 ] }; // H. Qamats
+ key <AB07> { [ hebrew_zade, 0x10005b5 ] }; // Tsere
+ key <AB08> { [ hebrew_taw, greater ] };
+ key <AB09> { [ hebrew_finalzade, less ] };
+ key <AB10> { [ period, question ] };
+
+ // Note the parens mirroring below:
+ key <AD11> { [ bracketright, braceright ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+ key <AE09> { [ 9 , parenright ] };
+ key <AE10> { [ 0 , parenleft ] };
+
+ key <AE11> { [ minus , 0x10005be ] }; // H. Hiphen
+ key <AE12> { [ equal , plus ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+
+ // uses the phonetic layout from old Slackware 'il.map' file
+
+ name[Group1]= "Israel - Phonetic";
+
+ key <AE12> { [ equal, plus, hebrew_doublelowline, hebrew_doublelowline ]};
+
+ key <LatQ> { [ hebrew_qoph, hebrew_qoph ] };
+ key <LatW> { [ hebrew_waw, hebrew_waw ] };
+ key <LatE> { [ hebrew_aleph, hebrew_aleph ] };
+ key <LatR> { [ hebrew_resh, hebrew_resh ] };
+ key <LatT> { [ hebrew_taw, hebrew_tet ] };
+ key <LatY> { [ hebrew_ayin, hebrew_ayin ] };
+ key <LatU> { [ hebrew_waw, hebrew_waw ] };
+ key <LatI> { [ hebrew_yod, hebrew_yod ] };
+ key <LatO> { [ hebrew_samech, hebrew_samech ] };
+ key <LatP> { [ hebrew_pe, hebrew_finalpe ] };
+
+ key <LatA> { [ hebrew_aleph, hebrew_aleph ] };
+ key <LatS> { [ hebrew_shin, hebrew_shin ] };
+ key <LatD> { [ hebrew_dalet, hebrew_dalet ] };
+ key <LatF> { [ hebrew_pe, hebrew_finalpe ] };
+ key <LatG> { [ hebrew_gimel, hebrew_gimel ] };
+ key <LatH> { [ hebrew_he, hebrew_he ] };
+ key <LatJ> { [ hebrew_yod, hebrew_yod ] };
+ key <LatK> { [ hebrew_kaph, hebrew_finalkaph ] };
+ key <LatL> { [ hebrew_lamed, hebrew_lamed ] };
+
+ key <LatZ> { [ hebrew_zain, hebrew_zain ] };
+ key <LatX> { [ hebrew_chet, hebrew_chet ] };
+ key <LatC> { [ hebrew_zade, hebrew_finalzade ] };
+ key <LatV> { [ hebrew_waw, hebrew_waw ] };
+ key <LatB> { [ hebrew_bet, hebrew_bet ] };
+ key <LatN> { [ hebrew_nun, hebrew_finalnun ] };
+ key <LatM> { [ hebrew_mem, hebrew_finalmem ] };
+};
+
+// The 'Biblical Hebrew' keyboard layout as defined by Tiro for use with the
+// 'SBL Hebrew' font was added 2006.11.13 by Sebastian J. Bronner
+// <waschtl@sbronner.com>. Its primary features (as compared to the lyx layout)
+// are that the consonants are in the Israeli standard positions, that a great
+// multitude of glyphs can be input directly from the keyboard, and that it is
+// the closest thing to a standard layout a theologian can hope for.
+// Documentation (including printable keyboard tables), SBL Hebrew font, and
+// keyboard layout for Windows are available at
+// http://www.sbl-site.org/Resources/Resources_BiblicalFonts.aspx.
+//
+// It is of interest that the 'basic' layout defined first in this file (as
+// ships with x.org disagrees in the non-consonant characters that the Tiro-
+// layout claims to be the Israeli standard. Tiros apparent diligence in the
+// PDF-documentation accompanying the keyboard-layout-files lead me to put
+// greater stock in their claim than in this file. Therefore, the 'biblical'
+// layout below does not include 'il(basic)' but redoes the _whole_ thing from
+// scratch.
+
+partial alphanumeric_keys
+xkb_symbols "biblical" {
+ name[Group1]= "Israel - Biblical Hebrew (Tiro)";
+ key.type = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ key <TLDE> { [ U05C3, U05AE, semicolon, asciitilde ] };
+ key <AE01> { [ 1, U05A9, VoidSymbol, exclam ] };
+ key <AE02> { [ 2, U0599, VoidSymbol, at ] };
+ key <AE03> { [ 3, U0592, VoidSymbol, numbersign ] };
+ key <AE04> { [ 4, U05AF, NewSheqelSign, dollar ] };
+ key <AE05> { [ 5, VoidSymbol, U200D, percent ] };
+ key <AE06> { [ 6, U05B9, U200C, asciicircum ] };
+ key <AE07> { [ 7, U05BF, U034F, ampersand ] };
+ key <AE08> { [ 8, U05C2, U200E, asterisk ] };
+ key <AE09> { [ 9, U05C1, U200F, parenright ] };
+ key <AE10> { [ 0, U059D, U25CC, parenleft ] };
+ key <AE11> { [ U05BE, U05A0, minus, underscore ] };
+ key <AE12> { [ equal, U05BC, VoidSymbol, plus ] };
+
+ key <AD01> { [ U0307, U05C4, U0308, slash ] };
+ key <AD02> { [ U05F3, U05AC, U05F4, apostrophe ] };
+ key <AD03> { [ hebrew_qoph, U05AB, U20AC ] };
+ key <AD04> { [ hebrew_resh, U059F ] };
+ key <AD05> { [ hebrew_aleph, U0593 ] };
+ key <AD06> { [ hebrew_tet, U059E ] };
+ key <AD07> { [ hebrew_waw, U059C, U05F0 ] };
+ key <AD08> { [ hebrew_finalnun, U05A1 ] };
+ key <AD09> { [ hebrew_finalmem, U0595 ] };
+ key <AD10> { [ hebrew_pe, U0594 ] };
+ key <AD11> { [ bracketright, U0597, VoidSymbol, braceright ] };
+ key <AD12> { [ bracketleft, U0598, VoidSymbol, braceleft ] };
+ key <BKSL> { [ U05C0, U05A8, backslash, bar ] };
+
+ key <AC01> { [ hebrew_shin, U05BD ] };
+ key <AC02> { [ hebrew_dalet, U05B0 ] };
+ key <AC03> { [ hebrew_gimel, U05BB ] };
+ key <AC04> { [ hebrew_kaph, U05B4 ] };
+ key <AC05> { [ hebrew_ayin, U05B1 ] };
+ key <AC06> { [ hebrew_yod, U05B6, U05F2 ] };
+ key <AC07> { [ hebrew_chet, U05B5, U05F1 ] };
+ key <AC08> { [ hebrew_lamed, U05B3 ] };
+ key <AC09> { [ hebrew_finalkaph, U05B8, U05C7 ] };
+ key <AC10> { [ hebrew_finalpe, U05B2, VoidSymbol, colon ] };
+ key <AC11> { [ U059a, U05B7, comma, quotedbl ] };
+
+ key <AB01> { [ hebrew_zain, U05C5 ] };
+ key <AB02> { [ hebrew_samech, U05A4 ] };
+ key <AB03> { [ hebrew_bet, U05AA, U05A2 ] };
+ key <AB04> { [ hebrew_he, U05A6 ] };
+ key <AB05> { [ hebrew_nun, U05A5, U05C6 ] };
+ key <AB06> { [ hebrew_mem, U05A7 ] };
+ key <AB07> { [ hebrew_zade, U059B ] };
+ key <AB08> { [ hebrew_taw, U0591, VoidSymbol, greater ] };
+ key <AB09> { [ hebrew_finalzade, U0596, VoidSymbol, less ] };
+ key <AB10> { [ U05AD, U05A3, period, question ] };
+
+ key <SPCE> { [ space, space, thinspace, nobreakspace ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/in b/xorg-server/xkeyboard-config/symbols/in
new file mode 100644
index 000000000..e9ad77b84
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/in
@@ -0,0 +1,1335 @@
+// $XKeyboardConfig$
+
+// This layout includes all Indian layouts, including:
+// - Bengali
+// - Gujarati
+// - Kannada
+// - Malayalam
+// - Oriya
+// - Tamil
+// - Telugu
+// - Urdu
+
+// Links:
+// - Indic INSCRIPT keyboard layout diagrams:
+// http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html
+// - Ekusheyr Shadhinota (Bengali layouts):
+// http://ekushey.org/projects/shadhinota/index.html
+// - Microsoft Windows XP SP2: Indic Language Standards - an Introduction:
+// http://www.bhashaindia.com/MSProducts/XpSp2/Articles/IndicLanguageStandards.aspx
+
+// based on a keyboard map from an 'xkb/symbols/dev' file
+
+// Devangari is the default. Kill me if I am wrong:)
+default partial alphanumeric_keys
+xkb_symbols "deva" {
+ // March 2004 -- David Holl <smyrph+dev_xkb@ece.wpi.edu>
+ name[Group1]="India";
+
+ key.type="FOUR_LEVEL";
+
+ key <TLDE> { [ U094a, U0912, grave, asciitilde ] };
+ key <AE01> { [ U0967, U090d, 1, exclam ] };
+ key <AE02> { [ U0968, U0945, 2, at ] };
+ // Shift+AE0[3-8] really need to return a macro of keys defined by
+ // INSCRIPT in place of the symbols that are here for now. But this
+ // requires XKB to map 1 key into two to three other key presses.
+ key <AE03> { [ U0969, numbersign, 3, numbersign ] };
+ key <AE04> { [ U096a, dollar, 4, dollar ] };
+ key <AE05> { [ U096b, percent, 5, percent ] };
+ key <AE06> { [ U096c, asciicircum, 6, asciicircum ] };
+ key <AE07> { [ U096d, ampersand, 7, ampersand ] };
+ key <AE08> { [ U096e, asterisk, 8, asterisk ] };
+ key <AE09> { [ U096f, parenleft, 9, parenleft ] };
+ key <AE10> { [ U0966, parenright, 0, parenright ] };
+ key <AE11> { [ minus, U0903, minus, underscore ] };
+ key <AE12> { [ U0943, U090b, U0944, U0960 ] };
+
+ key <AD01> { [ U094c, U0914 ] };
+ key <AD02> { [ U0948, U0910 ] };
+ key <AD03> { [ U093e, U0906 ] };
+ key <AD04> { [ U0940, U0908, U0963, U0961 ] };
+ key <AD05> { [ U0942, U090a ] };
+ key <AD06> { [ U092c, U092d ] };
+ key <AD07> { [ U0939, U0919 ] };
+ key <AD08> { [ U0917, U0918, U095a ] };
+ key <AD09> { [ U0926, U0927 ] };
+ key <AD10> { [ U091c, U091d, U095b ] };
+ key <AD11> { [ U0921, U0922, U095c, U095d ] };
+ key <AD12> { [ U093c, U091e ] };
+ // I added \ / ? | for shell-convenience (file names and piping)
+ key <BKSL> { [ U0949, U0911, U005C, U007C ] };
+
+ key <AC01> { [ U094b, U0913 ] };
+ key <AC02> { [ U0947, U090f ] };
+ key <AC03> { [ U094d, U0905 ] };
+ key <AC04> { [ U093f, U0907, U0962, U090c ] };
+ key <AC05> { [ U0941, U0909 ] };
+ key <AC06> { [ U092a, U092b, NoSymbol, U095e ] };
+ key <AC07> { [ U0930, U0931 ] };
+ key <AC08> { [ U0915, U0916, U0958, U0959 ] };
+ key <AC09> { [ U0924, U0925 ] };
+ key <AC10> { [ U091a, U091b, U0952 ] };
+ key <AC11> { [ U091f, U0920, NoSymbol, U0951 ] };
+
+ key <AB01> { [ U0946, U090e, U0953 ] };
+ key <AB02> { [ U0902, U0901, NoSymbol, U0950 ] };
+ key <AB03> { [ U092e, U0923, U0954 ] };
+ key <AB04> { [ U0928, U0929 ] };
+ key <AB05> { [ U0935, U0934 ] };
+ key <AB06> { [ U0932, U0933 ] };
+ key <AB07> { [ U0938, U0936 ] };
+ key <AB08> { [ comma, U0937, U0970 ] };
+ key <AB09> { [ period, U0964, U0965, U093d ] };
+ // I added \ / ? | for shell-convenience (file names and piping)
+ key <AB10> { [ U092f, U095f, slash, question ] };
+
+ // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ):
+ include "nbsp(zwnj3zwj4)"
+};
+
+//Name : Bolnagri (Combined)
+//Description : A phonetic keyboard layout for Devnagari(Hindi)
+// http://www.indlinux.org/wiki/index.php/BolNagri
+//NOTE : This is a combined map of bolnagri_matras and bolnagri_vowels.
+//Inspired by "devrom" keymap by Steve Smith for the windows tool "keyman"
+//Original Author : Noah Levitt<nlevitt at columbia.edu>
+//Past Authors : Pramod.R <pramodr at gmail.com> and Ravikant <ravikant at sarai.net>
+// Current Main.: G Karunakar <karunakar@sarai.net>
+
+partial alphanumeric_keys
+xkb_symbols "bolnagri" {
+ name[Group1] = "India - Hindi Bolnagri";
+ key.type="FOUR_LEVEL";
+ //Top Alphanumeric row
+ // Roman digits
+ key <TLDE> { [ U0902, U0901, apostrophe, asciitilde ] }; // apostrophe: anusvara, candrabindu
+ key <AE01> { [ 1, exclam, U0967, exclam ] };
+ key <AE02> { [ 2, at, U0968, at ] };
+ key <AE03> { [ 3, numbersign, U0969, numbersign ] };
+ key <AE04> { [ 4, dollar, U096A, dollar ] };
+ key <AE05> { [ 5, percent, U096B, percent ] };
+ key <AE06> { [ 6, asciicircum, U096C, asciicircum ] };
+ key <AE07> { [ 7, ampersand, U096D, ampersand ] };
+ key <AE08> { [ 8, asterisk, U096E, asterisk ] };
+ key <AE09> { [ 9, parenleft, U096F, parenleft ] };
+ key <AE10> { [ 0, parenright, U0966, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSL> { [ U0964, U0965, U007C, U005C ] }; //pipe : danda, double danda
+
+ //Q Row
+ key <AD01> { [ U200C, U200D ] }; // Q: ZWNJ, ZWJ
+ key <AD02> { [ U0935, U950 ] }; // W: wa, OM
+ key <AD03> { [ U0947, U0948, U090F, U0910 ] }; // E: e, ai matras
+ key <AD04> { [ U0930, U0943 ] }; // R: ra, vocalic Ri
+ key <AD05> { [ U0924, U0925 ] }; // T: ta, tha
+ key <AD06> { [ U092f, U091E ] }; // Y: ya, nya
+ key <AD07> { [ U0941, U0942, U0909, U090A ] }; // U: u, uu matras
+ key <AD08> { [ U093F, U0940, U0907, U0908 ] }; // I: i, ii matras
+ key <AD09> { [ U094B, U094C, U0913, U0914 ] }; // O: o, au matras
+ key <AD10> { [ U092A, U092B ] }; // P: pa, pha
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+
+ //A Row
+ key <AC01> { [ U093E, U0906, U0905, U0906 ] }; // A: aa
+ key <AC02> { [ U0938, U0937 ] }; // S: sa, ssa
+ key <AC03> { [ U0926, U0927 ] }; // D: da, dha
+ key <AC04> { [ U091F, U0920 ] }; // F: TA, THA
+ key <AC05> { [ U0917, U0918 ] }; // G: ga, gha
+ key <AC06> { [ U0939, U0903 ] }; // H: ha, visarg
+ key <AC07> { [ U091C, U091D ] }; // J: ja, jha
+ key <AC08> { [ U0915, U0916 ] }; // K: ka, kha
+ key <AC09> { [ U0932, U0962 ] }; // L: la, vocalic L or lru matra`
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [apostrophe, quotedbl ] };
+
+ //Z Row
+ key <AB01> { [ U0936, U0945 ] }; // Z: sha, akaar candra
+ key <AB02> { [ U094D, U0949 ] }; // X: halant, aakaar candra
+ key <AB03> { [ U091A, U091B ] }; // C: ca, cha
+ key <AB04> { [ U0921, U0922 ] }; // V: da, dha
+ key <AB05> { [ U092C, U092D ] }; // B: ba, bha
+ key <AB06> { [ U0928, U0923 ] }; // N: na, nha
+ key <AB07> { [ U092E, U093D, U092E, U093D ] }; // M: ma, avagraha
+ key <AB08> { [ comma, U0970 ] };// comma: comma, dev abbreviation sign
+ key <AB09> { [ period, U093C ] }; // period: period, nukta
+ key <AB10> { [ slash, question ] };
+
+ // begin modifier mappings
+// modifier_map Shift { Shift_L };
+// modifier_map Lock { Caps_Lock };
+// modifier_map Control{ Control_L };
+// modifier_map Mod3 { Mode_switch };
+ include "level3(ralt_switch)"
+};
+
+// based on a keyboard map from an 'xkb/symbols/ben' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/ben,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial alphanumeric_keys
+xkb_symbols "ben" {
+ name[Group1]= "India - Bengali";
+
+ // Mainly numbers.
+ key <AE01> { [ U09E7 ] };
+ key <AE02> { [ U09E8 ] };
+ key <AE03> { [ U09E9 ] };
+ key <AE04> { [ U09EA ] };
+ key <AE05> { [ U09EB ] };
+ key <AE06> { [ U09EC ] };
+ key <AE07> { [ U09ED ] };
+ key <AE08> { [ U09EE ] };
+ key <AE09> { [ U09EF, parenleft ] };
+ key <AE10> { [ U09E6, parenright ] };
+ key <AE11> { [ minus, U0983 ] };
+ key <AE12> { [ U098B, U09C3 ] };
+
+// Mainly long vowels
+
+ key <AD01> { [ U09CC, U0994 ] };
+ key <AD02> { [ U09C8, U0990 ] };
+ key <AD03> { [ U09BE, U0986 ] };
+ key <AD04> { [ U09C0, U0988 ] };
+ key <AD05> { [ U09C2, U098A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [ U09AC, U09AD ] };
+ key <AD07> { [ U09B9, U0999 ] };
+ key <AD08> { [ U0997, U0998 ] };
+ key <AD09> { [ U09A6, U09A7 ] };
+ key <AD10> { [ U099C, U099D ] };
+ key <AD11> { [ U09A1, U09A2 ] };
+ key <AD12> { [ U09BC, U099E ] };
+
+// Mainly short vowels
+ key <AC01> { [ U09CB, U0993 ] };
+ key <AC02> { [ U09C7, U098F ] };
+ key <AC03> { [ U09CD, U0985 ] };
+ key <AC04> { [ U09BF, U0987 ] };
+ key <AC05> { [ U09C1, U0989 ] };
+
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [ U09AA, U09AB ] };
+ key <AC07> { [ U09B0, U09DD ] };
+ key <AC08> { [ U0995, U0996 ] };
+ key <AC09> { [ U09A4, U09A5 ] };
+ key <AC10> { [ U099A, U099B ] };
+ key <AC11> { [ U099F, U09A0 ] };
+ key <BKSL> { [ U005C, U007C ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ U0982, U0981 ] };
+ key <AB03> { [ U09AE, U09A3 ] };
+ key <AB04> { [ U09A8, U09A8 ] };
+ key <AB05> { [ U09AC, U09AC ] };
+ key <AB06> { [ U09B2, U09B2 ] };
+ key <AB07> { [ U09B8, U09B6 ] };
+ key <AB08> { [ comma, U09B7 ] };
+ key <AB09> { [ period, U0964 ] };
+ key <AB10> { [ U09DF, U09AF ] };
+};
+
+xkb_symbols "ben_probhat" {
+ name[Group1]= "India - Bengali Probhat";
+ key <ESC> { [ Escape ] };
+
+// numbers
+ key <TLDE> { [ U200D, asciitilde ] };
+ key <AE01> { [ U09E7, exclam ] };
+ key <AE02> { [ U09E8, at ] };
+ key <AE03> { [ U09E9, numbersign ] };
+ key <AE04> { [ U09EA, U09F3 ] };
+ key <AE05> { [ U09EB, percent ] };
+ key <AE06> { [ U09EC, asciicircum ] };
+ key <AE07> { [ U09ED, U099E ] };
+ key <AE08> { [ U09EE, U09CE ] };
+ key <AE09> { [ U09EF, parenleft ] };
+ key <AE10> { [ U09E6, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSP> { [ BackSpace ] };
+
+// tab, q to ]
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ U09A6, U09A7 ] };
+ key <AD02> { [ U09C2, U098A ] };
+ key <AD03> { [ U09C0, U0988 ] };
+ key <AD04> { [ U09B0, U09DC ] };
+ key <AD05> { [ U099F, U09A0 ] };
+ key <AD06> { [ U098F, U0990 ] };
+ key <AD07> { [ U09C1, U0989 ] };
+ key <AD08> { [ U09BF, U0987 ] };
+ key <AD09> { [ U0993, U0994 ] };
+ key <AD10> { [ U09AA, U09AB ] };
+ key <AD11> { [ U09C7, U09C8 ] };
+ key <AD12> { [ U09CB, U09CC ] };
+ key <RTRN> { [ Return ] };
+
+// caps, a to '
+// key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ U09BE, U0985 ] };
+ key <AC02> { [ U09B8, U09B7 ] };
+ key <AC03> { [ U09A1, U09A2 ] };
+ key <AC04> { [ U09A4, U09A5 ] };
+ key <AC05> { [ U0997, U0998 ] };
+ key <AC06> { [ U09B9, U0983 ] };
+ key <AC07> { [ U099C, U099D ] };
+ key <AC08> { [ U0995, U0996 ] };
+ key <AC09> { [ U09B2, U0982 ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+
+// shift, z to /
+// key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ U09DF, U09AF ] };
+ key <AB02> { [ U09B6, U09DD ] };
+ key <AB03> { [ U099A, U099B ] };
+ key <AB04> { [ U0986, U098B ] };
+ key <AB05> { [ U09AC, U09AD ] };
+ key <AB06> { [ U09A8, U09A3 ] };
+ key <AB07> { [ U09AE, U0999 ] };
+ key <AB08> { [ comma, U09C3 ] };
+ key <AB09> { [ U0964, U0981 ] };
+ key <AB10> { [ U09CD, question ] };
+ key <BKSL> { [ U200C, U0965 ] };
+
+// key <LCTL> { [ Control_L ] };
+// key <SPCE> { [ space ] };
+
+// modifier_map Shift { Shift_L };
+// modifier_map Lock { Caps_Lock };
+// modifier_map Control{ Control_L };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "guj" {
+ name[Group1]= "India - Gujarati";
+
+ // Mainly numbers.
+ key <AE01> { [ U0AE7, U0A8D ] };
+ key <AE02> { [ U0AE8, U0AC5 ] };
+ key <AE03> { [ U0AE9 ] };
+ key <AE04> { [ U0AEA ] };
+ key <AE05> { [ U0AEB ] };
+ key <AE06> { [ U0AEC ] };
+ key <AE07> { [ U0AED ] };
+ key <AE08> { [ U0AEE ] };
+ key <AE09> { [ U0AEF, parenleft ] };
+ key <AE10> { [ U0AE6, parenright ] };
+ key <AE11> { [ minus, U0A83 ] };
+ key <AE12> { [ U0A8B, U0AC3 ] };
+
+// Mainly long vowels
+
+ key <AD01> { [ U0ACC, U0A94 ] };
+ key <AD02> { [ U0AC8, U0A90 ] };
+ key <AD03> { [ U0ABE, U0A86 ] };
+ key <AD04> { [ U0AC0, U0A88 ] };
+ key <AD05> { [ U0AC2, U0A8A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [ U0AAC, U0AAD ] };
+ key <AD07> { [ U0AB9, U0A99 ] };
+ key <AD08> { [ U0A97, U0A98 ] };
+ key <AD09> { [ U0AA6, U0AA7 ] };
+ key <AD10> { [ U0A9C, U0A9D ] };
+ key <AD11> { [ U0AA1, U0AA2 ] };
+ key <AD12> { [ U0ABC, U0A9E ] };
+
+// Mainly short vowels
+ key <AC01> { [ U0ACB, U0A93 ] };
+ key <AC02> { [ U0AC7, U0A8F ] };
+ key <AC03> { [ U0ACD, U0A85 ] };
+ key <AC04> { [ U0ABF, U0A87 ] };
+ key <AC05> { [ U0AC1, U0A89 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [ U0AAA, U0AAB ] };
+ key <AC07> { [ U0AB0, U0AB0 ] };
+ key <AC08> { [ U0A95, U0A96 ] };
+ key <AC09> { [ U0AA4, U0AA5 ] };
+ key <AC10> { [ U0A9A, U0A9B ] };
+ key <AC11> { [ U0A9F, U0AA0 ] };
+ key <BKSL> { [ U0AC9, U0A91 ] };
+
+ key <AB01> { [ z , Z ] };
+ key <AB02> { [ U0A82, U0A81 ] };
+ key <AB03> { [ U0AAE, U0AA3 ] };
+ key <AB04> { [ U0AA8, U0AA8 ] };
+ key <AB05> { [ U0AB5, U0AB5 ] };
+ key <AB06> { [ U0AB2, U0AB3 ] };
+ key <AB07> { [ U0AB8, U0AB6 ] };
+ key <AB08> { [ comma, U0AB7 ] };
+ key <AB09> { [ period, U0964 ] };
+ key <AB10> { [ U0AAF, question ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "kan" {
+
+ // Inscript layout for Kannada
+ // Author : G Karunakar <karunakar@freedomink.org>
+ // Date : Wed Nov 13 17:22:58 IST 2002
+ // Kannada digits mapped in basic only
+
+ name[Group1]= "India - Kannada";
+
+ key <TLDE> { [ U0cca, U0c92 ] };
+ key <AE01> { [ U0ce7 ] };
+ key <AE02> { [ U0ce8 ] };
+ key <AE03> { [ U0ce9 ] };
+ key <AE04> { [ U0cea ] };
+ key <AE05> { [ U0ceb ] };
+ key <AE06> { [ U0cec ] };
+ key <AE07> { [ U0ced ] };
+ key <AE08> { [ U0cee ] };
+ key <AE09> { [ U0cef ] };
+ key <AE10> { [ U0ce6 ] };
+ key <AE11> { [ U0c83 ] };
+ key <AE12> { [ U0cc3, U0c8b ] };
+
+ key <AD01> { [ U0ccc, U0c94 ] };
+ key <AD02> { [ U0cc8, U0c90 ] };
+ key <AD03> { [ U0cbe, U0c86 ] };
+ key <AD04> { [ U0cc0, U0c88 ] };
+ key <AD05> { [ U0cc2, U0c8a ] };
+ key <AD06> { [ U0cac, U0cad ] };
+ key <AD07> { [ U0cb9, U0c99 ] };
+ key <AD08> { [ U0c97, U0c98 ] };
+ key <AD09> { [ U0ca6, U0ca7 ] };
+ key <AD10> { [ U0c9c, U0c9d ] };
+ key <AD11> { [ U0ca1, U0ca2 ] };
+ key <AD12> { [ U0cbc, U0c9e ] };
+
+ key <AC01> { [ U0ccb, U0c93 ] };
+ key <AC02> { [ U0cc7, U0c8f ] };
+ key <AC03> { [ U0ccd, U0c85 ] };
+ key <AC04> { [ U0cbf, U0c87 ] };
+ key <AC05> { [ U0cc1, U0c89 ] };
+ key <AC06> { [ U0caa, U0cab ] };
+ key <AC07> { [ U0cb0, U0cb1 ] };
+ key <AC08> { [ U0c95, U0c96 ] };
+ key <AC09> { [ U0ca4, U0ca5 ] };
+ key <AC10> { [ U0c9a, U0c9b ] };
+ key <AC11> { [ U0c9f, U0ca0 ] };
+
+ key <AB01> { [ U0cc6, U0c8e ] };
+ key <AB02> { [ U0c82 ] };
+ key <AB03> { [ U0cae, U0ca3 ] };
+ key <AB04> { [ U0ca8 ] };
+ key <AB05> { [ U0cb5, U0cb4 ] };
+ key <AB06> { [ U0cb2, U0cb3 ] };
+ key <AB07> { [ U0cb8, U0cb6 ] };
+ key <AB08> { [ comma , U0cb7 ] };
+ key <AB09> { [ period ] };
+ key <AB10> { [ U0caf, U0040 ] };
+
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods = AltGr
+ };
+
+};
+
+// Description : A keymap for Malayalam
+// Encoding : Unicode (http://www.unicode.org)
+// Author : Baiju M <baiju@freeshell.org>
+// Date : Sat Aug 17 21:10:48 IST 2002
+// Mapping:
+
+partial alphanumeric_keys
+xkb_symbols "mal" {
+
+ name[Group1] = "India - Malayalam";
+
+ //From grave to backslash (\)
+
+ key <TLDE> { [ U0d4a , U0d12 ] };
+
+// svu:
+// These lines were in former "mal" variant -
+// but the digits are replaced with the ones from 'mal_plusnum' -
+// for the integrity of all Indian layouts
+//
+// key <AE01> { [1 , exclam ] };
+// key <AE02> { [2 , at ] };
+// key <AE03> { [3 , numbersign ] };
+// key <AE04> { [4 , dollar ] };
+// key <AE05> { [5 , percent ] };
+// key <AE06> { [6 ,asciicircum ] };
+// key <AE07> { [7 , ampersand ] };
+// key <AE08> { [8 , asterisk ] };
+// key <AE09> { [9 , parenleft ] };
+// key <AE10> { [0 , parenright ] };
+
+ key <AE01> { [ U0d67 , exclam ] };
+ key <AE02> { [ U0d68 , at ] };
+ key <AE03> { [ U0d69 , numbersign ] };
+ key <AE04> { [ U0d6a , dollar ] };
+ key <AE05> { [ U0d6b , percent ] };
+ key <AE06> { [ U0d6c , asciicircum ] };
+ key <AE07> { [ U0d6d , ampersand ] };
+ key <AE08> { [ U0d6e , asterisk ] };
+ key <AE09> { [ U0d6f , parenleft ] };
+ key <AE10> { [ U0d66 , parenright ] };
+
+ key <AE11> { [ minus , U0d03 ] };
+ key <AE12> { [ U0d43 , U0d0b ] };
+ key <BKSL> { [U0200c, U05C ]};//bksl: ZWNJ
+
+
+ // From 'q' to right bracket (])
+
+ key <AD01> { [ U0d4c , U0d14 ] };
+ key <AD02> { [ U0d48 , U0d10 ] };
+ key <AD03> { [ U0d3e , U0d06 ] };
+ key <AD04> { [ U0d40 , U0d08 ] };
+ key <AD05> { [ U0d42 , U0d0a ] };
+ key <AD06> { [ U0d2c , U0d2d ] };
+ key <AD07> { [ U0d39 , U0d19 ] };
+ key <AD08> { [ U0d17 , U0d18 ] };
+ key <AD09> { [ U0d26 , U0d27 ] };
+ key <AD10> { [ U0d1c , U0d1d ] };
+ key <AD11> { [ U0d21 , U0d22 ] };
+ key <AD12> { [ U0200d , U0d1e ] };
+
+ // From 'a' to apostrophe (')
+
+ key <AC01> { [ U0d4b , U0d13 ] };
+ key <AC02> { [ U0d47 , U0d0f ] };
+ key <AC03> { [ U0d4d , U0d05 ] };
+ key <AC04> { [ U0d3f , U0d07 ] };
+ key <AC05> { [ U0d41 , U0d09 ] };
+ key <AC06> { [ U0d2a , U0d2b ] };
+ key <AC07> { [ U0d30 , U0d31 ] };
+ key <AC08> { [ U0d15 , U0d16 ] };
+ key <AC09> { [ U0d24 , U0d25 ] };
+ key <AC10> { [ U0d1a , U0d1b ] };
+ key <AC11> { [ U0d1f , U0d20 ] };
+
+ // From 'z' to slash (/)
+
+ key <AB01> { [ U0d46 , U0d0e ] };
+ key <AB02> { [ U0d02 , U200b ] };//X:ZWSP
+ key <AB03> { [ U0d2e , U0d23 ] };
+ key <AB04> { [ U0d28 ] };
+ key <AB05> { [ U0d35 , U0d34 ] };
+ key <AB06> { [ U0d32 , U0d33 ] };
+ key <AB07> { [ U0d38 , U0d36 ] };
+ key <AB08> { [ comma , U0d37 ] };
+ key <AB09> { [ period , U0200d ] };
+ key <AB10> { [ U0d2f , question ] };
+
+};
+
+//Name : Lalitha
+//Description : A transliteration keyboard layout for Malayalam
+//Original Author : Noah Levitt<nlevitt at columbia.edu>
+//Current Main : Jinesh K.J<jinesh.k@gmail.com>, Swathantra Malayalam Computing (SMC)<smc-discuss@googlegroups.com>
+
+partial alphanumeric_keys
+xkb_symbols "mal_lalitha" {
+ name[Group1] = "India - Malayalam Lalitha";
+ key.type="FOUR_LEVEL";
+ //Top Alphanumeric row
+ // Roman digits
+ key <TLDE> { [ U0D4D, U0D02, apostrophe, asciitilde ] }; // apostrophe: virama(chandrakala),anusvara
+ key <AE01> { [ 1, exclam, U0D67, exclam ] };
+ key <AE02> { [ 2, at, U0D68, at ] };
+ key <AE03> { [ 3, numbersign, U0D69, numbersign ] };
+ key <AE04> { [ 4, dollar, U0D6A, dollar ] };
+ key <AE05> { [ 5, percent, U0D6B, percent ] };
+ key <AE06> { [ 6, asciicircum, U0D6C, asciicircum ] };
+ key <AE07> { [ 7, ampersand, U0D6D, ampersand ] };
+ key <AE08> { [ 8, asterisk, U0D6E, asterisk ] };
+ key <AE09> { [ 9, parenleft, U0D6F, parenleft ] };
+ key <AE10> { [ 0, parenright, U0D66, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSL> { [ U005C, U007C, U200C ] };//backslash:pipe,backslash,ZWNJ
+
+ //Q Row
+ key <AD01> { [ U0D48, U0D4C, U0D10, U0D14 ] }; // Q: ai and au matras
+ key <AD02> { [ U0D35 ] }; // W: wa, OM
+ key <AD03> { [ U0D46, U0D47, U0D0E, U0D0F ] }; // E: e,ee matras
+ key <AD04> { [ U0D30, U0D31, U0D43, U0D0B ] }; // R: ra,rra, vocalic Ri
+ key <AD05> { [ U0D24, U0D25, U0D1F, U0D20 ] }; // T: tha, ttha,ta,tta
+ key <AD06> { [ U0D2f ] }; // Y: ya
+ key <AD07> { [ U0D41, U0D42, U0D09, U0D0A ] }; // U: u, uu matras
+ key <AD08> { [ U0D3F, U0D40, U0D07, U0D08 ] }; // I: i, ii matras
+ key <AD09> { [ U0D4A, U0D4B, U0D12, U0D13 ] }; // O: o, oo matras
+ key <AD10> { [ U0D2A ] }; // P: pa
+ key <AD11> { [ bracketleft, braceleft ] };//braceleft:
+ key <AD12> { [ bracketright, braceright ] };//braceright:
+
+ //A Row
+ key <AC01> { [ U0D3E, U0D05, U0D06, U0D05 ] }; // A: a,aa
+ key <AC02> { [ U0D38, U0D37 ] }; // S: sa, ssa
+ key <AC03> { [ U0D26, U0D27, U0D21, U0D22 ] }; // D: soft da,soft dda,hard da,hard dda,
+ key <AC04> { [ U0D2B ] }; // F: pha
+ key <AC05> { [ U0D17, U0D18 ] }; // G: ga, gha
+ key <AC06> { [ U0D39, U0D03 ] }; // H: ha, visarg
+ key <AC07> { [ U0D1C, U0D1D ] }; // J: ja, jha
+ key <AC08> { [ U0D15, U0D16 ] }; // K: ka, kha
+ key <AC09> { [ U0D32, U0D33 ] }; // L: la, vocalic L or lru matra`
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [apostrophe, quotedbl ] };
+
+ //Z Row
+ key <AB01> { [ U0D34, U0D36 ] }; // Z: sha,zha
+ key <AB02> { [ U0D4D, U200B ] }; // X: chandrakala,ZWSP
+ key <AB03> { [ U0D1A, U0D1B ] }; // C: ca, cha
+ key <AB04> { [ U0D35, U200D ] }; // V: va,ZWJ
+ key <AB05> { [ U0D2C, U0D2D ] }; // B: ba, bha
+ key <AB06> { [ U0D28, U0D23, U0D19, U0D1E ] }; // N: na, hard na,nga,nha
+ key <AB07> { [ U0D2E, U0D02 ] }; // M: ma
+ key <AB08> { [ comma, U003C ] };// comma: comma
+ key <AB09> { [ period, U003E ] }; // period: period
+ key <AB10> { [ slash, question ] };
+
+ // begin modifier mappings
+// modifier_map Shift { Shift_L };
+// modifier_map Lock { Caps_Lock };
+// modifier_map Control{ Control_L };
+// modifier_map Mod3 { Mode_switch };
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "ori" {
+ // Inscript layout for Oriya
+ // Author: G Karunakar <karunakar@freedomink.org>
+ // Date: Wed Nov 13 18:16:19 IST 2002
+
+ name[Group1]= "India - Oriya";
+
+ key <AE01> { [ U0b67 ] };
+ key <AE02> { [ U0b68 ] };
+ key <AE03> { [ U0b69 ] };
+ key <AE04> { [ U0b6a ] };
+ key <AE05> { [ U0b6b ] };
+ key <AE06> { [ U0b6c ] };
+ key <AE07> { [ U0b6d ] };
+ key <AE08> { [ U0b6e ] };
+ key <AE09> { [ U0b6f ] };
+ key <AE10> { [ U0b66 ] };
+ key <AE11> { [ U0b03 ] };
+ key <AE12> { [ U0b43, U0b0b ] };
+
+ key <AD01> { [ U0b4c, U0b14 ] };
+ key <AD02> { [ U0b48, U0b10 ] };
+ key <AD03> { [ U0b3e, U0b06 ] };
+ key <AD04> { [ U0b40, U0b08 ] };
+ key <AD05> { [ U0b42, U0b0a ] };
+ key <AD06> { [ U0b2c, U0b2d ] };
+ key <AD07> { [ U0b39, U0b19 ] };
+ key <AD08> { [ U0b17, U0b18 ] };
+ key <AD09> { [ U0b26, U0b27 ] };
+ key <AD10> { [ U0b1c, U0b1d ] };
+ key <AD11> { [ U0b21, U0b22 ] };
+ key <AD12> { [ U0b3c, U0b1e ] };
+
+ key <AC01> { [ U0b4b, U0b13 ] };
+ key <AC02> { [ U0b47, U0b0f ] };
+ key <AC03> { [ U0b4d, U0b05 ] };
+ key <AC04> { [ U0b3f, U0b07 ] };
+ key <AC05> { [ U0b41, U0b09 ] };
+ key <AC06> { [ U0b2a, U0b2b ] };
+ key <AC07> { [ U0b30 ] };
+ key <AC08> { [ U0b15, U0b16 ] };
+ key <AC09> { [ U0b24, U0b25 ] };
+ key <AC10> { [ U0b1a, U0b1b ] };
+ key <AC11> { [ U0b1f, U0b20 ] };
+
+ key <AB02> { [ U0b02, U0b01 ] };
+ key <AB03> { [ U0b2e, U0b23 ] };
+ key <AB04> { [ U0b28 ] };
+ key <AB05> { [ U0b35 ] };
+ key <AB06> { [ U0b32, U0b33 ] };
+ key <AB07> { [ U0b38, U0b36 ] };
+ key <AB08> { [ comma , U0b37 ] };
+ key <AB09> { [ period ] };
+ key <AB10> { [ U0b2f, U0040 ] };
+
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods = AltGr
+ };
+};
+
+// based on a keyboard map from an 'xkb/symbols/tml' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/tml,v 1.2 2002/11/22 04:03:28 dawes Exp $
+// INSCRIPT
+partial alphanumeric_keys
+xkb_symbols "tam" {
+ name[Group1]= "India - Tamil";
+
+ key <TLDE> { [ U0BCA, U0B92 ] };
+
+ // Mainly numbers.
+ key <AE01> { [ U0BE7 ] };
+ key <AE02> { [ U0BE8 ] };
+ key <AE03> { [ U0BE9 ] };
+ key <AE04> { [ U0BEA ] };
+ key <AE05> { [ U0BEB ] };
+ key <AE06> { [ U0BEC ] };
+ key <AE07> { [ U0BED ] };
+ key <AE08> { [ U0BEE ] };
+ key <AE09> { [ U0BEF, parenleft ] };
+ key <AE10> { [ U0BF0, parenright ] };
+ key <AE11> { [ U0BF1, U0B83 ] };
+ key <AE12> { [ U0BF2, plus ] };
+
+// Mainly long vowels
+
+ key <AD01> { [ U0BCC, U0B94 ] };
+ key <AD02> { [ U0BC8, U0B90 ] };
+ key <AD03> { [ U0BBE, U0B86 ] };
+ key <AD04> { [ U0BC0, U0B88 ] };
+ key <AD05> { [ U0BC2, U0B8A ] };
+
+// Mainly voiced consonants
+
+ key <AD07> { [ U0BB9, U0B99 ] };
+ key <AD10> { [ U0B9c ] };
+ key <AD12> { [ U0B9E ] };
+
+// Mainly short vowels
+ key <AC01> { [ U0BCB, U0B93 ] };
+ key <AC02> { [ U0BC7, U0B8F ] };
+ key <AC03> { [ U0BCD, U0B85 ] };
+ key <AC04> { [ U0BBF, U0B87 ] };
+ key <AC05> { [ U0BC1, U0B89 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [ U0BAA ] };
+ key <AC07> { [ U0BB0, U0BB1 ] };
+ key <AC08> { [ U0B95 ] };
+ key <AC09> { [ U0BA4 ] };
+ key <AC10> { [ U0B9A ] };
+ key <AC11> { [ U0B9F ] };
+ key <BKSL> { [ U005C, U007C ] };//backslash-bar - Changed to Unicode
+
+ key <AB01> { [ U0BC6, U0B8E ] };
+ key <AB02> { [ U0B82 ] };
+ key <AB03> { [ U0BAE, U0BA3 ] };
+ key <AB04> { [ U0BA8, U0BA9 ] };
+ key <AB05> { [ U0BB5, U0BB4 ] };
+ key <AB06> { [ U0BB2, U0BB3 ] };
+ key <AB07> { [ U0BB8, U0BB6 ] };
+ key <AB08> { [ comma, U0BB7 ] };
+ key <AB09> { [ period, U0964 ] };
+ key <AB10> { [ U0BAF, question ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_unicode" {
+
+// Description: A keymap based on the TamilNet'99 typewriter keyboard
+// Encoding: Unicode (http://www.unicode.org)
+// Author: Thuraiappah Vaseeharan <vasee@ieee.org>
+// Modifed by: Malathi S <malathiramya@gmail.com>
+// Secondary contact: Sri Ramadoss M <amachu@au-kbc.org>
+// Date : Fri Sep 4 11:32:00 CST 2009
+// Mapping:
+
+ name[Group1]= "India - Tamil Unicode";
+
+ // granthas
+ key <TLDE> { [ apostrophe, asciitilde ] };
+ key <AE01> { [ U0031, exclam ] } ;
+ key <AE02> { [ U0032, at ] } ;
+ key <AE03> { [ U0033, numbersign ] } ;
+ key <AE04> { [ U0034, U0BF9 ] } ;
+ key <AE05> { [ U0035, percent ] } ;
+ key <AE06> { [ U0036, asciicircum ] } ;
+ key <AE07> { [ U0037, ampersand ] } ;
+ key <AE08> { [ U0038, asterisk ] } ;
+ key <AE09> { [ U0039, parenleft ] } ;
+ key <AE10> { [ U0030, parenright ] } ;
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+
+ // Qrow
+ key <AD01> { [ U0B9E, U0BB6 ] };
+ key <AD02> { [ U0BB1, U0BB7 ] };
+ key <AD03> { [ U0BA8, U0BB8 ] };
+ key <AD04> { [ U0B9A, U0BB9 ] };
+ key <AD05> { [ U0BB5, U0B9C ] };
+ key <AD06> { [ U0BB2 ] };
+ key <AD07> { [ U0BB0 ] };
+ key <AD08> { [ U0BC8, U0B90 ] };
+ key <AD09> { [ U0BCA, U0BCB ] };
+ key <AD10> { [ U0BBF, U0BC0 ] };
+ key <AD11> { [ U0BC1, U0BC2 ] };
+
+ // Arow
+ key <AC01> { [ U0BAF ] };
+ key <AC02> { [ U0BB3 ] };
+ key <AC03> { [ U0BA9 ] };
+ key <AC04> { [ U0B95 ] };
+ key <AC05> { [ U0BAA ] };
+ key <AC06> { [ U0BBE, U0BB4 ] };
+ key <AC07> { [ U0BA4 ] };
+ key <AC08> { [ U0BAE ] };
+ key <AC09> { [ U0B9F ] };
+ key <AC10> { [ U0BCD, U0B83 ] };
+ key <AC11> { [ U0B99 ] };
+
+ // Zrow
+ key <AB01> { [ U0BA3 ] };
+ key <AB02> { [ U0B92, U0B93 ] };
+ key <AB03> { [ U0B89, U0B8A ] };
+ key <AB04> { [ U0B8E, U0B8F ] };
+ key <AB05> { [ U0BC6, U0BC7 ] };
+ key <AB06> { [ U0B94, U0BCC ] };
+ key <AB07> { [ U0B85, U0B86 ] };
+ key <AB08> { [ U0B87, U0B88 ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_keyboard_with_numerals" {
+
+// Description: A keymap based on the TamilNet'99 typewriter keyboard
+// Encoding: Unicode (http://www.unicode.org)
+// Author: Malathi S <malathiramya@gmail.com>
+// Secondary contact: Sri Ramadoss M <amachu@au-kbc.org>
+// Date : Fri Sep 4 11:33:00 CST 2009
+// Mapping:
+
+ name[Group1]= "India - Tamil Keyboard with Numerals";
+
+ // Mainly numbers.
+ key <TLDE> { [ apostrophe, asciitilde ] };
+ key <AE01> { [ U0BE7, exclam ] };
+ key <AE02> { [ U0BE8, at ] };
+ key <AE03> { [ U0BE9, numbersign ] };
+ key <AE04> { [ U0BEA, U0BF9 ] };
+ key <AE05> { [ U0BEB, percent ] };
+ key <AE06> { [ U0BEC, asciicircum ] };
+ key <AE07> { [ U0BED, ampersand ] };
+ key <AE08> { [ U0BEE, asterisk ] };
+ key <AE09> { [ U0BEF, parenleft ] };
+ key <AE10> { [ U0BE6, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+
+ // Qrow
+ key <AD01> { [ U0B9E, U0BB6 ] };
+ key <AD02> { [ U0BB1, U0BB7 ] };
+ key <AD03> { [ U0BA8, U0BB8 ] };
+ key <AD04> { [ U0B9a, U0BB9 ] };
+ key <AD05> { [ U0BB5, U0B9c ] };
+ key <AD06> { [ U0BB2 ] };
+ key <AD07> { [ U0BB0 ] };
+ key <AD08> { [ U0BC8, U0B90 ] };
+ key <AD09> { [ U0BCA, U0BCB ] };
+ key <AD10> { [ U0BBF, U0BC0 ] };
+ key <AD11> { [ U0BC1, U0BC2 ] };
+
+ // Arow
+ key <AC01> { [ U0BAF ] };
+ key <AC02> { [ U0BB3 ] };
+ key <AC03> { [ U0BA9 ] };
+ key <AC04> { [ U0B95 ] };
+ key <AC05> { [ U0BAA ] };
+ key <AC06> { [ U0BBE, U0BB4 ] };
+ key <AC07> { [ U0BA4 ] };
+ key <AC08> { [ U0BAE ] };
+ key <AC09> { [ U0B9F ] };
+ key <AC10> { [ U0BCD, U0B83 ] };
+ key <AC11> { [ U0B99 ] };
+
+ // Zrow
+ key <AB01> { [ U0BA3 ] };
+ key <AB02> { [ U0B92, U0B93 ] };
+ key <AB03> { [ U0B89, U0B8A ] };
+ key <AB04> { [ U0B8E, U0B8F ] };
+ key <AB05> { [ U0BC6, U0BC7 ] };
+ key <AB06> { [ U0B94, U0BCC ] };
+ key <AB07> { [ U0B85, U0B86 ] };
+ key <AB08> { [ U0B87, U0B88 ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_TSCII" {
+
+// Description : A Tamil typewrite-style keymap
+// loosely based on TamilNet'99 reommendations
+// Encoding : TSCII (http://www.tscii.org)
+// Author : Thuraiappah Vaseeharan <vasee@ieee.org>
+// Last Modified: Sat Jan 5 17:11:26 CST 2002
+
+ name[Group1]= "India - Tamil TSCII Typewriter";
+
+ key <AE01> { [ 0x10000b7, 0x10000a4 ] }; // aytham
+ key <AE02> { [ 0x1000082, 0x10000a5 ] }; // shri
+ key <AE03> { [ 0x1000083, 0x1000088 ] }; // ja
+ key <AE04> { [ 0x1000084, 0x1000089 ] }; // sha
+ key <AE05> { [ 0x1000085, 0x100008a ] }; // sa
+ key <AE06> { [ 0x1000086, 0x100008b ] }; // ha
+ key <AE07> { [ 0x1000087, 0x100008c ] }; // ksha
+
+ // Qrow
+ key <AD01> { [ 0x10000bb, 0x100009a ] }; // nja
+ key <AD02> { [ 0x10000c8, 0x10000da ] }; // Ra
+ key <AD03> { [ 0x10000bf, 0x10000d1 ] }; // NNa
+ key <AD04> { [ 0x10000ba, 0x10000cd ] }; // ca
+ key <AD05> { [ 0x10000c5, 0x10000d7 ] }; // va
+ key <AD06> { [ 0x10000c4, 0x10000d6 ] }; // la
+ key <AD07> { [ 0x10000c3, 0x10000d5 ] }; // ra
+ key <AD08> { [ 0x10000a8, 0x10000b3 ] }; // sangili, ai
+ key <AD09> { [ 0x10000ca, 0x10000cb ] }; // di, dI
+ key <AD10> { [ 0x10000a2, 0x10000a3 ] }; // visiri
+ key <AD11> { [ dead_acute, 0x10000a3 ] }; // Ukaaram
+
+ // Arow
+ key <AC01> { [ 0x10000c2, 0x10000d4 ] }; // ya
+ key <AC02> { [ 0x10000c7, 0x10000d9 ] }; // La
+ key <AC03> { [ 0x10000c9, 0x10000db ] }; // na
+ key <AC04> { [ 0x10000b8, 0x10000cc ] }; // ka
+ key <AC05> { [ 0x10000c0, 0x10000d2 ] }; // pa
+ key <AC06> { [ dead_grave,0x10000a1 ] }; // pulli,aravu
+ key <AC07> { [ 0x10000be, 0x10000d0 ] }; // tha
+ key <AC08> { [ 0x10000c1, 0x10000d3 ] }; // ma
+ key <AC09> { [ 0x10000bc, 0x10000ce ] }; // da
+ key <AC10> { [ 0x10000c6, 0x10000d8 ] }; // zha
+ key <AC11> { [ 0x10000b9, 0x1000099 ] }; // nga
+
+ // Zrow
+ key <AB01> { [ 0x10000bd, 0x10000cf ] }; // Na
+ key <AB02> { [ 0x10000b4, 0x10000b5 ] }; // o, O
+ key <AB03> { [ 0x10000af, 0x10000b0 ] }; // u, U
+ key <AB04> { [ 0x10000b1, 0x10000b2 ] }; // e, E
+ key <AB05> { [ 0x10000a6, 0x10000a7 ] }; // kombus
+ key <AB06> { [ 0x10000b6, 0x10000aa ] }; // au
+ key <AB07> { [ 0x10000ab, 0x10000ac ] }; // a, A
+ key <AB08> { [ 0x10000fe, 0x10000ae ] }; // i, I
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_TAB" {
+
+// Description: A keymap based on the TamilNet'99 typewriter keyboard
+// Encoding: TAB (http://www.tamilnet99.org)
+// Author: Thuraiappah Vaseeharan <t_vasee@yahoo.com>
+// Date : Sun Aug 12 02:23:00 CDT 2001
+
+ name[Group1]= "India - Tamil TAB Typewriter";
+
+ // numeral row
+ key <AE01> { [ 0x10000e7, 0x10000a7 ] } ;
+ key <AE02> { [ 0x10000fa, 0x10000a8 ] } ;
+ key <AE03> { [ 0x10000fb ] } ;
+ key <AE04> { [ 0x10000fc ] } ;
+ key <AE05> { [ 0x10000fd ] } ;
+ key <AE06> { [ 0x10000fe ] } ;
+ key <AE07> { [ 0x10000ff ] } ;
+
+ // q-row
+ key <AD01> { [ 0x10000eb, 0x10000b3 ] };
+ key <AD02> { [ 0x10000f8, 0x10000c1 ] };
+ key <AD03> { [ 0x10000ef, 0x10000b8 ] };
+ key <AD04> { [ 0x10000ea, 0x10000b2 ] };
+ key <AD05> { [ 0x10000f5, 0x10000be ] };
+ key <AD06> { [ 0x10000f4, 0x10000bd ] };
+ key <AD07> { [ 0x10000f3, 0x10000bc ] };
+ key <AD08> { [ 0x10000ac, 0x10000e4 ] };
+ key <AD09> { [ 0x10000ae, 0x10000af ] };
+ key <AD10> { [ 0x10000a4, 0x10000a6 ] };
+ key <AD11> { [ dead_circumflex, 0x10000a6 ] }; // Ukaaram
+
+ // a-row
+ key <AC01> { [ 0x10000f2, 0x10000bb ] };
+ key <AC02> { [ 0x10000f7, 0x10000c0 ] };
+ key <AC03> { [ 0x10000f9, 0x10000c2 ] };
+ key <AC04> { [ 0x10000e8, 0x10000b0 ] };
+ key <AC05> { [ 0x10000f0, 0x10000b9 ] };
+ key <AC06> { [ 0x10000a2, 0x10000a3 ] };
+ key <AC07> { [ 0x10000ee, 0x10000b6 ] };
+ key <AC08> { [ 0x10000f1, 0x10000ba ] };
+ key <AC09> { [ 0x10000ec, 0x10000b4 ] };
+ key <AC10> { [ 0x10000f6, 0x10000bf ] };
+ key <AC11> { [ 0x10000e9, 0x10000b1 ] };
+
+ // z-row
+ key <AB01> { [ 0x10000ed, 0x10000b5 ] };
+ key <AB02> { [ 0x10000e5, 0x10000e6 ] };
+ key <AB03> { [ 0x10000e0, 0x10000e1 ] };
+ key <AB04> { [ 0x10000e2, 0x10000e3 ] };
+ key <AB05> { [ 0x10000aa, 0x10000ab ] };
+ key <AB06> { [ 0x10000ac, 0x10000a3 ] };
+ key <AB07> { [ 0x10000dc, 0x10000dd ] };
+ key <AB08> { [ 0x10000de, 0x10000df ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "tel" {
+
+ // Inscript layout for Telugu using Unicode
+ // Author: G Karunakar <karunakar@freedomink.org>
+ // Date:
+ // See layout at http://www.indlinux.org/keymap/telugu.php
+
+ name[Group1]= "India - Telugu";
+
+ key <TLDE> { [ U0c4a, U0c12 ] };
+ key <AE01> { [ U0c67 ] };
+ key <AE02> { [ U0c68 ] };
+ key <AE03> { [ U0c69, numbersign ] };
+ key <AE04> { [ U0c6a, dollar ] };
+ key <AE05> { [ U0c6b, percent ] };
+ key <AE06> { [ U0c6c, asciicircum ] };
+ key <AE07> { [ U0c6d, ampersand ] };
+ key <AE08> { [ U0c6e, asterisk ] };
+ key <AE09> { [ U0c6f, parenleft ] };
+ key <AE10> { [ U0c66, parenright ] };
+ key <AE11> { [ U0c03, underscore ] };
+ key <AE12> { [ U0c43, U0c0b ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <AD01> { [ U0c4c, U0c14 ] };
+ key <AD02> { [ U0c48, U0c10 ] };
+ key <AD03> { [ U0c3e, U0c06 ] };
+ key <AD04> { [ U0c40, U0c08 ] };
+ key <AD05> { [ U0c42, U0c0a ] };
+ key <AD06> { [ U0c2c, U0c2d ] };
+ key <AD07> { [ U0c39, U0c19 ] };
+ key <AD08> { [ U0c17, U0c18 ] };
+ key <AD09> { [ U0c26, U0c27 ] };
+ key <AD10> { [ U0c1c, U0c1d ] };
+ key <AD11> { [ U0c21, U0c22 ] };
+ key <AD12> { [ U0c1e ] };
+
+ key <AC01> { [ U0c4b, U0c13 ] };
+ key <AC02> { [ U0c47, U0c0f ] };
+ key <AC03> { [ U0c4d, U0c05 ] };
+ key <AC04> { [ U0c3f, U0c07 ] };
+ key <AC05> { [ U0c41, U0c09 ] };
+ key <AC06> { [ U0c2a, U0c2b ] };
+ key <AC07> { [ U0c30, U0c31 ] };
+ key <AC08> { [ U0c15, U0c16 ] };
+ key <AC09> { [ U0c24, U0c25 ] };
+ key <AC10> { [ U0c1a, U0c1b ] };
+ key <AC11> { [ U0c1f, U0c20 ] };
+
+ key <AB01> { [ U0c46, U0c0e ] };
+ key <AB02> { [ U0c02, U0c01 ] };
+ key <AB03> { [ U0c2e, U0c23 ] };
+ key <AB04> { [ U0c28 ] };
+ key <AB05> { [ U0c35 ] };
+ key <AB06> { [ U0c32, U0c33 ] };
+ key <AB07> { [ U0c38, U0c36 ] };
+ key <AB08> { [ comma , U0c37 ] };
+ key <AB09> { [ period ] };
+ key <AB10> { [ U0c2f, U0040 ] };
+
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods = AltGr
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "urd-phonetic" {
+ include "pk(urd-phonetic)"
+ name[Group1]= "India - Urdu, Phonetic";
+};
+
+partial alphanumeric_keys
+xkb_symbols "urd-phonetic3" {
+ include "pk(urd-crulp)"
+ name[Group1]= "India - Urdu, Alternative phonetic";
+};
+
+partial alphanumeric_keys
+xkb_symbols "urd-winkeys" {
+ include "pk(urd-nla)"
+ name[Group1]= "India - Urdu, Winkeys";
+};
+
+// based on a keyboard map from an 'xkb/symbols/gur' file
+
+partial alphanumeric_keys
+xkb_symbols "guru" {
+ name[Group1]= "India - Gurmukhi";
+
+ // Mainly numbers.
+ key <AE01> { [ U0A67 ] };
+ key <AE02> { [ U0A68 ] };
+ key <AE03> { [ U0A69, U0A71 ] };
+ key <AE04> { [ U0A6A, U0A74 ] };
+ key <AE05> { [ U0A6B, U262C ] };
+ key <AE06> { [ U0A6C ] };
+ key <AE07> { [ U0A6D ] };
+ key <AE08> { [ U0A6e ] };
+ key <AE09> { [ U0A6F, parenleft ] };
+ key <AE10> { [ U0A66, parenright ] };
+ key <AE11> { [ gur_visarga ] };
+ key <AE12> { [ equal, plus ] };
+
+// Mainly long vowels
+
+ key <AD01> { [ U0A4C, U0A14 ] };
+ key <AD02> { [ U0A48, U0A10 ] };
+ key <AD03> { [ U0A3E, U0A06 ] };
+ key <AD04> { [ U0A40, U0A08 ] };
+ key <AD05> { [ U0A42, U0A0A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [ U0A2C, U0A2D ] };
+ key <AD07> { [ U0A39, U0A19 ] };
+ key <AD08> { [ U0A17, U0A18 ] };
+ key <AD09> { [ U0A26, U0A27 ] };
+ key <AD10> { [ U0A1C, U0A1D ] };
+ key <AD11> { [ U0A21, U0A22 ] };
+ key <AD12> { [ U0A3C, U0A1E ] };
+
+// Mainly short vowels
+ key <AC01> { [ U0A4B, U0A13 ] };
+ key <AC02> { [ U0A47, U0A0F ] };
+ key <AC03> { [ U0A4D, U0A05 ] };
+ key <AC04> { [ U0A3F, U0A07 ] };
+ key <AC05> { [ U0A41, U0A09 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [ U0A2A, U0A2B ] };
+ key <AC07> { [ U0A30, U0A5C ] };
+ key <AC08> { [ U0A15, U0A16 ] };
+ key <AC09> { [ U0A24, U0A25 ] };
+ key <AC10> { [ U0A1A, U0A1B ] };
+ key <AC11> { [ U0A1F, U0A20 ] };
+ key <BKSL> { [ U005C, U007C ] };
+
+ key <AB01> { [ z, U0A01 ] };
+ key <AB02> { [ U0A02, U0A70, U0A71 ] };
+ key <AB03> { [ U0A2E, U0A23 ] };
+ key <AB04> { [ U0A28, U0A28 ] };
+ key <AB05> { [ U0A35, U0A35 ] };
+ key <AB06> { [ U0A32, U0A33 ] };
+ key <AB07> { [ U0A38, U0A36 ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, U0964 ] };
+ key <AB10> { [ U0A2F, question ] };
+};
+
+//Name : Jhelum (Refind Inscript)
+//Description : A Jhelum keyboard layout for Gurmukhi (Punjabi)
+// http://www.satluj.org/Jhelum.html
+//Modified for Inscript to make
+//Original Author : Amanpreet Singh Alam <apreet.alam@gmail.com
+
+partial alphanumeric_keys
+xkb_symbols "jhelum" {
+ name[Group1] = "India - Gurmukhi Jhelum";
+ key.type="FOUR_LEVEL";
+ //Top Alphanumeric row
+ // Roman digits
+ key <TLDE> { [ apostrophe, asciitilde, U0A02,U0A01 ] }; // apostrophe: anusvara, candrabindu
+ key <AE01> { [ 1,exclam, U0A67, exclam ] };
+ key <AE02> { [ 2,at, U0A68, at ] };
+ key <AE03> { [ 3,numbersign, U0A69, numbersign ] };
+ key <AE04> { [ 4,dollar, U0A6A, dollar ] };
+ key <AE05> { [ 5,percent,U0A6B, percent ] };
+ key <AE06> { [ 6,asciicircum, U0A6C,asciicircum ] };
+ key <AE07> { [ 7,ampersand,U0A6D,ampersand ] };
+ key <AE08> { [ 8,asterisk,U0A6E, asterisk ] };
+ key <AE09> { [ 9,parenleft,U0A6F,parenleft ] };
+ key <AE10> { [ 0,parenright,U0A66,parenright ] };
+ key <AE11> { [ minus,underscore] };
+ key <AE12> { [ equal,plus] };
+ key <BKSL> { [ U0964,U0965,U007C,U005C] }; //pipe : danda, double danda
+
+ //Q Row
+ key <AD01> { [ U0A4C, U0A14 ] }; // Q: oo, ooh
+ key <AD02> { [ U0A48, U0A10 ] }; // W: ee, ae
+ key <AD03> { [ U0A3E, U0A06 ] }; // E: a, aa
+ key <AD04> { [ U0A40, U0A08 ] }; // R: ee, ai
+ key <AD05> { [ U0A42, U0A0A ] }; // T: u, uu
+ key <AD06> { [ U0A30, U0A5C ] }; // Y: ra, raa
+ key <AD07> { [ U0A26, U0A27 ] }; // U: tha, thha
+ key <AD08> { [ U0A17, U0A18 ] }; // I:ga, gha
+ key <AD09> { [ U0A24, U0A1F ] }; // O: ta, tha
+ key <AD10> { [ U0A2A, U0A5E ] }; // P: pa, pha
+ key <AD11> { [ U0A21, U0A22, bracketleft, braceleft ] };
+ key <AD12> { [ U0A19, U0A1E, bracketright, braceright ] };
+
+ //A Row
+ key <AC01> { [ U0A4B, U0A13 ] }; // A: o, oo
+ key <AC02> { [ U0A40, U0A0F ] }; // S: e, ee
+ key <AC03> { [ U0A4D, U0A05 ] }; // D: halant, aa
+ key <AC04> { [ U0A3F, U0A07 ] }; // F: i, aa
+ key <AC05> { [ U0A41, U0A09 ] }; // G: u, uh
+ key <AC06> { [ U0A39, U0A20 ] }; // H: ha, thha
+ key <AC07> { [ U0A1C, U0A1D ] }; // J: ja, jha
+ key <AC08> { [ U0A15, U0A16 ] }; // K: ka, kha
+ key <AC09> { [ U0A32, U0A25 ] }; // L: la, tha
+ key <AC10> { [ U0A38, semicolon, colon ] }; //; sa
+ key <AC11> { [apostrophe, quotedbl ] };
+
+ //Z Row
+ key <AB01> { [ U0A71, U0A3C ] }; // Z: addak, par bindi
+ key <AB02> { [ U0A02, U0A70 ] }; // X: bindi, tippi
+ key <AB03> { [ U0A1A, U0A1B ] }; // C: ca, cha
+ key <AB04> { [ U0A35, U0A2F ] }; // V: va, ya
+ key <AB05> { [ U0A2C, U0A2D ] }; // B: ba, bha
+ key <AB06> { [ U0A28, U0A23 ] }; // N: na, nha
+ key <AB07> { [ U0A2E, U0A2E ] }; // M: ma
+ key <AB08> { [ comma, U262C ] };// comma: comma, dev abbreviation sign
+ key <AB09> { [ period, U0A74 ] }; // period: period, nukta
+ key <AB10> { [ slash, question ] };
+
+// begin modifier mappings
+// modifier_map Shift { Shift_L };
+// modifier_map Lock { Caps_Lock };
+// modifier_map Control{ Control_L };
+// modifier_map Mod3 { Mode_switch };
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+// Contact: Walter Bender <walter@laptop.org>
+
+ include "in(deva)"
+ key <TLDE> { [ U094A, U0912 ] }; // DEVANAGARI VOWEL SIGN SHORT O; DEVANAGARI LETTER SHORT O
+ key <AE01> { [ U0967, U090D ] }; // DEVANAGARI DIGIT ONE; DEVANAGARI LETTER CANDRA E
+ key <AE02> { [ U0968, U0945 ] }; // DEVANAGARI DIGIT TWO; DEVANAGARI VOWEL SIGN CANDRA E
+ key <AE03> { [ U0969 ] }; // DEVANAGARI DIGIT THREE;
+ key <AE04> { [ U096A ] }; // DEVANAGARI DIGIT FOUR;
+ key <AE05> { [ U096B ] }; // DEVANAGARI DIGIT FIVE;
+ key <AE06> { [ U096C ] }; // DEVANAGARI DIGIT SIX;
+ key <AE07> { [ U096D ] }; // DEVANAGARI DIGIT SEVEN;
+ key <AE08> { [ U096E ] }; // DEVANAGARI DIGIT EIGHT;
+ key <AE09> { [ U096F, parenleft ] }; // DEVANAGARI DIGIT NINE;
+ key <AE10> { [ U0966, parenright ] }; // DEVANAGARI DIGIT ZERO;
+ key <AE11> { [ minus, U0903 ] }; // DEVANAGARI SIGN VISARGA;
+ key <AE12> { [ U0943, U090B ] }; // DEVANAGARI VOWEL SIGN VOCALIC R; DEVANAGARI LETTER VOCALIC R
+
+ key <AD01> { [ U094C, U0914 ] }; // DEVANAGARI VOWEL SIGN AU; DEVANAGARI LETTER AU
+ key <AD02> { [ U0948, U0910 ] }; // DEVANAGARI VOWEL SIGN AI; DEVANAGARI LETTER AI
+ key <AD03> { [ U093E, U0906 ] }; // DEVANAGARI VOWEL SIGN AA; DEVANAGARI LETTER AA
+ key <AD04> { [ U0940, U0908 ] }; // DEVANAGARI VOWEL SIGN II; DEVANAGARI LETTER II
+ key <AD05> { [ U0942, U090A ] }; // DEVANAGARI VOWEL SIGN UU; DEVANAGARI LETTER UU
+ key <AD06> { [ U092C, U092D ] }; // DEVANAGARI LETTER BA; DEVANAGARI LETTER BHA
+ key <AD07> { [ U0939, U0919 ] }; // DEVANAGARI LETTER HA; DEVANAGARI LETTER NGA
+ key <AD08> { [ U0917, U0918 ] }; // DEVANAGARI LETTER GA; DEVANAGARI LETTER GHA
+ key <AD09> { [ U0926, U0927 ] }; // DEVANAGARI LETTER DA; DEVANAGARI LETTER DHA
+ key <AD10> { [ U091C, U091D ] }; // DEVANAGARI LETTER JA; DEVANAGARI LETTER JHA
+ key <AD11> { [ U0921, U0922 ] }; // DEVANAGARI LETTER DDA; DEVANAGARI LETTER DDHA
+ key <AD12> { [ U093C, U091E ] }; // DEVANAGARI SIGN NUKTA; DEVANAGARI LETTER NYA
+
+ key <BKSL> { [ U0949, U0911 ] }; // DEVANAGARI VOWEL SIGN CANDRA O; DEVANAGARI LETTER CANDRA O
+
+ key <AC01> { [ U094B, U0913 ] }; // DEVANAGARI VOWEL SIGN O; DEVANAGARI LETTER O
+ key <AC02> { [ U0947, U090F ] }; // DEVANAGARI VOWEL SIGN E; DEVANAGARI LETTER E
+ key <AC03> { [ U094D, U0905 ] }; // DEVANAGARI SIGN VIRAMA; DEVANAGARI LETTER A
+ key <AC04> { [ U093F, U0907 ] }; // DEVANAGARI VOWEL SIGN I; DEVANAGARI LETTER I
+ key <AC05> { [ U0941, U0909 ] }; // DEVANAGARI VOWEL SIGN U; DEVANAGARI LETTER U
+ key <AC06> { [ U092A, U092B ] }; // DEVANAGARI LETTER PA; DEVANAGARI LETTER PHA
+ key <AC07> { [ U0930, U0931 ] }; // DEVANAGARI LETTER RA; DEVANAGARI LETTER RRA
+ key <AC08> { [ U0915, U0916 ] }; // DEVANAGARI LETTER KA; DEVANAGARI LETTER KHA
+ key <AC09> { [ U0924, U0925 ] }; // DEVANAGARI LETTER TA; DEVANAGARI LETTER THA
+ key <AC10> { [ U091A, U091B ] }; // DEVANAGARI LETTER CA; DEVANAGARI LETTER CHA
+ key <AC11> { [ U091F, U0920 ] }; // DEVANAGARI LETTER TTA; DEVANAGARI LETTER TTHA
+
+ key <AB01> { [ U0946, U090E ] }; // DEVANAGARI VOWEL SIGN SHORT E; DEVANAGARI LETTER SHORT E
+ key <AB02> { [ U0902, U0901 ] }; // DEVANAGARI SIGN ANUSVARA; DEVANAGARI SIGN CANDRABINDU
+ key <AB03> { [ U092E, U0923 ] }; // DEVANAGARI LETTER MA; DEVANAGARI LETTER NNA
+ key <AB04> { [ U0928, U0929 ] }; // DEVANAGARI LETTER NA; DEVANAGARI LETTER NNNA
+ key <AB05> { [ U0935, U0934 ] }; // DEVANAGARI LETTER VA; DEVANAGARI LETTER LLLA
+ key <AB06> { [ U0932, U0933 ] }; // DEVANAGARI LETTER LA; DEVANAGARI LETTER LLA
+ key <AB07> { [ U0938, U0936 ] }; // DEVANAGARI LETTER SA; DEVANAGARI LETTER SHA
+ key <AB08> { [ comma, U0937 ] }; // DEVANAGARI LETTER SSA
+ key <AB09> { [ period, U0964 ] }; // DEVANAGARI DANDA
+ key <AB10> { [ U092F, U095F ] }; // DEVANAGARI LETTER YA; DEVANAGARI LETTER YYA
+
+ // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ):
+ include "nbsp(zwnj3zwj4)"
+
+ include "group(olpc)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "hin-wx" {
+
+ name[Group1]= "India - Hindi Wx";
+
+ key <TLDE> { [ grave, asciitilde, 2, 3 ] };
+
+ key <AE01> { [ 0x1000967, exclam ] };
+ key <AE02> { [ 0x1000968, at ] };
+ key <AE03> { [ 0x1000969 , numbersign ] };
+ key <AE04> { [ 0x100096A , dollar ] };
+ key <AE05> { [ 0x100096B , percent ] };
+ key <AE06> { [ 0x100096C , asciicircum ] };
+ key <AE07> { [ 0x100096D , ampersand ] };
+ key <AE08> { [ 0x100096e , asterisk ] };
+ key <AE09> { [ 0x100096F, parenleft ] };
+ key <AE10> { [ 0x1000966, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+
+ key <AD01> { [ 0x1000943, 0x1000944, 0x100090B, 0x1000960] };
+ key <AD02> { [ 0x1000924, 0x1000925 ] };
+ key <AD03> { [ 0x1000947, 0x1000948, 0x100090F, 0x1000910] };
+ key <AD04> { [ 0x1000930, 0x1000937 ] };
+ key <AD05> { [ 0x100091F, 0x1000920 ] };
+
+
+ key <AD06> { [ 0x100092F ] };
+ key <AD07> { [ 0x1000941, 0x1000942, 0x1000909, 0x100090A ] };
+ key <AD08> { [ 0x100093F, 0x1000940, 0x1000907, 0x1000908 ] };
+ key <AD09> { [ 0x100094B, 0x100094C, 0x1000913, 0x1000914] };
+ key <AD10> { [ 0x100092A, 0x100092B ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+ key <BKSL> { [ backslash, bar, 0x1000964, 0x1000965 ] };
+
+ key <AC01> { [ 0x100094D, 0x100093E, 0x1000905,0x1000906 ] };
+ key <AC02> { [ 0x1000938, 0x1000936 ] };
+ key <AC03> { [ 0x1000921, 0x1000922 ] };
+ key <AC04> { [ 0x1000919, 0x100091E ] };
+ key <AC05> { [ 0x1000917, 0x1000918 ] };
+
+
+ key <AC06> { [ 0x1000939, 0x1000903 ] };
+ key <AC07> { [ 0x100091C, 0x100091D ] };
+ key <AC08> { [ 0x1000915, 0x1000916 ] };
+ key <AC09> { [ 0x1000932, 0x1000962, 0x1000933, 0x100090C] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+
+ key <AB01> { [ 0x1000901, 0x100093C, 0x100093D, 0x1000950] };
+ key <AB02> { [ 0x1000926, 0x1000927 ] };
+ key <AB03> { [ 0x100091A, 0x100091B ] };
+ key <AB04> { [ 0x1000935, dead_V ] };
+ key <AB05> { [ 0x100092C, 0x100092D ] };
+ key <AB06> { [ 0x1000928, 0x1000923 ] };
+ key <AB07> { [ 0x100092E, 0x1000902 ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/inet b/xorg-server/xkeyboard-config/symbols/inet
new file mode 100644
index 000000000..0fd549f76
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/inet
@@ -0,0 +1,1824 @@
+// $XKeyboardConfig$
+
+// $XFree86: xc/programs/xkbcomp/symbols/inet,v 1.38 2004/01/17 14:59:37 pascal Exp $
+
+// EAK (Easy Access, Internet, Multimedia, PDA) keyboards
+// Copyright (C) 2002 Stanislav Brabec <sbrabec@suse.cz>
+//
+// Based on LinEAK project
+// LinEAK - Linux support for Easy Access and Internet Keyboards
+// Copyright (C) 2001, 2002 Mark Smulders <Mark@PIRnet.nl>
+
+// Usage in XF86Config:
+// Option "XkbLayout" "my_kb_layout"
+// Option "XkbVariant" "my_kb_variant"
+// Option "XkbModel" "my_eak_type"
+// Option "XkbRules" "xfree86"
+// Simple command line usage:
+// setxkbmap 'my_kb_layout' -variant 'my_kb_variant' -model 'my_eak_type'
+
+// All keyboards listed here should be also mentioned in
+// rules/base, base.lst and base.xml.
+
+// Very common set of media keys
+partial hidden alphanumeric_keys
+xkb_symbols "media_common" {
+ key <I01> { [ XF86AudioMedia ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop, XF86Eject ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <K5A> { [ XF86Eject ] };
+ key <K6C> { [ XF86Eject ] };
+};
+
+// popular web navigation combination
+partial hidden alphanumeric_keys
+xkb_symbols "nav_common" {
+ key <I21> { [ XF86Calculator ] };
+ key <I32> { [ XF86WWW ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I67> { [ XF86Reload ] };
+ key <I68> { [ XF86Stop ] };
+ key <I69> { [ XF86Forward ] };
+ key <I6A> { [ XF86Back ] };
+ key <I6B> { [ XF86MyComputer ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I6D> { [ XF86AudioMedia ] };
+};
+
+// ACPI Standard
+partial hidden alphanumeric_keys
+xkb_symbols "acpi_common" {
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+ key <I74> { [ XF86Battery ] };
+ key <I76> { [ XF86WLAN ] };
+ key <I16> { [ XF86Sleep ] };
+};
+
+// Combined sections, for simplicity
+partial hidden alphanumeric_keys
+xkb_symbols "media_nav_common" {
+ include "inet(media_common)"
+ include "inet(nav_common)"
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "media_nav_acpi_common" {
+ include "inet(media_common)"
+ include "inet(nav_common)"
+ include "inet(acpi_common)"
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "nav_acpi_common" {
+ include "inet(nav_common)"
+ include "inet(acpi_common)"
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "media_acpi_common" {
+ include "inet(media_common)"
+ include "inet(acpi_common)"
+};
+
+// Evdev Standardized Keycodes
+partial alphanumeric_keys
+xkb_symbols "evdev" {
+ key <MUTE> { [ XF86AudioMute ] };
+ key <VOL-> { [ XF86AudioLowerVolume ] };
+ key <VOL+> { [ XF86AudioRaiseVolume ] };
+ key <POWR> { [ XF86PowerOff ] };
+ key <STOP> { [ Cancel ] };
+ key <AGAI> { [ Redo ] };
+ key <PROP> { [ SunProps ] };
+ key <UNDO> { [ Undo ] };
+ key <FRNT> { [ SunFront ] };
+ key <COPY> { [ XF86Copy ] };
+ key <OPEN> { [ SunOpen ] };
+ key <PAST> { [ XF86Paste ] };
+ key <FIND> { [ Find ] };
+ key <CUT> { [ XF86Cut ] };
+ key <HELP> { [ Help ] };
+ key <LNFD> { [ Linefeed ] };
+
+// Commented out because HZTG has same keycode as TLDE
+// key <HZTG> { [ Zenkaku_Hankaku ] };
+
+ key <HKTG> { [ Hiragana_Katakana ] };
+ key <HENK> { [ Henkan ] };
+ key <MUHE> { [ Muhenkan ] };
+ key <KATA> { [ Katakana ] };
+ key <HIRA> { [ Hiragana ] };
+ key <RO> { [ Romaji ] };
+
+ key <HNGL> { [ Hangul ] };
+ key <HJCV> { [ Hangul_Hanja ] };
+ key <FK22> { [ XF86TouchpadToggle ] };
+
+// key <I120> { [ ] }; // KEY_MACRO
+ key <I126> { [ plusminus ] };
+ key <I147> { [ XF86MenuKB ] };
+ key <I148> { [ XF86Calculator ] };
+// key <I149> { [ ] }; // KEY_SETUP
+ key <I150> { [ XF86Sleep ] };
+ key <I151> { [ XF86WakeUp ] };
+ key <I152> { [ XF86Explorer ] };
+ key <I153> { [ XF86Send ] };
+// key <I154> { [ ] }; // KEY_DELETEFILE
+ key <I155> { [ XF86Xfer ] };
+ key <I156> { [ XF86Launch1 ] };
+ key <I157> { [ XF86Launch2 ] };
+ key <I158> { [ XF86WWW ] };
+ key <I159> { [ XF86DOS ] };
+ key <I160> { [ XF86ScreenSaver ] };
+// key <I161> { [ ] }; // KEY_DIRECTION
+ key <I162> { [ XF86RotateWindows ] };
+ key <I163> { [ XF86Mail ] };
+ key <I164> { [ XF86Favorites ] };
+ key <I165> { [ XF86MyComputer ] };
+ key <I166> { [ XF86Back ] };
+ key <I167> { [ XF86Forward ] };
+// key <I168> { [ ] }; // KEY_CLOSECD (opposite of eject)
+ key <I169> { [ XF86Eject ] };
+ key <I170> { [ XF86Eject, XF86Eject ] };
+ key <I171> { [ XF86AudioNext ] };
+ key <I172> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I173> { [ XF86AudioPrev ] };
+ key <I174> { [ XF86AudioStop, XF86Eject ] };
+ key <I175> { [ XF86AudioRecord ] };
+ key <I176> { [ XF86AudioRewind ] };
+ key <I177> { [ XF86Phone ] };
+// key <I178> { [ ] }; // KEY_ISO
+ key <I179> { [ XF86Tools ] };
+ key <I180> { [ XF86HomePage ] };
+ key <I181> { [ XF86Reload ] };
+ key <I182> { [ XF86Close ] };
+// key <I183> { [ ] }; // KEY_MOVE
+// key <I184> { [ ] }; // KEY_EDIT
+ key <I185> { [ XF86ScrollUp ] };
+ key <I186> { [ XF86ScrollDown ] };
+ key <I187> { [ parenleft ] };
+ key <I188> { [ parenright ] };
+ key <I189> { [ XF86New ] };
+ key <I190> { [ Redo ] };
+ key <I208> { [ XF86AudioPlay ] };
+ key <I209> { [ XF86AudioPause ] };
+ key <I210> { [ XF86Launch3 ] };
+ key <I211> { [ XF86Launch4 ] };
+ key <I213> { [ XF86Suspend ] };
+ key <I214> { [ XF86Close ] };
+ key <I215> { [ XF86AudioPlay ] };
+ key <I216> { [ XF86AudioForward ] };
+// key <I217> { [ ] }; // KEY_BASSBOOST
+ key <I218> { [ Print ] };
+// key <I219> { [ ] }; // KEY_HP
+ key <I220> { [ XF86WebCam ] };
+// key <I221> { [ ] }; // KEY_SOUND
+// key <I222> { [ ] }; // KEY_QUESTION
+ key <I223> { [ XF86Mail ] };
+// key <I224> { [ XF86Messenger ] }; // KEY_CHAT
+ key <I225> { [ XF86Search ] };
+// key <I226> { [ XF86Go ] }; // KEY_CONNECT
+ key <I227> { [ XF86Finance ] };
+// key <I228> { [ XF86Game ] }; // KEY_SPORT
+ key <I229> { [ XF86Shop ] };
+// key <I230> { [ ] }; // KEY_ALTERASE
+ key <I231> { [ Cancel ] };
+ key <I232> { [ XF86MonBrightnessDown ] };
+ key <I233> { [ XF86MonBrightnessUp ] };
+ key <I234> { [ XF86AudioMedia ] };
+ key <I235> { [ XF86Display ] };
+ key <I236> { [ XF86KbdLightOnOff ] }; // KEY_KBDILLUMTOGGLE
+ key <I237> { [ XF86KbdBrightnessDown ] }; // KEY_KBDILLUMDOWN
+ key <I238> { [ XF86KbdBrightnessUp ] }; // KEY_KBDILLUMUP
+ key <I239> { [ XF86Send ] };
+ key <I240> { [ XF86Reply ] };
+ key <I241> { [ XF86MailForward ] };
+ key <I242> { [ XF86Save ] };
+ key <I243> { [ XF86Documents ] };
+ key <I244> { [ XF86Battery ] };
+ key <I245> { [ XF86Bluetooth ] };
+ key <I246> { [ XF86WLAN ] };
+// key <I249> { [ ] }; // KEY_VIDEO_NEXT -- drive next video source
+// key <I250> { [ ] }; // KEY_VIDEO_PREV -- drive previous video source
+// key <I251> { [ ] }; // KEY_BRIGHTNESS_CYCLE -- bright up, max++ == min
+// key <I252> { [ ] }; // KEY_BRIGHTNESS_ZERO -- brightness off
+// key <I253> { [ ] }; // KEY_DISPLAY_OFF -- turn off display
+// key <I254> { [ ] }; // KEY_WIMAX
+ key <I255> { [ XF86Hibernate ] }; // KEY_HIBERNATE
+
+ key <FK13> { [ XF86Tools ] };
+ key <FK14> { [ XF86Launch5 ] };
+ key <FK15> { [ XF86MenuKB ] };
+};
+
+
+// Acer AirKey V
+partial alphanumeric_keys
+xkb_symbols "airkey" {
+ include "inet(acpi_common)"
+ key <I13> { [ XF86AudioNext ] };
+ key <I15> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I16> { [ XF86Mail ] };
+ key <I18> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioMute ] };
+ key <I24> { [ XF86WWW ] };
+ key <I26> { [ XF86AudioLowerVolume ] };
+ key <I2D> { [ XF86AudioRaiseVolume ] };
+ key <I2F> { [ XF86Terminal ] };
+ key <I31> { [ XF86AudioStop, XF86Eject ] };
+};
+
+// Acer C300 Laptop
+partial alphanumeric_keys
+xkb_symbols "acer_c300" {
+ include "inet(nav_common)"
+ key <I17> { [ F14 ] };
+ key <I1F> { [ F13 ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I5E> { [ XF86Launch2 ] };
+ key <I75> { [ Help ] };
+ key <XFER> { [ XF86Launch1 ] };
+};
+
+// Acer Ferrari 4000 Keyboard
+// From Alex Dubov <oakad@yahoo.com>
+partial alphanumeric_keys
+xkb_symbols "acer_ferrari4k" {
+ include "inet(media_nav_common)"
+ key <I24> { [ dollar ] };
+ key <I25> { [ EuroSign ] };
+ key <I26> { [ XF86Display ] };
+ // Missing keycodes - set-up with setkeycodes
+ key <I70> { [ Help ] };
+ key <I71> { [ XF86Launch1 ] };
+ key <I72> { [ XF86Launch2 ] };
+ key <I73> { [ XF86Launch3 ] };
+ key <I74> { [ XF86Launch4 ] };
+};
+
+// Acer Laptop (Generic layout for Acer laptops from 2004 onwards)
+// From Carlos Corbacho <cathectic@gmail.com>
+// Keys marked (HAL) require HAL 0.5.10 (or newer) to be set up correctly
+// (Your laptop must also be added to hal-info)
+// (Not all these keys will be available on every Acer laptop)
+partial alphanumeric_keys
+xkb_symbols "acer_laptop" {
+ include "inet(media_nav_acpi_common)"
+ key <I17> { [ XF86Launch2 ] }; // "P" or "P2" (HAL)
+ key <I1F> { [ XF86Launch1 ] }; // "e" or "P1" (HAL)
+
+ // Hotkeys (Function)
+ // Launch Keys
+ // Device keys
+ key <I56> { [ XF86Display ] }; // Fn+F5 (HAL)
+ key <I71> { [ XF86Launch4 ] }; // Fn+F3 (HAL)
+ key <I72> { [ XF86LaunchB ] }; // Bluetooth (HAL)
+ key <I73> { [ XF86LaunchA ] }; // Wireless (HAL)
+ key <I75> { [ Help ] }; // Fn+F1 (HAL)
+ key <I79> { [ XF86Launch5 ] }; // Fn+F7 (HAL)
+ key <K66> { [ XF86Launch3 ] }; // Fn+F2 (HAL)
+
+ // Special Characters
+ // To avoid setting a precedent/ standard that will be broken in later
+ // versions of HAL, these keys are commented out for now. When they are no
+ // longer marked 'FIXME' and have saner keycodes, these two entries can be
+ // fixed and permanently uncommented. In the meantime, just uncomment these
+ // to make the keys work
+// key <K5D> { [ EuroSign ] }; // Euro (HAL)
+// key <K5E> { [ dollar ] }; // Dollar (HAL)
+};
+
+// Azona
+
+// Azona RF2300 wireless Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "azonaRF2300" {
+ // From Radics Laszlo <garaboncias@mailbox.hu>
+ include "inet(nav_acpi_common)"
+ key <I02> { [ XF86HomePage ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I3C> { [ XF86Copy ] };
+ key <I78> { [ XF86Cut ] };
+// key <RCTL> { [ XF86Paste ] };
+};
+
+
+// Brother
+
+// Brother Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "brother" {
+ include "inet(acpi_common)"
+ key <I10> { [ XF86ScrollUp ] };
+ key <I12> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I17> { [ XF86AudioPrev ] };
+ key <I18> { [ XF86ScrollDown ] };
+ key <I19> { [ XF86ZoomOut ] };
+ key <I1E> { [ XF86AudioMute ] };
+ key <I21> { [ XF86WWW ] };
+ key <I22> { [ Menu ] };
+ key <I23> { [ XF86AudioStop ] };
+ key <I24> { [ XF86Calculator ] };
+ key <I25> { [ XF86Xfer ] };
+ key <I26> { [ XF86Mail ] };
+ key <I2E> { [ XF86AudioNext ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I32> { [ XF86ZoomIn ] };
+ key <I68> { [ XF86AudioLowerVolume ] };
+};
+
+
+// BTC
+
+// BTC 5113RF Multimedia
+partial alphanumeric_keys
+xkb_symbols "btc5113rf" {
+ include "inet(acpi_common)"
+ key <I10> { [ XF86AudioStop ] };
+ key <I12> { [ XF86AudioMute ] };
+ key <I19> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86Favorites ] };
+ key <I21> { [ XF86Eject ] };
+ key <I22> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioNext ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86Back ] };
+ key <I30> { [ XF86WWW ] };
+ key <I32> { [ XF86Search ] };
+};
+
+
+// BTC 9000
+partial alphanumeric_keys
+xkb_symbols "btc9000" {
+ include "inet(acpi_common)"
+ key <I10> { [ XF86AudioStop ] };
+ key <I12> { [ XF86AudioMute ] };
+ key <I19> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86Favorites ] };
+ key <I21> { [ XF86AudioMedia ] };
+ key <I22> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioNext ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86Reload ] };
+ key <I2E> { [ XF86Mail ] };
+ key <I30> { [ XF86HomePage ] };
+ key <I32> { [ XF86Search ] };
+};
+
+// BTC 9000A
+partial alphanumeric_keys
+xkb_symbols "btc9000a" {
+ include "inet(acpi_common)"
+ key <I10> { [ XF86AudioStop ] };
+ key <I12> { [ XF86AudioMute ] };
+ key <I19> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86Favorites ] };
+ key <I21> { [ XF86Eject ] };
+ key <I22> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioNext ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86HomePage ] };
+ key <I2E> { [ Help ] };
+ key <I30> { [ XF86WWW ] };
+ key <I32> { [ XF86Search ] };
+};
+
+// BTC 9001AH
+xkb_symbols "btc9001ah" {
+ include "inet(acpi_common)"
+ key <I02> { [ XF86HomePage ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I6C> { [ XF86Mail ] };
+ key <RWIN> { [ XF86Eject ] };
+};
+
+// BTC 5090
+partial alphanumeric_keys
+xkb_symbols "btc5090" {
+ include "inet(media_nav_acpi_common)"
+ key <I26> { [ XF86Start ] };
+ key <I33> { [ XF86Eject ] };
+};
+
+// BTC 9019U
+partial alphanumeric_keys
+xkb_symbols "btc9019u" {
+ include "inet(media_nav_acpi_common)"
+ key <FK17> { [ XF86Search ] };
+ key <I02> { [ XF86HomePage ] };
+};
+
+// Cherry Blue Line
+
+// Cherry Blue Line CyBo@rd
+partial alphanumeric_keys
+xkb_symbols "cherryblue" {
+ include "inet(nav_common)"
+ key <FK16> { [ XF86Reload ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I63> { [ XF86Standby ] };
+ key <PRSC> { [ XF86Terminal ] };
+ key <XFER> { [ XF86Go ] };
+};
+
+// Cherry CyMotion Master XPress
+partial alphanumeric_keys
+xkb_symbols "cherryblueb" {
+ include "inet(media_nav_common)"
+ key <FK16> { [ XF86Reload ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I07> { [ XF86Forward ] };
+ key <I08> { [ XF86Back ] };
+ key <I0A> { [ XF86Copy ] };
+ key <I0B> { [ XF86ScrollUp ] };
+ key <I12> { [ XF86ScrollDown ] };
+ key <I17> { [ XF86Cut ] };
+ key <I18> { [ XF86Paste ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I2C> { [ XF86Book ] };
+ key <I32> { [ XF86Finance ] };
+ key <I63> { [ XF86Standby ] };
+ key <I67> { [ XF86AudioRewind ] };
+ key <I70> { [ XF86Eject ] };
+ key <I71> { [ XF86Book ] };
+ key <I72> { [ XF86Book ] };
+ key <PRSC> { [ XF86Terminal ] };
+ key <XFER> { [ XF86Go ] };
+};
+
+// Cherry Blue Line CyBo@rd (alternate option)
+partial alphanumeric_keys
+xkb_symbols "cherrybluea" {
+ include "inet(media_nav_acpi_common)"
+ key <I6D> { [ XF86Go ] };
+};
+
+// Cherry CyBo@rd USB-Hub
+partial alphanumeric_keys
+xkb_symbols "cherrycyboard" {
+ include "inet(media_nav_acpi_common)"
+ key <FK17> { [ XF86Search ] };
+ key <I02> { [ XF86HomePage ] };
+ key <K67> { [ XF86Terminal ] };
+ key <XFER> { [ XF86AudioMedia ] };
+};
+
+// Cherry CyMotion Expert
+partial alphanumeric_keys
+xkb_symbols "cherrycmexpert" {
+ include "inet(cherryblueb)"
+ include "inet(acpi_common)"
+ key <FK15> { [ XF86Mail ] };
+};
+
+
+// Chicony
+
+// Chicony Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "chicony" {
+ include "inet(acpi_common)"
+ key <I12> { [ XF86AudioMute ] };
+ key <I17> { [ XF86Mail ] };
+ key <I19> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86Forward ] };
+ key <I20> { [ XF86AudioNext ] };
+ key <I21> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioPrev ] };
+ key <I23> { [ XF86AudioRaiseVolume ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I25> { [ XF86Back ] };
+ key <I26> { [ XF86LaunchB ] };
+ key <I2E> { [ XF86LaunchC ] };
+ key <I30> { [ XF86LaunchA ] };
+ key <I32> { [ XF86WWW ] };
+ key <I5F> { [ XF86ContrastAdjust ] };
+ key <I63> { [ XF86BrightnessAdjust ] };
+};
+
+// Chicony KU-0108
+partial alphanumeric_keys
+xkb_symbols "chicony0108" {
+ include "inet(cherrycyboard)"
+};
+
+// Chicony KU-0420 AKA Targus Slim Internet Media USB Keyboard
+partial alphanumeric_keys
+xkb_symbols "chicony0420" {
+ include "inet(media_nav_acpi_common)"
+ key <I01> { [ XF86AudioMedia ] };
+ key <K67> { [ XF86MyComputer ] };
+};
+
+// Chicony KB-9885
+partial alphanumeric_keys
+xkb_symbols "chicony9885" {
+ include "inet(acpi_common)"
+ key <I12> { [ XF86AudioMute ] };
+ key <I17> { [ XF86Mail ] };
+ key <I19> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86Forward ] };
+ key <I20> { [ XF86AudioNext ] };
+ key <I21> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioPrev ] };
+ key <I23> { [ XF86AudioRaiseVolume ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I25> { [ XF86Back ] };
+ key <I26> { [ XF86LaunchB ] };
+ key <I2E> { [ XF86LaunchC ] };
+ key <I30> { [ XF86LaunchA ] };
+ key <I32> { [ XF86WWW ] };
+};
+
+
+// Compaq
+
+// Compaq Easy Access Keyboard
+partial alphanumeric_keys
+xkb_symbols "compaqeak8" {
+ key <I13> { [ XF86Community ] };
+ key <I14> { [ XF86Market ] };
+ key <I15> { [ XF86Meeting ] };
+ key <I1A> { [ XF86Search ] };
+ key <I1B> { [ XF86News ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I1F> { [ XF86HomePage ] };
+ key <I23> { [ XF86WWW ] };
+};
+
+// Compaq Internet Keyboard (7 keys)
+partial alphanumeric_keys
+xkb_symbols "compaqik7" {
+ key <I12> { [ XF86LightBulb ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I21> { [ XF86Search ] };
+ key <I23> { [ Help ] };
+ key <I25> { [ XF86VendorHome ] };
+ key <I26> { [ XF86HomePage ] };
+ key <I32> { [ XF86Shop ] };
+};
+
+// Compaq Internet Keyboard (13 keys)
+partial alphanumeric_keys
+xkb_symbols "compaqik13" {
+ include "inet(media_acpi_common)"
+ key <I1E> { [ XF86Mail ] };
+ key <I1F> { [ XF86Go ] };
+ key <I21> { [ XF86Search ] };
+ key <I23> { [ XF86WWW ] };
+ key <I32> { [ XF86Shop ] };
+};
+
+// Compaq Internet Keyboard (18 keys)
+partial alphanumeric_keys
+xkb_symbols "compaqik18" {
+ include "inet(media_acpi_common)"
+ key <I12> { [ XF86LightBulb ] };
+ key <I18> { [ XF86Eject ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I1F> { [ XF86Go ] };
+ key <I21> { [ XF86Search ] };
+ key <I23> { [ XF86WWW ] };
+ key <I25> { [ XF86VendorHome ] };
+ key <I26> { [ XF86Community ] };
+ key <I32> { [ XF86Shop ] };
+ key <I68> { [ Print ] };
+};
+
+
+// Laptop/notebook Compaq (eg. Armada, Evo) Laptop Keyboard
+partial alphanumeric_keys
+xkb_symbols "armada" {
+ include "inet(media_acpi_common)"
+ key <I1A> { [ XF86Search ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I1F> { [ XF86HomePage ] };
+ key <I23> { [ XF86WWW ] };
+ key <I59> { [ XF86Launch2 ] }; // Battery Monitor
+ key <I6F> { [ XF86AudioMedia ] };
+ key <I75> { [ XF86Launch0 ] }; // Info Center
+};
+
+// Laptop/notebook Compaq (eg. Presario) Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "presario" {
+ include "inet(media_acpi_common)"
+ key <I14> { [ XF86Q ] };
+ key <I18> { [ XF86Launch2 ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I1F> { [ XF86Launch1 ] };
+ key <I23> { [ XF86WWW ] };
+ key <I32> { [ XF86Shop ] };
+ key <I75> { [ XF86AudioMedia ] };
+};
+
+// Compaq iPaq Keyboard
+partial alphanumeric_keys
+xkb_symbols "ipaq" {
+ key <FK16> { [ XF86Shop ] };
+ key <I02> { [ XF86Standby ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Travel ] };
+ key <I69> { [ XF86BackForward ] };
+ key <I6A> { [ XF86Q ] };
+ key <I6C> { [ XF86Mail ] };
+};
+
+
+// Dell
+
+partial alphanumeric_keys
+xkb_symbols "dell" {
+ include "inet(acpi_common)"
+ key <I12> { [ XF86Mail ] };
+ key <I1E> { [ XF86Search ] };
+ key <I26> { [ XF86HomePage ] };
+};
+
+// Dell Precision M65
+partial alphanumeric_keys
+xkb_symbols "dellm65" {
+ include "inet(media_common)"
+ key <I04> { [ XF86PowerOff ] };
+ key <LWIN> { [ Super_L ] };
+};
+
+// Laptop/notebook Dell Inspiron 8xxx
+partial alphanumeric_keys
+xkb_symbols "inspiron" {
+ include "inet(media_common)"
+ key <I02> { [ XF86AudioStop ] };
+ key <I04> { [ XF86AudioNext ] };
+ key <I21> { [ XF86Eject ] };
+ key <I56> { [ XF86Display ] };
+ key <NFER> { [ XF86AudioPrev ] };
+ key <XFER> { [ XF86AudioPlay, XF86AudioPause ] };
+};
+
+// DELL USB Multimedia Keyboard (former 8135, generalized, superset of 8125)
+partial alphanumeric_keys
+xkb_symbols "dellusbmm" {
+ // Describes the extra keys on a SK-8135 Multimedia keyboard
+ // From Olivier Lahaye <olivier dot lahaye at motorola dot com>
+ include "inet(media_nav_acpi_common)"
+ key <I02> { [ XF86HomePage ] };
+ key <K67> { [ XF86MyComputer ] };
+ key <XFER> { [ XF86AudioMedia ] };
+};
+
+
+// Diamond
+
+// Diamond 9801 / 9802 series
+partial alphanumeric_keys
+xkb_symbols "diamond" {
+ include "inet(media_nav_acpi_common)"
+ key <I6D> { [ XF86Go ] };
+};
+
+
+// Ennyah
+
+// Ennyah DKB-1008
+partial alphanumeric_keys
+xkb_symbols "ennyah_dkb1008" {
+ include "inet(media_nav_acpi_common)"
+ key <XFER> { [ XF86AudioMedia ] };
+};
+
+
+// Genius
+
+// Genius Comfy KB-16M / Genius MM Keyboard KWD-910
+partial alphanumeric_keys
+xkb_symbols "genius" {
+ include "inet(media_acpi_common)"
+ key <I12> { [ XF86AudioRaiseVolume ] };
+ key <I17> { [ XF86Calculator ] };
+ key <I19> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86Forward ] };
+ key <I21> { [ XF86AudioNext ] };
+ key <I23> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86Back ] };
+ key <I26> { [ XF86ScreenSaver ] };
+ key <I2E> { [ XF86Mail ] };
+ key <I30> { [ XF86Eject ] };
+ key <I32> { [ XF86WWW ] };
+};
+
+
+// GeniusComfy21e
+partial alphanumeric_keys
+xkb_symbols "geniuscomfy2" {
+ // Describes the extra keys on a Genius Comfy KB-21e-Scroll
+ // From Radics Laszlo <garaboncias@mailbox.hu>
+ include "inet(media_nav_acpi_common)"
+ key <I23> { [ Return ] };
+};
+
+// Gyration
+
+partial alphanumeric_keys
+xkb_symbols "gyration" {
+ include "inet(nav_common)"
+ key <FK16> { [ XF86Reload ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+};
+
+
+// Hewlett-Packard
+
+// Hewlett-Packard Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "hpi6" {
+ include "inet(media_nav_acpi_common)"
+ key <I02> { [ XF86HomePage ] };
+ key <I12> { [ XF86Search ] };
+ key <I14> { [ XF86VendorHome ] };
+ key <I15> { [ XF86Community ] };
+ key <I16> { [ XF86AudioMedia ] };
+ key <I18> { [ XF86Eject ] };
+ key <I1E> { [ XF86Shop ] };
+ key <I1F> { [ XF86Launch1 ] };
+ key <I26> { [ Help ] };
+ key <I27> { [ XF86Finance ] };
+ key <I39> { [ Print ] };
+ key <I75> { [ Help ] };
+};
+
+// Hewlett-Packard SK-2501, SK-2505 Multimedia Keyboard
+partial alphanumeric_keys
+xkb_symbols "hp250x" {
+ key <I12> { [ XF86Tools ] };
+ key <I17> { [ XF86Search ] };
+ key <I18> { [ XF86Eject ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I21> { [ XF86Launch5 ] };
+ key <I22> { [ XF86Launch3 ] };
+ key <I23> { [ XF86Launch2 ] };
+ key <I24> { [ XF86Launch4 ] };
+ key <I25> { [ XF86Standby ] };
+ key <I26> { [ Help ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I32> { [ XF86WWW ] };
+};
+
+// Hewlett-Packard Omnibook XE3 GC, GD, GE and Pavilion N5xxx
+partial alphanumeric_keys
+xkb_symbols "hpxe3gc" {
+ // Describes the OneTouch buttons on HP Omnibook XE3 GC and
+ // HP Pavilion N52XX models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+ include "inet(media_common)"
+ key <I71> { [ Help ] };
+ key <I72> { [ XF86Launch1 ] };
+ key <I73> { [ XF86WWW ] };
+ key <I74> { [ XF86Mail ] };
+};
+
+// Hewlett-Packard Omnibook XE3 GF
+partial alphanumeric_keys
+xkb_symbols "hpxe3gf" {
+ // Describes the OneTouch buttons on HP Omnibook XE3 GF models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+ include "inet(media_nav_common)"
+ key <I73> { [ Help ] };
+ key <I74> { [ XF86Launch1 ] };
+};
+
+// Hewlett-Packard Omnibook XT1000
+partial alphanumeric_keys
+xkb_symbols "hpxt1000" {
+ // Describes the OneTouch buttons on HP Omnibook XT1000 models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+ include "inet(media_nav_common)"
+ key <I71> { [ XF86Launch3 ] };
+ key <I72> { [ Help ] };
+ key <I73> { [ XF86Launch2 ] };
+ key <I74> { [ XF86Launch1 ] };
+};
+
+// Hewlett-Packard Pavilion ZT11xx
+partial alphanumeric_keys
+xkb_symbols "hpzt11xx" {
+ // Describes the OneTouch buttons on HP Pavilion ZT11xx models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+ include "inet(media_nav_common)"
+ key <I71> { [ XF86Launch3 ] };
+ key <I72> { [ Help ] };
+ key <I73> { [ XF86Launch2 ] };
+ key <I74> { [ XF86Launch1 ] };
+};
+
+// Hewlett-Packard Pavilion dv5
+partial alphanumeric_keys
+xkb_symbols "hpdv5" {
+ // Describes the OneTouch buttons on HP Pavilion dv5 models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+ include "inet(media_common)"
+ key <I12> { [ XF86ScreenSaver ] };
+ key <I32> { [ XF86WWW ] };
+ key <I75> { [ Help ] };
+ key <K6D> { [ XF86Launch1 ] };
+};
+
+// Hewlett-Packard Omnibook XE4xxx and ZE4xxx
+partial alphanumeric_keys
+xkb_symbols "hpxe4xxx" {
+ // Describes the OneTouch buttons on HP Omnibook XE4xxx and ZE4xxx
+ // models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+ include "inet(media_nav_common)"
+ key <I70> { [ Help ] };
+ key <I71> { [ XF86Launch2 ] };
+ key <I73> { [ XF86Launch1 ] };
+};
+
+// Hewlett-Packard Omnibook 500 FA
+partial alphanumeric_keys
+xkb_symbols "hp500fa" {
+ // Describes the OneTouch buttons on HP Omnibook 500 FA models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+ key <I73> { [ Help ] };
+ key <I74> { [ XF86Launch1 ] };
+};
+
+// Hewlett-Packard Omnibook 5xx
+partial alphanumeric_keys
+xkb_symbols "hp5xx" {
+ // Describes the OneTouch buttons on HP Omnibook 5xx models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+ include "inet(media_common)"
+ key <I73> { [ Help ] };
+ key <I74> { [ XF86Launch1 ] };
+};
+
+
+// Honeywell
+
+// Honeywell Euroboard
+partial alphanumeric_keys
+xkb_symbols "honeywell_euroboard" {
+ // January 2002
+ // Scott Penrose <scottp@dd.com.au>
+ // http://linux.dd.com.au/quest/linux/keyboard/honeywell/
+ key <I10> { [ XF86Game ] };
+ key <I12> { [ XF86AudioPrev ] };
+ key <I17> { [ XF86Eject ] };
+ key <I18> { [ XF86Launch2 ] };
+ key <I19> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I1E> { [ XF86Launch1 ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I23> { [ XF86AudioStop ] };
+ key <I24> { [ XF86Mail ] };
+ key <I25> { [ XF86ScreenSaver ] };
+ key <I26> { [ XF86Calculator ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I32> { [ XF86WWW ] };
+};
+
+
+// IBM
+
+
+// IBM Rapid Access
+partial alphanumeric_keys
+xkb_symbols "rapidaccess" {
+ key <I12> { [ XF86AudioMute ] };
+ key <I17> { [ XF86Launch2 ] };
+ key <I1E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioRaiseVolume ] };
+ key <I21> { [ XF86AudioNext ] };
+ key <I22> { [ XF86AudioPause ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I23> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I25> { [ XF86Standby ] };
+ key <I26> { [ Help ] };
+ key <I2E> { [ XF86Launch4 ] };
+ key <I30> { [ XF86Launch3 ] };
+ key <I32> { [ XF86Launch1 ] };
+};
+
+// IBM Rapid Access II
+partial alphanumeric_keys
+xkb_symbols "rapidaccess2" {
+ include "inet(acpi_common)"
+ key <I12> { [ XF86AudioNext ] };
+ key <I17> { [ XF86Favorites ] };
+ key <I1E> { [ XF86AudioMute ] };
+ key <I20> { [ XF86AudioStop ] };
+ key <I21> { [ XF86AudioLowerVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I23> { [ XF86AudioRaiseVolume ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86HomePage ] };
+ key <I26> { [ XF86Shop ] };
+ key <I2E> { [ XF86Search ] };
+ key <I30> { [ XF86MyComputer ] };
+ key <I32> { [ XF86VendorHome ] };
+};
+
+// IBM ThinkPad 60 series
+partial alphanumeric_keys
+xkb_symbols "thinkpad60" {
+ include "inet(media_nav_common)"
+ key <I1F> { [ XF86VendorHome ] };
+};
+
+// IBM Space Saver
+partial alphanumeric_keys
+xkb_symbols "ibm_spacesaver" {
+ key <NMLK> {
+ type="ONE_LEVEL",
+ symbols[Group1]= [ Num_Lock ]
+ };
+};
+
+// Logitech
+
+// Logitech common definitions
+partial hidden alphanumeric_keys
+xkb_symbols "logitech_base" {
+ include "inet(media_nav_acpi_common)"
+ key <I02> { [ XF86HomePage ] };
+ key <I15> { [ XF86Community ] };
+ key <I16> { [ XF86ScrollClick ] };
+ key <I21> { [ XF86VendorHome ] };
+ key <I3B> { [ XF86New ] };
+ key <I3C> { [ XF86Reply ] };
+ key <I43> { [ XF86MyComputer ] };
+ key <I44> { [ XF86Documents ] };
+ key <I57> { [ XF86Pictures ] };
+ key <I58> { [ XF86Music ] };
+};
+
+// Logitech second set of common keys
+partial hidden alphanumeric_keys
+xkb_symbols "logitech_set3" {
+ key <I17> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I44> { [ XF86New ] }; // F1
+ key <I45> { [ XF86Reply ] }; // F2
+ key <I4A> { [ XF86Send ] }; // F4
+ key <I54> { [ Print ] }; // F7
+ key <I55> { [ XF86Save ] }; // F8
+ key <I56> { [ XF86Documents ] }; // F10
+ key <I69> { [ XF86Go ] };
+ key <XFER> { [ XF86AudioMedia ] };
+};
+
+// Logitech Access Keyboard
+partial alphanumeric_keys
+xkb_symbols "logiaccess" {
+ include "inet(logitech_base)"
+ key <FK13> { [ XF86MailForward ] };
+ key <FK14> { [ XF86Send ] };
+ key <I11> { [ XF86Messenger ] };
+ key <I12> { [ XF86WebCam ] };
+};
+
+// Logitech Cordless Desktop (alternate option)
+partial alphanumeric_keys
+xkb_symbols "logicda" {
+ include "inet(logitech_base)"
+ include "inet(logitech_set3)"
+};
+
+// Logitech Internet Navigator Keyboard
+partial alphanumeric_keys
+xkb_symbols "logicink" {
+ include "inet(logitech_base)"
+ key <I11> { [ XF86Shop ] };
+ key <I12> { [ XF86VendorHome ] };
+ key <I13> { [ XF86Finance ] };
+ key <I14> { [ XF86Start ] };
+};
+
+// Logitech Cordless Desktop EX110
+partial alphanumeric_keys
+xkb_symbols "logiex110" {
+ include "inet(logitech_base)"
+ key <I2F> { [ XF86Close ] }; // Close
+
+// Extended function keys
+// In the Console before starting X
+// Using setkeycodes e03b 212 e03c 213 e03d 214 e03e 215 e03f 216 e040 217
+// setkeycodes e041 218 e042 219 e043 220 e044 221 e057 222 e058 223 6d 206
+// *=keys that are there but need different symbol names.
+ key <I3B> { [ Help ] }; // F1
+ key <FK13> { [ XF86Word ] }; // F2
+ key <FK14> { [ XF86Excel ] }; // F3
+ key <FK15> { [ XF86Pictures ] }; // F4
+ key <FK16> { [ Undo ] }; // F5
+ key <I65> { [ Redo ] }; // F6 *
+ key <I42> { [ Print ] }; // F7
+ key <I43> { [ XF86Save ] }; // F8
+ key <I44> { [ XF86Launch1 ] }; // F9 *
+ key <I45> { [ XF86Launch2 ] }; // F10
+ key <I14> { [ XF86Launch3 ] }; // F11
+ key <I4A> { [ XF86Launch4 ] }; // F12
+};
+
+// Logitech iTouch Internet Navigator Keyboard SE
+partial alphanumeric_keys
+xkb_symbols "logiinkse" {
+ include "inet(logitech_base)"
+ key <FK13> { [ XF86MailForward ] }; // F3
+ key <FK14> { [ XF86Send ] }; // F4
+ key <FK15> { [ Undo ] }; // F5
+ key <FK16> { [ Redo ] }; // F6
+ key <FK17> { [ Print ] }; // F7
+ key <I11> { [ XF86Messenger ] };
+ key <I12> { [ XF86WebCam ] };
+ key <I13> { [ XF86VendorHome ] };
+ key <I14> { [ XF86Shop ] };
+ key <I42> { [ XF86Save ] }; // F8
+};
+
+// Logitech iTouch Internet Navigator Keyboard SE (USB)
+partial alphanumeric_keys
+xkb_symbols "logiinkseusb" {
+ include "inet(logitech_base)"
+ include "inet(logitech_set3)"
+};
+
+// Logitech iTouch Cordless Keyboard (model Y-RB6)
+partial alphanumeric_keys
+xkb_symbols "logiitc" {
+ include "inet(logitech_base)"
+ key <I2F> { [ XF86AudioRaiseVolume ] };
+
+ // Just to override RaiseVolume from logitech_base,
+ // since no keysym can have two keycodes, see
+ // https://bugs.freedesktop.org/show_bug.cgi?id=7095
+ key <I30> { [ XF86Launch1 ] };
+};
+
+// Logitech Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "logiik" {
+ include "inet(logitech_base)"
+ key <I12> { [ Find ] };
+ key <I17> { [ Print ] };
+ key <I18> { [ XF86Favorites ] };
+ key <I19> { [ XF86Reload ] };
+ key <I1E> { [ XF86Search ] };
+ key <I20> { [ XF86HotLinks ] };
+ key <I22> { [ XF86Forward ] };
+ key <I23> { [ XF86HomePage ] };
+ key <I24> { [ XF86Stop ] };
+ key <I25> { [ XF86OpenURL ] };
+ key <I26> { [ XF86AddFavorite ] };
+ key <I32> { [ XF86History ] };
+ key <I7A> { [ XF86WWW ] };
+};
+
+// Logitech iTouch
+partial alphanumeric_keys
+xkb_symbols "itouch" {
+ include "inet(logitech_base)"
+ key <I1F> { [ XF86AudioMute ] };
+ key <I2B> { [ XF86AudioLowerVolume ] };
+ key <I2D> { [ XF86AudioRaiseVolume ] };
+};
+
+// Logitech UltraX Cordless Media Desktop
+partial alphanumeric_keys
+xkb_symbols "logiultraxc" {
+ key <FK16> { [ XF86AudioMute ] };
+ key <FK17> { [ XF86AudioLowerVolume ] };
+ key <I2B> { [ XF86AudioNext ] };
+ key <I2D> { [ XF86AudioPrev ] };
+ key <I2C> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <KPDC> { [ XF86AudioRaiseVolume ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "logidinovo" {
+ include "inet(media_nav_common)"
+ key <I02> { [ XF86HomePage ] };
+ key <I12> { [ XF86Standby ] };
+ key <I17> { [ XF86Search ] };
+ key <I21> { [ XF86AudioRaiseVolume ] };
+ key <K66> { [ XF86AudioLowerVolume ] };
+ key <KPDC> { [ XF86AudioMute ] };
+ key <XFER> { [ XF86AudioMedia ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "logidinovoedge" {
+ include "inet(media_acpi_common)"
+ key <I02> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <FK17> { [ XF86Search ] };
+ key <XFER> { [ XF86AudioMedia ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "logitech_g15" {
+ include "inet(media_nav_acpi_common)"
+ key <AE13> { [ XF86Messenger ] };
+ key <HKTG> { [ XF86Launch7 ] };
+ key <I02> { [ XF86Launch9 ] };
+ key <I04> { [ XF86Phone ] };
+ key <I08> { [ XF86LaunchD ] };
+ key <I09> { [ XF86Support ] };
+ key <I0F> { [ XF86LaunchF ] };
+ key <I16> { [ XF86LogOff ] };
+ key <I18> { [ XF86Launch5 ] };
+ key <I21> { [ XF86Travel ] };
+ key <I23> { [ XF86Spell ] };
+ key <I31> { [ XF86Launch4 ] };
+ key <I3C> { [ XF86Music ] };
+ key <I42> { [ XF86Forward ] };
+ key <I43> { [ XF86Send ] };
+ key <I57> { [ XF86Save ] };
+ key <I64> { [ XF86Pictures ] };
+ key <I67> { [ XF86LaunchA ] };
+ key <I76> { [ XF86iTouch ] };
+ key <I77> { [ XF86Launch3 ] };
+ key <I79> { [ XF86ToDoList ] };
+ key <I7B> { [ XF86Calculator ] };
+ key <K5A> { [ XF86VendorHome ] };
+ key <K5D> { [ XF86Away ] };
+ key <K5E> { [ XF86WebCam ] };
+ key <K5F> { [ XF86Launch0 ] };
+ key <K63> { [ XF86Launch6 ] };
+ key <K6D> { [ XF86Calendar ] };
+ key <K71> { [ XF86LaunchB ] };
+ key <K72> { [ XF86LaunchC ] };
+ key <K74> { [ XF86WWW ] };
+ key <K75> { [ XF86LaunchE ] };
+ key <MDSW> { [ XF86Launch1 ] };
+ key <NFER> { [ XF86Launch2 ] };
+ key <XFER> { [ XF86Launch8 ] };
+};
+
+
+// Memorex
+
+// Memorex MX1998
+partial alphanumeric_keys
+xkb_symbols "mx1998" {
+ include "inet(media_acpi_common)"
+ key <DOWN> { [ XF86ScrollDown ] };
+ key <I12> { [ XF86AudioRewind ] };
+ key <I17> { [ XF86Close ] };
+ key <I18> { [ XF86Xfer ] };
+ key <I1E> { [ XF86AudioRecord ] };
+ key <I21> { [ XF86Documents ] };
+ key <I23> { [ XF86Game ] };
+ key <I25> { [ XF86Calculator ] };
+ key <I26> { [ Menu ] };
+ key <I32> { [ XF86WWW ] };
+ key <I57> { [ XF86WakeUp ] };
+ key <I68> { [ XF86DOS ] };
+ key <I7A> { [ XF86ScreenSaver ] };
+ key <UP> { [ XF86ScrollUp ] };
+};
+
+// Memorex MX2500 EZ-Access Keyboard
+partial alphanumeric_keys
+xkb_symbols "mx2500" {
+ include "inet(media_nav_acpi_common)"
+ key <I12> { [ XF86Clear ] };
+ key <I13> { [ XF86Phone ] };
+ key <I14> { [ XF86DOS ] };
+ key <I17> { [ XF86Close ] };
+ key <I18> { [ XF86Xfer ] };
+ key <I1E> { [ XF86Eject ] };
+ key <I1F> { [ XF86Documents ] };
+ key <I26> { [ XF86News ] };
+ key <I6B> { [ XF86WakeUp ] };
+ key <I6D> { [ XF86RotateWindows ] };
+};
+
+// Memorex MX2750
+partial alphanumeric_keys
+xkb_symbols "mx2750" {
+ include "inet(media_nav_acpi_common)"
+ key <I32> { [ XF86Launch0 ] };
+};
+
+
+// Microsoft
+
+// Microsoft Natural Wireless Ergonomic Keyboard 7000
+partial alphanumeric_keys
+xkb_symbols "microsoft7000" {
+ include "inet(media_nav_common)"
+ key <I07> { [ Undo ] };
+ key <I09> { [ XF86New ] };
+ key <I0A> { [ Redo ] };
+ key <I0E> { [ XF86MailForward ] };
+ key <I2F> { [ XF86Close ] };
+ key <I39> { [ Print ] };
+ key <I55> { [ XF86Save ] };
+ key <I5A> { [ XF86Send ] };
+ key <I62> { [ Help ] };
+ key <I64> { [ XF86Reply ] };
+ key <I76> { [ parenleft ] };
+ key <I7B> { [ parenright ] };
+ key <K59> { [ KP_Equal ] };
+ key <K64> { [ XF86Open ] };
+// Missing because of lack of support from kbd driver: Spell, Launch,
+// and Zoom in and out buttons.
+};
+
+// Microsoft Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "microsoftinet" {
+ include "inet(nav_acpi_common)"
+ key <I68> { [ XF86AudioStop ] };
+};
+
+// Microsoft Natural Keyboard Pro USB
+partial alphanumeric_keys
+ xkb_symbols "microsoftprousb" {
+ include "inet(nav_common)"
+ key <FK16> { [ XF86Reload ] };
+ key <I01> { [ XF86AudioMedia ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I63> { [ XF86Standby ] };
+ // Internet Section -- Left Side
+ // Multimedia Section -- Right Side
+ // My Computer Section -- Far Right
+ // My computer maps to printscreen, so leaving commented out for now
+ // key <PRSC> { [ XF86MyComputer ] };
+};
+
+// Microsoft Natural Keyboard Pro OEM
+partial alphanumeric_keys
+xkb_symbols "microsoftprooem" {
+ include "inet(media_nav_common)"
+ key <FK17> { [ XF86Search ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I63> { [ XF86Standby ] };
+ key <K67> { [ XF86MyComputer ] };
+// Internet Section -- Left Side
+// Multimedia Section -- Right Side
+// My Computer Section -- Far Right
+};
+
+// Microsoft Internet Keyboard Pro, Swedish
+partial alphanumeric_keys
+xkb_symbols "microsoftprose" {
+ include "inet(nav_common)"
+ key <FK16> { [ XF86Reload ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I63> { [ XF86Standby ] };
+ key <I68> { [ XF86AudioStop ] };
+ key <PRSC> { [ XF86MyComputer ] };
+ key <XFER> { [ XF86AudioMedia ] };
+};
+
+// Microsoft Office Keyboard
+partial alphanumeric_keys
+xkb_symbols "microsoftoffice" {
+ include "inet(nav_acpi_common)"
+ key <BRK> { [ XF86Calendar ] };
+ key <END> { [ Undo ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I1E> { [ XF86AudioLowerVolume ] };
+ key <I25> { [ XF86AudioRaiseVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I3C> { [ XF86Cut ] };
+ key <I4A> { [ XF86LogOff ] };
+ key <I54> { [ XF86ApplicationLeft ] };
+ key <I55> { [ XF86TaskPane ] };
+ key <I56> { [ XF86Spell ] };
+ key <I57> { [ XF86WWW ] };
+ key <I58> { [ XF86New ] };
+ key <I59> { [ XF86Open ] };
+ key <I5A> { [ XF86Close ] };
+ key <I62> { [ Help ] };
+ key <I64> { [ XF86Save ] };
+ key <I67> { [ Print ] };
+ key <I6D> { [ XF86OfficeHome ] };
+ key <I70> { [ Redo ] };
+ key <I71> { [ XF86Reply ] };
+ key <I72> { [ XF86MailForward ] };
+ key <I73> { [ XF86Send ] };
+ key <I78> { [ XF86Copy ] };
+ key <MOAR> { [ XF86ApplicationRight ] };
+ key <RCTL> { [ XF86Paste ] };
+};
+
+// Microsoft Wireless Multimedia Keyboard 1.0A
+partial alphanumeric_keys
+xkb_symbols "microsoftmult" {
+ include "inet(media_nav_acpi_common)"
+ key <AE13> { [ XF86Messenger ] };
+ key <FK14> { [ XF86New ] };
+ key <FK15> { [ XF86Open ] };
+ key <FK16> { [ XF86Close ] };
+ key <FK17> { [ XF86Reply ] };
+ key <I07> { [ Redo ] };
+ key <I08> { [ Undo ] };
+ key <I16> { [ XF86LogOff ] };
+ key <I23> { [ XF86Spell ] };
+ key <I3B> { [ Help ] };
+ key <I3C> { [ XF86Music ] };
+ key <I42> { [ XF86Forward ] };
+ key <I43> { [ XF86Send ] };
+ key <I57> { [ XF86Save ] };
+ key <I58> { [ Print ] };
+ key <I64> { [ XF86Pictures ] };
+ key <I80> { [ XF86Documents ] };
+};
+
+
+// Oretec
+
+// Oretec MCK-800 MM/Internet keyboard
+partial alphanumeric_keys
+xkb_symbols "oretec" {
+ include "inet(acpi_common)"
+ key <I10> { [ XF86ScrollUp ] };
+ key <I12> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I17> { [ XF86AudioPrev ] };
+ key <I18> { [ XF86ScrollDown ] };
+ key <I19> { [ XF86ZoomOut ] };
+ key <I1E> { [ XF86AudioMute ] };
+ key <I21> { [ XF86WWW ] };
+ key <I22> { [ Menu ] };
+ key <I23> { [ XF86AudioStop ] };
+ key <I24> { [ XF86Calculator ] };
+ key <I25> { [ XF86Xfer ] };
+ key <I26> { [ XF86Mail ] };
+ key <I2E> { [ XF86AudioNext ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I32> { [ XF86ZoomIn ] };
+ key <I68> { [ XF86AudioLowerVolume ] };
+};
+
+
+// Propeller
+
+// Propeller Voyager (KTEZ-1000)
+partial alphanumeric_keys
+xkb_symbols "propeller" {
+ include "inet(media_common)"
+ key <I12> { [ XF86AudioRewind ] };
+ key <I17> { [ XF86Close ] };
+ key <I18> { [ XF86Xfer ] };
+ key <I1E> { [ XF86AudioRecord ] };
+ key <I21> { [ XF86Documents ] };
+ key <I23> { [ XF86Game ] };
+ key <I25> { [ XF86Calculator ] };
+ key <I26> { [ Menu ] };
+ key <I32> { [ XF86WWW ] };
+ key <I68> { [ XF86DOS ] };
+ key <I7A> { [ XF86Standby ] };
+};
+
+
+// QTronix
+
+// QTronix Scorpius 98N+
+partial alphanumeric_keys
+xkb_symbols "qtronix" {
+ key <I10> { [ XF86ScrollDown ] };
+ key <I12> { [ XF86Forward ] };
+ key <I13> { [ XF86WakeUp ] };
+ key <I17> { [ XF86Search ] };
+ key <I18> { [ XF86Standby ] };
+ key <I19> { [ XF86ScrollUp ] };
+ key <I1E> { [ XF86Back ] };
+ key <I1F> { [ XF86Reload ] };
+ key <I20> { [ XF86AudioRaiseVolume ] };
+ key <I21> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I23> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I25> { [ XF86HomePage ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRecord ] };
+ key <I31> { [ XF86PowerOff ] };
+ key <I32> { [ XF86Stop ] };
+ key <I68> { [ XF86Calculator ] };
+};
+
+
+// Samsung
+
+// Samsung SDM 4500P
+partial alphanumeric_keys
+xkb_symbols "samsung4500" {
+ include "inet(media_nav_acpi_common)"
+ key <AE13> { [ XF86Launch4 ] };
+ key <I02> { [ XF86Launch1 ] };
+ key <I04> { [ XF86Launch3 ] };
+ key <I06> { [ XF86Launch5 ] };
+ key <I09> { [ XF86Close ] };
+ key <I0A> { [ XF86Book ] };
+ key <I18> { [ XF86Eject ] };
+ key <I26> { [ Help ] };
+ key <I59> { [ XF86Explorer ] };
+ key <NFER> { [ XF86Launch2 ] };
+};
+
+// Samsung SDM 4510P
+partial alphanumeric_keys
+xkb_symbols "samsung4510" {
+ include "inet(media_acpi_common)"
+ key <I02> { [ XF86Launch1 ] };
+ key <I04> { [ XF86Launch3 ] };
+ key <I18> { [ XF86Eject ] };
+ key <NFER> { [ XF86Launch2 ] };
+};
+
+
+// SK
+
+// SK-1300
+partial alphanumeric_keys
+xkb_symbols "sk1300" {
+ include "inet(media_common)"
+ key <I12> { [ XF86Eject ] };
+ key <I1E> { [ XF86Forward ] };
+ key <I20> { [ XF86WWW ] };
+ key <I25> { [ XF86Standby ] };
+ key <I26> { [ XF86Back ] };
+ key <I32> { [ XF86Stop ] };
+};
+
+// SK-2500
+partial alphanumeric_keys
+xkb_symbols "sk2500" {
+ include "inet(media_nav_common)"
+ key <I12> { [ XF86AudioRewind ] };
+ key <I17> { [ XF86Close ] };
+ key <I18> { [ XF86Eject ] };
+ key <I18> { [ XF86Eject ] };
+ key <I19> { [ XF86Forward ] };
+ key <I1E> { [ XF86AudioRecord ] };
+ key <I23> { [ XF86Xfer ] };
+ key <I25> { [ XF86PowerOff ] };
+ key <I26> { [ Menu ] };
+ key <I7A> { [ XF86ScreenSaver ] };
+};
+
+// SK-6200
+partial alphanumeric_keys
+xkb_symbols "sk6200" {
+ include "inet(acpi_common)"
+ key <I12> { [ XF86Favorites ] };
+ key <I14> { [ XF86AudioLowerVolume ] };
+ key <I16> { [ XF86AudioRaiseVolume ] };
+ key <I17> { [ XF86Back ] };
+ key <I19> { [ XF86Forward ] };
+ key <I1E> { [ XF86WWW ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I21> { [ XF86AudioNext ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I23> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I32> { [ XF86Mail ] };
+};
+
+// SK-7100
+partial alphanumeric_keys
+xkb_symbols "sk7100" {
+ include "inet(media_common)"
+ key <I12> { [ XF86AudioPause ] };
+ key <I17> { [ XF86Close ] };
+ key <I18> { [ XF86Video ] };
+ key <I1E> { [ XF86Eject ] };
+ key <I25> { [ XF86CD ] };
+ key <I26> { [ XF86Display ] };
+ key <I32> { [ XF86WWW ] };
+};
+
+
+// Sven
+
+// SVEN Ergonomic 2500
+partial alphanumeric_keys
+xkb_symbols "sven" {
+ include "inet(acpi_common)"
+ key <I10> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I12> { [ XF86Forward ] };
+ key <I17> { [ XF86AudioRaiseVolume ] };
+ key <I18> { [ XF86ZoomOut ] };
+ key <I19> { [ XF86AudioPrev ] };
+ key <I1A> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86HomePage ] };
+ key <I20> { [ XF86Mail ] };
+ key <I21> { [ XF86ZoomIn ] };
+ key <I22> { [ XF86MyComputer ] };
+ key <I23> { [ XF86Stop ] };
+ key <I24> { [ XF86ScreenSaver ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I28> { [ XF86Calculator ] };
+ key <I29> { [ XF86Reload ] };
+ key <I2E> { [ XF86Search ] };
+ key <I30> { [ XF86Favorites ] };
+ key <I31> { [ XF86ScrollUp ] };
+ key <I32> { [ XF86ScrollDown ] };
+ key <I62> { [ XF86AudioNext ] };
+ key <I68> { [ XF86Back ] };
+};
+
+// SVEN Slim 303
+partial alphanumeric_keys
+xkb_symbols "sven303" {
+ key <I11> { [ XF86PowerOff ] };
+ key <I12> { [ XF86Sleep ] };
+ key <I16> { [ XF86WakeUp ] };
+};
+
+
+// Symplon
+
+// Symplon PaceBook (tablet PC)
+partial alphanumeric_keys
+xkb_symbols "symplon" {
+ include "inet(nav_acpi_common)"
+ key <HOME> { [ XF86RotationPB ] };
+ key <I13> { [ XF86SplitScreen ] };
+ key <I14> { [ XF86Support ] };
+ key <I17> { [ XF86New ] };
+ key <I21> { [ XF86User2KB ] };
+ key <I25> { [ XF86RotationKB ] };
+ key <I26> { [ XF86MenuKB ] };
+ key <I6B> { [ XF86User1KB ] };
+ key <PAUS> { [ XF86UserPB ] };
+ key <UP> { [ XF86MenuPB ] };
+};
+
+// Toshiba
+
+// Toshiba Satellite S3000
+partial alphanumeric_keys
+xkb_symbols "toshiba_s3000" {
+ include "inet(media_common)"
+ // Describes the Special buttons on Toshiba Satellite 3000 models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+ key <I06> { [ XF86Launch1 ] };
+ key <I13> { [ XF86Launch2 ] };
+ key <I71> { [ XF86WWW ] };
+ key <I73> { [ XF86Mail ] };
+ key <I75> { [ XF86AudioRaiseVolume ] };
+ key <I76> { [ XF86AudioLowerVolume ] };
+};
+
+// Trust
+
+// Trust Wireless Keyboard Classic
+partial alphanumeric_keys
+xkb_symbols "trust" {
+ include "inet(media_nav_acpi_common)"
+ key <I11> { [ XF86ScreenSaver ] };
+ key <I1E> { [ XF86Eject ] };
+};
+
+
+// Trust Direct Access Keyboard
+partial alphanumeric_keys
+xkb_symbols "trustda" {
+ include "inet(media_common)"
+ key <I12> { [ XF86AudioRewind ] };
+ key <I17> { [ XF86Close ] };
+ key <I18> { [ XF86Eject ] };
+ key <I1E> { [ XF86AudioRecord ] };
+ key <I23> { [ XF86Xfer ] };
+ key <I25> { [ XF86Standby ] };
+ key <I26> { [ Help ] };
+ key <I32> { [ XF86WWW ] };
+ key <I7A> { [ XF86Away ] };
+};
+
+
+// YaHoo!
+
+// Yahoo! Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "yahoo" {
+ include "inet(acpi_common)"
+ key <I11> { [ XF86AudioPrev ] };
+ key <I12> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I1E> { [ XF86AudioStop ] };
+ key <I1F> { [ XF86AudioNext ] };
+ key <I20> { [ XF86AudioRecord ] };
+ key <I21> { [ XF86AudioLowerVolume ] };
+ key <I22> { [ XF86AudioRaiseVolume ] };
+ key <I23> { [ XF86AudioMute ] };
+ key <I24> { [ XF86Close ] };
+ key <I25> { [ XF86Calculator ] };
+ key <I26> { [ Help ] };
+ key <I27> { [ XF86Mail ] };
+ key <I28> { [ XF86WWW ] };
+};
+
+// Apple keyboards (macbooks, powerbooks, powermac G5, etc)
+partial alphanumeric_keys
+xkb_symbols "apple" {
+// Really brightness up/down
+ key <II65> { [ XF86BrightnessAdjust ] };
+ key <I54> { [ XF86BrightnessAdjust ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I56> { [ XF86RotateWindows ] };
+// Really keyboard backlight off/up/down
+ key <I57> { [ XF86Launch0 ] };
+ key <I58> { [ XF86Launch1 ] };
+ key <I59> { [ XF86Launch2 ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <K5D> { [ F13 ] };
+ key <K5E> { [ F14 ] };
+ key <K5F> { [ F15 ] };
+ key <K6C> { [ XF86Eject ] };
+ key <MDSW> { [ F16 ] };
+ key <KPEQ> { [ KP_Equal ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "cymotionlinux" {
+ include "inet(media_nav_acpi_common)"
+ key <I07> { [ Undo ] };
+ key <I0A> { [ Redo ] };
+ key <I0F> { [ XF86ScrollDown ] };
+ key <I17> { [ XF86Launch2 ] };
+ key <I1F> { [ XF86Launch1 ] };
+ key <I28> { [ XF86MenuKB ] };
+ key <I2B> { [ XF86Launch3 ] };
+ key <I3C> { [ XF86Cut ] };
+ key <I78> { [ XF86Copy ] };
+ key <K65> { [ XF86Paste ] };
+ key <K75> { [ XF86ScrollUp ] };
+ key <XFER> { [ XF86AudioMedia ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "silvercrest" {
+ include "inet(media_nav_acpi_common)"
+ key <I02> { [ XF86HomePage ] };
+ key <I21> { [ XF86Launch2 ] };
+ key <K67> { [ XF86Launch1 ] };
+};
+
+// eMachines
+
+partial alphanumeric_keys
+xkb_symbols "emachines" {
+ include "inet(media_nav_acpi_common)"
+ key <I32> { [ XF86iTouch ] };
+ key <KP0> { [ KP_0 ] };
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPAD> { [ KP_Add ] };
+ key <KPDL> { [ KP_Decimal ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ] };
+};
+
+// BenQ
+
+//
+// BenQ X*
+// (X730, X500, X800)
+//
+// to make the FN_LOCK and CONFIG key work on the BenQ X500 , use ...
+// setkeycodes e074 130 # KEY_PROPS from /usr/include/linux/input.h
+// setkeycodes e075 171 # KEY_CONFIG from /usr/include/linux/input.h
+partial alphanumeric_keys
+xkb_symbols "benqx" {
+ include "inet(media_nav_acpi_common)"
+ key <I02> { [ XF86ModeLock ] };
+ key <I21> { [ XF86WWW ] };
+ key <I2B> { [ XF86Go ] };
+ key <I31> { [ XF86Calendar ] };
+};
+
+// Intel
+
+// Intel Classmate
+partial alphanumeric_keys
+xkb_symbols "classmate" {
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+};
+
+// Unitek
+
+partial alphanumeric_keys
+xkb_symbols "unitekkb1925" {
+ include "inet(media_nav_common)"
+ key <I0C> { [ XF86AudioMute ] };
+ key <I11> { [ XF86PowerOff ] };
+ key <I12> { [ XF86Sleep ] };
+ key <I16> { [ XF86WakeUp ] };
+ key <I18> { [ XF86Search ] };
+ key <I1A> { [ XF86Reload ] };
+};
+
+// Creative
+
+// Creative Desktop Wireless 7000
+partial alphanumeric_keys
+xkb_symbols "creativedw7000" {
+ include "inet(media_nav_acpi_common)"
+ key <I66> { [ XF86Pictures ] };
+};
+
+// Compal
+
+// Compal FL90
+partial alphanumeric_keys
+xkb_symbols "compalfl90" {
+ include "inet(media_nav_acpi_common)"
+ key <I54> { [ XF86MonBrightnessUp ] };
+ key <II65> { [ XF86MonBrightnessDown ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "pc105" {
+ include "inet(media_nav_acpi_common)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/iq b/xorg-server/xkeyboard-config/symbols/iq
new file mode 100644
index 000000000..b2b742b95
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/iq
@@ -0,0 +1,34 @@
+// $XKeyboardConfig$
+// Iraque keyboard layout,
+
+// 3-Level layout
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ include "ara(basic)"
+ name[Group1]= "Iraq";
+};
+
+partial alphanumeric_keys
+xkb_symbols "ku" {
+ include "tr(ku)"
+ name[Group1]= "Iraq - Kurdish, Latin Q";
+};
+
+partial alphanumeric_keys
+xkb_symbols "ku_f" {
+ include "tr(ku_f)"
+ name[Group1]= "Iraq - Kurdish, (F)";
+};
+
+partial alphanumeric_keys
+xkb_symbols "ku_alt" {
+ include "tr(ku_alt)"
+ name[Group1]= "Iraq - Kurdish, Latin Alt-Q";
+};
+
+partial alphanumeric_keys
+xkb_symbols "ku_ara" {
+ include "ir(ku_ara)"
+ name[Group1]= "Iraq - Kurdish, Arabic-Latin";
+};
diff --git a/xorg-server/xkeyboard-config/symbols/ir b/xorg-server/xkeyboard-config/symbols/ir
new file mode 100644
index 000000000..7ee3bc731
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ir
@@ -0,0 +1,241 @@
+// $XKeyboardConfig$
+
+// Iranian keyboard layout
+
+////////////////////////////////////////
+// Persian layout,
+// based on
+// Information Technology – Layout of Persian Letters and Symbols on Computer Keyboards
+// ISIRI 9147 – 1st Edition
+// Institute of Standards and Industrial Research of Iran
+// http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147
+// http://behnam.esfahbod.info/standards/isiri-keyboard-9147.pdf
+//
+// Author: Behnam Esfahbod <behnam@esfahbod.info>
+//
+
+partial default alphanumeric_keys
+xkb_symbols "pes" {
+ name[Group1]= "Iran";
+
+ include "ir(pes_part_basic)"
+ include "ir(pes_part_ext)"
+
+ include "nbsp(zwnj2nb3nnb4)"
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "pes_keypad" {
+ name[Group1]= "Iran - Persian, with Persian Keypad";
+
+ include "ir(pes_part_basic)"
+ include "ir(pes_part_keypad)"
+
+ include "nbsp(zwnj2nb3nnb4)"
+ include "level3(ralt_switch)"
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "pes_part_basic" {
+
+ // Persian digits
+ key <AE01> { [ 0x10006f1, exclam, quoteleft ] };
+ key <AE02> { [ 0x10006f2, 0x100066c, at ] };
+ key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] };
+ key <AE04> { [ 0x10006f4, 0x100fdfc, dollar ] };
+ key <AE05> { [ 0x10006f5, 0x100066a, percent ] };
+ key <AE06> { [ 0x10006f6, multiply, asciicircum ] };
+ key <AE07> { [ 0x10006f7, Arabic_comma, ampersand ] };
+ key <AE08> { [ 0x10006f8, asterisk, enfilledcircbullet ] };
+ key <AE09> { [ 0x10006f9, parenright, 0x100200e ] };
+ key <AE10> { [ 0x10006f0, parenleft, 0x100200f ] };
+
+ // Persian letters and symbols
+ key <AD01> { [ Arabic_dad, Arabic_sukun, degree ] };
+ key <AD02> { [ Arabic_sad, Arabic_dammatan, VoidSymbol ] };
+ key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x13a4 ] };
+ key <AD04> { [ Arabic_qaf, Arabic_fathatan, VoidSymbol ] };
+ key <AD05> { [ Arabic_feh, Arabic_damma, VoidSymbol ] };
+ key <AD06> { [ Arabic_ghain, Arabic_kasra, VoidSymbol ] };
+ key <AD07> { [ Arabic_ain, Arabic_fatha, VoidSymbol ] };
+ key <AD08> { [ Arabic_heh, Arabic_shadda, 0x100202d ] };
+ key <AD09> { [ Arabic_khah, bracketright, 0x100202e ] };
+ key <AD10> { [ Arabic_hah, bracketleft, 0x100202c ] };
+ key <AD11> { [ Arabic_jeem, braceright, 0x100202a ] };
+ key <AD12> { [ 0x1000686, braceleft, 0x100202b ] };
+
+ key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, VoidSymbol ] };
+ key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, VoidSymbol ] };
+ key <AC03> { [ 0x10006cc, Arabic_yeh, Arabic_alefmaksura ] };
+ key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef, VoidSymbol ] };
+ key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, VoidSymbol ] };
+ key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
+ key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] };
+ key <AC08> { [ Arabic_noon, guillemotright, 0x100fd3e ] };
+ key <AC09> { [ Arabic_meem, guillemotleft, 0x100fd3f ] };
+ key <AC10> { [ 0x10006a9, colon, semicolon ] };
+ key <AC11> { [ 0x10006af, Arabic_semicolon, quotedbl ] };
+
+ key <AB01> { [ Arabic_zah, Arabic_kaf, VoidSymbol ] };
+ key <AB02> { [ Arabic_tah, 0x1000653, VoidSymbol ] };
+ key <AB03> { [ Arabic_zain, 0x1000698, VoidSymbol ] };
+ key <AB04> { [ Arabic_ra, 0x1000670, 0x1000656 ] };
+ key <AB05> { [ Arabic_thal, 0x100200c, 0x100200d ] };
+ key <AB06> { [ Arabic_dal, 0x1000654, 0x1000655 ] };
+ key <AB07> { [ 0x100067e, Arabic_hamza, ellipsis ] };
+ key <AB08> { [ Arabic_waw, greater, comma ] };
+ key <AB09> { [ period, less, apostrophe ] };
+ key <AB10> { [ slash, Arabic_question_mark, question ] };
+
+ key <TLDE> { [ 0x100200d, division, asciitilde ] };
+ key <AE11> { [ minus, Arabic_tatweel, underscore ] };
+ key <AE12> { [ equal, plus, 0x1002212 ] };
+ key <BKSL> { [ backslash, bar, 0x1002010 ] };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "pes_part_ext" {
+
+ // Persian and ASCII digits
+ key <AE01> { [ 0x10006f1, exclam, quoteleft, 1 ] };
+ key <AE02> { [ 0x10006f2, 0x100066c, at, 2 ] };
+ key <AE03> { [ 0x10006f3, 0x100066b, numbersign, 3 ] };
+ key <AE04> { [ 0x10006f4, 0x100fdfc, dollar, 4 ] };
+ key <AE05> { [ 0x10006f5, 0x100066a, percent, 5 ] };
+ key <AE06> { [ 0x10006f6, multiply, asciicircum, 6 ] };
+ key <AE07> { [ 0x10006f7, Arabic_comma, ampersand, 7 ] };
+ key <AE08> { [ 0x10006f8, asterisk, enfilledcircbullet, 8 ] };
+ key <AE09> { [ 0x10006f9, parenright, 0x100200e, 9 ] };
+ key <AE10> { [ 0x10006f0, parenleft, 0x100200f, 0 ] };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "pes_part_keypad" {
+
+ // Persian digits and Mathematical operators
+ key <KPDV> { [ division, XF86_Ungrab ] };
+ key <KPMU> { [ multiply, XF86_ClearGrab ] };
+ key <KPSU> { [ 0x1002212, XF86_Prev_VMode ] };
+ key <KPAD> { [ plus, XF86_Next_VMode ] };
+
+ key <KPEN> { [ KP_Enter ] };
+ key <KPEQ> { [ equal ] };
+
+ key <KP7> { [ KP_Home, 0x10006f7 ] };
+ key <KP8> { [ KP_Up, 0x10006f8 ] };
+ key <KP9> { [ KP_Prior, 0x10006f9 ] };
+
+ key <KP4> { [ KP_Left, 0x10006f4 ] };
+ key <KP5> { [ KP_Begin, 0x10006f5 ] };
+ key <KP6> { [ KP_Right, 0x10006f6 ] };
+
+ key <KP1> { [ KP_End, 0x10006f1 ] };
+ key <KP2> { [ KP_Down, 0x10006f2 ] };
+ key <KP3> { [ KP_Next, 0x10006f3 ] };
+
+ key <KP0> { [ KP_Insert, 0x10006f0 ] };
+ key <KPDL> { [ KP_Delete, 0x100066b ] };
+};
+
+
+////////////////////////////////////////
+// Kurdish Layout
+
+partial alphanumeric_keys
+xkb_symbols "ku" {
+ include "tr(ku)"
+ name[Group1]= "Iran - Kurdish, Latin Q";
+};
+
+partial alphanumeric_keys
+xkb_symbols "ku_f" {
+ include "tr(ku_f)"
+ name[Group1]= "Iran - Kurdish, (F)";
+};
+
+partial alphanumeric_keys
+xkb_symbols "ku_alt" {
+ include "tr(ku_alt)"
+ name[Group1]= "Iran - Kurdish, Latin Alt-Q";
+};
+
+////////////////////////////////////////
+// Kurdish Soranî Bahdînî (Arabic) keyboard layout,
+// based on the Kurdî Soranî Bahdînî keyboard from KurdITGroup
+// which is based on National Iranian Keyboard Standard (ISIRI 2901:1994),
+// with additions.
+//
+// Copyright (C) 2006 Erdal Ronahî, published under the GPL v2
+//
+// Special copyright note: author explicitly permitted to license this
+// layout under MIT/X11 license, for details see
+// https://bugs.freedesktop.org/show_bug.cgi?id=9541
+//
+// Author: Erdal Ronahî <erdal.ronahi@gmail.com>
+//
+// Kurdish Arabic-Latin Layout for Soranî
+
+partial alphanumeric_keys
+xkb_symbols "ku_ara" {
+ name[Group1]= "Iran - Kurdish, Arabic-Latin";
+
+ // Other 3-Level symbols
+ key <TLDE> { [ 0x100200d, division, asciitilde ] };
+ key <BKSL> { [ backslash, bar, ccedilla, Ccedilla ] };
+
+ // Digits
+ key <AE01> { [ 1, exclam, 0x10006f1, quoteleft ] };
+ key <AE02> { [ 2, at, 0x10006f2, at ] };
+ key <AE03> { [ 3, numbersign, 0x10006f3, 0x100066b ] };
+ key <AE04> { [ 4, dollar, 0x10006f4, 0x100fdfc ] };
+ key <AE05> { [ 5, percent, 0x10006f5, 0x100066a ] };
+ key <AE06> { [ 6, asciicircum, 0x10006f6, multiply ] };
+ key <AE07> { [ 7, ampersand, 0x10006f7, Arabic_comma ] };
+ key <AE08> { [ 8, asterisk, 0x10006f8, enfilledcircbullet ] };
+ key <AE09> { [ 9, parenright, 0x10006f9, 0x100200e ] };
+ key <AE10> { [ 0, parenleft, 0x10006f0, 0x100200f ] };
+ key <AE11> { [ minus, Arabic_tatweel, underscore ] };
+ key <AE12> { [ equal, plus, 0x1002212 ] };
+
+ key <AD01> { [ Arabic_qaf, X, q, Q ] };
+ key <AD02> { [ Arabic_waw, X, w, W ] };
+ key <AD03> { [ 0x10006d5, Arabic_heh, e, E ] };
+ key <AD04> { [ Arabic_ra , 0x1000695, r, R ] };
+ key <AD05> { [ Arabic_teh, Arabic_tah, t, T ] };
+ key <AD06> { [ 0x10006cc, 0x10006ce, y, Y ] };
+ key <AD07> { [ Arabic_hamzaonyeh, Arabic_hamza, u, U ] };
+ key <AD08> { [ Arabic_hah, Arabic_ain, i, I ] };
+ key <AD09> { [ 0x10006c6, Arabic_hamzaonwaw, o, O ] };
+ key <AD10> { [ 0x100067e, Arabic_theh, p, P ] };
+ key <AD11> { [ bracketright, braceright, ucircumflex, Ucircumflex ] };
+ key <AD12> { [ bracketleft, braceleft, scedilla, Scedilla ] };
+
+ key <AC01> { [ Arabic_alef, Arabic_maddaonalef, a, A ] };
+ key <AC02> { [ Arabic_seen, Arabic_sheen, s, S ] };
+ key <AC03> { [ Arabic_dal, Arabic_thal, d, D ] };
+ key <AC04> { [ Arabic_feh, Arabic_hamzaunderalef, f, F ] };
+ key <AC05> { [ 0x10006af, Arabic_ghain, g, G ] };
+ key <AC06> { [ Arabic_heh, 0x100200c, h, H ] };
+ key <AC07> { [ 0x1000698, Arabic_hamzaonalef, j, J ] };
+ key <AC08> { [ 0x10006a9, Arabic_kaf, k, K ] };
+ key <AC09> { [ Arabic_lam, 0x10006b5, l, L ] };
+ key <AC10> { [ Arabic_semicolon, colon, ecircumflex, Ecircumflex ] };
+ key <AC11> { [ apostrophe, quotedbl, icircumflex, Icircumflex ] };
+
+ key <AB01> { [ Arabic_zain, Arabic_dad, z, Z ] };
+ key <AB02> { [ Arabic_khah, Arabic_sad, x, X ] };
+ key <AB03> { [ Arabic_jeem, 0x1000686, c, C ] };
+ key <AB04> { [ 0x10006a4, Arabic_zah, v, V ] };
+ key <AB05> { [ Arabic_beh, 0x1000649, b, B ] };
+ key <AB06> { [ Arabic_noon, Arabic_tehmarbuta, n, N ] };
+ key <AB07> { [ Arabic_meem, Arabic_tatweel, m, M ] };
+ key <AB08> { [ Arabic_comma, greater, comma ] };
+ key <AB09> { [ period, less, apostrophe ] };
+ key <AB10> { [ slash, Arabic_question_mark, question ] };
+
+ include "nbsp(zwnj2nb3)"
+ include "level3(ralt_switch)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/is b/xorg-server/xkeyboard-config/symbols/is
new file mode 100644
index 000000000..53dddc43e
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/is
@@ -0,0 +1,202 @@
+// $XKeyboardConfig$
+
+// based on
+// XKB keyboard by Hrafnkell Eiriksson - hkelle@rhi.hi.is
+// fixes by Olafur Osvaldsson - oli@isnic.is
+//
+// $XFree86: xc/programs/xkbcomp/symbols/is,v 1.3 2002/11/26 01:57:25 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin(type4)"
+
+ name[Group1]="Iceland";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
+ key <AE04> { [ 4, dollar, onequarter, currency ] };
+ key <AE11> { [odiaeresis, Odiaeresis, backslash, questiondown ] };
+ key <AE12> { [ minus, underscore, ccedilla, dead_ogonek ] };
+
+ key <AD11> { [ eth, ETH, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [apostrophe, question, asciitilde, dead_macron ] };
+
+ key <AC10> { [ ae, AE, asciicircum, dead_doubleacute ] };
+ key <AC11> { [dead_acute, dead_circumflex, dead_circumflex ] };
+ key <TLDE> { [ degree, diaeresis, notsign, notsign ] };
+
+ key <BKSL> { [ plus, asterisk, grave, dead_breve ] };
+ key <AB10> { [ thorn, THORN, dead_belowdot, dead_abovedot ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // modify the basic Icelandic layout to use Sun dead keys
+
+ include "is(basic)"
+
+ name[Group1]="Iceland - Sun dead keys";
+
+ key <TLDE> { [dead_circumflex, degree, notsign, notsign ] };
+ key <AE12> { [dead_acute, dead_grave, dead_cedilla, dead_cedilla ] };
+ key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_diaeresis ] };
+ key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
+ key <AC10> { [odiaeresis, Odiaeresis, dead_acute, dead_acute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, dead_circumflex, dead_circumflex ] };
+ key <BKSL> { [numbersign, acute, dead_grave, dead_grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // modify the basic Icelandic layout to not have any dead keys
+
+ include "is(basic)"
+
+ name[Group1]="Iceland - Eliminate dead keys";
+
+ key <TLDE> { [asciicircum, degree, notsign, notsign ] };
+ key <AE12> { [apostrophe, grave, cedilla, cedilla ] };
+ key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] };
+ key <AD12> { [ plus, asterisk, asciitilde, macron ] };
+ key <AC10> { [odiaeresis, Odiaeresis, acute, acute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] };
+ key <BKSL> { [numbersign, acute, grave, grave ] };
+ key <AB10> { [ thorn, THORN, dead_belowdot, abovedot ] };
+};
+
+// Copyright (C) 2004, 2006 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+//
+// = HISTORY
+// * 2004-09-28:
+// Initial cleanroom writing of the keymap, I just booted Mac OS X, opened
+// TextEdit.app and wrote down what the value produced by each key was when I
+// pressed it, a for a, A for shift + a, å for lalt + a etc and made the
+// keymap from that information
+//
+// * 2006-01-14:
+// Revised the comments in the file
+//
+// = NOTES
+// * 20 characters in this keymap have no named character defined in
+// include/keysymdef.h and as a result their Unicode code points in
+// hexadecimal are listed here, these can be generated with the following
+// perl command:
+// $ perl -CA -e 'printf "U%x\n", ord shift' Æ
+// and converted back like:
+// $ perl -CO -le '$_=shift;s/[^a-f0-9]//ig;print chr hex' Uc6
+// * The Apple logo appears twice on this keymap like the Mac OS and Mac OS X
+// keymaps. In the MacRoman encoding it has the code point 0xF0 (240) but it
+// has no assigned code point in Unicode, the code point Apple uses for it is
+// U+F8FF (63743) which is in the BMP's Private Use Area (U+E000–U+F8FF)
+// * This keymap has only been tested on a PowerBook6,5 (iBook G4) but it
+// should work on other Apple laptop models which use the same keyboard
+// layout. It will probably work on standard sized keyboards with little or
+// no modification but it might not support them fully, please report if
+// you're able to get it running with such a keyboard
+
+// Copied from macintosh_vndr/is
+partial alphanumeric_keys
+xkb_symbols "mac" {
+ name[Group1]= "Iceland - Macintosh";
+
+ //-- Row 5 (E) --//
+ key <TLDE> { [ sterling, section, UF8FF, apostrophe ] };
+ key <AE01> { [ 1, exclam, exclamdown, VoidSymbol ] };
+ key <AE02> { [ 2, quotedbl, at, VoidSymbol ] };
+ key <AE03> { [ 3, numbersign, U2122, sterling ] };
+ key <AE04> { [ 4, dollar, U00A2, EuroSign ] };
+ key <AE05> { [ 5, percent, U2030, infinity ] };
+ key <AE06> { [ 6, ampersand, asciicircum, U2044 ] };
+ key <AE07> { [ 7, slash, backslash, U00F7 ] };
+ key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright, bracketright, braceright ] };
+ key <AE10> { [ 0, equal, U2260, U2248 ] };
+ key <AE11> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] };
+ key <AE12> { [ minus, underscore, endash, emdash ] };
+
+
+ //-- Row 4 (D) --//
+ key <AD01> { [ q, Q, paragraph, VoidSymbol ] };
+ key <AD02> { [ w, W, U2211, VoidSymbol ] };
+ key <AD03> { [ e, E, dead_grave, VoidSymbol ] };
+ key <AD04> { [ r, R, registered, VoidSymbol ] };
+ key <AD05> { [ t, T, degree, VoidSymbol ] };
+ key <AD06> { [ y, Y, yen, VoidSymbol ] };
+ key <AD07> { [ u, U, dead_diaeresis, VoidSymbol ] };
+ key <AD08> { [ i, I, U0131, U00AA ] };
+ key <AD09> { [ o, O, dead_circumflex,U00BA ] };
+ key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
+ key <AD11> { [ eth, Eth, U201e, U201c ] };
+ key <AD12> { [ apostrophe, question, questiondown, U00B7 ] };
+
+
+ //-- Row 3 (C) --//
+ key <AC01> { [ a, A, aring, Aring ] };
+ key <AC02> { [ s, S, ssharp, abovedot ] };
+ key <AC03> { [ d, D, U2202, U2DA ] };
+ key <AC04> { [ f, F, U192, macron ] };
+ key <AC05> { [ g, G, copyright, breve ] };
+ key <AC06> { [ h, H, bar, VoidSymbol ] };
+ key <AC07> { [ j, J, U2206, U2dd ] };
+ key <AC08> { [ k, K, U00AC, VoidSymbol ] };
+ key <AC09> { [ l, L, U2026, caron ] };
+ key <AC10> { [ ae, AE, oe, OE ] };
+ key <AC11> { [ dead_acute, dead_diaeresis, U201A, U2018 ] };
+ key <BKSL> { [ plus, asterisk, U2022, plusminus ] };
+
+
+ //-- Row 2 (B) --//
+ key <LSGT> { [ less, greater, section, UF8FF ] };
+ key <AB01> { [ z, Z, U3A9, VoidSymbol ] };
+ key <AB02> { [ x, X, asciitilde, VoidSymbol ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB04> { [ v, V, U221A, U25CA ] };
+ key <AB05> { [ b, B, U222B, VoidSymbol ] };
+ key <AB06> { [ n, N, dead_tilde, VoidSymbol ] };
+ key <AB07> { [ m, M, U00B5, VoidSymbol ] };
+ key <AB08> { [ comma, semicolon, lessthanequal, guillemotleft ] };
+ key <AB09> { [ period, colon, greaterthanequal,guillemotright ] };
+ key <AB10> { [ thorn, Thorn, U2019, U201d ] };
+
+ include "level3(ralt_switch)"
+};
+
+// This is a modified version of the English Dvorak layout that allows
+// you to type all Icelandic letters under X. It's not a full attempt at
+// nationalizing the layout as e.g. the Norwegian, Swedish and French
+// layouts which modify the primary keys of the basic Dvorak layout
+// extensively.
+
+// Rather it's a simple modification of 5 keys of the US Dvorak layout,
+// it adds Germanic/Icelandic style quotation marks („“), eth (ðÐ), ae
+// (æÆ), endash and emdash (–—), thorn (þÞ), EuroSign (€) and the German
+// Sharp S (ßẞ). These keys aren't used in the US version, making the
+// Icelandic version a superset of it.
+
+// Maybe someone else will make a "full" attempt at an Icelandic layout
+// but I was mostly interested in continuing to type English comfortably
+// as a primary function while being able to type the full Icelandic
+// alphabet as a secondary function.
+// -- Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+
+// Icelandic Dvorak
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ name[Group1]= "Iceland - Dvorak";
+
+ include "us(dvorak)"
+ include "eurosign(4)"
+
+ key <AD11> { [ slash, question, U201e, U201c ] };
+ key <AC06> { [ d, D, eth, ETH ] };
+ key <AC10> { [ s, S, ae, AE ] };
+ key <AC11> { [ minus, underscore, endash, emdash ] };
+ key <AB10> { [ z, Z, thorn, Thorn ] };
+ key <AB06> { [ b, B, ssharp, U1E9E ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/it b/xorg-server/xkeyboard-config/symbols/it
new file mode 100644
index 000000000..7f703d16f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/it
@@ -0,0 +1,218 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/it' file
+// 17 May 2003 Modified by Sebastiano Vigna (vigna@dsi.unimi.it)
+//
+// $XFree86: xc/programs/xkbcomp/symbols/it,v 1.4 2003/04/19 12:22:12 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin(type4)"
+
+ name[Group1]="Italy";
+
+ key <TLDE> { [ backslash, bar, notsign, brokenbar ] };
+
+ key <AE02> { [ 2, quotedbl, twosuperior, dead_doubleacute ] };
+ key <AE03> { [ 3, sterling,threesuperior, dead_tilde ] };
+ key <AE04> { [ 4, dollar, onequarter, oneeighth ] };
+
+ key <AE10> { [ 0, equal, braceright, dead_ogonek ] };
+ key <AE11> { [apostrophe, question, grave, questiondown ] };
+ key <AE12> { [ igrave, asciicircum, asciitilde, dead_circumflex ] };
+
+ key <AD11> { [ egrave, eacute, bracketleft, braceleft ] };
+ key <AD12> { [ plus, asterisk, bracketright, braceright ] };
+
+ key <AC10> { [ ograve, ccedilla, at, dead_cedilla ] };
+ key <AC11> { [ agrave, degree, numbersign, dead_abovering ] };
+
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB08> { [ comma, semicolon, dead_acute, multiply ] };
+ key <AB09> { [ period, colon,periodcentered, dead_diaeresis ] };
+ key <AB10> { [ minus, underscore, dead_macron, division ] };
+
+ key <BKSL> { [ ugrave, section, dead_grave, dead_breve ] };
+
+ key <LSGT> { [ less, greater,guillemotleft,guillemotright] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic italian layout to eliminate all dead keys
+
+ include "it(basic)"
+
+ name[Group1]="Italy - Eliminate dead keys";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, doubleacute ] };
+ key <AE03> { [ 3, sterling,threesuperior, asciitilde ] };
+
+ key <AE10> { [ 0, equal, braceright, ogonek ] };
+ key <AE12> { [ igrave, asciicircum, asciitilde, asciicircum ] };
+
+ key <AC10> { [ ograve, ccedilla, at, cedilla ] };
+ key <AC11> { [ agrave, degree, numbersign, degree ] };
+
+ key <AB08> { [ comma, semicolon, acute, multiply ] };
+ key <AB09> { [ period, colon,periodcentered, diaeresis ] };
+ key <AB10> { [ minus, underscore, macron, division ] };
+
+ key <BKSL> { [ ugrave, section, grave, breve ] };
+};
+
+// Copied from macintosh_vndr/it
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ name[Group1]= "Italy - Macintosh";
+
+ // Alphanumeric section
+ key <LSGT> { [ less, greater ] };
+ key <TLDE> { [ at, numbersign, periodcentered ] };
+ key <AE01> { [ ampersand, 1, guillemotleft,guillemotright ] };
+ key <AE02> { [ quotedbl, 2 ] };
+ key <AE03> { [ apostrophe, 3 ] };
+ key <AE04> { [ parenleft, 4, braceleft, bracketleft ] };
+ key <AE05> { [ ccedilla, 5, Ccedilla, Iacute ] };
+ key <AE06> { [ egrave, 6, paragraph, periodcentered] };
+ key <AE07> { [ parenright, 7, braceright, bracketright ] };
+ key <AE08> { [ sterling, 8, infinity ] };
+ key <AE09> { [ agrave, 9, acute, Ocircumflex ] };
+ key <AE10> { [ eacute, 0, grave, Oacute ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus, notequal, plusminus ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ z, Z ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, registered ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y, Uacute, ydiaeresis ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I, icircumflex, idiaeresis ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ igrave, asciicircum ] };
+ key <AD12> { [ dollar, asterisk ] };
+ key <BKSL> { [ section, degree, at, numbersign ] };
+
+ key <AC01> { [ a, A, aring, Aring ] };
+ key <AC02> { [ s, S, ssharp ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H, Igrave, Icircumflex ] };
+ key <AC07> { [ j, J, Idiaeresis, Iacute ] };
+ key <AC08> { [ k, K, Egrave, Ediaeresis ] };
+ key <AC09> { [ l, L, ssharp, bar ] };
+ key <AC10> { [ m, M, mu, Oacute ] };
+ key <AC11> { [ ugrave, percent, ae, AE ] };
+
+ key <AB01> { [ w, W ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C, copyright, copyright ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N, dead_tilde ] };
+ key <AB07> { [ comma, question, questiondown ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash, bar, backslash ] };
+ key <AB10> { [ ograve, exclam, exclamdown ] };
+
+ // End alphanumeric section
+
+ include "kpdl(dot)"
+ include "level3(ralt_switch)"
+};
+
+// Used by Georgian people in Italy,
+// contributed by Vladimer Sichinava
+partial alphanumeric_keys
+xkb_symbols "geo" {
+ include "it"
+ include "ge(basic)"
+
+ name[Group1]= "Italy - Georgian";
+ key <TLDE> { [ backslash, bar, notsign, brokenbar ] };
+ key <AE01> { [ 1, exclam, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, twosuperior, dead_doubleacute ] };
+ key <AE03> { [ 3, sterling, threesuperior, dead_tilde ] };
+ key <AE04> { [ 4, dollar, onequarter, oneeighth ] };
+ key <AE05> { [ 5, percent, onehalf ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal, braceright, dead_ogonek ] };
+ key <AE11> { [apostrophe, question, grave, questiondown ] };
+ key <AE12> { [ igrave, asciicircum, asciitilde, dead_circumflex ] };
+
+ key <AD03> { [0x010010d4, E, EuroSign ] };
+ key <AD11> { [ egrave, eacute, bracketleft, braceleft ] };
+ key <AD12> { [ plus, asterisk, bracketright, braceright ] };
+
+ key <AC10> { [ ograve, ccedilla, at, dead_cedilla ] };
+ key <AC11> { [ agrave, degree, numbersign, degree ] };
+ key <BKSL> { [ ugrave, section, dead_grave, dead_breve ] };
+ key <LSGT> { [ less, greater ] };
+
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+};
+
+// OLPC Section
+xkb_symbols "olpc" {
+
+ include "it(basic)"
+
+ key <AE12> { [ igrave, asciicircum, asciitilde, dead_tilde ] };
+ key <BKSL> { [ ugrave, section, Egrave, dead_breve ] };
+ key <I219> { [ less, greater, guillemotleft, guillemotright ] };
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "us" {
+
+ name[Group1]= "Italy - US keyboard with Italian letters";
+
+ include "us(euro)"
+
+ // Alphanumeric section
+
+ key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
+ key <AE01> { [ 1, exclam, onesuperior ] };
+ key <AE02> { [ 2, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign, threesuperior ] };
+ key <AE06> { [ 6,asciicircum,dead_circumflex ] };
+ key <AE10> { [ 0, parenright, degree ] };
+ key <AE11> { [ minus, underscore, dead_macron ] };
+
+ key <AD03> { [ e, E, egrave, Egrave ] };
+ key <AD04> { [ r, R, registered ] };
+ key <AD07> { [ u, U, ugrave, Ugrave ] };
+ key <AD08> { [ i, I, igrave, Igrave ] };
+ key <AD09> { [ o, O, ograve, Ograve ] };
+
+ key <AC01> { [ a, A, agrave, Agrave ] };
+ key <AC03> { [ d, D, eacute, Eacute ] };
+ key <AC07> { [ j, J, uacute, Uacute ] };
+ key <AC08> { [ k, K, iacute, Iacute ] };
+ key <AC09> { [ l, L, oacute, Oacute ] };
+ key <AC10> { [ semicolon, colon,dead_diaeresis, dead_diaeresis ] };
+ key <AC11> { [apostrophe, quotedbl, dead_acute ] };
+
+ key <AB01> { [ z, Z, aacute, Aacute ] };
+ key <AB03> { [ c, C, copyright ] };
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB08> { [ comma, less, guillemotleft ] };
+ key <AB09> { [ period, greater, guillemotright ] };
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/jp b/xorg-server/xkeyboard-config/symbols/jp
new file mode 100644
index 000000000..7a4016fc5
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/jp
@@ -0,0 +1,222 @@
+// $XKeyboardConfig$
+
+// based on:
+// symbols for a Japanese 106 keyboard(by tsuka@kawalab.dnj.ynu.ac.jp)
+
+// jp106 keyboard map
+partial default alphanumeric_keys
+xkb_symbols "106" {
+ include "jp(common)"
+ name[Group1]= "Japan";
+
+ key <AE10> { [ 0, asciitilde ] };
+ key <AE13> { [ backslash, bar ] };
+};
+
+// common latin part of jp keyboard map
+partial hidden alphanumeric_keys
+xkb_symbols "common" {
+ // "Common" keys for jp 106/109A layout
+
+ // Alphanumeric section
+ key <HZTG> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Zenkaku_Hankaku, Kanji ]
+ };
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, apostrophe ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE11> { [ minus, equal ] };
+ key <AE12> { [ asciicircum, asciitilde] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ at, grave ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+
+ key <CAPS> { [ Eisu_toggle, Caps_Lock ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, plus ] };
+ key <AC11> { [ colon, asterisk ] };
+ key <AC12> { [ bracketright, braceright ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+ key <AB11> { [ backslash, underscore] };
+ key <LCTL> { [ Control_L ] };
+
+ key <NFER> { [ Muhenkan ] };
+
+ key <XFER> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Henkan, Mode_switch ]
+ };
+ key <HKTG> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Hiragana_Katakana, Romaji ]
+ };
+
+ key <EISU> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Eisu_toggle ]
+ };
+
+ key <KANA> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Hiragana_Katakana ]
+ };
+
+
+ key <PRSC> {
+ type[Group1]= "PC_ALT_LEVEL2",
+ symbols[Group1]= [ Print, Execute ]
+ };
+};
+
+// OADG109A map
+partial alphanumeric_keys
+xkb_symbols "OADG109A" {
+
+ include "jp(common)"
+ name[Group1]= "Japan - OADG 109A";
+
+ key <AE10> { [ 0 ] };
+ key <AE13> { [ yen, bar ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "kana" {
+
+ name[Group1]= "Japan - Kana";
+
+ // Alphanumeric section
+ key <HZTG> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Zenkaku_Hankaku, Kanji ]
+ };
+ key <AE01> { [ kana_NU ] };
+ key <AE02> { [ kana_FU ] };
+ key <AE03> { [ kana_A, kana_a ] };
+ key <AE04> { [ kana_U, kana_u ] };
+ key <AE05> { [ kana_E, kana_e ] };
+ key <AE06> { [ kana_O, kana_o ] };
+ key <AE07> { [ kana_YA, kana_ya ] };
+ key <AE08> { [ kana_YU, kana_yu ] };
+ key <AE09> { [ kana_YO, kana_yo ] };
+ key <AE10> { [ kana_WA, kana_WO ] };
+ key <AE11> { [ kana_HO ] };
+ key <AE12> { [ kana_HE ] };
+ key <AE13> { [ prolongedsound ] };
+
+ key <AD01> { [ kana_TA ] };
+ key <AD02> { [ kana_TE ] };
+ key <AD03> { [ kana_I, kana_i ] };
+ key <AD04> { [ kana_SU ] };
+ key <AD05> { [ kana_KA ] };
+ key <AD06> { [ kana_N ] };
+ key <AD07> { [ kana_NA ] };
+ key <AD08> { [ kana_NI ] };
+ key <AD09> { [ kana_RA ] };
+ key <AD10> { [ kana_SE ] };
+ key <AD11> { [ voicedsound ] };
+ key <AD12> { [ semivoicedsound, kana_openingbracket ] };
+
+ key <CAPS> { [ Eisu_toggle, Caps_Lock ] };
+ key <AC01> { [ kana_CHI ] };
+ key <AC02> { [ kana_TO ] };
+ key <AC03> { [ kana_SHI ] };
+ key <AC04> { [ kana_HA ] };
+ key <AC05> { [ kana_KI ] };
+ key <AC06> { [ kana_KU ] };
+ key <AC07> { [ kana_MA ] };
+ key <AC08> { [ kana_NO ] };
+ key <AC09> { [ kana_RI ] };
+ key <AC10> { [ kana_RE ] };
+ key <AC11> { [ kana_KE ] };
+ key <AC12> { [ kana_MU, kana_closingbracket ] };
+
+ key <AB01> { [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ kana_SA ] };
+ key <AB03> { [ kana_SO ] };
+ key <AB04> { [ kana_HI ] };
+ key <AB05> { [ kana_KO ] };
+ key <AB06> { [ kana_MI ] };
+ key <AB07> { [ kana_MO ] };
+ key <AB08> { [ kana_NE, kana_comma ] };
+ key <AB09> { [ kana_RU, kana_fullstop ] };
+ key <AB10> { [ kana_ME, kana_middledot ] };
+ key <AB11> { [ kana_RO ] };
+ key <LCTL> { [ Control_L ] };
+
+ key <NFER> { [ Muhenkan ] };
+
+ key <XFER> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Henkan, Mode_switch ]
+ };
+ key <HKTG> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1]= [ Hiragana_Katakana, Romaji ]
+ };
+
+ // End alphanumeric section
+
+ key <PRSC> {
+ type[Group1]= "PC_ALT_LEVEL2",
+ symbols[Group1]= [ Print, Execute ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "nicola_f_bs" {
+ key <BKSP> {
+ type="",
+ symbols[Group1]= [ bracketright, braceright ]
+ };
+ key <AE10> { [ 0,underscore ] };
+ key <AD11> { [ colon, asterisk ] };
+ key <AC11> { [ BackSpace, BackSpace ] };
+ key <AC12> { [ Escape ] };
+ key <AB11> { [ at, grave ] };
+};
+
+// Copied from macintosh_vndr/jp
+partial alphanumeric_keys
+xkb_symbols "mac" {
+ name[Group1] = "Japan - Macintosh";
+ include "jp(kana)"
+
+ replace key <CAPS> { [ Caps_Lock ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/ke b/xorg-server/xkeyboard-config/symbols/ke
new file mode 100644
index 000000000..5ec174b7e
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ke
@@ -0,0 +1,44 @@
+// $XKeyboardConfig$
+
+// Keyboard layout for Swahili in Arabic script.
+// Based on Martin Vidner's Buckwalter transliteration variant of the Arabic keyboard
+// Please notify any corrections or omissions to
+// Kevin Donnelly (kevin@dotmon.com)
+
+partial default alphanumeric_keys
+xkb_symbols "swa" {
+
+ include "us"
+
+ name[Group1]= "Kenya";
+
+ key <AC10> { [ semicolon, colon, 0x01000324, 0x01000324 ] }; //COMBINING DIAERESIS BELOW
+ key <AC11> { [apostrophe, quotedbl, 0x01000301, 0x01000308 ] }; //COMBINING ACUTE ACCENT, COMBINING DIAERESIS
+ key <TLDE> { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; //COMBINING GRAVE ACCENT, COMBINING TILDE
+ key <AE06> { [ 6, asciicircum, 0x01000302 ] }; //COMBINING CIRCUMFLEX ACCENT
+ key <AE08> { [ 8, asterisk, 0x01000307, 0x01000323 ] }; //COMBINING DOT ABOVE, COMBINING DOT BELOW
+ key <AE09> { [ 9, parenleft, 0x01000306 ] }; //COMBINING BREVE
+ key <AE10> { [ 0, parenright, 0x0100030c ] }; //COMBINING CARON
+ key <AE11> { [ minus, underscore, 0x01000304, 0x01000331 ] }; //COMBINING MACRON,COMBINING MACRON BELOW
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "kik" {
+
+ include "us"
+
+ name[Group1]= "Kenya - Kikuyu";
+
+ key <AC10> { [ semicolon, colon, 0x01000324, 0x01000324 ] }; //COMBINING DIAERESIS BELOW
+ key <AC11> { [apostrophe, quotedbl, 0x01000301, 0x01000308 ] }; //COMBINING ACUTE ACCENT, COMBINING DIAERESIS
+ key <TLDE> { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; //COMBINING GRAVE ACCENT, COMBINING TILDE
+ key <AE06> { [ 6, asciicircum, 0x01000302 ] }; //COMBINING CIRCUMFLEX ACCENT
+ key <AE08> { [ 8, asterisk, 0x01000307, 0x01000323 ] }; //COMBINING DOT ABOVE, COMBINING DOT BELOW
+ key <AE09> { [ 9, parenleft, 0x01000306 ] }; //COMBINING BREVE
+ key <AE10> { [ 0, parenright, 0x0100030c ] }; //COMBINING CARON
+ key <AE11> { [ minus, underscore, 0x01000304, 0x01000331 ] }; //COMBINING MACRON,COMBINING MACRON BELOW
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/keypad b/xorg-server/xkeyboard-config/symbols/keypad
new file mode 100644
index 000000000..fe0c2fd36
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/keypad
@@ -0,0 +1,581 @@
+// $XKeyboardConfig$
+// $Xorg: keypad,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+partial hidden keypad_keys
+xkb_symbols "overlay" {
+ include "keypad(overlay1)"
+};
+
+partial hidden keypad_keys
+xkb_symbols "overlay1" {
+
+ // Begin "Keypad" section
+
+ key <KP7> { [ KP_Home ], overlay1=<KO7> };
+ key <KP8> { [ KP_Up ], overlay1=<KO8> };
+ key <KP9> { [ KP_Prior ], overlay1=<KO9> };
+
+ key <KP4> { [ KP_Left ], overlay1=<KO4> };
+ key <KP5> { [ KP_Begin ], overlay1=<KO5> };
+ key <KP6> { [ KP_Right ], overlay1=<KO6> };
+
+ key <KP1> { [ KP_End ], overlay1=<KO1> };
+ key <KP2> { [ KP_Down ], overlay1=<KO2> };
+ key <KP3> { [ KP_Next ], overlay1=<KO3> };
+
+ key <KP0> { [ KP_Insert ], overlay1=<KO0> };
+ key <KPDL> { [ KP_Delete ], overlay1=<KODL> };
+
+ key <KO7> { [ KP_7 ] };
+ key <KO8> { [ KP_8 ] };
+ key <KO9> { [ KP_9 ] };
+
+ key <KO4> { [ KP_4 ] };
+ key <KO5> { [ KP_5 ] };
+ key <KO6> { [ KP_6 ] };
+
+ key <KO1> { [ KP_1 ] };
+ key <KO2> { [ KP_2 ] };
+ key <KO3> { [ KP_3 ] };
+
+ key <KO0> { [ KP_0 ] };
+ key <KODL> { [ KP_Decimal ] };
+
+ // End "Keypad" section
+};
+
+partial hidden keypad_keys
+xkb_symbols "overlay2" {
+
+ // Begin "Keypad" section
+
+ key <KP7> { [ KP_Home ], overlay2=<KO7> };
+ key <KP8> { [ KP_Up ], overlay2=<KO8> };
+ key <KP9> { [ KP_Prior ], overlay2=<KO9> };
+
+ key <KP4> { [ KP_Left ], overlay2=<KO4> };
+ key <KP5> { [ KP_Begin ], overlay2=<KO5> };
+ key <KP6> { [ KP_Right ], overlay2=<KO6> };
+
+ key <KP1> { [ KP_End ], overlay2=<KO1> };
+ key <KP2> { [ KP_Down ], overlay2=<KO2> };
+ key <KP3> { [ KP_Next ], overlay2=<KO3> };
+
+ key <KP0> { [ KP_Insert ], overlay2=<KO0> };
+ key <KPDL> { [ KP_Delete ], overlay2=<KODL> };
+
+ key <KO7> { [ KP_7 ] };
+ key <KO8> { [ KP_8 ] };
+ key <KO9> { [ KP_9 ] };
+
+ key <KO4> { [ KP_4 ] };
+ key <KO5> { [ KP_5 ] };
+ key <KO6> { [ KP_6 ] };
+
+ key <KO1> { [ KP_1 ] };
+ key <KO2> { [ KP_2 ] };
+ key <KO3> { [ KP_3 ] };
+
+ key <KO0> { [ KP_0 ] };
+ key <KODL> { [ KP_Decimal ] };
+
+ // End "Keypad" section
+};
+
+partial hidden default keypad_keys
+xkb_symbols "x11" {
+// Ungrab cancels server/keyboard/pointer grabs
+ key <KPDV> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Divide, XF86_Ungrab ]
+ };
+
+// ClsGrb kills whichever client has a grab in effect
+ key <KPMU> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ]
+ };
+
+// -VMode switches to the previous video mode
+ key <KPSU> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ]
+ };
+
+ key <KP7> { [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ] };
+
+// +VMode switches to the next video mode
+ key <KPAD> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Add, XF86_Next_VMode ]
+ };
+
+ key <KP4> { [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_Begin, KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+ key <KPEQ> { [ KP_Equal ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ key <KPPT> { [ KP_Decimal, KP_Decimal ] };
+};
+
+
+// Legacy PC keypad definition
+// Copyright © 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+keypad_keys
+xkb_symbols "legacy" {
+
+ include "keypad(core)"
+ include "keypad(legacymath)"
+ include "keypad(legacynumber)"
+ include "kpdl(dot)"
+};
+
+
+// Legacy Wang 725-3771-ae and 725-3771-uk keypad definition
+// Copyright © 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+keypad_keys
+xkb_symbols "legacy_wang" {
+
+ include "keypad(core)"
+ include "keypad(legacymath)"
+ include "keypad(legacynumber_wang)"
+ include "kpdl(dot)"
+};
+
+
+// Complete new keypad definition
+// Copyright © 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+keypad_keys
+xkb_symbols "oss" {
+
+ include "keypad(core)"
+ include "keypad(ossmath)"
+ include "keypad(ossnumber)"
+ include "kpdl(dotoss)"
+};
+
+
+// Latin9 restriction of new keypad definition
+// Copyright © 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+keypad_keys
+xkb_symbols "oss_latin9" {
+
+ include "keypad(core)"
+ include "keypad(ossmath_latin9)"
+ include "keypad(legacynumber)"
+ include "kpdl(dotoss_latin9)"
+};
+
+
+// Wang 725-3771-ae and 725-3771-uk keypad variant of oss keypad
+// Copyright © 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+keypad_keys
+xkb_symbols "oss_wang" {
+
+ include "keypad(core)"
+ include "keypad(ossmath)"
+ include "keypad(ossnumber_wang)"
+ include "kpdl(dotoss)"
+};
+
+
+// Forward-looking keypad definition
+// Won't work with applications that make ASCII assumptions
+// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+keypad_keys
+xkb_symbols "future" {
+
+ include "keypad(core)"
+ include "keypad(futuremath)"
+ include "keypad(ossnumber)"
+ include "kpdl(commaoss)"
+};
+
+
+// Forward-looking keypad definition
+// Won't work with applications that make ASCII assumptions
+// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+keypad_keys
+xkb_symbols "future_wang" {
+
+ include "keypad(core)"
+ include "keypad(futuremath)"
+ include "keypad(ossnumber_wang)"
+ include "kpdl(commaoss)"
+};
+
+
+// Keypad keys nobody changes
+// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+partial keypad_keys
+xkb_symbols "core" {
+
+ modifier_map Mod2 { Num_Lock };
+
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
+ key <KPEN> { [ KP_Enter ] };
+ key <KPEQ> { [ KP_Equal ] };
+};
+
+
+// Legacy keypad math area
+// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+//
+// ┏━━━━━┱─────┬─────┬─────┐
+// ┃Num ┃ ₁ │ ₂ │ ₃ │ ₁ <XF86_Ungrab>
+// ┃Lock⇭┃ / │ * │ - │ ₂ <XF86_ClearGrab>
+// ┡━━━━━╃─────┼─────┼─────┤ ₃ <XF86_Prev_VMode>
+// │ ₄ │ ₄ <XF86_Next_VMode>
+// │ │
+// ┤ │ 1 None
+// │ │ 2 Ctrl+Alt
+// │ + │
+// ╆━━━━━┪
+partial keypad_keys
+xkb_symbols "legacymath" {
+
+ key.type[Group1]="CTRL+ALT" ;
+
+ key <KPDV> { [ KP_Divide, XF86_Ungrab ] }; // / <XF86_Ungrab>
+ key <KPMU> { [ KP_Multiply, XF86_ClearGrab ] }; // * <XF86_ClearGrab>
+ key <KPSU> { [ KP_Subtract, XF86_Prev_VMode ] }; // - <XF86_Prev_VMode>
+
+ key <KPAD> { [ KP_Add, XF86_Next_VMode ] }; // + <XF86_Next_VMode>
+
+};
+
+
+// Keypad math area with non-CS operators
+// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+//
+// ┏━━━━━┱─────┬─────┬─────┐
+// ┃Num ┃ ∕ ₁ │ . ₂ │ − ₃ │ ₁ <XF86_Ungrab>
+// ┃Lock⇭┃ / ÷ │ * × │ - − │ ₂ <XF86_ClearGrab>
+// ┡━━━━━╃─────┼─────┼─────┤ ₃ <XF86_Prev_VMode>
+// │ + ₄ │ ₄ <XF86_Next_VMode>
+// │ │
+// ┤ │ 1 None
+// │ │ 2 Level3 ⇮
+// │ + + │ 3 Shift+Level3 ⇧⇮
+// ╆━━━━━┪ 4 Ctrl+Alt
+partial keypad_keys
+xkb_symbols "ossmath" {
+
+ key.type[Group1]="FOUR_LEVEL_X" ;
+
+ key <KPDV> { [ KP_Divide, 0x1002215, 0x10000F7, XF86_Ungrab ] }; // / ∕ ÷ <XF86_Ungrab>
+ key <KPMU> { [ KP_Multiply, 0x10022C5, 0x10000D7, XF86_ClearGrab ] }; // * ⋅ × <XF86_ClearGrab>
+ key <KPSU> { [ KP_Subtract, 0x1002212, 0x1002212, XF86_Prev_VMode ] }; // - − − <XF86_Prev_VMode>
+
+ key <KPAD> { [ KP_Add, 0x100002B, 0x100002B, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode>
+
+};
+
+
+// Keypad math area with non-CS operators in first levels
+// As demanded by users not interested in legacy pre-unicode junk
+// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+//
+// ┏━━━━━┱─────┬─────┬─────┐
+// ┃Num ┃ / ₁ │ * ₂ │ - ₃ │ ₁ <XF86_Ungrab>
+// ┃Lock⇭┃ ∕ ÷ │ . × │ − − │ ₂ <XF86_ClearGrab>
+// ┡━━━━━╃─────┼─────┼─────┤ ₃ <XF86_Prev_VMode>
+// │ + ₄ │ ₄ <XF86_Next_VMode>
+// │ │
+// ┤ │ 1 None
+// │ │ 2 Level3 ⇮
+// │ + + │ 3 Shift+Level3 ⇧⇮
+// ╆━━━━━┪ 4 Ctrl+Alt
+partial keypad_keys
+xkb_symbols "futuremath" {
+
+ key.type[Group1]="FOUR_LEVEL_X" ;
+
+ key <KPDV> { [ 0x1002215, KP_Divide, 0x10000F7, XF86_Ungrab ] }; // ∕ / ÷ <XF86_Ungrab>
+ key <KPMU> { [ 0x10022C5, KP_Multiply, 0x10000D7, XF86_ClearGrab ] }; // ⋅ * × <XF86_ClearGrab>
+ key <KPSU> { [ 0x1002212, KP_Subtract, 0x1002212, XF86_Prev_VMode ] }; // − - − <XF86_Prev_VMode>
+
+ key <KPAD> { [ 0x100002B, KP_Add, 0x100002B, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode>
+};
+
+
+// Keypad math area with non-CS operators, restricted to latin9
+// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+//
+// ┏━━━━━┱─────┬─────┬─────┐
+// ┃Num ┃ / ₁ │ · ₂ │ - ₃ │ ₁ <XF86_Ungrab>
+// ┃Lock⇭┃ / ÷ │ * × │ - - │ ₂ <XF86_ClearGrab>
+// ┡━━━━━╃─────┼─────┼─────┤ ₃ <XF86_Prev_VMode>
+// │ + ₄ │ ₄ <XF86_Next_VMode>
+// │ │
+// ┤ │ 1 None
+// │ │ 2 Level3 ⇮
+// │ + + │ 3 Shift+Level3 ⇧⇮
+// ╆━━━━━┪ 4 Ctrl+Alt
+partial keypad_keys
+xkb_symbols "ossmath_latin9" {
+
+ key.type[Group1]="FOUR_LEVEL_X";
+
+ key <KPDV> { [ KP_Divide, slash, division, XF86_Ungrab ] }; // / / ÷ <XF86_Ungrab>
+ key <KPMU> { [ KP_Multiply, periodcentered, multiply, XF86_ClearGrab ] }; // * · × <XF86_ClearGrab>
+ key <KPSU> { [ KP_Subtract, minus, minus, XF86_Prev_VMode ] }; // - - - <XF86_Prev_VMode>
+
+ key <KPAD> { [ KP_Add, plus, plus, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode>
+};
+
+
+// Legacy keypad number area
+// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+//
+// ┏━━━━━┱ ⇱ Home
+// ┃Num ┃ ⇲ End
+// ┃Lock⇭┃ ⇞ Page up
+// ┡━━━━━╃─────┼─────┼ ⇟ Page down
+// │ 7 │ 8 │ 9 │ ⇞ Page up
+// │ ⇱ │ ⇧ │ ⇞ │ ⎀ Insert
+// ├─────┼─────┼─────┤ ␥ Delete
+// │ 4 │ 5 │ 6 │ ⇦⇧⇨⇩ Directions
+// │ ⇦ │ │ ⇨ │
+// ├─────┼─────┼─────╆
+// │ 1 │ 2 │ 3 ┃
+// │ ⇲ │ ⇩ │ ⇟ ┃ 1 None
+// ├─────┴─────┼─────┨ 2 Num Lock ⇭
+// │ 0 │
+// │ ⎀ │
+// └───────────┴
+partial keypad_keys
+xkb_symbols "legacynumber" {
+
+ key.type[Group1]="KEYPAD" ;
+
+ key <KP7> { [ KP_Home, KP_7 ] }; // <home> 7
+ key <KP8> { [ KP_Up, KP_8 ] }; // <up> 8
+ key <KP9> { [ KP_Prior, KP_9 ] }; // <prior> 9
+
+ key <KP4> { [ KP_Left, KP_4 ] }; // <left> 4
+ key <KP5> { [ KP_Begin, KP_5 ] }; // <begin> 5
+ key <KP6> { [ KP_Right, KP_6 ] }; // <right> 6
+
+ key <KP1> { [ KP_End, KP_1 ] }; // <end> 1
+ key <KP2> { [ KP_Down, KP_2 ] }; // <down> 2
+ key <KP3> { [ KP_Next, KP_3 ] }; // <next> 3
+
+ key <KP0> { [ KP_Insert, KP_0 ] }; // <insert> 0
+};
+
+
+// Legacy Wang 725-3771-ae and 725-3771-uk keypad number area
+// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+// This is actually a three-level keypad, declared as four-level
+// to avoid defining a new type
+//
+// ┏━━━━━┱ ⇱ Home
+// ┃Num ┃ ⇲ End
+// ┃Lock⇭┃ ⇞ Page up
+// ┡━━━━━╃─────┼─────┼ ⇟ Page down
+// │ 7 │ 8 │ 9 │ ⇞ Page up
+// │ ⇱ < │ ⇧ > │ ⇞ ^ │ ⎀ Insert
+// ├─────┼─────┼─────┤ ␥ Delete
+// │ 4 │ 5 │ 6 │ ⇦⇧⇨⇩ Directions
+// │ ⇦ [ │ ] │ ⇨ $ │
+// ├─────┼─────┼─────╆
+// │ 1 │ 2 │ 3 ┃
+// │ ⇲ & │ ⇩ @ │ ⇟ # ┃ 1 None
+// ├─────┴─────┼─────┨ 2 Num Lock ⇭
+// │ 0 │ 3 Level3 ⇮
+// │ ⎀ │
+// └───────────┴
+partial keypad_keys
+xkb_symbols "legacynumber_wang" {
+
+ key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ key <KP7> { [ KP_Home, KP_7, less ] }; // <home> 7 <
+ key <KP8> { [ KP_Up, KP_8, greater ] }; // <up> 8 >
+ key <KP9> { [ KP_Prior, KP_9, asciicircum ] }; // <prior> 9 ^
+
+ key <KP4> { [ KP_Left, KP_4, bracketleft ] }; // <left> 4 [
+ key <KP5> { [ KP_Begin, KP_5, bracketright ] }; // <begin> 5 ]
+ key <KP6> { [ KP_Right, KP_6, dollar ] }; // <right> 6 $
+
+ key <KP1> { [ KP_End, KP_1, ampersand ] }; // <end> 1 &
+ key <KP2> { [ KP_Down, KP_2, at ] }; // <down> 2 @
+ key <KP3> { [ KP_Next, KP_3, numbersign ] }; // <next> 3 #
+
+ key <KP0> { [ KP_Insert, KP_0, apostrophe ] }; // <insert> 0 '
+};
+
+
+// Keypad number area with arrow symbols
+// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+//
+// ┏━━━━━┱ ⇱ Home
+// ┃Num ┃ ⇲ End
+// ┃Lock⇭┃ ⇞ Page up
+// ┡━━━━━╃─────┼─────┼ ⇟ Page down
+// │ 7 ⇖ │ 8 ⇑ │ 9 ⇗ │ ⇞ Page up
+// │ ⇱ ↖ │ ⇧ ↑ │ ⇞ ↗ │ ⎀ Insert
+// ├─────┼─────┼─────┤ ␥ Delete
+// │ 4 ⇐ │ 5 ⇔ │ 6 ⇗ │ ⇦⇧⇨⇩ Directions
+// │ ⇦ ← │ ↔ │ ⇨ ↗ │ ⍽ narrow no-break space
+// ├─────┼─────┼─────╆
+// │ 1 ⇙ │ 2 ⇓ │ 3 ⇘ ┃
+// │ ⇲ ↙ │ ⇩ ↓ │ ⇟ ↘ ┃ 1 None
+// ├─────┴─────┼─────┨ 2 Num Lock ⇭
+// │ 0 ⇕ │ 3 Level3 ⇮
+// │ ⎀ ↕ │ 4 Shift+Level3 ⇧⇮
+// └───────────┴
+partial keypad_keys
+xkb_symbols "ossnumber" {
+
+ key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ key <KP7> { [ KP_Home, KP_7, 0x1002196, 0x10021D6 ] }; // <home> 7 ↖ ⇖
+ key <KP8> { [ KP_Up, KP_8, 0x1002191, 0x10021D1 ] }; // <up> 8 ↑ ⇑
+ key <KP9> { [ KP_Prior, KP_9, 0x1002197, 0x10021D7 ] }; // <prior> 9 ↗ ⇗
+
+ key <KP4> { [ KP_Left, KP_4, 0x1002190, 0x10021D0 ] }; // <left> 4 ← ⇐
+ key <KP5> { [ KP_Begin, KP_5, 0x1002194, 0x10021D4 ] }; // <begin> 5 ↔ ⇔
+ key <KP6> { [ KP_Right, KP_6, 0x1002192, 0x10021D2 ] }; // <right> 6 → ⇒
+
+ key <KP1> { [ KP_End, KP_1, 0x1002199, 0x10021D9 ] }; // <end> 1 ↙ ⇙
+ key <KP2> { [ KP_Down, KP_2, 0x1002193, 0x10021D3 ] }; // <down> 2 ↓ ⇓
+ key <KP3> { [ KP_Next, KP_3, 0x1002198, 0x10021D8 ] }; // <next> 3 ↘ ⇘
+
+ key <KP0> { [ KP_Insert, KP_0, 0x1002195, 0x10021D5 ] }; // <insert> 0 ↕ ⇕
+};
+
+
+// Wang 725-3771-ae and 725-3771-uk keypad number area with additional arrow symbols
+// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+//
+// ┏━━━━━┱ ⇱ Home
+// ┃Num ┃ ⇲ End
+// ┃Lock⇭┃ ⇞ Page up
+// ┡━━━━━╃─────┼─────┼ ⇟ Page down
+// │ 7 ↖ │ 8 ↑ │ 9 ↗ │ ⇞ Page up
+// │ ⇱ < │ ⇧ > │ ⇞ ^ │ ⎀ Insert
+// ├─────┼─────┼─────┤ ␥ Delete
+// │ 4 ← │ 5 ↔ │ 6 → │ ⇦⇧⇨⇩ Directions
+// │ ⇦ [ │ ] │ ⇨ $ │ ⍽ narrow no-break space
+// ├─────┼─────┼─────╆
+// │ 1 ↙ │ 2 ↓ │ 3 ↘ ┃
+// │ ⇲ & │ ⇩ @ │ ⇟ # ┃ 1 None
+// ├─────┴─────┼─────┨ 2 Num Lock ⇭
+// │ 0 ↕ │ 3 Level3 ⇮
+// │ ⎀ ' │ 4 Shift+Level3 ⇧⇮
+// └───────────┴
+partial keypad_keys
+xkb_symbols "ossnumber_wang" {
+
+ key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ key <KP7> { [ KP_Home, KP_7, less, 0x1002196 ] }; // <home> 7 < ↖
+ key <KP8> { [ KP_Up, KP_8, greater, 0x1002191 ] }; // <up> 8 > ↑
+ key <KP9> { [ KP_Prior, KP_9, asciicircum, 0x1002197 ] }; // <prior> 9 ^ ↗
+
+ key <KP4> { [ KP_Left, KP_4, bracketleft, 0x1002190 ] }; // <left> 4 [ ←
+ key <KP5> { [ KP_Begin, KP_5, bracketright, 0x1002194 ] }; // <begin> 5 ] ↔
+ key <KP6> { [ KP_Right, KP_6, dollar, 0x1002192 ] }; // <right> 6 $ →
+
+ key <KP1> { [ KP_End, KP_1, ampersand, 0x1002199 ] }; // <end> 1 & ↙
+ key <KP2> { [ KP_Down, KP_2, at, 0x1002193 ] }; // <down> 2 @ ↓
+ key <KP3> { [ KP_Next, KP_3, numbersign, 0x1002198 ] }; // <next> 3 # ↘
+
+ key <KP0> { [ KP_Insert, KP_0, apostrophe, 0x1002195 ] }; // <insert> 0 ' ↕
+};
+
+// Standard base "pc" layout only contains cursor keys, and then gets
+// augmented with the digits later. If you define your own layout for
+// the numpad you can inherit the cursors, but you'll have to define
+// the digits yourself. This module can be included in the rules to
+// define math operators; these are the variants used in computer
+// languages that are based on ASCII. NoSymbol doesn't mean that
+// nothing is bound to the key but that no assignment is done here.
+// srvr_ctrl(stdkeypad) and keypad(x11) declare the operator keys to
+// be of type CTRL+ALT in order to assign server control events to
+// them, but it uses the second level which is overwritten if we have
+// more than one definition (shift state) for the key. Instead, here
+// the commands are put at the fourth level.
+partial keypad_keys
+xkb_symbols "ops" {
+ key <KPDV> { [ NoSymbol, slash, NoSymbol, XF86_Ungrab ] };
+ key <KPMU> { [ NoSymbol, asterisk, NoSymbol, XF86_ClearGrab ] };
+ key <KPSU> { [ NoSymbol, minus, NoSymbol, XF86_Prev_VMode ] };
+ key <KPAD> { [ NoSymbol, plus, NoSymbol, XF86_Next_VMode ] };
+ key <KPEQ> { [ NoSymbol, equal ] };
+};
+
+// Hexadecimal Numpad, by Roland Kaufmann <rlndkfmn at gmail dot com>
+// License: BSD (also covers variant with ATM digit order)
+// Third-level gives the letters used in hexadecimal numbers, or
+// columns in small spreadsheets. As a bonus, having 'e' available at
+// the center of the keyboard makes it easy to enter floating point
+// numbers in scientific notation.
+// Equal is added to start formulas (most numpads on PCs don't have
+// their own equal key), comma as a list separator (as most
+// programming languages wants period as a decimal separator) and
+// colon to enter times and ranges. Someone also may want to represent
+// multiplication and division in prose using x and colon.
+// Two first levels are specified as NoSymbol to not override any
+// previous specification. Combine this with another keypad specifier,
+// e.g. "legacy".
+partial keypad_keys
+xkb_symbols "hex" {
+ key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ // None NumLock AltGr
+ // symbol row
+ key <KPDV> { [ NoSymbol, NoSymbol, parenleft ] };
+ key <KPMU> { [ NoSymbol, NoSymbol, parenright ] };
+ key <KPSU> { [ NoSymbol, NoSymbol, dollar ] };
+
+ // upper row
+ key <KP7> { [ NoSymbol, NoSymbol, a ] };
+ key <KP8> { [ NoSymbol, NoSymbol, b ] };
+ key <KP9> { [ NoSymbol, NoSymbol, c ] };
+
+ // home row
+ key <KP4> { [ NoSymbol, NoSymbol, d ] };
+ key <KP5> { [ NoSymbol, NoSymbol, e ] };
+ key <KP6> { [ NoSymbol, NoSymbol, f ] };
+ key <KPAD> { [ NoSymbol, NoSymbol, comma ] };
+
+ // lower row
+ key <KP1> { [ NoSymbol, NoSymbol, equal ] };
+ key <KP2> { [ NoSymbol, NoSymbol, x ] };
+ key <KP3> { [ NoSymbol, NoSymbol, colon ] };
+
+ // decimal row
+ key <KP0> { [ NoSymbol, NoSymbol, backslash ] };
+};
+
+// Main numbers follows the traditions from ATMs and phones with
+// numbers increasing downwards to the right. (It is easier to
+// change the keyboard layout than to reprogram your local ATM;
+// also cell-phones are becoming more common while calculators are
+// becoming more rare).
+// First level is left unspecified, so it may be combined with another
+// layout, e.g. "legacy".
+partial keypad_keys
+xkb_symbols "atm" {
+ // upper row
+ key <KP7> { [ NoSymbol, KP_1 ] };
+ key <KP8> { [ NoSymbol, KP_2 ] };
+ key <KP9> { [ NoSymbol, KP_3 ] };
+
+ // lower row
+ key <KP1> { [ NoSymbol, KP_7 ] };
+ key <KP2> { [ NoSymbol, KP_8 ] };
+ key <KP3> { [ NoSymbol, KP_9 ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/kg b/xorg-server/xkeyboard-config/symbols/kg
new file mode 100644
index 000000000..be5424799
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/kg
@@ -0,0 +1,135 @@
+// $XKeyboardConfig$
+
+// Kirghiz (aka Kyrgyz) Standard Keyboard
+//
+// Standard - Phonetic
+// ______________- ________________
+// ё1234567890өң ё1234567890яю
+// Ё!"№;%:?*()ӨҢ Ё!"№;%:?-()ЯЮ
+//
+// йцукенгшщзхъү өүертыуиопчшъ
+// фывапролджэ асдфгңйклэь
+// ячсмитьбю.(,) зхжвбнмцщ.(,)
+
+// Authors:
+// Timur Jamakeev <ztimur [at] gmail.com>
+// Ilyas Bakirov <just_ilyas [at] yahoo.com>
+// Yury Fedorov <yury-fedorov [at] prime-task.com>
+// Emil Asanov <a7 [at] on.kg>
+// Ulan Melisbek <ulan.melisbek [at] gmail.com>
+
+
+// Kyrgyz standard keyboard
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Kyrgyzstan";
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numerosign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ Cyrillic_o_bar, Cyrillic_O_bar ] };
+ key <AE12> { [ Cyrillic_en_descender, Cyrillic_EN_descender ] };
+ key <BKSL> { [ Cyrillic_u_straight, Cyrillic_U_straight ] };
+ key <AB10> { [ period, comma ] };
+ key <LSGT> { [ slash, bar ] };
+
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+};
+
+// Kyrgyz phonetic layout
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+
+ name[Group1]="Kyrgyzstan - Phonetic";
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numerosign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+ key <AE08> { [ 8, minus ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AE12> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+ key <AD11> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AD12> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <BKSL> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <AB09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AB10> { [ period, comma ] };
+ key <AB08> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AC10> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AC11> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+
+ key <LatQ> { [ Cyrillic_o_bar, Cyrillic_O_bar ] };
+ key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
+ key <LatW> { [ Cyrillic_u_straight, Cyrillic_U_straight ] };
+ key <LatC> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <LatX> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <LatV> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <LatH> { [ Cyrillic_en_descender, Cyrillic_EN_descender ] };
+ key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
+ key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
+ key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
+ key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/kh b/xorg-server/xkeyboard-config/symbols/kh
new file mode 100644
index 000000000..a97eb4420
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/kh
@@ -0,0 +1,114 @@
+// $XKeyboardConfig$
+//
+// khmer unicode keyboard for XFree86 4.3 or XOrg
+// (might work with older versions, not tested)
+//
+// layout defined by National Information Communications Technology Development Authority (NiDA)
+// http://www.nida.gov.kh
+//
+// version: 1.0.1
+//
+// date: 14.09.2005
+//
+// author: Jens Herden (jens at khmeros.info)
+//
+//
+// understanding the symbols:
+//
+// 0x100yyyy = unicode, yyyy is hexcode
+// codes that are not assigned in unicode (0x10017fb-0x10017ff),
+// are used to make compositions for special vowels
+//
+// voidsymbol = no symbol for this combination
+//
+// all other symbol are defined in: /usr/X11/include/X11/keysymdef.h
+// but with a leading 'XK_'
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Cambodia";
+
+// there are four levels defined:
+//
+// normal shift right-alt right-alt + shift
+//
+
+// keys: `1234567890-=\
+ key <TLDE> { [ guillemotleft, guillemotright, 0x100200d, voidsymbol ] };
+ key <AE01> { [ 0x10017e1, exclam, 0x100200c, 0x10017f1 ] };
+ key <AE02> { [ 0x10017e2, 0x10017d7, at, 0x10017f2 ] };
+ key <AE03> { [ 0x10017e3, quotedbl, 0x10017d1, 0x10017f3 ] };
+ key <AE04> { [ 0x10017e4, 0x10017db, dollar, 0x10017f4 ] };
+ key <AE05> { [ 0x10017e5, percent, EuroSign, 0x10017f5 ] };
+ key <AE06> { [ 0x10017e6, 0x10017cd, 0x10017d9, 0x10017f6 ] };
+ key <AE07> { [ 0x10017e7, 0x10017d0, 0x10017da, 0x10017f7 ] };
+ key <AE08> { [ 0x10017e8, 0x10017cf, asterisk, 0x10017f8 ] };
+ key <AE09> { [ 0x10017e9, parenleft, braceleft, 0x10017f9 ] };
+ key <AE10> { [ 0x10017e0, parenright, braceright, 0x10017f0 ] };
+ key <AE11> { [ 0x10017a5, 0x10017cc, x, voidsymbol ] };
+ key <AE12> { [ 0x10017b2, equal, 0x10017ce, voidsymbol ] };
+ key <BKSL> { [ 0x10017ae, 0x10017ad, backslash, voidsymbol ] };
+
+// keys: qwertyuiop[]
+ key <AD01> { [ 0x1001786, 0x1001788, 0x10017dc, 0x10019e0 ] };
+ key <AD02> { [ 0x10017b9, 0x10017ba, 0x10017dd, 0x10019e1 ] };
+ key <AD03> { [ 0x10017c1, 0x10017c2, 0x10017af, 0x10019e2 ] };
+ key <AD04> { [ 0x100179a, 0x10017ac, 0x10017ab, 0x10019e3 ] };
+ key <AD05> { [ 0x100178f, 0x1001791, 0x10017a8, 0x10019e4 ] };
+ key <AD06> { [ 0x1001799, 0x10017bd, voidsymbol, 0x10019e5 ] };
+ key <AD07> { [ 0x10017bb, 0x10017bc, voidsymbol, 0x10019e6 ] };
+ key <AD08> { [ 0x10017b7, 0x10017b8, 0x10017a6, 0x10019e7 ] };
+ key <AD09> { [ 0x10017c4, 0x10017c5, 0x10017b1, 0x10019e8 ] };
+ key <AD10> { [ 0x1001795, 0x1001797, 0x10017b0, 0x10019e9 ] };
+ key <AD11> { [ 0x10017c0, 0x10017bf, 0x10017a9, 0x10019ea ] };
+ key <AD12> { [ 0x10017aa, 0x10017a7, 0x10017b3, 0x10019eb ] };
+
+// keys: asdfghjkl;'
+ key <AC01> { [ 0x10017b6, 0x10017ff, voidsymbol, 0x10019ec ] };
+ key <AC02> { [ 0x100179f, 0x10017c3, voidsymbol, 0x10019ed ] };
+ key <AC03> { [ 0x100178a, 0x100178c, voidsymbol, 0x10019ee ] };
+ key <AC04> { [ 0x1001790, 0x1001792, voidsymbol, 0x10019ef ] };
+ key <AC05> { [ 0x1001784, 0x10017a2, voidsymbol, 0x10019f0 ] };
+ key <AC06> { [ 0x10017a0, 0x10017c7, voidsymbol, 0x10019f1 ] };
+ key <AC07> { [ 0x10017d2, 0x1001789, voidsymbol, 0x10019f2 ] };
+ key <AC08> { [ 0x1001780, 0x1001782, 0x100179d, 0x10019f3 ] };
+ key <AC09> { [ 0x100179b, 0x10017a1, voidsymbol, 0x10019f4 ] };
+ key <AC10> { [ 0x10017be, 0x10017fe, 0x10017d6, 0x10019f5 ] };
+ key <AC11> { [ 0x10017cb, 0x10017c9, 0x10017c8, 0x10019f6 ] };
+
+// keys: zxcvbnm,./
+ key <AB01> { [ 0x100178b, 0x100178d, voidsymbol, 0x10019f7 ] };
+ key <AB02> { [ 0x1001781, 0x1001783, voidsymbol, 0x10019f8 ] };
+ key <AB03> { [ 0x1001785, 0x1001787, voidsymbol, 0x10019f9 ] };
+ key <AB04> { [ 0x100179c, 0x10017fd, voidsymbol, 0x10019fa ] };
+ key <AB05> { [ 0x1001794, 0x1001796, 0x100179e, 0x10019fb ] };
+ key <AB06> { [ 0x1001793, 0x100178e, voidsymbol, 0x10019fc ] };
+ key <AB07> { [ 0x1001798, 0x10017c6, voidsymbol, 0x10019fd ] };
+ key <AB08> { [ 0x10017fc, 0x10017fb, comma, 0x10019fe ] };
+ key <AB09> { [ 0x10017d4, 0x10017d5, period, 0x10019ff ] };
+ key <AB10> { [ 0x10017ca, question, slash, voidsymbol ] };
+
+ key <SPCE> { [ 0x100200b, space, 0x10000a0, voidsymbol ] };
+ key <RALT> { [ Alt_R ] };
+
+// third level with right-Alt
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+ include "kh(basic)"
+
+// Contact Walter@laptop.org
+
+ key <AC10> { [ 0x10017be, 0x10017c8, 0x10017d6, 0x10019f5 ] };
+ key <AE01> { [ 0x10017e1, 0x100200c, exclam, 0x10017f1 ] };
+ key <AE03> { [ 0x10017e3, 0x10017d1, quotedbl, 0x10017f3 ] };
+ key <AE05> { [ 0x10017e5, EuroSign, percent, 0x10017f5 ] };
+ key <AE12> { [ 0x10017b2, 0x10017ce, equal, voidsymbol ] };
+
+ //language key
+ include "group(olpc)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/kpdl b/xorg-server/xkeyboard-config/symbols/kpdl
new file mode 100644
index 000000000..a8bdfb7f9
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/kpdl
@@ -0,0 +1,105 @@
+// $XKeyboardConfig$
+// $Xorg: keypad,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+// The <KPDL> key is a mess.
+// It was probably originally meant to be a decimal separator.
+// Except since it was declared by USA people it didn't use the original
+// SI separator "," but a "." (since then the USA managed to f-up the SI
+// by making "." an accepted alternative, but standards still use "," as
+// default)
+// As a result users of SI-abiding countries expect either a "." or a ","
+// or a "decimal_separator" which may or may not be translated in one of the
+// above depending on applications.
+// It's not possible to define a default per-country since user expectations
+// depend on the conflicting choices of their most-used applications,
+// operating system, etc. Therefore it needs to be a configuration setting
+// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
+
+
+// Legacy <KPDL> #1
+// This assumes KP_Decimal will be translated in a dot
+partial keypad_keys
+xkb_symbols "dot" {
+
+ key.type[Group1]="KEYPAD" ;
+
+ key <KPDL> { [ KP_Delete, KP_Decimal ] }; // <delete> <separator>
+};
+
+
+// Legacy <KPDL> #2
+// This assumes KP_Separator will be translated in a comma
+partial keypad_keys
+xkb_symbols "comma" {
+
+ key.type[Group1]="KEYPAD" ;
+
+ key <KPDL> { [ KP_Delete, KP_Separator ] }; // <delete> <separator>
+};
+
+
+// Period <KPDL>, usual keyboard serigraphy in most countries
+partial keypad_keys
+xkb_symbols "dotoss" {
+
+ key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ key <KPDL> { [ KP_Delete, period, comma, 0x100202F ] }; // <delete> . , ⍽ (narrow no-break space)
+};
+
+
+// Period <KPDL>, usual keyboard serigraphy in most countries, latin-9 restriction
+partial keypad_keys
+xkb_symbols "dotoss_latin9" {
+
+ key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ key <KPDL> { [ KP_Delete, period, comma, nobreakspace ] }; // <delete> . , ⍽ (no-break space)
+};
+
+
+// Comma <KPDL>, what most non anglo-saxon people consider the real separator
+partial keypad_keys
+xkb_symbols "commaoss" {
+
+ key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ key <KPDL> { [ KP_Delete, comma, period, 0x100202F ] }; // <delete> , . ⍽ (narrow no-break space)
+};
+
+
+// Momayyez <KPDL>: Bahrain, Iran, Iraq, Kuwait, Oman, Qatar, Saudi Arabia, Syria, UAE
+partial keypad_keys
+xkb_symbols "momayyezoss" {
+
+ key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ key <KPDL> { [ KP_Delete, 0x100066B, comma, 0x100202F ] }; // <delete> ? , ⍽ (narrow no-break space)
+};
+
+
+// Abstracted <KPDL>, pray everything will work out (it usually does not)
+partial keypad_keys
+xkb_symbols "kposs" {
+
+ key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ key <KPDL> { [ KP_Delete, KP_Decimal, KP_Separator, 0x100202F ] }; // <delete> ? ? ⍽ (narrow no-break space)
+};
+
+// Spreadsheets may be configured to use the dot as decimal
+// punctuation, comma as a thousands separator and then semi-colon as
+// the list separator. Of these, dot and semi-colon is most important
+// when entering data by the keyboard; the comma can then be inferred
+// and added to the presentation afterwards. Using semi-colon as a
+// general separator may in fact be preferred to avoid ambiguities
+// in data files. Most times a decimal separator is hard-coded, it
+// seems to be period, probably since this is the syntax used in
+// (most) programming languages.
+partial keypad_keys
+xkb_symbols "semi" {
+
+ key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
+
+ key <KPDL> { [ NoSymbol, NoSymbol, semicolon ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/kr b/xorg-server/xkeyboard-config/symbols/kr
new file mode 100644
index 000000000..4c2fa9673
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/kr
@@ -0,0 +1,30 @@
+// $XKeyboardConfig$
+//
+
+default alphanumeric_keys
+xkb_symbols "kr106" {
+ include "us"
+ name[Group1]= "Korea, Republic of";
+ include "kr(koreankeys)"
+};
+
+alphanumeric_keys
+xkb_symbols "kr104" {
+ include "us"
+ name[Group1]= "Korea, Republic of - 101/104 key Compatible";
+ include "kr(koreankeys)"
+ include "kr(koreankeys_raltctl)"
+};
+
+partial hidden function_keys
+xkb_symbols "koreankeys" {
+ key <K72> { [ Hangul ] };
+ key <K71> { [ Hangul_Hanja ] };
+};
+
+partial hidden function_keys
+xkb_symbols "koreankeys_raltctl" {
+ key <RALT> { [ Hangul ] };
+ key <RCTL> { [ Hangul_Hanja ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/kz b/xorg-server/xkeyboard-config/symbols/kz
new file mode 100644
index 000000000..55bbb1f66
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/kz
@@ -0,0 +1,218 @@
+// $XKeyboardConfig$
+
+// Based on http://www.sci.kz/~sairan/keyboard/kzkbd.html
+// Baurzhan Ismagulov <ibr@radix50.net>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/ru,v 1.4 2003/05/05 12:11:10 pascal Exp $
+
+// TODO:
+// 1. AltGr with TLDE and LSGT.
+// 2. Dead key for ruskaz and kazrus.
+// 3. Ctrl + <key>.
+// 4. Alt-Tab.
+
+// RST KazSSR 903-90
+// levels 3 and 4 are non-standard extensions
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1] = "Kazakhstan";
+
+key.type[group1] = "FOUR_LEVEL";
+
+ key <TLDE> { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] };
+ key <AE01> { [ doublelowquotemark, exclam ] };
+ key <AE06> { [ comma, semicolon ] };
+ key <AE07> { [ period, colon ] };
+ key <BKSL> { [ backslash, slash ] };
+ key <AB10> { [ numerosign, question ] };
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+
+key.type[group1] = "ALPHABETIC";
+
+ key <AE02> { [ Cyrillic_schwa, Cyrillic_SCHWA ] };
+ key <AE03> { [ Ukrainian_i, Ukrainian_I ] };
+ key <AE04> { [ Cyrillic_en_descender, Cyrillic_EN_descender ] };
+ key <AE05> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
+ key <AE08> { [ Cyrillic_u_straight, Cyrillic_U_straight ] };
+ key <AE09> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] };
+ key <AE10> { [ Cyrillic_ka_descender, Cyrillic_KA_descender ] };
+ key <AE11> { [ Cyrillic_o_bar, Cyrillic_O_bar ] };
+ key <AE12> { [ Cyrillic_shha, Cyrillic_SHHA ] };
+
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+key.type[group1]="TWO_LEVEL";
+};
+
+// Kikkarin KZ1
+partial alphanumeric_keys
+xkb_symbols "ruskaz" {
+
+ name[Group1] = "Kazakhstan - Russian with Kazakh";
+
+key.type[group1] = "FOUR_LEVEL";
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numerosign, numbersign ] };
+ key <AE04> { [ 4, semicolon, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon, asciicircum ] };
+ key <AE07> { [ 7, question, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSL> { [ backslash, slash, bar ] };
+ key <AB10> { [ period, comma, slash, question ] };
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+
+key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
+
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_en_descender, Cyrillic_EN_descender ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] };
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A, Cyrillic_schwa, Cyrillic_SCHWA ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };
+ key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+};
+
+// Kikkarin KZ2
+partial alphanumeric_keys
+xkb_symbols "kazrus" {
+
+ name[Group1] = "Kazakhstan - Kazakh with Russian";
+
+key.type[group1] = "FOUR_LEVEL";
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numerosign, numbersign ] };
+ key <AE04> { [ 4, semicolon, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon, asciicircum ] };
+ key <AE07> { [ 7, question, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSL> { [ backslash, slash, bar ] };
+ key <AB10> { [ period, comma, slash, question ] };
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+
+key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
+
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] };
+ key <AD12> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <AC01> { [ Cyrillic_o_bar, Cyrillic_O_bar, Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC03> { [ Cyrillic_ka_descender, Cyrillic_KA_descender, Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_e, Cyrillic_E ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Ukrainian_i, Ukrainian_I, Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [ Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+// Contact: Walter Bender <walter@laptop.org>
+
+// We moved the Cyrillic IO off of the Tilde Key as an Alt-GR character
+// and moved it onto the Backslash key, making Backslash and Bar available
+// through the Latin side of the keyboard.
+
+ include "kz(basic)"
+
+ name[Group1] = "Kazakhstan";
+
+ key <TLDE> { [ parenleft, parenright ] };
+ key <BKSL> { [ Cyrillic_io, Cyrillic_IO ] };
+
+ include "group(olpc)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/la b/xorg-server/xkeyboard-config/symbols/la
new file mode 100644
index 000000000..b050cc477
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/la
@@ -0,0 +1,77 @@
+// $XKeyboardConfig$
+
+// $XConsortium: lo 2002/11/28 $
+//
+// Lao keymap, by Anousak Souphavanh <anousak@muanglao.com>
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a Lao keyboard
+ // This keymap uses the Lao keyboard standard [kind of] widely used inLaos
+
+ name[Group1]= "Laos";
+
+ // Alphanumeric section
+ key <TLDE> { [ 0x100200D ]};
+ key <AE01> { [ 0x1000ea2, 0x1000ed1 ]};
+ key <AE01> { [ 0x1000ea2, 0x1000ed1 ]};
+ key <AE02> { [ 0x1000e9f, 0x1000ed2 ]};
+ key <AE03> { [ 0x1000ec2, 0x1000ed3 ]};
+ key <AE04> { [ 0x1000e96, 0x1000ed4 ]};
+ key <AE05> { [ 0x1000eb8, 0x1000ecc ]};
+ key <AE06> { [ 0x1000eb9, 0x1000ebc ]};
+ key <AE07> { [ 0x1000e84, 0x1000ed5 ]};
+ key <AE08> { [ 0x1000e95, 0x1000ed6 ]};
+ key <AE09> { [ 0x1000e88, 0x1000ed7 ]};
+ key <AE10> { [ 0x1000e82, 0x1000ed8 ]};
+ key <AE11> { [ 0x1000e8a, 0x1000ed9 ]};
+ key <AE12> { [ 0x1000ecd ]};
+
+ key <AD01> { [ 0x1000ebb ]};
+ key <AD02> { [ 0x1000ec4, 0x1000ed0 ]};
+ key <AD03> { [ 0x1000eb3 ]};
+ key <AD04> { [ 0x1000e9e, underscore ]};
+ key <AD05> { [ 0x1000eb0, plus ]};
+ key <AD06> { [ 0x1000eb4 ]};
+ key <AD07> { [ 0x1000eb5 ]};
+ key <AD08> { [ 0x1000ea3, 0x1000eae ]};
+ key <AD09> { [ 0x1000e99 ]};
+ key <AD10> { [ 0x1000e8d, 0x1000ebd ]};
+ key <AD11> { [ 0x1000e9a, minus ]};
+ key <AD12> { [ 0x1000ea5, braceright ]};
+ key <BKSL> { [ 0x1000edc, 0x1000edd ]};
+
+ key <AC01> { [ 0x1000eb1 ]};
+ key <AC02> { [ 0x1000eab, semicolon ]};
+ key <AC03> { [ 0x1000e81, period ]};
+ key <AC04> { [ 0x1000e94, comma ]};
+ key <AC05> { [ 0x1000ec0, colon ]};
+ key <AC06> { [ 0x1000ec9, 0x1000eca ]};
+ key <AC07> { [ 0x1000ec8, 0x1000ecb ]};
+ key <AC08> { [ 0x1000eb2, exclam ]};
+ key <AC09> { [ 0x1000eaa, question ]};
+ key <AC10> { [ 0x1000ea7, percent ]};
+ key <AC11> { [ 0x1000e87, equal ]};
+
+ key <AB01> { [ 0x1000e9c, 0x10020ad ]};
+ key <AB02> { [ 0x1000e9b, parenleft ]};
+ key <AB03> { [ 0x1000ec1, 0x1000eaf ]};
+ key <AB04> { [ 0x1000ead ]};
+ key <AB05> { [ 0x1000eb6 ]};
+ key <AB06> { [ 0x1000eb7 ]};
+ key <AB07> { [ 0x1000e97, 0x1000ec6 ]};
+ key <AB08> { [ 0x1000ea1, quoteleft ]};
+ key <AB09> { [ 0x1000ec3, dollar ]};
+ key <AB10> { [ 0x1000e9d, parenright ]};
+
+override key <LFSH> {
+ type[Group1]="PC_ALT_LEVEL2",
+ [ Shift_L, ISO_First_Group ]
+ };
+override key <RTSH> {
+ type[Group1]="PC_ALT_LEVEL2",
+ [ Shift_R, ISO_Last_Group ]
+ };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/latam b/xorg-server/xkeyboard-config/symbols/latam
new file mode 100644
index 000000000..ffd1ca8bc
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/latam
@@ -0,0 +1,72 @@
+// $XKeyboardConfig$
+
+// based on a keyboard
+// Modified for a real Latin American Keyboard by Fabian Mandelbaum
+//
+// $XFree86: xc/programs/xkbcomp/symbols/la,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin(type4)"
+
+ name[Group1]="Latin American";
+
+ key <AE01> { [ 1, exclam, bar, exclamdown ] };
+ key <AE03> { [ 3, numbersign, periodcentered, sterling ] };
+ key <AE04> { [ 4, dollar, asciitilde, dollar ] };
+ key <AE06> { [ 6, ampersand, notsign, fiveeighths ] };
+ key <AE11> { [apostrophe, question, backslash, questiondown ] };
+ key <AE12> { [questiondown, exclamdown, dead_cedilla, dead_ogonek] };
+
+ key <AD11> { [dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] };
+
+ key <AC10> { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] };
+ key <AC11> { [ braceleft, bracketleft, dead_circumflex, braceleft] };
+ key <TLDE> { [ bar, degree, notsign, notsign ] };
+
+ key <BKSL> { [braceright, bracketright, dead_grave, braceright ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "latam(basic)"
+
+ key <AC11> { [dead_acute, dead_diaeresis, braceleft, braceleft ] };
+ key <AD11> { [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "latam(Sundeadkeys)"
+ name[Group1]="Latin American - Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "latam(basic)"
+
+ name[Group1]="Latin American - Eliminate dead keys";
+
+ key <AE12> { [questiondown, exclamdown, cedilla, ogonek ] };
+ key <AD11> { [ grave, asciicircum, bracketleft, degree ] };
+ key <AD12> { [ plus, asterisk, bracketright, macron ] };
+ key <AC10> { [ ntilde, Ntilde, asciitilde, doubleacute ] };
+ key <AC11> { [ acute, diaeresis, braceleft, braceleft ] };
+ key <BKSL> { [ ccedilla, Ccedilla, braceright, breve ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "deadtilde" {
+
+ include "latam(basic)"
+
+ name[Group1]="Latin American - Include dead tilde";
+
+ key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/latin b/xorg-server/xkeyboard-config/symbols/latin
new file mode 100644
index 000000000..1d8ebbeeb
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/latin
@@ -0,0 +1,180 @@
+// $XKeyboardConfig$
+
+// Common Latin alphabet layout
+//
+// $XFree86: xc/programs/xkbcomp/symbols/latin,v 1.3 2002/12/20 20:18:34 paulo Exp $
+
+default partial
+xkb_symbols "basic" {
+
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, at, twosuperior, oneeighth ] };
+ key <AE03> { [ 3, numbersign, threesuperior, sterling ] };
+ key <AE04> { [ 4, dollar, onequarter, dollar ] };
+ key <AE05> { [ 5, percent, onehalf, threeeighths ] };
+ key <AE06> { [ 6, asciicircum, threequarters, fiveeighths ] };
+ key <AE07> { [ 7, ampersand, braceleft, seveneighths ] };
+ key <AE08> { [ 8, asterisk, bracketleft, trademark ] };
+ key <AE09> { [ 9, parenleft, bracketright, plusminus ] };
+ key <AE10> { [ 0, parenright, braceright, degree ] };
+ key <AE11> { [ minus, underscore, backslash, questiondown ] };
+ key <AE12> { [ equal, plus, dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [ q, Q, at, Greek_OMEGA ] };
+ key <AD02> { [ w, W, lstroke, Lstroke ] };
+ key <AD03> { [ e, E, e, E ] };
+ key <AD04> { [ r, R, paragraph, registered ] };
+ key <AD05> { [ t, T, tslash, Tslash ] };
+ key <AD06> { [ y, Y, leftarrow, yen ] };
+ key <AD07> { [ u, U, downarrow, uparrow ] };
+ key <AD08> { [ i, I, rightarrow, idotless ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD10> { [ p, P, thorn, THORN ] };
+ key <AD11> { [bracketleft, braceleft, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [bracketright, braceright, dead_tilde, dead_macron ] };
+
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ s, S, ssharp, section ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, dstroke, ordfeminine ] };
+ key <AC05> { [ g, G, eng, ENG ] };
+ key <AC06> { [ h, H, hstroke, Hstroke ] };
+ key <AC07> { [ j, J, j, J ] };
+ key <AC08> { [ k, K, kra, ampersand ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <AC10> { [ semicolon, colon, dead_acute, dead_doubleacute ] };
+ key <AC11> { [apostrophe, quotedbl, dead_circumflex, dead_caron ] };
+ key <TLDE> { [ grave, asciitilde, notsign, notsign ] };
+
+ key <BKSL> { [ backslash, bar, dead_grave, dead_breve ] };
+ key <AB01> { [ z, Z, guillemotleft, less ] };
+ key <AB02> { [ x, X, guillemotright, greater ] };
+ key <AB03> { [ c, C, cent, copyright ] };
+ key <AB04> { [ v, V, leftdoublequotemark, leftsinglequotemark ] };
+ key <AB05> { [ b, B, rightdoublequotemark, rightsinglequotemark ] };
+ key <AB06> { [ n, N, n, N ] };
+ key <AB07> { [ m, M, mu, masculine ] };
+ key <AB08> { [ comma, less, horizconnector, multiply ] };
+ key <AB09> { [ period, greater, periodcentered, division ] };
+ key <AB10> { [ slash, question, dead_belowdot, dead_abovedot ] };
+
+};
+
+// Northern Europe ( Danish, Finnish, Norwegian, Swedish) common layout
+
+partial
+xkb_symbols "type2" {
+
+ include "latin"
+
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign, sterling, threesuperior] };
+ key <AE04> { [ 4, currency, dollar, onequarter ] };
+ key <AE05> { [ 5, percent, onehalf, cent ] };
+ key <AE06> { [ 6, ampersand, yen, fiveeighths ] };
+ key <AE07> { [ 7, slash, braceleft, division ] };
+ key <AE08> { [ 8, parenleft, bracketleft, guillemotleft] };
+ key <AE09> { [ 9, parenright, bracketright, guillemotright] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD04> { [ r, R, registered, registered ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD09> { [ o, O, oe, OE ] };
+ key <AD11> { [ aring, Aring, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] };
+
+ key <AC01> { [ a, A, ordfeminine, masculine ] };
+
+ key <AB03> { [ c, C, copyright, copyright ] };
+ key <AB08> { [ comma, semicolon, dead_cedilla, dead_ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, dead_abovedot ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+};
+
+// Slavic Latin ( Albanian, Croatian, Polish, Slovene, Yugoslav)
+// common layout
+
+partial
+xkb_symbols "type3" {
+
+ include "latin"
+
+ key <AD01> { [ q, Q, backslash, Greek_OMEGA ] };
+ key <AD02> { [ w, W, bar, Lstroke ] };
+ key <AD06> { [ z, Z, leftarrow, yen ] };
+
+ key <AC04> { [ f, F, bracketleft, ordfeminine ] };
+ key <AC05> { [ g, G, bracketright, ENG ] };
+ key <AC08> { [ k, K, lstroke, ampersand ] };
+
+ key <AB01> { [ y, Y, guillemotleft, less ] };
+ key <AB04> { [ v, V, at, grave ] };
+ key <AB05> { [ b, B, braceleft, apostrophe ] };
+ key <AB06> { [ n, N, braceright, braceright ] };
+ key <AB07> { [ m, M, section, masculine ] };
+ key <AB08> { [ comma, semicolon, less, multiply ] };
+ key <AB09> { [ period, colon, greater, division ] };
+};
+
+// Another one Latin common layout
+// (German, Estonian, Spanish, Icelandic, Italian, Latin American, Portuguese)
+
+partial
+xkb_symbols "type4" {
+
+ include "latin"
+
+ key <AE02> { [ 2, quotedbl, at, oneeighth ] };
+ key <AE06> { [ 6, ampersand, notsign, fiveeighths ] };
+ key <AE07> { [ 7, slash, braceleft, seveneighths ] };
+ key <AE08> { [ 8, parenleft, bracketleft, trademark ] };
+ key <AE09> { [ 9, parenright, bracketright, plusminus ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+
+ key <AD03> { [ e, E, EuroSign, cent ] };
+
+ key <AB08> { [ comma, semicolon, horizconnector, multiply ] };
+ key <AB09> { [ period, colon, periodcentered, division ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+};
+
+partial
+xkb_symbols "nodeadkeys" {
+
+ key <AE12> { [ equal, plus, cedilla, ogonek ] };
+ key <AD11> { [bracketleft, braceleft, diaeresis, degree ] };
+ key <AD12> { [bracketright, braceright, asciitilde, macron ] };
+ key <AC10> { [ semicolon, colon, acute, doubleacute ] };
+ key <AC11> { [apostrophe, quotedbl, asciicircum, caron ] };
+ key <BKSL> { [ backslash, bar, grave, breve ] };
+ key <AB10> { [ slash, question, dead_belowdot, abovedot ] };
+};
+
+partial
+xkb_symbols "type2_nodeadkeys" {
+
+ include "latin(nodeadkeys)"
+
+ key <AD11> { [ aring, Aring, diaeresis, degree ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, caron ] };
+ key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, abovedot ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
+partial
+xkb_symbols "type3_nodeadkeys" {
+
+ include "latin(nodeadkeys)"
+};
+
+partial
+xkb_symbols "type4_nodeadkeys" {
+
+ include "latin(nodeadkeys)"
+
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/level3 b/xorg-server/xkeyboard-config/symbols/level3
new file mode 100644
index 000000000..c2c6b13a2
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/level3
@@ -0,0 +1,200 @@
+// $XKeyboardConfig$
+
+// these variants assign various XKB keycodes to ISO_Level3_Shift so that
+// the third shift level can be reached
+//
+// $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $
+//
+
+// the default behavior is for the right Alt key (AltGr) to generate the
+// third engraved symbol
+default partial modifier_keys
+xkb_symbols "ralt_switch" {
+ key <RALT> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// Right Alt key never chooses 3rd level.
+// This option attempts to undo the effect of a layout's
+// including ralt_switch. You may also want to select another
+// level3 option that maps the level3 shift to some other key.
+partial modifier_keys
+xkb_symbols "ralt_alt" {
+ key <RALT> {
+ type[Group1]="TWO_LEVEL",
+ type[Group2]="TWO_LEVEL",
+ type[Group3]="TWO_LEVEL",
+ type[Group4]="TWO_LEVEL",
+ symbols[Group1] = [ Alt_R, Meta_R ],
+ symbols[Group2] = [ Alt_R, Meta_R ],
+ symbols[Group3] = [ Alt_R, Meta_R ],
+ symbols[Group4] = [ Alt_R, Meta_R ]
+ };
+ modifier_map Mod1 { <RALT> };
+};
+
+partial modifier_keys
+xkb_symbols "ralt_switch_multikey" {
+ key <RALT> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
+ };
+};
+
+// special case or right Alt switch - for use with grp:alts_toggle
+//
+partial hidden modifier_keys
+xkb_symbols "ralt_switch_for_alts_toggle" {
+ virtual_modifiers LAlt, AlGr;
+ key <LALT> {
+ type[Group1]="PC_RALT_LEVEL2",
+ symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ],
+ virtualMods= LAlt
+ };
+ key <RALT> {
+ type[Group1]="PC_ALT_LEVEL2",
+ symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// using the level(alt_switch) map, either Alt key temporarily chooses
+// the third shift level. (Mostly be used to imitate Mac OS functionality.)
+partial modifier_keys
+xkb_symbols "alt_switch" {
+ include "level3(lalt_switch)"
+ include "level3(ralt_switch)"
+};
+
+partial modifier_keys
+xkb_symbols "lalt_switch" {
+ key <LALT> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { <LALT> };
+};
+
+// using the level(switch) map, the right Control key temporarily
+// chooses the third shift level (until it is released).
+partial modifier_keys
+xkb_symbols "switch" {
+ key <RCTL> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// using the level(menu_switch) map, the Menu key temporarily
+// chooses the third shift level (until it is released).
+partial modifier_keys
+xkb_symbols "menu_switch" {
+ key <MENU> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// using the level3(win_switch) map, the either Windows' logo key
+// temporarily chooses the third shift level.
+partial modifier_keys
+xkb_symbols "win_switch" {
+ include "level3(lwin_switch)"
+ include "level3(rwin_switch)"
+};
+
+// using the level3(lwin_switch) map, the left Windows' logo key
+// temporarily chooses the third shift level.
+partial modifier_keys
+xkb_symbols "lwin_switch" {
+ key <LWIN> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// using the level(rwin_switch) map, the right Windows' logo key
+// temporarily chooses the third shift level. If you use this map,
+// you should define your keyboard as pc101 or pc102 instead of pc104
+// or pc105.
+partial modifier_keys
+xkb_symbols "rwin_switch" {
+ key <RWIN> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// using the level3(enter_switch) map, the Enter key on the keypad
+// temporarily chooses the third shift level. This is especially
+// useful for Mac laptops which miss the right Alt key.
+partial modifier_keys
+xkb_symbols "enter_switch" {
+ key <KPEN> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "caps_switch" {
+ key <CAPS> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "bksl_switch" {
+ key <BKSL> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "lsgt_switch" {
+ key <LSGT> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "caps_switch_latch" {
+ key <CAPS> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "bksl_switch_latch" {
+ key <BKSL> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "lsgt_switch_latch" {
+ key <LSGT> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/level5 b/xorg-server/xkeyboard-config/symbols/level5
new file mode 100644
index 000000000..99cb4601c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/level5
@@ -0,0 +1,151 @@
+// $XKeyboardConfig$
+
+// these variants assign various XKB keycodes to ISO_Level5_Shift so that
+// the third shift level can be reached
+//
+// $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $
+//
+
+// using the level(switch) map, the right Control key temporarily
+// chooses the fifth shift level (until it is released).
+partial modifier_keys
+xkb_symbols "rctrl_switch" {
+ key <RCTL> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift ]
+ };
+ modifier_map Mod3 { ISO_Level5_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "lsgt_switch" {
+ key <LSGT> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift ]
+ };
+ modifier_map Mod3 { ISO_Level5_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "ralt_switch" {
+ key <RALT> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift ]
+ };
+ modifier_map Mod3 { ISO_Level5_Shift };
+};
+
+
+// The following modifier keys are used to switch to the third shift and to set a
+// corresponding lock, implemented as NumLock.
+
+partial modifier_keys
+xkb_symbols "lock" {
+ // This adds the definitions needed to create a level5-lock behaviour, using
+ // the real modifier NumLock as a lock indicator.
+ // See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
+ // See also: compat/level5(level5_lock)
+ key.type[Group1] = "ONE_LEVEL";
+
+ replace key <MDSW> {
+ vmods = LevelFive,
+ symbols[Group1] = [ ISO_Level5_Shift ],
+ actions[Group1] = [ SetMods(modifiers=LevelFive) ]
+ };
+ modifier_map Mod3 { <MDSW> };
+
+ replace key <HYPR> {
+ vmods = NumLock,
+ symbols[Group1] = [ NoSymbol ],
+ actions[Group1] = [ SetMods(modifiers=NumLock) ]
+ };
+ modifier_map Mod2 { <HYPR> };
+};
+
+partial modifier_keys
+xkb_symbols "lsgt_switch_lock" {
+
+ include "level5(lock)"
+
+ key <LSGT> {
+ type[Group1] = "EIGHT_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "lwin_switch_lock" {
+
+ include "level5(lock)"
+
+ key <LWIN> {
+ type[Group1] = "EIGHT_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "ralt_switch_lock" {
+
+ include "level5(lock)"
+
+ key <RALT> {
+ type[Group1] = "EIGHT_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "rwin_switch_lock" {
+
+ include "level5(lock)"
+
+ key <RWIN> {
+ type[Group1] = "EIGHT_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "lsgt_switch_lock_cancel" {
+
+ include "level5(lock)"
+
+ key <LSGT> {
+ type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "lwin_switch_lock_cancel" {
+
+ include "level5(lock)"
+
+ key <LWIN> {
+ type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "ralt_switch_lock_cancel" {
+
+ include "level5(lock)"
+
+ key <RALT> {
+ type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "rwin_switch_lock_cancel" {
+
+ include "level5(lock)"
+
+ key <RWIN> {
+ type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/lk b/xorg-server/xkeyboard-config/symbols/lk
new file mode 100644
index 000000000..cfc5b1ff9
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/lk
@@ -0,0 +1,93 @@
+// $XKeyboardConfig$
+
+// X Keyboard Extension file for Sinhala (Sri Lanka) (2004-04-22)
+// Maintainer : Harshula Jayasuriya <harshula@gmail.com>
+// Last Updated: 2007-06-29
+// This is a static phonetic mapping for a standard US-English keyboard
+// (qwerty)
+// http://www.nongnu.org/sinhala/doc/keymaps/sinhala-keyboard_3.html
+
+// Repaya, Rakaransaya and Yansaya aren't inserted with A-r, R and Y,
+// respectively. The problem lies with the XKB infrastructure which
+// only allows a one-to-one mapping of keycodes to Unicode codepoints.
+// Unfortunately, the 3 mentioned glyphs actually consists of 3
+// Unicode codepoints each. The result is that the user must
+// manually construct the glyph by typing each of the 3 codepoints.
+// ALT-, represents the 'JOIN' key, it requires
+// two codepoints, hence it also has to be manually constructed.
+// Similarly, ALT-/ representing the 'TOUCH' key requires
+// two codepoints.
+
+// Repaya = rayanna,AL,ZWJ
+// Rakaransaya = AL,ZWJ,rayanna
+// Yansaya = AL,ZWJ,yayanna
+// JOIN = AL,ZWJ
+// TOUCH = ZWJ,AL
+
+// Where,
+// AL = Al Lakuna = ALT-a
+// ZWJ = Zero Width Joiner = ALT-/
+// rayanna = r
+// yayanna = y
+
+partial default alphanumeric_keys
+xkb_symbols "sin_phonetic" {
+
+ include "us"
+// it is default - no details in the name
+ name[Group1] = "Sri Lanka";
+ key.type[Group1] = "FOUR_LEVEL";
+
+ // q - p
+ key <AD01> { [ 0x01000d8d, 0x01000d8e, 0x01000dd8, 0x01000df2 ] };
+ key <AD02> { [ 0x01000d87, 0x01000d88, 0x01000dd0, 0x01000dd1 ] };
+ key <AD03> { [ 0x01000d91, 0x01000d92, 0x01000dd9, 0x01000dda ] };
+ key <AD04> { [ 0x01000dbb, 0x01000dca, 0x01000dbb, NoSymbol ] };
+ key <AD05> { [ 0x01000dad, 0x01000dae, 0x01000da7, 0x01000da8 ] };
+ key <AD06> { [ 0x01000dba, 0x01000dca, NoSymbol, NoSymbol ] };
+ key <AD07> { [ 0x01000d8b, 0x01000d8c, 0x01000dd4, 0x01000dd6 ] };
+ key <AD08> { [ 0x01000d89, 0x01000d8a, 0x01000dd2, 0x01000dd3 ] };
+ key <AD09> { [ 0x01000d94, 0x01000d95, 0x01000ddc, 0x01000ddd ] };
+ key <AD10> { [ 0x01000db4, 0x01000db5, NoSymbol, NoSymbol ] };
+
+ // a - l
+ key <AC01> { [ 0x01000d85, 0x01000d86, 0x01000dca, 0x01000dcf ] };
+ key <AC02> { [ 0x01000dc3, 0x01000dc1, 0x01000dc2, NoSymbol ] };
+ key <AC03> { [ 0x01000daf, 0x01000db0, 0x01000da9, 0x01000daa ] };
+ key <AC04> { [ 0x01000dc6, NoSymbol, 0x01000ddb, 0x01000d93 ] };
+ key <AC05> { [ 0x01000d9c, 0x01000d9d, 0x01000d9f, NoSymbol ] };
+ key <AC06> { [ 0x01000dc4, 0x01000d83, 0x01000dde, 0x01000d96 ] };
+ key <AC07> { [ 0x01000da2, 0x01000da3, 0x01000da6, NoSymbol ] };
+ key <AC08> { [ 0x01000d9a, 0x01000d9b, 0x01000d8f, 0x01000d90 ] };
+ key <AC09> { [ 0x01000dbd, 0x01000dc5, 0x01000ddf, 0x01000df3 ] };
+
+ // z - ?
+ key <AB01> { [ 0x01000da4, 0x01000da5, NoSymbol, NoSymbol ] };
+ key <AB02> { [ 0x01000db3, 0x01000dac, NoSymbol, NoSymbol ] };
+ key <AB03> { [ 0x01000da0, 0x01000da1, NoSymbol, NoSymbol ] };
+ key <AB04> { [ 0x01000dc0, NoSymbol, NoSymbol, NoSymbol ] };
+ key <AB05> { [ 0x01000db6, 0x01000db7, NoSymbol, NoSymbol ] };
+ key <AB06> { [ 0x01000db1, 0x01000dab, 0x01000d82, 0x01000d9e ] };
+ key <AB07> { [ 0x01000db8, 0x01000db9, NoSymbol, NoSymbol ] };
+ key <AB08> { [ any, any, 0x01000dca, NoSymbol ] };
+ key <AB09> { [ any, any, 0x01000df4, NoSymbol ] };
+ key <AB10> { [ any, any, 0x0100200d, NoSymbol ] };
+
+ // Space
+ include "nbsp(zwnj2nb3s)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_unicode" {
+ include "in(tam_unicode)"
+ name[Group1]= "Sri Lanka - Tamil Unicode";
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_TAB" {
+ include "in(tam_TAB)"
+ name[Group1]= "Sri Lanka - Tamil TAB Typewriter";
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/lt b/xorg-server/xkeyboard-config/symbols/lt
new file mode 100644
index 000000000..5956ace48
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/lt
@@ -0,0 +1,294 @@
+// $XKeyboardConfig$
+
+// based on
+// Lithuanian keyboard map by Ričardas Čepas <rch@richard.eu.org>
+// merged into one file by Nerijus Baliūnas
+// Added number and special characters writing in basic lt layout with RAlt by
+// Mantas Kriaučiūnas <mantas@akl.lt>, 2004
+//
+// $XFree86: xc/programs/xkbcomp/symbols/lt,v 1.3 2002/12/14 22:26:11 dawes Exp $
+
+// If you want to have 2 layouts, use
+// Option "XkbLayout" "lt,lt(us)"
+
+// Lithuanian Baltic layout - Lithuanian letters on the numeric row
+partial default alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ include "latin"
+
+ name[Group1]="Lithuania";
+
+ key <AE01> { [ aogonek, Aogonek, 1, exclam ] };
+ key <AE02> { [ ccaron, Ccaron, 2, at ] };
+ key <AE03> { [ eogonek, Eogonek, 3, numbersign ] };
+ key <AE04> { [ eabovedot, Eabovedot, 4, dollar ] };
+ key <AE05> { [ iogonek, Iogonek, 5, percent ] };
+ key <AE06> { [ scaron, Scaron, 6, asciicircum ] };
+ key <AE07> { [ uogonek, Uogonek, 7, ampersand ] };
+ key <AE08> { [ umacron, Umacron, 8, asterisk ] };
+ key <AE09> { [doublelowquotemark, parenleft, 9, parenleft ] };
+ key <AE10> { [leftdoublequotemark,parenright, 0, parenright ] };
+ key <AE12> { [ zcaron, Zcaron, equal, plus ] };
+
+ key <LSGT> { [ endash, EuroSign ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Similar to the above, but you should use Right Alt + numeric row
+// for Lithuanian letters
+partial alphanumeric_keys modifier_keys
+xkb_symbols "us" {
+
+ include "latin"
+
+ name[Group1]="Lithuania - US keyboard with Lithuanian letters";
+
+ key <AE01> { [ 1, exclam, aogonek, Aogonek ] };
+ key <AE02> { [ 2, at, ccaron, Ccaron ] };
+ key <AE03> { [ 3, numbersign, eogonek, Eogonek ] };
+ key <AE04> { [ 4, dollar, eabovedot, Eabovedot ] };
+ key <AE05> { [ 5, percent, iogonek, Iogonek ] };
+ key <AE06> { [ 6, asciicircum, scaron, Scaron ] };
+ key <AE07> { [ 7, ampersand, uogonek, Uogonek ] };
+ key <AE08> { [ 8, asterisk, umacron, Umacron ] };
+ key <AE09> { [ 9, parenleft, doublelowquotemark, parenleft ] };
+ key <AE10> { [ 0, parenright, leftdoublequotemark,parenright ] };
+ key <AE12> { [ equal, plus, zcaron, Zcaron ] };
+
+ key <AD03> { [ e, E, endash, EuroSign ] };
+ key <LSGT> { [ endash, EuroSign ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Lithuanian keyboard map by Gediminas Paulauskas <menesis@delfi.lt>
+// Minor modification by Ričardas Čepas according to http://sun3.mif.vu.lt/cs/TK4/lithkeyb.html
+
+// Describes Lithuanian keymap LST 1582:2000
+// Extensions: B01 L3 is "<" , B02 L3 is ">" and B03 L3 is endash to make this
+// layout usable with pc101 and pc104 keyboards.
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "std" {
+
+ include "latin"
+
+ name[Group1]= "Lithuania - Standard";
+
+ key <TLDE> {[ grave, asciitilde, acute ]};
+ key <AE01> {[ exclam, 1, at ]};
+ key <AE02> {[ minus, 2, underscore ]};
+ key <AE03> {[ slash, 3, numbersign ]};
+ key <AE04> {[ semicolon, 4, dollar ]};
+ key <AE05> {[ colon, 5, section ]};
+ key <AE06> {[ comma, 6, asciicircum ]};
+ key <AE07> {[ period, 7, ampersand ]};
+ key <AE08> {[ equal, 8, asterisk ]};
+ key <AE09> {[ parenleft, 9, bracketleft ]};
+ key <AE10> {[ parenright, 0, bracketright ]};
+ key <AE11> {[ question, plus, apostrophe ]};
+ key <AE12> {[ x, X, percent ]};
+ key <AD01> {[ aogonek, Aogonek ]};
+ key <AD02> {[ zcaron, Zcaron ]};
+ key <AD03> {[ e, E, EuroSign ]};
+ key <AD11> {[ iogonek, Iogonek, braceleft ]};
+ key <AD12> {[ w, W, braceright ]};
+ key <AC04> {[ scaron, Scaron ]};
+ key <AC10> {[ uogonek, Uogonek ]};
+ key <AC11> {[ eabovedot, Eabovedot, quotedbl ]};
+ key <AB01> {[ z, Z, less ]};
+ key <AB02> {[ umacron, Umacron, greater ]};
+ key <AB03> {[ c, C, endash ]};
+ key <AB08> {[ ccaron, Ccaron, doublelowquotemark ]};
+ key <AB09> {[ f, F, leftdoublequotemark ]};
+// this is actually right quote for Lithuanian
+ key <AB10> {[ eogonek, Eogonek, backslash ]};
+ key <BKSL> {[ q, Q, bar ]};
+ key <SPCE> {[ space, space, nobreakspace, nobreakspace ]};
+
+ key <LSGT> {[ less, greater, endash ]};
+
+ include "kpdl(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+// Lithuanian keyboard map by Piter PUNK <piterpk@terra.com.br>
+// Describes Lithuanian keymap LST 1205-92
+//
+// This keyboard is also know as IBM layout.
+// We follow the map found at: http://www.kada.lt/litwin/Kbdlta.gif
+// and info from Edis Tamoshauskas <linas_lietus@yahoo.com>
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "ibm" {
+
+ include "latin"
+
+ name[Group1]= "Lithuania - IBM (LST 1205-92)";
+
+ key <TLDE> {[ grave, asciitilde ]};
+ key <AE01> {[ exclam, 1 ]};
+ key <AE02> {[ quotedbl, 2, at ]};
+ key <AE03> {[ slash, 3, numbersign ]};
+ key <AE04> {[ semicolon, 4, dollar ]};
+ key <AE05> {[ colon, 5, percent ]};
+ key <AE06> {[ comma, 6, asciicircum ]};
+ key <AE07> {[ period, 7, ampersand ]};
+ key <AE08> {[ question, 8, asterisk ]};
+ key <AE09> {[ parenleft, 9 ]};
+ key <AE10> {[ parenright, 0 ]};
+ key <AE11> {[ underscore, minus ]};
+ key <AE12> {[ plus, equal ]};
+ key <AD01> {[ aogonek, Aogonek, q, Q ]};
+ key <AD02> {[ zcaron, Zcaron, w, W ]};
+ key <AD03> {[ e, E, EuroSign ]};
+ key <AD11> {[ iogonek, Iogonek, bracketleft, braceleft ]};
+ key <AD12> {[ doublelowquotemark, leftdoublequotemark, bracketright, braceright ]};
+ key <AC10> {[ uogonek, Uogonek, semicolon, colon ]};
+ key <AC11> {[ eabovedot, Eabovedot, apostrophe, quotedbl ]};
+ key <AB02> {[ umacron, Umacron, x, X ]};
+ key <AB08> {[ ccaron, Ccaron, comma, less ]};
+ key <AB09> {[ scaron, Scaron, period, greater ]};
+ key <AB10> {[ eogonek, Eogonek, slash, question ]};
+ key <SPCE> {[ space, space, nobreakspace, nobreakspace ]};
+
+ key <LSGT> {[ less, greater, endash ]};
+
+ include "level3(ralt_switch)"
+};
+
+// LEKP and LEKPa layouts 1.0
+// Copyright (c) 2007 Tautrimas Pajarskas
+// For more info visit http://lekp.info
+//
+// LEKP and LEKPa layouts are licensed under the Creative Commons
+// Attribution-Noncommercial-Share Alike 3.0 License.
+// To view a copy of this license, visit
+// http://creativecommons.org/licenses/by-nc-sa/3.0/ or send
+// a letter to Creative Commons, 171 Second Street, Suite 300,
+// San Francisco, California, 94105, USA.
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "lekp" {
+ name[Group1]="Lithuania - LEKP";
+ key <TLDE> { [ grave, asciitilde, acute ] };
+ key <AE01> { [ slash, numbersign, bar ] };
+ key <AE02> { [ backslash, at, section ] };
+ key <AE03> { [ period, braceleft ] };
+ key <AE04> { [ comma, braceright ] };
+ key <AE05> { [ f, F ] };
+ key <AE06> { [ exclam, endash ] };
+ key <AE07> { [ w, W ] };
+ key <AE08> { [ uogonek, Uogonek ] };
+ key <AE09> { [ iogonek, Iogonek ] };
+ key <AE10> { [ parenleft, doublelowquotemark, registered ] };
+ key <AE11> { [ parenright, leftdoublequotemark, copyright ] };
+ key <AE12> { [ colon, ampersand, trademark ] };
+
+ key <BKSL> { [ apostrophe, underscore ] };
+
+ key <AD01> { [ q, Q, EuroSign ] };
+ key <AD02> { [ g, G, 7 ] };
+ key <AD03> { [ r, R, 8 ] };
+ key <AD04> { [ l, L, 9 ] };
+ key <AD05> { [ d, D, percent ] };
+ key <AD06> { [ ccaron, Ccaron ] };
+ key <AD07> { [ j, J ] };
+ key <AD08> { [ u, U, period ] };
+ key <AD09> { [ eabovedot, Eabovedot, minus ] };
+ key <AD10> { [ eogonek, Eogonek, slash ] };
+ key <AD11> { [ question, bracketleft, division ] };
+ key <AD12> { [ equal, bracketright ] };
+
+ key <CAPS> { [ BackSpace ] };
+ key <AC01> { [ a, A, 0 ] };
+ key <AC02> { [ k, K, 4 ] };
+ key <AC03> { [ s, S, 5 ] };
+ key <AC04> { [ t, T, 6 ] };
+ key <AC05> { [ m, M, dollar ] };
+ key <AC06> { [ p, P ] };
+ key <AC07> { [ n, N ] };
+ key <AC08> { [ e, E, comma ] };
+ key <AC09> { [ i, I, plus ] };
+ key <AC10> { [ o, O, asterisk ] };
+ key <AC11> { [ y, Y, multiply ] };
+
+ key <AB01> { [ z, Z, asciicircum ] };
+ key <AB02> { [ x, X, 1 ] };
+ key <AB03> { [ c, C, 2 ] };
+ key <AB04> { [ v, V, 3 ] };
+ key <AB05> { [ zcaron, Zcaron ] };
+ key <AB06> { [ scaron, Scaron ] };
+ key <AB07> { [ b, B, degree ] };
+ key <AB08> { [ umacron, Umacron, less ] };
+ key <AB09> { [ aogonek, Aogonek, greater ] };
+ key <AB10> { [ h, H ] };
+
+ key <LSGT> { [ semicolon, quotedbl, sterling ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "lekpa" {
+ name[Group1]="Lithuania - LEKPa";
+ key <TLDE> { [ grave, asciitilde, acute ] };
+ key <AE01> { [ slash, quotedbl, bar ] };
+ key <AE02> { [ backslash, at, section ] };
+ key <AE03> { [ period, braceleft, numbersign ] };
+ key <AE04> { [ comma, braceright, sterling ] };
+ key <AE05> { [ f, F, ampersand ] };
+ key <AE06> { [ exclam, endash ] };
+ key <AE07> { [ w, W ] };
+ key <AE08> { [ uogonek, Uogonek ] };
+ key <AE09> { [ iogonek, Iogonek ] };
+ key <AE10> { [ parenleft, doublelowquotemark, registered ] };
+ key <AE11> { [ parenright, leftdoublequotemark, copyright ] };
+ key <AE12> { [ colon, semicolon, trademark ] };
+
+ key <BKSL> { [ apostrophe, underscore ] };
+
+ key <AD01> { [ q, Q, EuroSign ] };
+ key <AD02> { [ g, G, 7 ] };
+ key <AD03> { [ r, R, 8 ] };
+ key <AD04> { [ l, L, 9 ] };
+ key <AD05> { [ d, D, percent ] };
+ key <AD06> { [ ccaron, Ccaron ] };
+ key <AD07> { [ j, J ] };
+ key <AD08> { [ u, U, period ] };
+ key <AD09> { [ eabovedot, Eabovedot, minus ] };
+ key <AD10> { [ eogonek, Eogonek, slash ] };
+ key <AD11> { [ question, bracketleft, division ] };
+ key <AD12> { [ equal, bracketright ] };
+
+ key <CAPS> { [ BackSpace ] };
+ key <AC01> { [ a, A, 0 ] };
+ key <AC02> { [ k, K, 4 ] };
+ key <AC03> { [ s, S, 5 ] };
+ key <AC04> { [ t, T, 6 ] };
+ key <AC05> { [ m, M, dollar ] };
+ key <AC06> { [ p, P ] };
+ key <AC07> { [ n, N ] };
+ key <AC08> { [ e, E, comma ] };
+ key <AC09> { [ i, I, plus ] };
+ key <AC10> { [ o, O, asterisk ] };
+ key <AC11> { [ y, Y, multiply ] };
+
+ key <AB01> { [ z, Z, asciicircum ] };
+ key <AB02> { [ x, X, 1 ] };
+ key <AB03> { [ c, C, 2 ] };
+ key <AB04> { [ v, V, 3 ] };
+ key <AB05> { [ zcaron, Zcaron ] };
+ key <AB06> { [ scaron, Scaron ] };
+ key <AB07> { [ b, B, degree ] };
+ key <AB08> { [ umacron, Umacron, less ] };
+ key <AB09> { [ aogonek, Aogonek, greater ] };
+ key <AB10> { [ h, H ] };
+
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/lv b/xorg-server/xkeyboard-config/symbols/lv
new file mode 100644
index 000000000..556be6c66
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/lv
@@ -0,0 +1,129 @@
+// $XKeyboardConfig$
+
+// Latvian keymap version 1.1
+// Copyright (C) Dmitry Golubev <lastguru@mail.ru>, 2003-2004
+//
+// Reworked to get rid of dead_keys (use of which in this case
+// is a dirty hack). It is now not dependent on locale settings
+// and GTK_IM_MODULES in Gnome. The map is also providing some of
+// ISO9995-3 alternate characters. Note that this version works
+// correctly under Gnome 2.6. This is to be put into symbols/
+// directory, or somewhere else.
+//
+// Permission to use, copy, modify, distribute, and sell this software and its
+// documentation for any purpose is hereby granted without fee, provided that
+// the above copyright notice appear in all copies and that both that
+// copyright notice and this permission notice appear in supporting
+// documentation, and that the name of the copyright holder(s) not be used in
+// advertising or publicity pertaining to distribution of the software without
+// specific, written prior permission. The copyright holder(s) makes no
+// representations about the suitability of this software for any purpose. It
+// is provided "as is" without express or implied warranty.
+//
+// THE COPYRIGHT HOLDER(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+// EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+// PERFORMANCE OF THIS SOFTWARE.
+
+partial default alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Latvia";
+
+ key <TLDE> {[grave, asciitilde, acute, asciitilde]};
+ key <AE01> {[1, exclam, onesuperior, exclamdown]};
+ key <AE02> {[2, at, twosuperior, oneeighth]};
+ key <AE03> {[3, numbersign, threesuperior, sterling]};
+ key <AE04> {[4, dollar, EuroSign, cent]};
+ key <AE05> {[5, percent, onehalf, threeeighths]};
+ key <AE06> {[6, asciicircum, threequarters, fiveeighths]};
+ key <AE07> {[7, ampersand, braceleft, seveneighths]};
+ key <AE08> {[8, asterisk, bracketleft, trademark]};
+ key <AE09> {[9, parenleft, bracketright, plusminus]};
+ key <AE10> {[0, parenright, braceright, degree]};
+ key <AE11> {[minus, underscore, backslash, questiondown]};
+ key <AE12> {[equal, plus, endash, emdash]};
+
+ key <AD01> {[q, Q, q, Q]};
+ key <AD02> {[w, W, w, W]};
+ key <AD03> {[e, E, emacron, Emacron]};
+ key <AD04> {[r, R, rcedilla, Rcedilla]};
+ key <AD05> {[t, T, t, T]};
+ key <AD06> {[y, Y, y, Y]};
+ key <AD07> {[u, U, umacron, Umacron]};
+ key <AD08> {[i, I, imacron, Imacron]};
+ key <AD09> {[o, O, omacron, Omacron]};
+ key <AD10> {[p, P, p, P]};
+ key <AD11> {[bracketleft, braceleft, guillemotleft, leftdoublequotemark]};
+ key <AD12> {[bracketright, braceright, guillemotright, rightdoublequotemark]};
+
+ key <AC01> {[a, A, amacron, Amacron]};
+ key <AC02> {[s, S, scaron, Scaron]};
+ key <AC03> {[d, D, d, D]};
+ key <AC04> {[f, F, f, F]};
+ key <AC05> {[g, G, gcedilla, Gcedilla]};
+ key <AC06> {[h, H, h, H]};
+ key <AC07> {[j, J, j, J]};
+ key <AC08> {[k, K, kcedilla, Kcedilla]};
+ key <AC09> {[l, L, lcedilla, Lcedilla]};
+ key <AC10> {[semicolon, colon, semicolon, colon]};
+ key <AC11> {[apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark]};
+
+ key <AB01> {[z, Z, zcaron, Zcaron]};
+ key <AB02> {[x, X, x, X]};
+ key <AB03> {[c, C, ccaron, Ccaron]};
+ key <AB04> {[v, V, v, V]};
+ key <AB05> {[b, B, b, B]};
+ key <AB06> {[n, N, ncedilla, Ncedilla]};
+ key <AB07> {[m, M, m, M]};
+ key <AB08> {[comma, less, horizconnector, multiply]};
+ key <AB09> {[period, greater, periodcentered, division]};
+ key <AB10> {[slash, question, slash, abovedot]};
+ key <BKSL> {[backslash, bar, grave, breve]};
+
+ key <SPCE> {[space, space, space, space]};
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "apostrophe" {
+
+ include "lv(basic)"
+
+ name[Group1]= "Latvia - Apostrophe (') variant";
+
+ key <AC11> {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]};
+ key <SPCE> {[space, space, apostrophe]};
+ modifier_map Mod5 { <AC11> };
+
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "tilde" {
+
+ include "lv(basic)"
+
+ name[Group1]= "Latvia - Tilde (~) variant";
+
+ key <TLDE> {[ISO_Level3_Latch, asciitilde, grave, acute]};
+ key <SPCE> {[space, space, asciitilde]};
+ modifier_map Mod5 { <TLDE> };
+
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "fkey" {
+
+ include "lv(basic)"
+
+ name[Group1]= "Latvia - F-letter (F) variant";
+
+ key <AC04> {[ISO_Level3_Latch, ISO_Level3_Latch, f, F]};
+ key <SPCE> {[space, space, f, F]};
+ modifier_map Mod5 { <AC04> };
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/ma b/xorg-server/xkeyboard-config/symbols/ma
new file mode 100644
index 000000000..16d071744
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ma
@@ -0,0 +1,325 @@
+// Arabic AZERTY with modern Latin digits
+partial default alphanumeric_keys
+xkb_symbols "arabic" {
+ include "ara(azerty)"
+
+ name[Group1]="Morocco";
+};
+
+// French AZERTY keyboard used when typing French
+partial alphanumeric_keys
+xkb_symbols "french" {
+ include "fr(basic)"
+
+ name[Group1]="Morocco - French";
+};
+
+// Clavier unicode tifinaghe de base réalisé par l'IRCAM (Institut Royal de la Culture Amazighe du Maroc) http://www.ircam.ma/
+// Support des lettres unicode tifinaghe-IRCAM, néotifinaghes & touarègues.
+// Les caractères tifinaghes sont accessibles en SHIFT positions pour le niveau 2, en ALTGR positions pour le niveau 3
+// Polices tifinaghes Unicode à télécharger depuis :
+// http://www.ircam.ma/documents/policesclavierunicode/hapaxber.ttf (licence non libre, libre téléchargement et distribution uniquement)
+// Minihowto ici: http://perso.menara.ma/~kebdani/tamazgha/gnu_amazigh.html
+
+partial alphanumeric_keys
+xkb_symbols "tifinagh" {
+
+ name[Group1]="Morocco - Tifinagh";
+
+ key <TLDE> { [ twosuperior, NoAction ] };
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [ NoAction, 2, asciitilde ] };
+ key <AE03> { [ quotedbl, 3, numbersign ] };
+ key <AE04> { [apostrophe, 4, braceleft ] };
+ key <AE05> { [ parenleft, 5, bracketleft ] };
+ key <AE06> { [ minus, 6, bar ] };
+ key <AE07> { [ NoAction , 7 ] };
+ key <AE08> { [underscore, 8, backslash ] };
+ key <AE09> { [NoAction, 9, asciicircum ] };
+ key <AE10> { [ NoAction , 0, at ] };
+ key <AE11> { [parenright, degree, bracketright ] };
+ key <AE12> { [ equal, plus, braceright ] };
+
+ key <AD01> { [ 0x1002d30 ] };
+ key <AD02> { [ 0x1002d63, 0x1002d65 ] };
+ key <AD03> { [ 0x1002d3b, NoAction,0x10020ac ] };
+ key <AD04> { [ 0x1002d54, 0x1002d55 ] };
+ key <AD05> { [ 0x1002d5c, 0x1002d5f ] };
+ key <AD06> { [ 0x1002d62 ] };
+ key <AD07> { [ 0x1002d53 ] };
+ key <AD08> { [ 0x1002d49 ] };
+ key <AD09> { [ 0x1002d44 ] };
+ key <AD10> { [ 0x1002d43 ] };
+ key <AD11> { [ 0x1002d6f ] };
+ key <AD12> { [ dollar, sterling, 0x10000a4] };
+
+ key <AC01> { [ 0x1002d47 ] };
+ key <AC02> { [ 0x1002d59, 0x1002d5a ] };
+ key <AC03> { [ 0x1002d37, 0x1002d39 ] };
+ key <AC04> { [ 0x1002d3c ] };
+ key <AC05> { [ 0x1002d33, 0x1002d33] };
+ key <AC06> { [ 0x1002d40 ] };
+ key <AC07> { [ 0x1002d4a ] };
+ key <AC08> { [ 0x1002d3d, 0x1002d3d ] };
+ key <AC09> { [ 0x1002d4d ] };
+ key <AC10> { [ 0x1002d4e ] };
+ key <AC11> { [ NoAction , percent ] };
+ key <BKSL> { [ asterisk, mu ] };
+
+ key <AB01> { [ 0x1002d61 ] };
+ key <AB02> { [ 0x1002d45 ] };
+ key <AB03> { [ 0x1002d5b ] };
+ key <AB04> { [ 0x1002d56 ] };
+ key <AB05> { [ 0x1002d31 ] };
+ key <AB06> { [ 0x1002d4f ] };
+ key <AB07> { [ comma, question ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ exclam, section ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "tifinagh-phonetic" {
+
+ name[Group1]="Morocco - Tifinagh Phonetic";
+ include "ma(tifinagh)"
+
+ key <LatA> { [ 0x1002d30 ] };
+ key <LatZ> { [ 0x1002d63, 0x1002d65 ] };
+ key <LatE> { [ 0x1002d3b, NoAction,0x10020ac ] };
+ key <LatR> { [ 0x1002d54, 0x1002d55 ] };
+ key <LatT> { [ 0x1002d5c, 0x1002d5f ] };
+ key <LatY> { [ 0x1002d62 ] };
+ key <LatU> { [ 0x1002d53 ] };
+ key <LatI> { [ 0x1002d49 ] };
+ key <LatO> { [ 0x1002d44 ] };
+ key <LatP> { [ 0x1002d43 ] };
+
+ key <LatQ> { [ 0x1002d47 ] };
+ key <LatS> { [ 0x1002d59, 0x1002d5a ] };
+ key <LatD> { [ 0x1002d37, 0x1002d39 ] };
+ key <LatF> { [ 0x1002d3c ] };
+ key <LatG> { [ 0x1002d33 ] };
+ key <LatH> { [ 0x1002d40 ] };
+ key <LatJ> { [ 0x1002d4a ] };
+ key <LatK> { [ 0x1002d3d ] };
+ key <LatL> { [ 0x1002d4d ] };
+ key <LatM> { [ 0x1002d4e ] };
+
+ key <LatW> { [ 0x1002d61,0x1002d6f ] };
+ key <LatX> { [ 0x1002d45 ] };
+ key <LatC> { [ 0x1002d5b ] };
+ key <LatV> { [ 0x1002d56 ] };
+ key <LatB> { [ 0x1002d31 ] };
+ key <LatN> { [ 0x1002d4f ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Clavier unicode tifinaghe étendu réalisé par l'IRCAM (Institut Royal de la Culture Amazighe du Maroc) http://www.ircam.ma/
+// Support des lettres unicode tifinaghe-IRCAM, néotifinaghes & touarègues.
+// Les caractères tifinaghes sont accessibles en SHIFT positions pour le niveau 2, en ALTGR positions pour le niveau 3
+// Polices tifinaghes Unicode à télécharger depuis :
+// http://www.ircam.ma/documents/policesclavierunicode/hapaxber.ttf (licence non libre, libre téléchargement et distribution uniquement)
+// Minihowto ici: http://perso.menara.ma/~kebdani/tamazgha/gnu_amazigh.html
+
+partial alphanumeric_keys
+xkb_symbols "tifinagh-extended" {
+
+ name[Group1]="Morocco - Tifinagh Extended";
+
+ key <TLDE> { [ twosuperior,0x100200C ] };
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [0x1002d52, 2, asciitilde ] };
+ key <AE03> { [ quotedbl, 3, numbersign ] };
+ key <AE04> { [apostrophe, 4, braceleft ] };
+ key <AE05> { [ parenleft, 5, bracketleft ] };
+ key <AE06> { [ minus, 6, bar ] };
+ key <AE07> { [ 0x1002d64 , 7 ] };
+ key <AE08> { [underscore, 8, backslash ] };
+ key <AE09> { [ 0x1002014, 9, asciicircum ] };
+ key <AE10> { [ 0x100200d, 0, at ] };
+ key <AE11> { [parenright, degree, bracketright ] };
+ key <AE12> { [ equal, plus, braceright ] };
+
+ key <AD01> { [ 0x1002d30, 0x1002d36 ] };
+ key <AD02> { [ 0x1002d63, 0x1002d65 ] };
+ key <AD03> { [ 0x1002d3b, 0x1002d57, 0x10020ac ] };
+ key <AD04> { [ 0x1002d54, 0x1002d55 ] };
+ key <AD05> { [ 0x1002d5c, 0x1002d5f ] };
+ key <AD06> { [ 0x1002d62, 0x1002d42 ] };
+ key <AD07> { [ 0x1002d53, 0x1002d4c ] };
+ key <AD08> { [ 0x1002d49, 0x1002d58 ] };
+ key <AD09> { [ 0x1002d44, 0x1002d5d ] };
+ key <AD10> { [ 0x1002d43, 0x1002d5e ] };
+ key <AD11> { [ 0x1002d6f, 0x1002d60 ] };
+ key <AD12> { [ dollar, sterling, 0x10000a4] };
+
+ key <AC01> { [ 0x1002d47, 0x1002d48 ] };
+ key <AC02> { [ 0x1002d59, 0x1002d5a ] };
+ key <AC03> { [ 0x1002d37, 0x1002d39 ] };
+ key <AC04> { [ 0x1002d3c, 0x1002d35 ] };
+ key <AC05> { [ 0x1002d33, 0x1002d33 ] };
+ key <AC06> { [ 0x1002d40, 0x1002d41 ] };
+ key <AC07> { [ 0x1002d4a, 0x1002d4b ] };
+ key <AC08> { [ 0x1002d3d, 0x1002d3d ] };
+ key <AC09> { [ 0x1002d4d, 0x1002d38 ] };
+ key <AC10> { [ 0x1002d4e, 0x1002d3a ] };
+ key <AC11> { [ 0x1002d51, percent ] };
+ key <BKSL> { [ asterisk, mu ] };
+
+ key <AB01> { [ 0x1002d61, 0x1002d3e ] };
+ key <AB02> { [ 0x1002d45, 0x1002d46 ] };
+ key <AB03> { [ 0x1002d5b, 0x1002d3f ] };
+ key <AB04> { [ 0x1002d56, 0x1002d34 ] };
+ key <AB05> { [ 0x1002d31, 0x1002d32 ] };
+ key <AB06> { [ 0x1002d4f, 0x1002d50 ] };
+ key <AB07> { [ comma, question ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ exclam, section ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "tifinagh-extended-phonetic" {
+ include "ma(tifinagh-extended)"
+
+ name[Group1]="Morocco - Tifinagh Extended Phonetic";
+
+ key <LatA> { [ 0x1002d30 ] };
+ key <LatZ> { [ 0x1002d63, 0x1002d65 ] };
+ key <LatE> { [ 0x1002d3b, NoAction,0x10020ac ] };
+ key <LatR> { [ 0x1002d54, 0x1002d55 ] };
+ key <LatT> { [ 0x1002d5c, 0x1002d5f ] };
+ key <LatY> { [ 0x1002d62 ] };
+ key <LatU> { [ 0x1002d53 ] };
+ key <LatI> { [ 0x1002d49 ] };
+ key <LatO> { [ 0x1002d44 ] };
+ key <LatP> { [ 0x1002d43 ] };
+
+ key <LatQ> { [ 0x1002d47 ] };
+ key <LatS> { [ 0x1002d59, 0x1002d5a ] };
+ key <LatD> { [ 0x1002d37, 0x1002d39 ] };
+ key <LatF> { [ 0x1002d3c ] };
+ key <LatG> { [ 0x1002d33 ] };
+ key <LatH> { [ 0x1002d40 ] };
+ key <LatJ> { [ 0x1002d4a ] };
+ key <LatK> { [ 0x1002d3d ] };
+ key <LatL> { [ 0x1002d4d ] };
+ key <LatM> { [ 0x1002d4e ] };
+
+ key <LatW> { [ 0x1002d61 ] };
+ key <LatX> { [ 0x1002d45 ] };
+ key <LatC> { [ 0x1002d5b ] };
+ key <LatV> { [ 0x1002d56 ] };
+ key <LatB> { [ 0x1002d31 ] };
+ key <LatN> { [ 0x1002d4f ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Tifinagh keyboard; improved from the IRCAM layout to make all
+// tifinagh chars in unicode accessible (in shift positions for most
+// touareg letters; in altgr position for spirants.
+
+partial alphanumeric_keys
+xkb_symbols "tifinagh-alt" {
+
+ name[Group1]="Morocco - Tifinagh Alternative";
+
+ key <TLDE> { [ twosuperior, asciitilde ] };
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [asciitilde, 2, asciitilde ] };
+ key <AE03> { [ quotedbl, 3, numbersign ] };
+ key <AE04> { [apostrophe, 4, braceleft ] };
+ key <AE05> { [ parenleft, 5, bracketleft ] };
+ key <AE06> { [ minus, 6, bar ] };
+ key <AE07> { [ grave, 7, grave ] };
+ key <AE08> { [underscore, 8, backslash ] };
+ key <AE09> { [asciicircum, 9, asciicircum ] };
+ key <AE10> { [ at, 0, at ] };
+ key <AE11> { [parenright, degree, bracketright ] };
+ key <AE12> { [ equal, plus, braceright ] };
+
+ key <AD01> { [ 0x1002d30 ] };
+ key <AD02> { [ 0x1002d63, 0x1002d65, 0x1002d64 ] };
+ key <AD03> { [ 0x1002d3b ] };
+ key <AD04> { [ 0x1002d54, 0x1002d55 ] };
+ key <AD05> { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] };
+ key <AD06> { [ 0x1002d62 ] };
+ key <AD07> { [ 0x1002d53 ] };
+ key <AD08> { [ 0x1002d49 ] };
+ key <AD09> { [ 0x1002d44 ] };
+ key <AD10> { [ 0x1002d43, 0x1002d52 ] };
+ key <AD11> { [ dead_circumflex ] };
+ key <AD12> { [ dollar, sterling ] };
+
+ key <AC01> { [ 0x1002d47, 0x1002d48 ] };
+ key <AC02> { [ 0x1002d59, 0x1002d5a ] };
+ key <AC03> { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] };
+ key <AC04> { [ 0x1002d3c ] };
+ key <AC05> { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] };
+ key <AC06> { [ 0x1002d40, 0x1002d42, 0x1002d41 ] };
+ key <AC07> { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] };
+ key <AC08> { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] };
+ key <AC09> { [ 0x1002d4d ] };
+ key <AC10> { [ 0x1002d4e ] };
+ key <AC11> { [ percent ] };
+ key <BKSL> { [ asterisk, mu ] };
+
+ key <AB01> { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] };
+ key <AB02> { [ 0x1002d45, 0x1002d46 ] };
+ key <AB03> { [ 0x1002d5b, 0x1002d5e ] };
+ key <AB04> { [ 0x1002d56, 0x1002d57, 0x1002d58 ] };
+ key <AB05> { [ 0x1002d31, 0x1002d31, 0x1002d32 ] };
+ key <AB06> { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] };
+ key <AB07> { [ comma, question ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ exclam, section ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "tifinagh-alt-phonetic" {
+ include "ma(tifinagh-alt)"
+
+ name[Group1]="Morocco - Tifinagh Alternative Phonetic";
+
+ key <LatA> { [ 0x1002d30 ] };
+ key <LatZ> { [ 0x1002d63, 0x1002d65, 0x1002d64 ] };
+ key <LatE> { [ 0x1002d3b ] };
+ key <LatR> { [ 0x1002d54, 0x1002d55 ] };
+ key <LatT> { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] };
+ key <LatY> { [ 0x1002d62 ] };
+ key <LatU> { [ 0x1002d53 ] };
+ key <LatI> { [ 0x1002d49 ] };
+ key <LatO> { [ 0x1002d44 ] };
+ key <LatP> { [ 0x1002d43, 0x1002d52 ] };
+
+ key <LatQ> { [ 0x1002d47, 0x1002d48 ] };
+ key <LatS> { [ 0x1002d59, 0x1002d5a ] };
+ key <LatD> { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] };
+ key <LatF> { [ 0x1002d3c ] };
+ key <LatG> { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] };
+ key <LatH> { [ 0x1002d40, 0x1002d42, 0x1002d41 ] };
+ key <LatJ> { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] };
+ key <LatK> { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] };
+ key <LatL> { [ 0x1002d4d ] };
+ key <LatM> { [ 0x1002d4e ] };
+
+ key <LatW> { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] };
+ key <LatX> { [ 0x1002d45, 0x1002d46 ] };
+ key <LatC> { [ 0x1002d5b, 0x1002d5e ] };
+ key <LatV> { [ 0x1002d56, 0x1002d57, 0x1002d58 ] };
+ key <LatB> { [ 0x1002d31, 0x1002d31, 0x1002d32 ] };
+ key <LatN> { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] };
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/Makefile.am b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/Makefile.am
new file mode 100644
index 000000000..1d43f40c2
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/Makefile.am
@@ -0,0 +1,8 @@
+symbolsdir = $(xkb_base)/symbols/macintosh_vndr
+
+dist_symbols_DATA = \
+apple ch de dk \
+fi fr \
+gb is it jp \
+latam nl no pt \
+se us
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/apple b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/apple
new file mode 100644
index 000000000..fc1742c45
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/apple
@@ -0,0 +1,142 @@
+//
+// Keyboard modification for Apple keyboards
+//
+// $XFree86: xc/programs/xkbcomp/symbols/apple,v 1.2 2003/10/24 20:38:20 tsi Exp $
+
+partial default modifier_keys
+xkb_symbols "extended" {
+
+ key <KPEQ> { [ KP_Equal ] };
+
+// The key in the PC's Insert position is sometimes engraved Help (at least
+// in Switzerland and Great Britain), with Insert sometimes above. But in the
+// US and Canada, it remains Insert. So this should probably be an XkbOption,
+// but I have to do more research.
+// Perhaps Help should be the primary symbol with Insert in the 1st shift-level
+// key <INS> { [ Help, Insert ] };
+// The keys next to F12, labeled F13, F14, & F15 generate codes that XFree86
+// claims not to generate. I think they should be equivalent to the PC keys
+// Print Screen / SysRq, Scroll Lock, and Pause. Linux kernel bug?
+// key <PRSC> { [ F13 ] }; // should be keycode 93 or
+// key <FK13> { [ F13 ] }; // should be keycode 118
+// key <SCLK> { [ F14 ] }; // should be keycode 123 or
+// key <FK14> { [ F14 ] }; // should be keycode 119
+// key <PAUS> { [ F15 ] }; // should be keycode 127 or
+// key <FK15> { [ F15 ] }; // should be keycode 120
+};
+
+partial modifier_keys
+xkb_symbols "laptop" {
+
+ include "macintosh_vndr/apple(extended)"
+
+ // The real numlock key on the iBook (shared with F5) works internally to
+ // the keyboard. It illuminates the Num_Lock led and locks the fn-key to
+ // type only the keypad keys on the letter keys (U=4, I=5, O=6, P=*, etc.).
+ // The key in the Num_lock position is engraved with Clear.
+ override key <NMLK> { [ Clear ] };
+ // The key engraved Delete sends BKSP. To get Delete, use Shift-Delete
+ override key <BKSP> { [ BackSpace, Delete ] };
+ // These keyboards only generate a <RALT> when pressing fn+Alt. This makes
+ // it impossible to get to the third shift level on keys that are on
+ // the fn-keypad, so use the Enter key (right of <SPC>) for Mode_switch,
+ // and use fn+Enter (Apple's code for Menu) for KP_Enter.
+ replace key <KPEN> { [ ISO_Level3_Shift ] };
+ modifier_map Mod5 { ISO_Level3_Shift };
+ // Linux kernel bug with Menu on macs means this doesn't work yet
+// replace key <MENU> { [ KP_Enter ] }; // should be keycode 117
+};
+
+partial modifier_keys
+xkb_symbols "laptop_bad_switch" {
+ // Kept for backward compatibility
+ include "macintosh_vndr/apple(laptop)"
+};
+
+// Long Aluminium Keyboards
+partial function_keys
+xkb_symbols "alukbd" {
+ // The base is a inet PC keyboard
+ include "pc"
+
+ // Additional Fxx keys
+ key <FK13> { [ F13 ] };
+ key <FK14> { [ F14 ] };
+ key <FK15> { [ F15 ] };
+ key <FK16> { [ F16 ] };
+ key <FK17> { [ F17 ] };
+ key <FK18> { [ F18 ] };
+ key <FK19> { [ F19 ] };
+
+ // On aluminium keyboards, Num_Lock is replace by Clear
+ replace key <NMLK> { [ XF86Clear ] };
+ // CAPS key is always Caps_Lock, even for JIS keyboards
+ replace key <CAPS> { [ Caps_Lock ] };
+
+ // F1..F12 are multimedia keys when used with the 'Fn' key
+ // Make those multimedia actions available via ISO_Level3_Shift too,
+ // it is useful when the Fn key is remapped to something else (e.g. Insert)
+ key <FK01> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, XF86KbdBrightnessDown, NoSymbol, XF86_Switch_VT_1 ]
+ };
+ key <FK02> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, XF86KbdBrightnessUp, NoSymbol, XF86_Switch_VT_2 ]
+ };
+ key <FK03> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_3 ]
+ };
+ key <FK04> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_4 ]
+ };
+ key <FK05> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_5 ]
+ };
+ key <FK06> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_6 ]
+ };
+ key <FK07> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, XF86AudioPrev, NoSymbol, XF86_Switch_VT_7 ]
+ };
+ key <FK08> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, XF86AudioPlay, NoSymbol, XF86_Switch_VT_8 ]
+ };
+ key <FK09> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, XF86AudioNext, NoSymbol, XF86_Switch_VT_9 ]
+ };
+ key <FK10> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, XF86AudioMute, NoSymbol, XF86_Switch_VT_10 ]
+ };
+ key <FK11> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, XF86AudioLowerVolume, NoSymbol, XF86_Switch_VT_11 ]
+ };
+ key <FK12> {
+ type= "FOUR_LEVEL_X",
+ symbols[Group1]= [ NoSymbol, XF86AudioRaiseVolume, NoSymbol, XF86_Switch_VT_12 ]
+ };
+};
+
+// Aluminium Keyboard: make F13, F14, F15 PC-ish (Print, Scroll_Lock, Pause)
+partial function_keys keypad_keys
+xkb_symbols "alupckeys" {
+ key <FK13> {
+ type= "PC_ALT_LEVEL2",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+ key <FK14> { [ Scroll_Lock ] };
+ key <FK15> {
+ type= "PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ override key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/ch b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/ch
new file mode 100644
index 000000000..4932eb89a
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/ch
@@ -0,0 +1,102 @@
+// $XKeyboardConfig$
+//
+// 03.01.2003
+// Andreas Tobler <a.tobler@schweiz.ch>
+// modified for Swiss German Apple Extended Keyboard II
+
+partial alphanumeric_keys
+xkb_symbols "extended" {
+
+ name[Group1]= "Switzerland - German, Mac";
+
+ // Alphanumeric section
+
+ key <AE01> { [ 1, plus, plusminus, infinity ] };
+ key <AE02> { [ 2, quotedbl, leftdoublequotemark, rightdoublequotemark ] };
+ key <AE03> { [ 3, asterisk, numbersign, leftcaret ] };
+ // not displayed here
+ key <AE04> { [ 4, ccedilla, Ccedilla, slash ] };
+ key <AE05> { [ 5, percent, bracketleft ] };
+ key <AE06> { [ 6, ampersand, bracketright ] };
+ key <AE07> { [ 7, slash, bar, backslash ] };
+ key <AE08> { [ 8, parenleft, braceleft, Ograve ] };
+ key <AE09> { [ 9, parenright, braceright, Ocircumflex ] };
+ key <AE10> { [ 0, equal, notequal, Uacute ] };
+ key <AE11> { [ apostrophe, question, questiondown, NoSymbol ] };
+ key <AE12> { [ dead_circumflex,dead_grave, dead_acute, asciicircum ] };
+ key <AD01> { [ q, Q, oe, OE ] };
+ key <AD02> { [ w, W, Greek_SIGMA, Aacute ] };
+ key <AD03> { [ e, E, EuroSign, Ediaeresis ] };
+ key <AD04> { [ r, R, registered, Egrave ] };
+ key <AD05> { [ t, T, dagger, Icircumflex ] };
+ key <AD06> { [ z, Z, Greek_OMEGA, Iacute ] };
+ key <AD07> { [ u, U, degree, Ugrave ] };
+ key <AD08> { [ i, I, exclamdown, idotless ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
+ key <AD11> { [ udiaeresis, egrave, section, ydiaeresis ] };
+ key <AD12> { [ dead_diaeresis, exclam, grave, apostrophe ] };
+ key <AC01> { [ a, A, aring, Aring ] };
+ key <AC02> { [ s, S, ssharp, NoSymbol ] };
+ // ligature fl
+ key <AC03> { [ d, D, Greek_sigma, NoSymbol ] };
+ // partialderivative is not available here att
+ key <AC04> { [ f, F, function, doubledagger ] };
+ key <AC05> { [ g, G, at, comma ] };
+ key <AC06> { [ h, H, ordfeminine, periodcentered ] };
+ key <AC07> { [ j, J, masculine, eth ] };
+ key <AC08> { [ k, K, Greek_DELTA, macron ] };
+ key <AC09> { [ l, L, notsign, caret ] };
+ key <AC10> { [ odiaeresis, eacute, cent, breve ] };
+ key <AC11> { [ adiaeresis, agrave, ae, AE ] };
+ key <AB01> { [ y, Y, yen, Ydiaeresis ] };
+ key <AB02> { [ x, X, similarequal, trademark ] };
+ key <AB03> { [ c, C, copyright, NoSymbol ] };
+ key <AB04> { [ v, V, radical, diamond ] };
+ key <AB05> { [ b, B, integral, NoSymbol ] };
+ key <AB06> { [ n, N, dead_tilde, enopencircbullet ] };
+ // to be fixed att
+ key <AB07> { [ m, M, mu, dead_abovering ] };
+ // not sure att
+ key <AB08> { [ comma, semicolon, guillemotleft, guillemotright ] };
+ key <AB09> { [ period, colon, ellipsis, division ] };
+ key <AB10> { [ minus, underscore, hyphen, emdash ] };
+ key <TLDE> { [ section, degree, NoSymbol, NoSymbol ] };
+ // ligature fi // per mille
+ key <SPCE> { [ space, nobreakspace, nobreakspace ] };
+ key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] };
+ key <BKSL> { [ dollar, sterling, paragraph, enfilledcircbullet ] };
+
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "de" {
+ include "macintosh_vndr/ch(extended)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Swiss/French keybaord
+
+ include "macintosh_vndr/ch(extended)"
+ name[Group1]= "Switzerland - French, Mac";
+
+ override key <AD11> {
+ [ egrave, udiaeresis, bracketleft ]
+ };
+ override key <AC10> {
+ [ eacute, odiaeresis ]
+ };
+ override key <AC11> {
+ [ agrave, adiaeresis, braceleft ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh_vndr/ch(fr)" // for consistent naming
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/de b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/de
new file mode 100644
index 000000000..92c54916c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/de
@@ -0,0 +1,97 @@
+// $XConsortium: de /main/4 1996/08/31 12:19:20 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/de,v 3.7.2.2 1999/07/13 07:09:56 hohndel Exp $
+
+// olh@suse.de very close to MacOS map
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple German keybaord
+
+ include "latin"
+ name[Group1]= "Germany - Mac";
+
+ // Alphanumeric section
+ key <TLDE> { [ dead_circumflex, degree, notsign ] };
+ key <AE01> { [ 1, exclam, exclamdown, at ] };
+ key <AE02> { [ 2, quotedbl, twosuperior ] };
+ key <AE03> { [ 3, section, threesuperior,sterling ] };
+ key <AE04> { [ 4, dollar, onequarter, currency ] };
+ key <AE05> { [ 5, percent, bracketleft ] };
+ key <AE06> { [ 6, ampersand, bracketright ] };
+ key <AE07> { [ 7, slash, bar, backslash ] };
+ key <AE08> { [ 8, parenleft, braceleft, asciitilde ] };
+ key <AE09> { [ 9, parenright, braceright ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+ key <AE11> { [ ssharp, question, backslash, questiondown ] };
+ key <AE12> { [ dead_acute, dead_grave, dead_cedilla ] };
+
+ key <AD01> { [ q, Q, guillemotleft,guillemotright ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, registered ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U, diaeresis, Aacute ] };
+ key <AD08> { [ i, I, slash, Ucircumflex ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD11> { [ udiaeresis, Udiaeresis, periodcentered, degree ] };
+ key <AD12> { [ plus, asterisk, asciitilde ] };
+ key <AC01> { [ a, A, aring, Aring ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G, copyright ] };
+ key <AC06> { [ h, H, ordfeminine ] };
+ key <AC09> { [ l, L, at ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, dead_acute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, dead_circumflex ] };
+
+ key <LSGT> { [ less, greater, bar ] };
+ key <AB01> { [ y, Y, guillemotleft,less ] };
+ key <AB06> { [ n, N, asciitilde ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon, periodcentered, division ] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ numbersign, apostrophe, dead_grave ] };
+
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ // modify the default German layout to use Sun dead keys
+ include "macintosh_vndr/de(basic)"
+ name[Group1]= "Germany - Mac, Sun dead keys";
+
+ key <TLDE> { [ SunFA_Circum, degree, notsign ] };
+ key <AE12> { [ SunFA_Acute, SunFA_Grave, SunFA_Cedilla ] };
+ key <AD11> { [ udiaeresis, Udiaeresis, SunFA_Diaeresis ] };
+ key <AD12> { [ plus, asterisk, SunFA_Tilde, dead_macron ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, SunFA_Acute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, SunFA_Circum ] };
+
+ key <BKSL> { [ numbersign, acute, SunFA_Grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "macintosh_vndr/de(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ // modify the default German layout to not have any dead keys
+ include "macintosh_vndr/de(basic)"
+ name[Group1]= "Germany - Mac, eliminate dead keys";
+
+ key <TLDE> { [ asciicircum, degree, notsign ] };
+ key <AE12> { [ acute, grave, cedilla ] };
+ key <AD11> { [ udiaeresis, Udiaeresis, diaeresis ] };
+ key <AD12> { [ plus, asterisk, asciitilde, macron ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, acute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, asciicircum ] };
+
+ key <BKSL> { [ numbersign, apostrophe, grave ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/dk b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/dk
new file mode 100644
index 000000000..56ef85bf6
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/dk
@@ -0,0 +1,79 @@
+// $XConsortium: dk /main/3 1996/08/31 12:19:29 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/dk,v 3.3.2.1 1999/12/20 12:56:01 hohndel Exp $
+partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Danish keyboard with dead key support
+ // and all of ISO-8859-1 characters available.
+
+ include "latin"
+ name[Group1]= "Denmark - Mac";
+
+ key <TLDE> { [ onehalf, section, threequarters, paragraph ]};
+ key <LSGT> { [ less, greater, backslash, notsign ]};
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ]};
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ]};
+ key <AE02> { [ 2, quotedbl, at, twosuperior ]};
+ key <AE03> { [ 3, numbersign, sterling, threesuperior ]};
+ key <AE04> { [ 4, EuroSign, dollar, onequarter ]};
+ key <AE05> { [ 5, percent, NoSymbol, cent ]};
+ key <AE06> { [ 6, ampersand, yen, NoSymbol ]};
+ key <AE07> { [ 7, slash, braceleft, division ]};
+ key <AE08> { [ 8, parenleft, bracketleft, guillemotleft ]};
+ key <AE09> { [ 9, parenright, bracketright, guillemotright ]};
+ key <AE10> { [ 0, equal, braceright, degree ]};
+ key <AB08> { [ comma, semicolon, dead_cedilla, dead_ogonek ]};
+ key <AB09> { [ period, colon, periodcentered, dead_abovedot ]};
+ key <AB03> { [ c, C, copyright, NoSymbol ]};
+ key <AB10> { [ minus, underscore, hyphen, macron ]};
+ key <AC01> { [ a, A, ordfeminine, masculine ]};
+ key <AC03> { [ d, D, eth, ETH ]};
+ key <AD03> { [ e, E, EuroSign, cent ]};
+ key <AD04> { [ r, R, registered, NoSymbol ]};
+ key <AD05> { [ t, T, thorn, THORN ]};
+ key <AD08> { [ i, I, NoSymbol, NoSymbol ]};
+ key <AD09> { [ o, O, oe, OE ]};
+ key <AC10> { [ ae, AE ]};
+ key <AE11> { [ plus, question, plusminus, questiondown ]};
+ key <AC11> { [ oslash, Ooblique ]};
+ key <BKSL> { [ apostrophe, asterisk, dead_doubleacute, multiply ]};
+ key <AD11> { [ aring, Aring ]};
+ key <AE12> { [ dead_acute, dead_grave, bar, brokenbar ]};
+ key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ]};
+
+ // End alphanumeric section
+
+ include "eurosign(e)"
+ include "level3(ralt_switch)"
+};
+
+
+partial default alphanumeric_keys
+xkb_symbols "full" {
+ include "iso9995-3(full)"
+ include "dk(basic)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh_vndr/dk(basic)"
+ name[Group1]= "Denmark - Mac, eliminate dead keys";
+
+ key <AE12> { [ acute, grave, bar, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, dead_macron ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "macbookpro" {
+
+ include "level3(win_switch)"
+ include "macintosh_vndr/dk(basic)"
+
+ name[Group1]= "Denmark - Mac, MacBook Pro";
+
+ key <BKSL> { [apostrophe, asterisk, at, at ] };
+ key <TLDE> { [ dollar, section, dollar, dollar ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/fi b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/fi
new file mode 100644
index 000000000..6cb5fa314
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/fi
@@ -0,0 +1,18 @@
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple mac_US
+ // keyboard and a very simple Swedish(Finland) keybaord
+
+ include "macintosh_vndr/se(basic)" // for consistent naming
+ name[Group1]= "Finland - Mac";
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh_vndr/se(basic)" // for consistent naming
+ name[Group1]= "Finland - Mac, eliminate dead keys";
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/fr b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/fr
new file mode 100644
index 000000000..9a8f8de23
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/fr
@@ -0,0 +1,110 @@
+// Marc.Shapiro@inria.fr 19-sep-1998
+// modifications : Etienne Herlent <eherlent@linux-france.org> june 2000
+// adapted to the new input layer :
+// Martin Costabel <costabel@wanadoo.fr> 3-jan-2001
+//////////////////////////////////////////////////////////////////
+// Petites Modification le juillet 2005 par Bin Zhang <bb.zhang@free.fr> :
+// 1) La ligne 83 : remplacer les deux "VoidSymbol" par oe et OE
+// 2) La ligne 89 : remplacer "VoidSymbol" par "EuroSign"
+// ( 1) et 2) fonctionnent sous UTF-8, mais pas sous iso-8859-1. )
+// 3) Remplacer la ligne 148 par la ligne 149 pour que la touche Alt_L
+// (la touche Apple-Pomme) fonctionne correctement sous Xorg, une ide
+// motive par http://www.linux-france.org/macintosh/clavier_gentoo.html
+//////////////////////////////////////////////////////////////////
+// This map is an almost-complete mapping of the standard French
+// MacIntosh keyboard under Xwindows. I tried to remain as faithful
+// as possible to the Mac meaning of each key. I did this entirely by
+// hand and by intuition, relying on the Clavier (Keyboard?) Desktop
+// Accessory for the Mac meaning of keys, and on reading keysymdef.h
+// to intuit the corresponding X names. Lacking proper documentation,
+// I may have made some mistakes.
+
+// Entries marked CHECK are particularly uncertain
+
+// Entries marked MISSING mark Mac characters for which I was unable
+// to find a corresponding keysym. (Some for sure don't: e.g. the
+// Apple mark and the oe/OE character; others I may have simply not
+// found.)
+
+default
+xkb_symbols "extended" {
+
+ name[Group1]= "France - Mac";
+
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <TLDE> { [ at, numbersign, periodcentered, Ydiaeresis ] };
+ key <ENTR> { [ KP_Enter ] };
+ key <AE01> { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple
+ key <AE02> { [ eacute, 2, ediaeresis, Eacute ] };
+ key <AE03> { [ quotedbl, 3, leftdoublequotemark, rightdoublequotemark ] };
+ key <AE04> { [ apostrophe, 4, leftsinglequotemark, rightsinglequotemark ] };
+ key <AE05> { [ parenleft, 5, braceleft, bracketleft ] };
+ key <AE06> { [ section, 6, paragraph, aring ] };
+ key <AE07> { [ egrave, 7, guillemotleft, guillemotright] };
+ key <AE08> { [ exclam, 8, exclamdown, Ucircumflex ] };
+ key <AE09> { [ ccedilla, 9, Ccedilla, Aacute ] };
+ key <AE10> { [ agrave, 0, oslash, Oslash ] };
+ key <AE11> { [ parenright, degree, braceright, bracketright ] };
+ key <AE12> { [ minus, underscore, emdash, endash ] };
+ key <BKSP> { [ BackSpace, VoidSymbol, Delete, VoidSymbol ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ a, A, ae, AE ] };
+ key <AD02> { [ z, Z, Acircumflex, Aring ] };
+ key <AD03> { [ e, E, ecircumflex, Ecircumflex ] };
+ key <AD04> { [ r, R, registered, currency ] };
+ key <AD05> { [ t, T, dagger, trademark ] };
+ key <AD06> { [ y, Y, Uacute, Ydiaeresis ] };
+ key <AD07> { [ u, U, masculine, ordfeminine ] };
+ key <AD08> { [ i, I, icircumflex, idiaeresis ] };
+ key <AD09> { [ o, O, oe, OE ] };
+ key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
+ key <AD11> { [dead_circumflex,dead_diaeresis,ocircumflex, Ocircumflex ] };
+ key <AD12> { [ dollar, asterisk, EuroSign, yen ] };
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ q, Q, doubledagger, Greek_OMEGA ] };
+ key <AC02> { [ s, S, Ograve, Greek_SIGMA ] };
+ key <AC03> { [ d, D, Greek_delta, Greek_DELTA ] };
+ key <AC04> { [ f, F, VoidSymbol, periodcentered ] };
+ key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: ligature fi,fl
+ key <AC06> { [ h, H, Igrave, Icircumflex ] };
+ key <AC07> { [ j, J, Idiaeresis, Iacute ] };
+ key <AC08> { [ k, K, Egrave, Ediaeresis ] };
+ key <AC09> { [ l, L, notsign, bar ] };
+ key <AC10> { [ m, M, mu, Oacute ] };
+ key <AC11> { [ ugrave, percent, Ugrave, 0x1002030 ] };
+ key <BKSL> { [ dead_grave, sterling, at, numbersign ] };
+ key <RTRN> { [ Return ] };
+
+ key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] };
+ key <AB01> { [ w, W, guilsinglleft, guilsinglright ] }; // MISSING: half-guillemot (single angle bracket)
+ key <AB02> { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK: similarequal; MISSING: extra-slanted slash
+ key <AB03> { [ c, C, copyright, cent ] };
+ key <AB04> { [ v, V, diamond, radical ] }; // CHECK diamond
+ key <AB05> { [ b, B, ssharp, integral ] };
+ key <AB06> { [ n, N, dead_tilde, asciitilde ] };
+ key <AB07> { [ comma, question, infinity, questiondown ] };
+ key <AB08> { [ semicolon, period, ellipsis, periodcentered ] };
+ key <AB09> { [ colon, slash, division, backslash ] };
+ key <AB10> { [ equal, plus, notequal, plusminus ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+ // End alphanumeric section
+
+ include "level3(ralt_switch)"
+};
+
+
+
+xkb_symbols "nodeadkeys" {
+include "macintosh_vndr/fr(extended)"
+ name[Group1]= "France - Mac, eliminate dead keys";
+
+ key <AE01> { [ ampersand, 1, VoidSymbol, acute ] }; // MISSING: Apple
+ key <AD11> { [asciicircum,diaeresis,ocircumflex, Ocircumflex ] };
+ key <BKSL> { [ grave, sterling, at, numbersign ] };
+
+ key <AB06> { [ n, N, asciitilde, dead_tilde ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/gb b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/gb
new file mode 100644
index 000000000..8eb82eb70
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/gb
@@ -0,0 +1,21 @@
+// $XConsortium: gb /main/3 1996/08/31 12:19:51 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/gb,v 3.3 1996/12/23 07:13:25 dawes Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple U.K. keyboard layout
+
+ include "latin"
+
+ name[Group1]= "United Kingdom - Mac";
+
+ key <AE02> { [ 2, at, EuroSign ] };
+ key <AE03> { [ 3, sterling, numbersign ] };
+
+ // End alphanumeric section
+
+ include "level3(ralt_switch)"
+};
+
+
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/is b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/is
new file mode 100644
index 000000000..000bcdb0b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/is
@@ -0,0 +1,128 @@
+// $XKeyboardConfig$
+//
+// This file describes the differences between a Macintosh US Extended
+// keymap and an Icelandic keyboard layout in the style of Mac OS and Mac OS X
+//
+// Copyright (C) 2004, 2006 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+//
+// Permission to use, copy, modify, distribute, and sell this software and its
+// documentation for any purpose is hereby granted without fee, provided that
+// the above copyright notice appear in all copies and that both that
+// copyright notice and this permission notice appear in supporting
+// documentation.
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+// IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder shall
+// not be used in advertising or otherwise to promote the sale, use or
+// other dealings in this Software without prior written authorization of
+// the copyright holder.
+//
+// = HISTORY
+// * 2004-09-28:
+// Initial cleanroom writing of the keymap, I just booted Mac OS X, opened
+// TextEdit.app and wrote down what the value produced by each key was when I
+// pressed it, a for a, A for shift + a, å for lalt + a etc and made the
+// keymap from that information
+//
+// * 2006-01-14:
+// Revised the comments in the file
+//
+// = NOTES
+// * 20 characters in this keymap have no named character defined in
+// include/keysymdef.h and as a result their Unicode code points in
+// hexadecimal are listed here, these can be generated with the following
+// perl command:
+// $ perl -CA -e 'printf "U%x\n", ord shift' Æ
+// and converted back like:
+// $ perl -CO -le '$_=shift;s/[^a-f0-9]//ig;print chr hex' Uc6
+// * The Apple logo appears twice on this keymap like the Mac OS and Mac OS X
+// keymaps. In the MacRoman encoding it has the code point 0xF0 (240) but it
+// has no assigned code point in Unicode, the code point Apple uses for it is
+// U+F8FF (63743) which is in the BMP's Private Use Area (U+E000–U+F8FF)
+// * This keymap has only been tested on a PowerBook6,5 (iBook G4) but it
+// should work on other Apple laptop models which use the same keyboard
+// layout. It will probably work on standard sized keyboards with little or
+// no modification but it might not support them fully, please report if
+// you're able to get it running with such a keyboard
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Iceland - Mac";
+
+ //-- Row 5 (E) --//
+ key <TLDE> { [ sterling, section, UF8FF, apostrophe ] };
+ key <AE01> { [ 1, exclam, exclamdown, VoidSymbol ] };
+ key <AE02> { [ 2, quotedbl, at, VoidSymbol ] };
+ key <AE03> { [ 3, numbersign, U2122, sterling ] };
+ key <AE04> { [ 4, dollar, U00A2, EuroSign ] };
+ key <AE05> { [ 5, percent, U2030, infinity ] };
+ key <AE06> { [ 6, ampersand, asciicircum, U2044 ] };
+ key <AE07> { [ 7, slash, backslash, U00F7 ] };
+ key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright, bracketright, braceright ] };
+ key <AE10> { [ 0, equal, U2260, U2248 ] };
+ key <AE11> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] };
+ key <AE12> { [ minus, underscore, endash, emdash ] };
+
+
+ //-- Row 4 (D) --//
+ key <AD01> { [ q, Q, paragraph, VoidSymbol ] };
+ key <AD02> { [ w, W, U2211, VoidSymbol ] };
+ key <AD03> { [ e, E, dead_grave, VoidSymbol ] };
+ key <AD04> { [ r, R, registered, VoidSymbol ] };
+ key <AD05> { [ t, T, degree, VoidSymbol ] };
+ key <AD06> { [ y, Y, yen, VoidSymbol ] };
+ key <AD07> { [ u, U, dead_diaeresis, VoidSymbol ] };
+ key <AD08> { [ i, I, U0131, U00AA ] };
+ key <AD09> { [ o, O, dead_circumflex,U00BA ] };
+ key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
+ key <AD11> { [ eth, Eth, U201e, U201c ] };
+ key <AD12> { [ apostrophe, question, questiondown, U00B7 ] };
+
+
+ //-- Row 3 (C) --//
+ key <AC01> { [ a, A, aring, Aring ] };
+ key <AC02> { [ s, S, ssharp, abovedot ] };
+ key <AC03> { [ d, D, U2202, U2DA ] };
+ key <AC04> { [ f, F, U192, macron ] };
+ key <AC05> { [ g, G, copyright, breve ] };
+ key <AC06> { [ h, H, bar, VoidSymbol ] };
+ key <AC07> { [ j, J, U2206, U2dd ] };
+ key <AC08> { [ k, K, U00AC, VoidSymbol ] };
+ key <AC09> { [ l, L, U2026, caron ] };
+ key <AC10> { [ ae, AE, oe, OE ] };
+ key <AC11> { [ dead_acute, dead_diaeresis, U201A, U2018 ] };
+ key <BKSL> { [ plus, asterisk, U2022, plusminus ] };
+
+
+ //-- Row 2 (B) --//
+ key <LSGT> { [ less, greater, section, UF8FF ] };
+ key <AB01> { [ z, Z, U3A9, VoidSymbol ] };
+ key <AB02> { [ x, X, asciitilde, VoidSymbol ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB04> { [ v, V, U221A, U25CA ] };
+ key <AB05> { [ b, B, U222B, VoidSymbol ] };
+ key <AB06> { [ n, N, dead_tilde, VoidSymbol ] };
+ key <AB07> { [ m, M, U00B5, VoidSymbol ] };
+ key <AB08> { [ comma, semicolon, lessthanequal, guillemotleft ] };
+ key <AB09> { [ period, colon, greaterthanequal,guillemotright ] };
+ key <AB10> { [ thorn, Thorn, U2019, U201d ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh_vndr/is(basic)" // for consistent naming
+ name[Group1]= "Iceland - Mac, eliminate dead keys";
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/it b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/it
new file mode 100644
index 000000000..44435201b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/it
@@ -0,0 +1,64 @@
+
+xkb_symbols "extended" {
+
+ name[Group1]= "Italy - Mac";
+
+ // Alphanumeric section
+ key <LSGT> { [ less, greater ] };
+ key <TLDE> { [ at, numbersign, periodcentered ] };
+ key <AE01> { [ ampersand, 1, guillemotleft,guillemotright ] };
+ key <AE02> { [ quotedbl, 2 ] };
+ key <AE03> { [ apostrophe, 3 ] };
+ key <AE04> { [ parenleft, 4, braceleft, bracketleft ] };
+ key <AE05> { [ ccedilla, 5, Ccedilla, Iacute ] };
+ key <AE06> { [ egrave, 6, paragraph, periodcentered] };
+ key <AE07> { [ parenright, 7, braceright, bracketright ] };
+ key <AE08> { [ sterling, 8, infinity ] };
+ key <AE09> { [ agrave, 9, acute, Ocircumflex ] };
+ key <AE10> { [ eacute, 0, grave, Oacute ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus, notequal, plusminus ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ z, Z ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, registered ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y, Uacute, ydiaeresis ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I, icircumflex, idiaeresis ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ igrave, asciicircum ] };
+ key <AD12> { [ dollar, asterisk ] };
+ key <BKSL> { [ section, degree, at, numbersign ] };
+
+ key <AC01> { [ a, A, aring, Aring ] };
+ key <AC02> { [ s, S, ssharp ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H, Igrave, Icircumflex ] };
+ key <AC07> { [ j, J, Idiaeresis, Iacute ] };
+ key <AC08> { [ k, K, Egrave, Ediaeresis ] };
+ key <AC09> { [ l, L, ssharp, bar ] };
+ key <AC10> { [ m, M, mu, Oacute ] };
+ key <AC11> { [ ugrave, percent, ae, AE ] };
+
+ key <AB01> { [ w, W ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C, copyright, copyright ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N, dead_tilde ] };
+ key <AB07> { [ comma, question, questiondown ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash, bar, backslash ] };
+ key <AB10> { [ ograve, exclam, exclamdown ] };
+
+ // End alphanumeric section
+
+ include "kpdl(dot)"
+ include "level3(ralt_switch)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/jp b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/jp
new file mode 100644
index 000000000..a4af79f35
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/jp
@@ -0,0 +1,35 @@
+// JIS symbol mapping for Apple Aluminium Keyboard
+// (Damien Ciabrini <damien.ciabrini@gmail.com>)
+//
+// The JIS version of the Aluminium Keyboard is made of
+// QWERTY-like map for the latin part
+// PC98-like map for the kana part
+// EISU and KANA keys found on other Apple keyboards
+
+partial default alphanumeric_keys
+xkb_symbols "usmac" {
+ name[Group1] = "Japan - Macintosh, US map";
+ include "jp(common)"
+
+ key <JPCM> { [ KP_Separator ] };
+ key <AE13> { [ yen, bar ] };
+ replace key <AE10> { [ 0 ] };
+ replace key <AB11> { [ underscore ] };
+ replace key <CAPS> { [ Caps_Lock ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "mac" {
+ name[Group1] = "Japan - Macintosh";
+ include "jp(kana)"
+
+ replace key <CAPS> { [ Caps_Lock ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "alujiskeys" {
+ // On JIS USB keyboard, EISU and KANA replace Hangul and Hanja
+ // see keycodes macintosh(jisevdev)
+ replace key <HJCV> { [ Hiragana_Katakana ] };
+ replace key <HNGL> { [ Eisu_toggle ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/latam b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/latam
new file mode 100644
index 000000000..085de0e4b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/latam
@@ -0,0 +1,38 @@
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple mac_US
+ // keyboard and a very simple Spanish keybaord
+
+ include "latin"
+ name[Group1]= "Latin American - Mac";
+
+ key <TLDE> { [ bracketleft, bracketright, braceleft, braceright ] };
+ key <LSGT> { [ less, greater, bracketleft, braceleft ] };
+ key <AE01> { [ 1, exclamdown ] };
+ key <AE02> { [ 2, exclam, at, oneeighth ] };
+ key <AE03> { [ 3, numbersign, guillemotleft, guillemotright ] };
+ key <AE04> { [ 4, dollar, yen, Icircumflex ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, slash, backslash, Idiaeresis ] };
+ key <AE07> { [ 7, ampersand, bar, Iacute ] };
+ key <AE08> { [ 8, asterisk, degree ] };
+ key <AE09> { [ 9, parenleft, sterling, Ocircumflex ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus, plusminus ] };
+ key <AD11> { [ dead_grave, degree ] };
+ key <AD12> { [ dead_acute, dead_diaeresis, bar ] };
+
+ key <AB08> { [ comma, questiondown ] };
+ key <AB09> { [ period, question ] };
+ key <AB10> { [ ccedilla, Ccedilla ] };
+ key <AC10> { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] };
+ key <AC11> { [ semicolon, colon ] };
+ key <BKSL> { [ apostrophe, quotedbl ] };
+
+ // End alphanumeric section
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/nl b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/nl
new file mode 100644
index 000000000..b60690e4d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/nl
@@ -0,0 +1,17 @@
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple mac_US
+ // keyboard and a very simple netherland keybaord
+
+ include "latin"
+
+ name[Group1]= "Netherlands - Mac";
+
+ include "level3(ralt_switch)"
+
+// do just nothing
+
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/no b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/no
new file mode 100644
index 000000000..d8bf0d650
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/no
@@ -0,0 +1,52 @@
+// $XConsortium: no /main/3 1996/08/31 12:20:02 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/no,v 3.3.2.1 1997/07/26 06:31:01 dawes Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Norwegian keybaord
+
+ include "latin"
+
+ name[Group1]= "Norway - Mac";
+
+ key <TLDE> { [ bar, section ] };
+ key <AE02> { [ 2, quotedbl, at, oneeighth ] };
+ key <AE04> { [ 4, currency, dollar, dollar ] };
+ key <AE03> { [ 3, numbersign, sterling, sterling ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, bar, backslash ] };
+ key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright, bracketright, braceright ] };
+ key <AE10> { [ 0, equal ] };
+
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <AC10> { [ oslash, Ooblique, odiaeresis, Odiaeresis ] };
+ key <AE11> { [ plus, question ] };
+ key <AC11> { [ ae, AE ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AE12> { [ dead_grave, dead_acute, acute, dead_ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, dead_macron ] };
+ key <BKSL> { [ at, asterisk ] };
+ key <LSGT> { [ less, greater ] };
+
+ // End alphanumeric section
+
+ include "eurosign(e)"
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Norwegian layout to eliminate dead keys
+ include "macintosh_vndr/no(basic)"
+ name[Group1]= "Norway - Mac, eliminate dead keys";
+
+ key <AE12> { [ grave, acute, acute, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/pt b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/pt
new file mode 100644
index 000000000..8f1785742
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/pt
@@ -0,0 +1,63 @@
+// $XConsortium: pt /main/3 1996/08/31 12:20:08 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/pt,v 3.3.2.1 1999/11/18 15:37:37 hohndel Exp $
+// mac version from Ricardo Cabral <bfe00991@mail.telepac.pt>
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Portuguese keybaord
+
+ include "latin"
+
+ name[Group1]= "Portugal - Mac";
+
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+ key <AE02> { [ 2, quotedbl, at, oneeighth ] };
+ key <AE04> { [ 4, dollar, section, dollar ] };
+ key <AE03> { [ 3, numbersign, sterling, sterling ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright, bracketright, braceright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ apostrophe, question ] };
+ key <AE12> { [ plus, asterisk, dead_diaeresis ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <AC10> { [ ccedilla, Ccedilla ] };
+ key <AC11> { [ dead_tilde, dead_circumflex ] };
+ key <AC12> { [ backslash, bar ] };
+ key <AD11> { [ masculine, ordfeminine ] };
+ key <AD12> { [ dead_acute, dead_grave ] };
+ // End alphanumeric section
+
+ include "eurosign(e)"
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "macintosh_vndr/pt(basic)" // for consistent naming
+ name[Group1]= "Portugal - Mac, Sun dead keys";
+
+ key <AE12> { [ plus, asterisk, SunFA_Diaeresis, SunFA_Diaeresis ] };
+ key <AC11> { [ SunFA_Tilde, SunFA_Circum ] };
+ key <AD12> { [ SunFA_Acute, SunFA_Grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "macintosh_vndr/pt(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh_vndr/pt(basic)" // for consistent naming
+ name[Group1]= "Portugal - Mac, eliminate dead keys";
+
+ key <AE12> { [ plus, asterisk, quotedbl, quotedbl ] };
+ key <AC11> { [ asciitilde, asciicircum ] };
+ key <AD12> { [ acute, grave ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/se b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/se
new file mode 100644
index 000000000..d5d8c1c4c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/se
@@ -0,0 +1,46 @@
+// $XConsortium: se /main/3 1996/08/31 12:20:15 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/macintosh/se,v 1.1 2000/09/19 12:46:26 eich Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Swedish(Sweden) keybaord
+
+ include "latin"
+
+ name[Group1]= "Sweden - Mac";
+
+ key <TLDE> { [ section, degree ] };
+
+ key <AE01> { [ 1, exclam, copyright, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, at, oneeighth ] };
+ key <AE03> { [ 3, numbersign, sterling, yen ] };
+ key <AE04> { [ 4, currency, dollar, cent ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, bar, backslash ] };
+ key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright, bracketright, braceright ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AE10> { [ 0, equal ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] };
+ key <AE11> { [ plus, question ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AE12> { [ acute, grave ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde ] };
+ key <BKSL> { [ apostrophe, asterisk, at ] };
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+
+ include "kpdl(comma)"
+ include "eurosign(e)"
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh_vndr/se(basic)" // for consistent naming
+ name[Group1]= "Sweden - Mac, eliminate dead keys";
+};
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/us b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/us
new file mode 100644
index 000000000..fed3253cf
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/us
@@ -0,0 +1,151 @@
+// $XConsortium: macintosh /main/10 1996/01/29 19:54:54 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/macintosh/us,v 1.8 2003/08/04 10:32:31 eich Exp $
+
+// symbols definition for a Macintosh "Extended" keyboard
+
+xkb_symbols "extended" {
+
+ name[Group1]= "USA";
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+
+ key <SPCE> { [ space ] };
+ // End alphanumeric section
+
+
+ include "eurosign(e)"
+ include "keypad"
+
+ key <KPEQ> { [ equal ] };
+};
+
+hidden
+xkb_symbols "oldmac" {
+
+ include "macintosh_vndr/us(extended)"
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ key <FK13> { [ Print ] };
+ key <FK14> { [ Scroll_Lock ] };
+ key <FK15> { [ Pause ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <INS> { [ Insert ] };
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <DELE> { [ Delete ] };
+ key <END> { [ End ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+ // End "Editing" section
+
+ key <BKSP> { [ BackSpace ] };
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <RTRN> { [ Return ] };
+ key <CAPS> { [ Caps_Lock ] };
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
+
+ // Begin "Modifier" section
+ key <LFSH> { [ Shift_L ] };
+ key <RTSH> { [ Shift_R ] };
+ key <LCTL> { [ Control_L ] };
+ key <RCTL> { [ Control_R ] };
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+ key <LWIN> { [ Super_L ] };
+ key <RWIN> { [ Super_R ] };
+ // End "Modifier" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod2 { Num_Lock };
+
+ // Fake keys for virtual<->real modifiers mapping
+ key <LVL3> { [ ISO_Level3_Shift ] };
+ key <MDSW> { [ Mode_switch ] };
+ modifier_map Mod5 { <LVL3>, <MDSW> };
+
+ key <ALT> { [ NoSymbol, Alt_L ] };
+ modifier_map Mod1 { <ALT>, <LALT> };
+
+ key <META> { [ NoSymbol, Meta_L ] };
+ modifier_map Mod1 { <META> };
+
+ key <SUPR> { [ NoSymbol, Super_L ] };
+ modifier_map Mod4 { <SUPR> };
+
+ key <HYPR> { [ NoSymbol, Hyper_L ] };
+ modifier_map Mod4 { <HYPR> };
+ // end modifier mappings
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/mao b/xorg-server/xkeyboard-config/symbols/mao
new file mode 100644
index 000000000..30c039a0c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/mao
@@ -0,0 +1,23 @@
+// $XKeyboardConfig$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Adds the macrons needed for the Maori language to
+ // a simple us keyboard layout.
+
+ include "latin"
+
+ name[Group1]="Maori";
+
+ key <AC01> { [ a, A, amacron, Amacron ] };
+ key <AD03> { [ e, E, emacron, Emacron ] };
+ key <AD08> { [ i, I, imacron, Imacron ] };
+
+ key <AD09> { [ o, O, omacron, Omacron ] };
+ key <AD07> { [ u, U, umacron, Umacron ] };
+
+ key <RALT> { type[Group1]="TWO_LEVEL",
+ [ ISO_Level3_Shift, Multi_key ] };
+ modifier_map Mod5 { <RALT> };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/me b/xorg-server/xkeyboard-config/symbols/me
new file mode 100644
index 000000000..a4b407376
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/me
@@ -0,0 +1,53 @@
+// Montenegro keyboard mapping
+//
+// Initially, a copy of Serbian variants
+//
+// $XKeyboardConfig$
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+ include "rs(latin)"
+ name[Group1]= "Montenegro";
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "cyrillic" {
+ include "rs(basic)"
+ name[Group1]= "Montenegro - Cyrillic";
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "cyrillicyz" {
+ include "rs(yz)"
+ name[Group1]= "Montenegro - Cyrillic, Z and ZHE swapped";
+};
+
+partial alphanumeric_keys
+xkb_symbols "latinunicode" {
+ include "rs(latinunicode)"
+ name[Group1]= "Montenegro - Latin unicode";
+};
+
+partial alphanumeric_keys
+xkb_symbols "latinyz" {
+ include "rs(latinyz)"
+ name[Group1]= "Montenegro - Latin qwerty";
+};
+
+partial alphanumeric_keys
+xkb_symbols "latinunicodeyz" {
+ include "rs(latinunicodeyz)"
+ name[Group1]= "Montenegro - Latin unicode qwerty";
+};
+
+xkb_symbols "cyrillicalternatequotes" {
+ include "rs(alternatequotes)"
+ name[Group1]= "Montenegro - Cyrillic with guillemets";
+};
+
+xkb_symbols "latinalternatequotes" {
+ include "rs(latinalternatequotes)"
+ name[Group1]= "Montenegro - Latin with guillemets";
+};
diff --git a/xorg-server/xkeyboard-config/symbols/mk b/xorg-server/xkeyboard-config/symbols/mk
new file mode 100644
index 000000000..c69439c5d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/mk
@@ -0,0 +1,67 @@
+
+// based on keyboard map:
+// Author: Damjan Georgievski <penguinista AT mail.net.mk>
+// Revision: 1.5
+// $XKeyboardConfig$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Macedonia";
+
+ key <AB01> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AC02> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AD01> { [ Cyrillic_lje, Cyrillic_LJE ] };
+ key <AD02> { [ Cyrillic_nje, Cyrillic_NJE ] };
+ key <AB03> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AB02> { [ Cyrillic_dzhe, Cyrillic_DZHE ] };
+ key <AC03> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AD03> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AB04> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AD05> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AD04> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AB06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB05> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AC06> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD06> { [ Macedonia_dse, Macedonia_DSE ] };
+ key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AC07> { [ Cyrillic_je, Cyrillic_JE ] };
+ key <AD07> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AC08> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD08> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AD09> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC09> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AD10> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC11> { [ Macedonia_kje, Macedonia_KJE ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ Macedonia_gje, Macedonia_GJE ] };
+ key <BKSL> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AE12> { [ equal, plus ] };
+ key <AE11> { [ minus, underscore ] };
+ key <TLDE> { [ dead_grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, doublelowquotemark ] };
+ key <AE03> { [ 3, leftdoublequotemark ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ slash, question ] };
+
+ include "kpdl(comma)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "mk(basic)"
+ name[Group1]= "Macedonia - Eliminate dead keys";
+ key <TLDE> { [ grave, asciitilde ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/ml b/xorg-server/xkeyboard-config/symbols/ml
new file mode 100644
index 000000000..1cac28c41
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ml
@@ -0,0 +1,85 @@
+// $XKeyboardConfig$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "fr(basic)"
+
+ name[Group1]="Mali";
+
+ key <AB06> { [ n, N, U0272, U019D ] }; // n N ɲ Ɲ
+ key <AC02> { [ s, S, U0161, U0160 ] }; // s S š Š
+ key <AC05> { [ g, G, U0254, U0186 ] }; // g G ɔ Ɔ
+ key <AC10> { [ m, M, U014B, U014A ] }; // m M ŋ Ŋ
+ key <AD02> { [ z, Z, U017E, U017d ] }; // z Z ž Ž
+ key <AD03> { [ e, E, U025B, U0190 ] }; // e E ɛ Ɛ
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr-oss" {
+
+ include "fr(oss)"
+
+ name[Group1]="Mali - Français (France Alternative)";
+
+ // š Š on d replaces ë Ë
+ // ɲ Ɲ on j replaces ü Ü
+ // ŋ Ŋ on m replaces ö Ö
+ // ž Ž on z replaces â Â
+ // ɛ Ɛ on r replaces ê Ê
+ // ɔ Ɔ on p replaces ô Ô
+
+ key <AC03> { [ d, D, U0161, U0160 ] }; // d D š Š
+ key <AC07> { [ j, J, U0272, U019D ] }; // j J ɲ Ɲ
+ key <AC10> { [ m, M, U014B, U014A ] }; // m M ŋ Ŋ
+ key <AD02> { [ z, Z, U017E, U017d ] }; // z Z ž Ž
+ key <AD04> { [ r, R, U025B, U0190 ] }; // r R ɛ Ɛ
+ key <AD10> { [ p, P, U0254, U0186 ] }; // p P ɔ Ɔ
+};
+
+partial alphanumeric_keys
+xkb_symbols "us-mac" {
+
+ include "us(mac)"
+
+ name[Group1]="Mali - English (USA Macintosh)";
+
+ // ž Ž on z replaces Ω ¸
+ // ɛ Ɛ on a replaces å Å
+ // š Š on s replaces ß
+ // ɲ Ɲ on j replaces ∆ ½
+ // ŋ Ŋ on k replaces ° 
+ // ɔ Ɔ on o replaces ø Ø
+
+ key <AB01> { [ z, Z, U017E, U017d ] }; // z Z ž Ž
+ key <AC01> { [ a, A, U025B, U0190 ] }; // a A ɛ Ɛ
+ key <AC02> { [ s, S, U0161, U0160 ] }; // s S š Š
+ key <AC07> { [ j, J, U0272, U019D ] }; // j J ɲ Ɲ
+ key <AC08> { [ k, K, U014B, U014A ] }; // k K ŋ Ŋ
+ key <AD09> { [ o, O, U0254, U0186 ] }; // o O ɔ Ɔ
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "us-intl" {
+
+ include "us(intl)"
+
+ name[Group1]="Mali - English (USA International)";
+
+ // ž Ž on x replaces
+ // š Š on s replaces ß §
+ // ɲ Ɲ on h replaces
+ // ŋ Ŋ on j replaces
+ // ɛ Ɛ on w replaces å Å
+ // ɔ Ɔ on o replaces ó Ó
+
+ key <AB02> { [ x, X, U017E, U017d ] }; // x X ž Ž
+ key <AC02> { [ s, S, U0161, U0160 ] }; // s S š Š
+ key <AC06> { [ h, H, U0272, U019D ] }; // h H ɲ Ɲ
+ key <AC07> { [ j, J, U014B, U014A ] }; // j J ŋ Ŋ
+ key <AD02> { [ w, W, U025B, U0190 ] }; // w W ɛ Ɛ
+ key <AD09> { [ o, O, U0254, U0186 ] }; // o O ɔ Ɔ
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/mm b/xorg-server/xkeyboard-config/symbols/mm
new file mode 100644
index 000000000..2f5319c42
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/mm
@@ -0,0 +1,65 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/mm' file
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Myanmar";
+
+// Mainly numbers.
+ key <AE01> { [ 0x1001041, exclam ] };
+ key <AE02> { [ 0x1001042 ] };
+ key <AE03> { [ 0x1001043 ] };
+ key <AE04> { [ 0x1001044 ] };
+ key <AE05> { [ 0x1001045 ] };
+ key <AE06> { [ 0x1001046 ] };
+ key <AE07> { [ 0x1001047 ] };
+ key <AE08> { [ 0x1001048 ] };
+ key <AE09> { [ 0x1001049, parenleft ] };
+ key <AE10> { [ 0x1001040, parenright ] };
+ key <AE11> { [ minus, 0x1001038 ] };
+ key <AE12> { [ 0x1001052, 0x1001056 ] };
+
+// Mainly long vowels
+ key <AD01> { [ 0x100102A, 0x100102A ] };
+ key <AD02> { [ 0x1001032, 0x1001032 ] };
+ key <AD03> { [ 0x100102C, 0x1001021 ] };
+ key <AD04> { [ 0x100102E, 0x1001024 ] };
+ key <AD05> { [ 0x1001030, 0x1001026 ] };
+
+// Mainly voiced consonants
+ key <AD06> { [ 0x1001017, 0x1001018 ] };
+ key <AD07> { [ 0x100101F, 0x1001004 ] };
+ key <AD08> { [ 0x1001002, 0x1001003 ] };
+ key <AD09> { [ 0x1001012, 0x1001013 ] };
+ key <AD10> { [ 0x1001007, 0x1001008 ] };
+ key <AD11> { [ 0x100100d, 0x100100e ] };
+ key <AD12> { [ 0x100100a, 0x1001009 ] };
+
+// Mainly short vowels
+ key <AC01> { [ 0x1001029, 0x1001029 ] };
+ key <AC02> { [ 0x1001027, 0x1001027 ] };
+ key <AC03> { [ 0x1001039, 0x1001021 ] };
+ key <AC04> { [ 0x100102D, 0x1001023 ] };
+ key <AC05> { [ 0x100102F, 0x1001025 ] };
+
+// Mainly unvoiced consonants
+ key <AC06> { [ 0x1001015, 0x1001016 ] };
+ key <AC07> { [ 0x100101B, 0x100101B ] };
+ key <AC08> { [ 0x1001000, 0x1001001 ] };
+ key <AC09> { [ 0x1001010, 0x1001011 ] };
+ key <AC10> { [ 0x1001005, 0x1001006 ] };
+ key <AC11> { [ 0x100100b, 0x100100c ] };
+ key <BKSL> { [ 0x100104E, 0x100104F ] };
+
+ key <AB01> { [ 0x100104C, 0x100104D ] };
+ key <AB02> { [ 0x1001037, 0x1001036 ] };
+ key <AB03> { [ 0x1001019, 0x100100f ] };
+ key <AB04> { [ 0x1001014, 0x1001014 ] };
+ key <AB05> { [ 0x1001017, 0x1001017 ] };
+ key <AB06> { [ 0x100101C, 0x100101C ] };
+ key <AB07> { [ 0x100101E, 0x1001050 ] };
+ key <AB08> { [ comma, 0x1001051 ] };
+ key <AB09> { [ period, 0x100104A ] };
+ key <AB10> { [ slash, 0x100101A ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/mn b/xorg-server/xkeyboard-config/symbols/mn
new file mode 100644
index 000000000..08109b781
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/mn
@@ -0,0 +1,83 @@
+// $XKeyboardConfig$
+
+// based on:
+// Mongolian standard keyboard
+// Author Sanlig Badral <badral@chinggis.com>
+// 2002/12/7 Version 1.0
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Mongolia";
+
+ key <TLDE> { [ equal, plus, degree ] };
+ key <AE01> { [ 1, numerosign, multiply ] };
+ key <AE02> { [ 2, minus, division ] };
+ key <AE03> { [ 3, quotedbl, plusminus ] };
+ key <AE04> { [ 4, U20ae, notsign ] }; // Tugrik sign
+ key <AE05> { [ 5, colon, NoSymbol ] };
+ key <AE06> { [ 6, period, notequal ] };
+ key <AE07> { [ 7, underscore, ampersand ] };
+ key <AE08> { [ 8, comma, asterisk ] };
+ key <AE09> { [ 9, percent, bracketleft ] };
+ key <AE10> { [ 0, question, bracketright ] };
+ key <AE11> { [ Cyrillic_ie, Cyrillic_IE, X ] };
+ key <AE12> { [ Cyrillic_shcha, Cyrillic_SHCHA, L ] };
+
+ key <AD01> { [ Cyrillic_ef, Cyrillic_EF, apostrophe ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, grave ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, EuroSign ] };
+ key <AD04> { [ Cyrillic_zhe, Cyrillic_ZHE, registered ] };
+ key <AD05> { [ Cyrillic_e, Cyrillic_E, trademark ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN, yen ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, doublelowquotemark ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, leftdoublequotemark ] };
+ key <AD09> { [ Cyrillic_u_straight,Cyrillic_U_straight,rightdoublequotemark] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, NoSymbol ] };
+ key <AD11> { [ Cyrillic_ka, Cyrillic_KA, braceleft ] };
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, braceright ] };
+
+ key <AC01> { [ Cyrillic_shorti, Cyrillic_SHORTI, mu ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, sterling ] };
+ key <AC03> { [ Cyrillic_be, Cyrillic_BE, dollar ] };
+ key <AC04> { [ Cyrillic_o_bar, Cyrillic_O_bar, rightdoublequotemark ] };
+ key <AC05> { [ Cyrillic_a, Cyrillic_A, Cyrillic_yeru ] };
+ key <AC06> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_YERU ] };
+ key <AC07> { [ Cyrillic_er, Cyrillic_ER, Cyrillic_e ] };
+ key <AC08> { [ Cyrillic_o, Cyrillic_O, Cyrillic_E ] };
+ key <AC09> { [ Cyrillic_el, Cyrillic_EL, numerosign ] };
+ key <AC10> { [ Cyrillic_de, Cyrillic_DE, section ] };
+ key <AC11> { [ Cyrillic_pe, Cyrillic_PE, ellipsis ] };
+ key <BKSL> { [ exclam, bar, bar ] };
+
+ key <LSGT> { [ parenleft, parenright, NoSymbol ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA, emdash ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE, endash ] };
+ key <AB03> { [ Cyrillic_io, Cyrillic_IO, copyright ] };
+ key <AB04> { [ Cyrillic_es, Cyrillic_ES, NoSymbol ] };
+ key <AB05> { [ Cyrillic_em, Cyrillic_EM, NoSymbol ] };
+ key <AB06> { [ Cyrillic_i, Cyrillic_I, less ] };
+ key <AB07> { [ Cyrillic_te, Cyrillic_TE, greater ] };
+ key <AB08> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, guillemotleft ] };
+ key <AB09> { [ Cyrillic_ve, Cyrillic_VE, guillemotright ] };
+ key <AB10> { [ Cyrillic_yu, Cyrillic_YU, backslash ] };
+
+ // End alphanumeric section
+
+ key <SPCE> { [ space, space, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+// Contact: Walter Bender <walter@laptop.org>
+
+ include "mn(basic)"
+
+ key <BKSL> { [ backslash, bar, exclam ] };
+
+ include "group(olpc)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/mt b/xorg-server/xkeyboard-config/symbols/mt
new file mode 100644
index 000000000..5069aa4ed
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/mt
@@ -0,0 +1,80 @@
+// $XKeyboardConfig$
+
+// Maltese keyboard map (based on MSA Standard DMS100)
+// by Ramon Casha (ramon.casha@linux.org.mt)
+//
+// $XFree86: xc/programs/xkbcomp/symbols/mt,v 1.3 2002/12/13 04:18:04 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin"
+
+ name[Group1]="Malta";
+
+ // Copied from GB layout
+ key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
+ key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
+ key <AC11> { [apostrophe, at, dead_circumflex, dead_caron] };
+ key <BKSL> { [numbersign, asciitilde, dead_grave, dead_breve ] };
+
+ // The following four sets are the four additional letters, with the UK
+ // equivalents
+ key <TLDE> { [ cabovedot, Cabovedot, grave, notsign ] };
+ key <AD11> { [ gabovedot, Gabovedot, bracketleft, braceleft ] };
+ key <AD12> { [ hstroke, Hstroke, bracketright, braceright ] };
+ key <LSGT> { [ zabovedot, Zabovedot, backslash, bar ] };
+
+ // Euro symbol
+ key <AE03> { [ 3, EuroSign, sterling ] };
+
+ // Long accent
+ key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
+
+ // Normal accented vowels
+ key <AD03> { [ e, E, egrave, Egrave ] };
+ key <AD07> { [ u, U, ugrave, Ugrave ] };
+ key <AD08> { [ i, I, igrave, Igrave ] };
+ key <AD09> { [ o, O, ograve, Ograve ] };
+ key <AC01> { [ a, A, agrave, Agrave ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Maltese keyboard map (based on MSA Standard DMS100, annex A)
+// by Ramon Casha (ramon.casha@linux.org.mt)
+
+partial alphanumeric_keys
+xkb_symbols "us" {
+
+ include "latin"
+
+ // Describes the differences between the mt
+ // keyboard and a US-based physical keyboard
+
+ name[Group1]="Malta - Maltese keyboard with US layout";
+
+ // The following four sets are the four additional letters, with the US
+ // equivalents
+ key <TLDE> { [ cabovedot, Cabovedot, grave, asciitilde ] };
+ key <AD11> { [ gabovedot, Gabovedot, bracketleft, braceleft ] };
+ key <AD12> { [ hstroke, Hstroke, bracketright, braceright ] };
+ key <LSGT> { [ zabovedot, Zabovedot, backslash, bar ] };
+ key <BKSL> { [ zabovedot, Zabovedot, backslash, bar ] };
+
+ // Euro symbol
+ key <AE03> { [ 3, EuroSign, numbersign ] };
+
+ // Long accent
+ key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
+
+ // Normal accented vowels
+ key <AD03> { [ e, E, egrave, Egrave ] };
+ key <AD07> { [ u, U, ugrave, Ugrave ] };
+ key <AD08> { [ i, I, igrave, Igrave ] };
+ key <AD09> { [ o, O, ograve, Ograve ] };
+ key <AC01> { [ a, A, agrave, Agrave ] };
+
+ include "level3(ralt_switch)"
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/mv b/xorg-server/xkeyboard-config/symbols/mv
new file mode 100644
index 000000000..22aa33986
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/mv
@@ -0,0 +1,82 @@
+// $XKeyboardConfig$
+//
+// NOTES:
+//
+//Keymap for thaana/divehi script (divehi language)
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]="Maldives";
+
+// The key <TLDE> should have the same values as US_en keyboard
+
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ 0x10007B0, 0x10007A4 ] };
+ key <AD02> { [ 0x1000787, 0x10007A2 ] };
+ key <AD03> { [ 0x10007AC, 0x10007AD ] };
+ key <AD04> { [ 0x1000783, 0x100079C ] };
+ key <AD05> { [ 0x100078C, 0x1000793 ] };
+ key <AD06> { [ 0x1000794, 0x10007A0 ] };
+ key <AD07> { [ 0x10007AA, 0x10007AB ] };
+ key <AD08> { [ 0x10007A8, 0x10007A9 ] };
+ key <AD09> { [ 0x10007AE, 0x10007AF ] };
+ key <AD10> { [ 0x1000795, division ] };
+// The following brackets are as they appear on the US_en keyboard.
+//Please verify whether the names used are correct. I referred to keysymdef.h
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+
+
+ key <AC01> { [ 0x10007A6, 0x10007A7 ] };
+ key <AC02> { [ 0x1000790, 0x1000781 ] };
+ key <AC03> { [ 0x100078B, 0x1000791 ] };
+ key <AC04> { [ 0x100078A, 0x100fdf2 ] };
+ key <AC05> { [ 0x100078E, 0x10007A3 ] };
+ key <AC06> { [ 0x1000780, 0x1000799 ] };
+ key <AC07> { [ 0x1000796, 0x100079B ] };
+ key <AC08> { [ 0x1000786, 0x100079A ] };
+ key <AC09> { [ 0x100078D, 0x1000785 ] };
+ key <AC10> { [ semicolon, colon ] };
+//I used singleloquotemark- if this is the wrong name, please replace with the name for the
+//standard US_en keyboard format- its the same in the Thaana phonetic keyboard
+ key <AC11> { [ quoteright, quotedbl ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <LSGT> { [ bar, brokenbar ] };
+ key <AB01> { [ 0x1000792, 0x10007A1 ] };
+//multiply sign is the same as the algebraic symbol which looks like an italicized x. I am presuming its the same thing here. If not, please substitute an 'x' instead
+ key <AB02> { [ multiply, 0x1000798 ] };
+ key <AB03> { [ 0x1000797, 0x100079D ] };
+ key <AB04> { [ 0x1000788, 0x10007A5 ] };
+ key <AB05> { [ 0x1000784, 0x100079E ] };
+ key <AB06> { [ 0x1000782, 0x100078F ] };
+ key <AB07> { [ 0x1000789, 0x100079F ] };
+ key <AB08> { [ Arabic_comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, Arabic_question_mark ] };
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+// Any additional keys (if need be added) should appear and function exactly as it does on the US_en keyboard.
diff --git a/xorg-server/xkeyboard-config/symbols/nbsp b/xorg-server/xkeyboard-config/symbols/nbsp
new file mode 100644
index 000000000..b3bc6a218
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nbsp
@@ -0,0 +1,197 @@
+// $XKeyboardConfig$
+
+// Let Space key provide No-Break Space (NBSP), Narrow No-Break Space (NNBSP),
+// Zero-Width Non-Joiner (ZWNJ), and Zero-Width Joiner (ZWJ) for the desired
+// levels.
+
+
+////////////////////////////////////////
+// Only Space
+
+partial
+xkb_symbols "none" {
+ key <SPCE> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1]= [ space ]
+ };
+};
+
+
+////////////////////////////////////////
+// No-Break Space
+
+partial
+xkb_symbols "level2" {
+ key <SPCE> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1]= [ space, nobreakspace ]
+ };
+};
+
+
+// level3 & level3ns provide no-breaking spaces starting from level3
+// This is good for typographers but experience shows many users accidently
+// type no-breaking spaces on the CLI (resulting in errors)
+// Used by fr(latin9)
+partial
+xkb_symbols "level3" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace ]
+ };
+};
+
+// level3s kills fourth level
+// Used by ca(multix)
+partial
+xkb_symbols "level3s" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace, NoSymbol ]
+ };
+};
+
+// for this reason pushing no-breaking spaces to level4 is the safe default nowadays
+partial
+xkb_symbols "level4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace ]
+ };
+};
+
+
+////////////////////////////////////////
+// Narrow No-Break Space
+
+// level3n provides narrow no-breaking space in addition to the normal one
+partial
+xkb_symbols "level3n" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace, 0x100202F ]
+ };
+};
+
+// level4n provides narrow no-breaking space in addition to the normal one
+partial
+xkb_symbols "level4n" {
+ key <SPCE> {
+ type[Group1]="EIGHT_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
+ };
+};
+
+// level4nl provides narrow no-breaking space in addition to the normal one
+// without forcing the use of level5 for mostly four-level layouts
+// Used by fr(oss), be(oss)…
+partial
+xkb_symbols "level4nl" {
+ key <SPCE> {
+ type[Group1]="LOCAL_EIGHT_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
+ };
+};
+
+
+////////////////////////////////////////
+// Zero-Width Non-Joiner & Zero-Width Joiner
+// Author: Behnam Esfahbod <behnam@esfahbod.info>
+
+// ZWNJ and ZWJ are widely used in Persian, Kurdinsh, Pashto, Uzbek and other
+// languages that use PersoArabic script.
+
+
+// ZWNJ on level 2
+partial
+xkb_symbols "zwnj2" {
+ key <SPCE> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1]= [ space, 0x100200c ]
+ };
+};
+
+
+// ZWNJ on level 2
+// ZWJ on level 3
+partial
+xkb_symbols "zwnj2zwj3" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, 0x100200d ]
+ };
+};
+
+
+// ZWNJ on level 2
+// ZWJ on level 3
+// NBSP on level 4
+partial
+xkb_symbols "zwnj2zwj3nb4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, 0x100200d, nobreakspace ]
+ };
+};
+
+// ZWNJ on level 2
+// NBSP on level 3
+// Used by ir(ku_ara), af(basic), af(ps), af(uz), af(olpc-fa), af(olpc-ps), af(olpc-uz)
+partial
+xkb_symbols "zwnj2nb3" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace ]
+ };
+};
+
+
+// ZWNJ on level 2
+// ZWJ on level 3
+// NBSP on level 4
+// Used by lk(sin_phonetic)
+partial
+xkb_symbols "zwnj2nb3s" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace, NoSymbol ]
+ };
+};
+
+
+// ZWNJ on level 2
+// NBSP on level 3
+// ZWJ on level 4
+partial
+xkb_symbols "zwnj2nb3zwj4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100200d ]
+ };
+};
+
+
+// ZWNJ on level 2
+// NBSP on level 3
+// NNBSP on level 4
+// Used by ir(pes)
+partial
+xkb_symbols "zwnj2nb3nnb4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100202F ]
+ };
+};
+
+
+// ZWNJ on level 3
+// ZWJ on level 4
+// Used by in(deva), in(olpc)
+partial
+xkb_symbols "zwnj3zwj4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, 0x100200c, 0x100200d ]
+ };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/nec_vndr/Makefile.am b/xorg-server/xkeyboard-config/symbols/nec_vndr/Makefile.am
new file mode 100644
index 000000000..ff070065a
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nec_vndr/Makefile.am
@@ -0,0 +1,4 @@
+symbolsdir = $(xkb_base)/symbols/nec_vndr
+
+dist_symbols_DATA = \
+jp
diff --git a/xorg-server/xkeyboard-config/symbols/nec_vndr/jp b/xorg-server/xkeyboard-config/symbols/nec_vndr/jp
new file mode 100644
index 000000000..0439677e4
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nec_vndr/jp
@@ -0,0 +1,167 @@
+// $Xorg: jp,v 1.4 2001/02/09 02:05:53 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/symbols/nec/jp,v 3.9 2001/01/17 23:46:03 dawes Exp $
+//
+// symbols for a NEC PC98 keyboard
+default xkb_symbols "pc98" {
+
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <AE01> { [ 1, exclam ], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ key <AE05> { [ 5, percent ], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ] };
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ] };
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ] };
+ key <AE10> { [ 0 ], [ kana_WA, kana_WO ] };
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, quoteleft ], [ kana_HE ] };
+ key <BKSL> { [ backslash, bar ], [ prolongedsound ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ], [ kana_TA ] };
+ key <AD02> { [ w, W ], [ kana_TE ] };
+ key <AD03> { [ e, E ], [ kana_I, kana_i ] };
+ key <AD04> { [ r, R ], [ kana_SU ] };
+ key <AD05> { [ t, T ], [ kana_KA ] };
+ key <AD06> { [ y, Y ], [ kana_N ] };
+ key <AD07> { [ u, U ], [ kana_NA ] };
+ key <AD08> { [ i, I ], [ kana_NI ] };
+ key <AD09> { [ o, O ], [ kana_RA ] };
+ key <AD10> { [ p, P ], [ kana_SE ] };
+ key <AD11> { [ at, asciitilde ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+ key <RTRN> { [ Return ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ], [ kana_CHI ] };
+ key <AC02> { [ s, S ], [ kana_TO ] };
+ key <AC03> { [ d, D ], [ kana_SHI ] };
+ key <AC04> { [ f, F ], [ kana_HA ] };
+ key <AC05> { [ g, G ], [ kana_KI ] };
+ key <AC06> { [ h, H ], [ kana_KU ] };
+ key <AC07> { [ j, J ], [ kana_MA ] };
+ key <AC08> { [ k, K ], [ kana_NO ] };
+ key <AC09> { [ l, L ], [ kana_RI ] };
+ key <AC10> { [ semicolon, plus ], [ kana_RE ] };
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <AC12> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ], [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ x, X ], [ kana_SA ] };
+ key <AB03> { [ c, C ], [ kana_SO ] };
+ key <AB04> { [ v, V ], [ kana_HI ] };
+ key <AB05> { [ b, B ], [ kana_KO ] };
+ key <AB06> { [ n, N ], [ kana_MI ] };
+ key <AB07> { [ m, M ], [ kana_MO ] };
+ key <AB08> { [ comma, less ], [ kana_NE, kana_comma ] };
+ key <AB09> { [ period, greater ], [ kana_RU, kana_fullstop ] };
+ key <AB10> { [ slash, question ], [ kana_ME, kana_middledot ] };
+ key <AB11> { [ NoSymbol, underscore ], [ kana_RO ] };
+// key <RTSH> { [ Shift_R ] };
+
+ key <ALGR> { [ Mode_switch ] };
+ key <LALT> { [ Alt_L ] };
+ key <NFER> { [ Muhenkan ] };
+ key <SPCE> { [ space ] };
+ key <XFER> { [ Henkan, Kanji ] };
+
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <BRK> { [ Break ] };
+ key <PRSC> { [ Print ] };
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ key <FK13> { [ F13 ] };
+ key <FK14> { [ F14 ] };
+ key <FK15> { [ F15 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <INS> { [ Insert ] };
+ key <DELE> { [ Delete ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <DOWN> { [ Down ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <HOME> { [ Clear, Home ] };
+ key <HELP> { [ Help ] };
+ key <KPSU> { [ KP_Subtract ] };
+ key <KPDV> { [ KP_Divide ] };
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPMU> { [ KP_Multiply ] };
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPEQ> { [ KP_Equal ] };
+
+ key <KP0> { [ KP_0 ] };
+ key <KPSP> { [ KP_Separator ] };
+ key <KPDC> { [ KP_Decimal ] };
+// key <KPEN> { [ KP_Enter ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod1 { Alt_L };
+ modifier_map Mod2 { Mode_switch };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/ng b/xorg-server/xkeyboard-config/symbols/ng
new file mode 100644
index 000000000..5b3a19e27
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ng
@@ -0,0 +1,117 @@
+// $XKeyboardConfig$
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "us"
+
+ name[Group1]= "Nigeria";
+ key <AE04> { [ 4, 0x010020A6, dollar, cent ] };
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "yoruba" {
+ include "ng(basic)"
+
+ name[Group1]= "Nigeria - Yoruba";
+
+ key <AD01> { [ 0x01001EB9, 0x01001EB8, q, Q ] };
+ key <AB02> { [ 0x01001ECD, 0x01001ECC, x, X ] };
+ key <AB04> { [ 0x01001E63, 0x01001E62, v, V ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "igbo" {
+ include "ng(basic)"
+
+ name[Group1]= "Nigeria - Igbo";
+
+ key <AD01> { [ 0x01001ECB, 0x01001ECA, q, Q ] };
+ key <AB02> { [ 0x01001E45, 0x01001E44, x, X ] };
+ key <AC10> { [ 0x01001EE5, 0x01001EE4, semicolon, colon ] };
+ key <AD11> { [ 0x01001ECD, 0x01001ECC, bracketleft, braceleft ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "hausa" {
+ include "ng(basic)"
+
+ name[Group1]= "Nigeria - Hausa";
+
+ key <AD01> { [ 0x01000071, 0x01000051, q, Q ] };
+ key <AD02> { [ udiaeresis, Udiaeresis, w, W ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD11> { [ 0x010001B4, 0x010001B3,bracketleft, braceleft ] };
+ key <AD12> { [ gcaron, Gcaron,bracketright, braceright] };
+ key <AC03> { [ 0x01000257, 0x0100018A, d, D ] };
+ key <AC10> { [ 0x01000131, 0x01000130, semicolon, colon ] };
+ key <AC11> { [ 0x010001DD, 0x0100018E,apostrophe, quotedbl ] };
+ key <AB01> { [ 0x01000272, 0x0100019D, z, Z ] };
+ key <AB07> { [ ntilde, Ntilde, m, M ] };
+ key <AB09> { [ ccedilla, Ccedilla, period, greater ] };
+ key <AB10> { [ scedilla, Scedilla, slash, question ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ include "ng(basic)"
+
+ // OLPC West Africa keyboard layout
+ // See: http://wiki.laptop.org/go/Image:Nigeria-B3.png
+
+ key <TLDE> { [ grave, asciitilde, exclamdown, exclamdown ] };
+ key <AE01> { [ 1, exclam, sterling, sterling ] };
+ key <AE02> { [ 2, at, EuroSign, EuroSign ] };
+ key <AE03> { [ 3, numbersign, dollar, dollar ] };
+ key <AE04> { [ 4, 0x10020A6, 0x1000301, 0x1000301 ] }; // Naira, combining acute
+ key <AE05> { [ 5, percent, 0x1000300, 0x1000300 ] }; // combining grave
+ key <AE06> { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above
+ key <AE07> { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above
+ key <AE08> { [ 8, asterisk, 0x1000324, 0x1000324 ] }; // combining caron above
+ key <AE09> { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above
+ key <AE10> { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above
+ key <AE11> { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above
+ key <AE12> { [ equal, plus, 0x1000303, 0x1000303 ] }; // combining tilde above
+
+ key <AD02> { [ w, W, 0x1001EB9, 0x1001EB8 ] }; // E with dot below
+ key <AD03> { [ e, E, 0x10001DD, 0x100018E ] }; // reversed E
+ key <AD04> { [ r, R, 0x10001B4, 0x10001B3 ] }; // Y with hook
+ key <AD05> { [ t, T, 0x1000327, 0x1000327 ] }; // combining cedilla
+ key <AD06> { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below
+ key <AD07> { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below
+ key <AD08> { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below
+ key <AD09> { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below
+ key <AD10> { [ p, P, 0x1000304, 0x1000304 ] }; // combining diaeresis below
+ key <AD11> { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below
+ key <AD12> { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below
+
+ key <AC01> { [ a, A, Greek_iota, Greek_IOTA ] };
+ key <AC02> { [ s, S, 0x1001E63, 0x1001E62 ] }; // S with dot below
+ key <AC03> { [ d, D, 0x1000257, 0x100018A ] }; // D with hook
+ key <AC04> { [ f, F, 0x1001E0D, 0x1001E0C ] }; // D with dot below
+ key <AC05> { [ g, G, 0x1000272, 0x100019D ] }; // N with left hook
+ key <AC06> { [ h, H, 0x1001EE5, 0x1001EE4 ] }; // U with dot below
+ key <AC07> { [ j, J, 0x1001ECB, 0x1001ECA ] }; // I with dot below
+ key <AC08> { [ k, K, 0x1000199, 0x1000198 ] }; // K with hook
+ key <AC09> { [ l, L, 0x1001E37, 0x1001E36 ] }; // L with dot below
+ key <AC10> { [ semicolon, colon, masculine, ordfeminine ] };
+ key <AC11> { [ apostrophe, quotedbl, currency, currency ] };
+ key <BKSL> { [ backslash, bar, section, section ] };
+
+ key <AB03> { [ c, C, 0x1000254, 0x1000186 ] }; // open O
+ key <AB04> { [ v, V, 0x100028B, 0x10001B2 ] }; // V with hook
+ key <AB05> { [ b, B, 0x1000253, 0x1000181 ] }; // B with hook
+ key <AB06> { [ n, N, eng, ENG ] };
+ key <AB07> { [ m, M, 0x1001E45, 0x1001E44 ] }; // N with dot above
+ key <AB08> { [ comma, less, guillemotleft, guillemotleft ] };
+ key <AB09> { [ period, greater, guillemotright, guillemotright ] };
+ key <AB10> { [ slash, question, questiondown, questiondown ] };
+
+ key <I219> { [ multiply, division, ISO_Next_Group, ISO_Prev_Group ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/nl b/xorg-server/xkeyboard-config/symbols/nl
new file mode 100644
index 000000000..f4e698a94
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nl
@@ -0,0 +1,155 @@
+// $XKeyboardConfig$
+
+// Basic layout based on converted file, from keytable file to xkb/symbols/ file
+// with mk_xkb by root@linux.chanae.stben.be Tue Sep 30 00:53:29 MET DST 1997
+
+// Converted from the nl-latin.map of the Linux kbd package by
+// Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/nl,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+// Official layout by Benno Schulenberg <bensberg@justemail.net>, January 2007,
+// based on http://www.xs4all.nl/~koospol/public/Xmodmap-nl-deadkeys.gz
+
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin"
+
+ name[Group1]="Netherlands";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
+ key <AE06> { [ 6, ampersand, threequarters, fiveeighths ] };
+ key <AE07> { [ 7, underscore, sterling, seveneighths ] };
+ key <AE08> { [ 8, parenleft, braceleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, braceright, bracketright ] };
+ key <AE10> { [ 0, apostrophe, degree, trademark ] };
+ key <AE11> { [ slash, question, backslash, questiondown ] };
+ key <AE12> { [ degree, dead_tilde, dead_cedilla, dead_ogonek ] };
+
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, ydiaeresis, yen ] };
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD08> { [ i, I, idiaeresis, Idiaeresis ] };
+ key <AD09> { [ o, O, ograve, Ograve ] };
+ key <AD10> { [ p, P, paragraph, THORN ] };
+ key <AD11> { [dead_diaeresis, dead_circumflex, asciitilde, asciicircum] };
+ key <AD12> { [ asterisk, bar, dead_tilde, dead_macron ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC04> { [ f, F, ordfeminine, ordfeminine ] };
+ key <AC10> { [ plus, plusminus, dead_acute, dead_doubleacute ] };
+ key <AC11> { [dead_acute, dead_grave, apostrophe, grave ] };
+ key <TLDE> { [ at, section, notsign, notsign ] };
+
+ key <BKSL> { [ less, greater, dead_grave, dead_breve ] };
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB07> { [ m, M, Greek_mu, masculine ] };
+ key <AB08> { [ comma, semicolon, cedilla, guillemotleft] };
+ key <AB09> { [ period, colon, periodcentered, guillemotright ] };
+ key <AB10> { [ minus, equal, hyphen, dead_abovedot] };
+
+ key <LSGT> { [bracketright, bracketleft, bar, brokenbar ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "std" {
+
+ name[Group1]= "Netherlands - Standard";
+
+ key <TLDE> { [ at, section, notsign ] };
+ key <AE01> { [ 1, exclam, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, twosuperior ] };
+ key <AE03> { [ 3, numbersign, threesuperior ] };
+ key <AE04> { [ 4, dollar, onequarter ] };
+ key <AE05> { [ 5, percent, onehalf ] };
+ key <AE06> { [ 6, ampersand, threequarters ] };
+ key <AE07> { [ 7, underscore, sterling ] };
+ key <AE08> { [ 8, parenleft, braceleft ] };
+ key <AE09> { [ 9, parenright, braceright ] };
+ key <AE10> { [ 0, apostrophe ] };
+ key <AE11> { [ slash, question, backslash ] };
+ key <AE12> { [ degree, dead_tilde, dead_cedilla ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, paragraph ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ dead_diaeresis, dead_circumflex ] };
+ key <AD12> { [ asterisk, bar ] };
+ key <BKSL> { [ less, greater ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S, ssharp ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ plus, plusminus ] };
+ key <AC11> { [ dead_acute, dead_grave ] };
+
+ key <LSGT> { [ bracketright, bracketleft, bar ] };
+ key <AB01> { [ z, Z, guillemotleft ] };
+ key <AB02> { [ x, X, guillemotright ] };
+ key <AB03> { [ c, C, cent ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon, periodcentered ] };
+ key <AB10> { [ minus, equal ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // For naming consistency
+
+ include "nl(basic)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ // For naming consistency
+
+ include "nl(Sundeadkeys)"
+ name[Group1]="Netherlands - Sun dead keys";
+};
+
+// Copied from macintosh_vndr/nl
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ // Describes the differences between a very simple mac_US
+ // keyboard and a very simple netherland keybaord
+
+ include "latin"
+
+ name[Group1]= "Netherlands - Macintosh";
+
+ include "level3(ralt_switch)"
+
+// do just nothing
+
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/no b/xorg-server/xkeyboard-config/symbols/no
new file mode 100644
index 000000000..56c3d2c42
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/no
@@ -0,0 +1,230 @@
+
+// based on a keyboard map from an 'xkb/symbols/no' file
+//
+// $XKeyboardConfig$
+// $XFree86: xc/programs/xkbcomp/symbols/no,v 1.3 2002/12/19 01:07:56 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Norwegian keyboard with dead key support
+ // and all of ISO-8859-1 characters available.
+
+ include "latin(type2)"
+
+ name[Group1]="Norway";
+
+ key <AB09> { [ period, colon, ellipsis, periodcentered ] };
+ key <AB10> { [ minus, underscore, endash, emdash ] };
+ key <AD04> { [ r, R, registered, trademark ] };
+ key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
+ key <AE05> { [ 5, percent, onehalf, 0x1002030 ] };
+
+ key <AE11> { [ plus, question, plusminus, questiondown ] };
+ key <AE12> { [ backslash, dead_grave, dead_acute, notsign ] };
+
+
+ key <AC10> { [ oslash, Ooblique, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ ae, AE, dead_circumflex, dead_caron] };
+ key <TLDE> { [ bar, section, brokenbar, paragraph ] };
+
+ key <BKSL> { [apostrophe, asterisk, dead_doubleacute, multiply ] };
+ key <LSGT> { [ less, greater, onehalf, threequarters] };
+
+ include "nbsp(level3n)"
+ include "keypad(ossmath)"
+ include "kpdl(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Norwegian layout to eliminate dead keys
+
+ include "no(basic)"
+
+ name[Group1]="Norway - Eliminate dead keys";
+
+ key <AE12> { [ backslash, grave, acute, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
+ key <AC10> { [ oslash, Ooblique, acute, doubleacute ] };
+ key <AC11> { [ ae, AE, asciicircum, caron ] };
+ key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, abovedot ] };
+};
+
+// Norwegian Dvorak
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "us(dvorak)"
+
+ name[Group1]="Norway - Dvorak";
+
+ key <TLDE> { [ bar, section, brokenbar, paragraph ] };
+
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
+ key <AE04> { [ 4, dollar, currency,onequarter ] };
+ key <AE05> { [ 5, percent, onehalf, onehalf ] };
+ key <AE06> { [ 6, ampersand, threequarters, threequarters ] };
+ key <AE07> { [ 7, slash, braceleft, division ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question, plusminus, questiondown ] };
+ key <AE12> { [ backslash, grave, dead_acute, dead_grave ] };
+
+ key <AD01> { [ aring, Aring, braceright, bracketright ] };
+ key <AD02> { [ comma, semicolon, dead_cedilla, cedilla ] };
+ key <AD03> { [ period, colon, periodcentered ] };
+ key <AD04> { [ p, P, thorn, THORN ] };
+ key <AD05> { [ y, Y, yen ] };
+ key <AD06> { [ f, F, ordfeminine ] };
+ key <AD08> { [ c, C, ccedilla, copyright ] };
+ key <AD09> { [ r, R, registered ] };
+ key <AD11> { [ apostrophe, asterisk, dead_circumflex, acute ] };
+ key <AD12> { [ asciitilde, asciicircum, dead_diaeresis, dead_tilde ] };
+
+ key <AC03> { [ e, E, EuroSign, cent ] };
+ key <AC05> { [ i, I, idotless, Iabovedot] };
+ key <AC06> { [ d, D, eth, ETH ] };
+ key <AC10> { [ s, S, ssharp ] };
+ key <AC11> { [ minus, underscore, hyphen, diaeresis] };
+
+ key <AB01> { [ ae, AE, braceleft, bracketleft] };
+ key <AB05> { [ x, X, multiply ] };
+ key <AB07> { [ m, M, mu ] };
+ key <BKSL> { [ less, greater, guillemotleft, guillemotright ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace] };
+
+ key <LSGT> { [ oslash, Ooblique, bar, backslash ] };
+
+ // fixed https://bugs.freedesktop.org/show_bug.cgi?id=4397
+ include "level3(ralt_switch)"
+};
+
+// based on
+// Northern Sami keyboards for Finland, Norway and Sweden
+//
+// Describes the differences between a very simple en_US
+// keyboard and a Norwegian Northern Sami keyboard (with
+// dead key support) according to the spec on
+// http://www.hum.uit.no/a/trond/se-lat9-no-keys.html
+// Written by Børre Gaup <boerre.gaup@pc.nu>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/sapmi,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial alphanumeric_keys
+xkb_symbols "smi" {
+ include "latin"
+
+ name[Group1]= "Norway - Northern Saami";
+
+ key <AE01> { [ 1, exclam, copyright, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, at, registered ] };
+ key <AE03> { [ 3, numbersign, sterling, less ] };
+ key <AE04> { [ 4, dollar, dollar, greater ] };
+ key <AE05> { [ 5, percent, U2022, U2030 ] };
+ key <AE06> { [ 6, ampersand, section, paragraph ] };
+ key <AE07> { [ 7, slash, braceleft, bar ] };
+ key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright, bracketright, braceright ] };
+ key <AE10> { [ 0, equal, braceright, notequal ] };
+ key <AE11> { [ plus, question, division, questiondown ] };
+ key <AE12> { [ backslash, grave, acute, asciitilde ] };
+
+ key <AD01> { [ aacute, Aacute, q, Q ] };
+ key <AD02> { [ scaron, Scaron, w, W ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, registered, trademark ] };
+ key <AD06> { [ y, Y, yacute, Yacute ] };
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD08> { [ i, I, idiaeresis, Idiaeresis ] };
+ key <AD09> { [ o, O, oe, OE ] };
+ key <AD11> { [ aring, Aring, acircumflex, Acircumflex ] };
+ key <AD12> { [ eng, ENG, quotedbl, asciicircum ] };
+
+ key <AC01> { [ a, A, agrave, Agrave ] };
+ key <AC02> { [ s, S, ssharp, apostrophe ] };
+ key <AC04> { [ f, F, ordfeminine, ordfeminine ] };
+ key <AC05> { [ g, G, gcaron, Gcaron ] };
+ key <AC06> { [ h, H, U01E5, U01E4 ] };
+ key <AC07> { [ j, J, notsign, multiply ] };
+ key <AC08> { [ k, K, U01E9, U01E8 ] };
+ key <AC09> { [ l, L, degree, hyphen ] };
+ key <AC10> { [ oslash, Ooblique, odiaeresis, Odiaeresis ] };
+ key <AC11> { [ ae, AE, adiaeresis, Adiaeresis ] };
+ key <TLDE> { [ bar, section, brokenbar, paragraph ] };
+
+ key <BKSL> { [ dstroke, Dstroke, apostrophe, asterisk ] };
+ key <AB01> { [ z, Z, U0292, U01B7 ] };
+ key <AB02> { [ ccaron, Ccaron, x, X ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB04> { [ v, V, lessthanequal, guillemotleft ] };
+ key <AB05> { [ b, B, greaterthanequal, guillemotright ] };
+ key <AB06> { [ n, N, leftsinglequotemark, leftdoublequotemark ] };
+ key <AB07> { [ m, M, rightsinglequotemark, rightdoublequotemark ] };
+ key <AB08> { [ comma, semicolon, singlelowquotemark, doublelowquotemark ] };
+ key <AB09> { [ period, colon, ellipsis, periodcentered ] };
+ key <AB10> { [ minus, underscore, endash, emdash ] };
+
+ key <LSGT> { type[Group1] = "FOUR_LEVEL",
+ [ zcaron, Zcaron, U01EF, U01EE ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "smi_nodeadkeys" {
+
+ // Modifies the basic Norwegian layout to eliminate dead keys
+
+ include "no(smi)"
+
+ name[Group1]= "Norway - Northern Saami, eliminate dead keys";
+
+ key <AE12> { [ backslash, grave, acute, ogonek ] };
+};
+
+// Copied from macintosh_vndr/no
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Norwegian keybaord
+
+ include "latin(type4)"
+ name[Group1]= "Norway - Macintosh";
+
+ key <TLDE> { [ bar, section ] };
+ key <AE03> { [ 3, numbersign, sterling, sterling ] };
+ key <AE04> { [ 4, currency, dollar, dollar ] };
+ key <AE06> { [ 6, ampersand, threequarters, fiveeighths ] };
+ key <AE07> { [ 7, slash, bar, backslash ] };
+ key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright, bracketright, braceright ] };
+ key <AC10> { [ oslash, Ooblique, odiaeresis, Odiaeresis ] };
+ key <AE11> { [ plus, question ] };
+ key <AC11> { [ ae, AE ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AE12> { [ dead_grave, dead_acute, acute, dead_ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, dead_macron ] };
+ key <BKSL> { [ at, asterisk ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "mac_nodeadkeys" {
+
+ // Modifies the basic Norwegian layout to eliminate dead keys
+ include "no(mac)"
+ name[Group1]= "Norway - Macintosh, eliminate dead keys";
+
+ key <AE12> { [ grave, acute, acute, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/nokia_vndr/Makefile.am b/xorg-server/xkeyboard-config/symbols/nokia_vndr/Makefile.am
new file mode 100644
index 000000000..71200ec4d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nokia_vndr/Makefile.am
@@ -0,0 +1,6 @@
+symbolsdir = $(xkb_base)/symbols/nokia_vndr
+
+dist_symbols_DATA = \
+rx-44 \
+rx-51 \
+su-8w
diff --git a/xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-44 b/xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-44
new file mode 100644
index 000000000..515b69eef
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-44
@@ -0,0 +1,303 @@
+partial alphanumeric_keys
+xkb_symbols "us" {
+ name[Group1] = "U.S. English";
+
+ include "nokia_vndr/rx-44(base)"
+
+ key <AC01> { [ a, A, exclam, exclam ] };
+ key <AC02> { [ s, S, quotedbl, quotedbl ] };
+ key <AC03> { [ d, D, at, at ] };
+ key <AC04> { [ f, F, numbersign, numbersign ] };
+ key <AC05> { [ g, G, backslash, backslash ] };
+ key <AC06> { [ h, H, slash, slash ] };
+ key <AC07> { [ j, J, parenleft, parenleft ] };
+ key <AC08> { [ k, K, parenright, parenright ] };
+ key <AC09> { [ l, L, asterisk, asterisk ] };
+ key <AC11> { [ apostrophe, question, question, question ] };
+
+ key <AB01> { [ z, Z, yen, yen ] };
+ key <AB02> { [ x, X, asciicircum, asciicircum ] };
+ key <AB03> { [ c, C, asciitilde, asciitilde ] };
+ key <AB04> { [ v, V, percent, percent ] };
+ key <AB05> { [ b, B, ampersand, ampersand ] };
+ key <AB06> { [ n, N, dollar, dollar ] };
+ key <AB07> { [ m, M, EuroSign, EuroSign ] };
+ key <AC10> { [ semicolon, colon, sterling, sterling ] };
+ key <AE11> { [ minus, underscore, underscore, underscore ] };
+ key <AE12> { [ plus, equal, equal, equal ] };
+
+ key <AB08> { [ comma, less, comma, less ] };
+ key <AB09> { [ period, greater, period, greater ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "fisenoda" {
+ name[Group1] = "Finnish/Swedish/Norwegian/Danish";
+
+ include "nokia_vndr/rx-44(base)"
+
+ key <AC01> { [ a, A, exclam, exclam ] };
+ key <AC02> { [ s, S, quotedbl, quotedbl ] };
+ key <AC03> { [ d, D, at, at ] };
+ key <AC04> { [ f, F, numbersign, numbersign ] };
+ key <AC05> { [ g, G, asterisk, asterisk ] };
+ key <AC06> { [ h, H, backslash, backslash ] };
+ key <AC07> { [ j, J, slash, slash ] };
+ key <AC08> { [ k, K, parenleft, parenleft ] };
+ key <AC09> { [ l, L, parenright, parenright ] };
+ key <AC11> { [ aring, Aring, question, question ] };
+
+ key <AB01> { [ z, Z, EuroSign, EuroSign ] };
+ key <AB02> { [ x, X, asciitilde, asciitilde ] };
+ key <AB03> { [ c, C, percent, percent ] };
+ key <AB04> { [ v, V, ampersand, ampersand ] };
+ key <AB05> { [ b, B, plus, plus ] };
+ key <AB06> { [ n, N, less, less ] };
+ key <AB07> { [ m, M, greater, greater ] };
+ key <AC10> { type="EIGHT_LEVEL", [ oslash, Oslash, equal, equal, odiaeresis, Odiaeresis, equal, equal ] };
+ key <AE11> { type="EIGHT_LEVEL", [ ae, AE, apostrophe, apostrophe, adiaeresis, Adiaeresis, apostrophe, apostrophe ] };
+ key <AE12> { [ minus, underscore, underscore, underscore ] };
+
+ key <AB08> { [ comma, semicolon, comma, semicolon ] };
+ key <AB09> { [ period, colon, period, colon ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "ptes" {
+ name[Group1] = "Portuguese/Spanish";
+
+ include "nokia_vndr/rx-44(base)"
+
+ key <AC01> { [ a, A, exclam, exclam ] };
+ key <AC02> { [ s, S, quotedbl, quotedbl ] };
+ key <AC03> { [ d, D, at, at ] };
+ key <AC04> { [ f, F, numbersign, numbersign ] };
+ key <AC05> { [ g, G, asterisk, asterisk ] };
+ key <AC06> { [ h, H, backslash, backslash ] };
+ key <AC07> { [ j, J, slash, slash ] };
+ key <AC08> { [ k, K, parenleft, parenleft ] };
+ key <AC09> { [ l, L, parenright, parenright ] };
+ key <AC11> { [ dead_acute, dead_grave, dead_diaeresis, dead_diaeresis ] };
+
+ key <AB01> { [ z, Z, EuroSign, EuroSign ] };
+ key <AB02> { [ x, X, percent, percent ] };
+ key <AB03> { [ c, C, ampersand, ampersand ] };
+ key <AB04> { [ v, V, exclamdown, exclamdown ] };
+ key <AB05> { [ b, B, apostrophe, apostrophe ] };
+ key <AB06> { [ n, N, plus, plus ] };
+ key <AB07> { [ m, M, equal, equal ] };
+ key <AC10> { [ ccedilla, Ccedilla, questiondown, questiondown ] };
+ key <AE11> { [ ntilde, Ntilde, question, question ] };
+ key <AE12> { [ dead_tilde, dead_circumflex, dead_circumflex, dead_circumflex ] };
+
+ key <AB08> { [ comma, semicolon, minus, minus ] };
+ key <AB09> { [ period, colon, underscore, underscore ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "fr" {
+ name[Group1] = "French";
+
+ include "nokia_vndr/rx-44(base)"
+
+ key <AD01> { [ a, A, 1, 1 ] };
+ key <AD02> { [ z, Z, 2, 2 ] };
+
+ key <AC01> { [ q, Q, at, at ] };
+ key <AC02> { [ s, S, percent, percent ] };
+ key <AC03> { [ d, D, ecircumflex, Ecircumflex ] };
+ key <AC04> { [ f, F, eacute, Eacute ] };
+ key <AC05> { [ g, G, egrave, Egrave ] };
+ key <AC06> { [ h, H, oe, OE ] };
+ key <AC07> { [ j, J, parenleft, parenleft ] };
+ key <AC08> { [ k, K, parenright, parenright ] };
+ key <AC09> { [ l, L, agrave, Agrave ] };
+ key <AC11> { [ m, M, ugrave, Ugrave ] };
+
+ key <AB01> { [ w, w, EuroSign, EuroSign ] };
+ key <AB02> { [ x, X, numbersign, numbersign ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB04> { [ v, V, plus, plus ] };
+ key <AB05> { [ b, B, equal, equal ] };
+ key <AB06> { [ n, N, quotedbl, quotedbl ] };
+ key <AB07> { [ comma, question, backslash, backslash ] };
+ key <AC10> { [ semicolon, period, minus, minus ] };
+ key <AE11> { [ colon, slash, underscore, underscore ] };
+ key <AE12> { [ apostrophe, apostrophe, mu, mu ] };
+
+ key <AB08> { [ less, greater, less, greater ] };
+ key <AB09> { [ exclam, section, asterisk, asterisk ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "de" {
+ name[Group1] = "German";
+
+ include "nokia_vndr/rx-44(base)"
+
+ key <AD06> { [ z, Z, 6, 6 ] };
+
+ key <AC01> { [ a, A, exclam, exclam ] };
+ key <AC02> { [ s, S, quotedbl, quotedbl ] };
+ key <AC03> { [ d, D, at, at ] };
+ key <AC04> { [ f, F, numbersign, numbersign ] };
+ key <AC05> { [ g, G, percent, percent ] };
+ key <AC06> { [ h, H, backslash, backslash ] };
+ key <AC07> { [ j, J, slash, slash ] };
+ key <AC08> { [ k, K, parenleft, parenleft ] };
+ key <AC09> { [ l, L, parenright, parenright ] };
+ key <AC11> { [ udiaeresis, Udiaeresis, question, question ] };
+
+ key <AB01> { [ y, Y, EuroSign, EuroSign ] };
+ key <AB02> { [ x, X, asciitilde, asciitilde ] };
+ key <AB03> { [ c, C, asterisk, asterisk ] };
+ key <AB04> { [ v, V, ampersand, ampersand ] };
+ key <AB05> { [ b, B, plus, plus ] };
+ key <AB06> { [ n, N, less, less ] };
+ key <AB07> { [ m, M, greater, greater ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, equal, equal ] };
+ key <AE11> { [ adiaeresis, Adiaeresis, apostrophe, apostrophe ] };
+ key <AE12> { [ minus, underscore, ssharp, ssharp ] };
+
+ key <AB08> { [ comma, semicolon, comma, semicolon ] };
+ key <AB09> { [ period, colon, period, colon ] };
+};
+
+
+// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons.
+partial alphanumeric_keys
+xkb_symbols "ru" {
+ name[Group1] = "Russian";
+
+ include "nokia_vndr/rx-44(base)"
+
+ key <AD01> { type="EIGHT_LEVEL", [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] };
+ key <AD02> { type="EIGHT_LEVEL", [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] };
+ key <AD03> { type="EIGHT_LEVEL", [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] };
+ key <AD04> { type="EIGHT_LEVEL", [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] };
+ key <AD05> { type="EIGHT_LEVEL", [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] };
+ key <AD06> { type="EIGHT_LEVEL", [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] };
+ key <AD07> { type="EIGHT_LEVEL", [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] };
+ key <AD08> { type="EIGHT_LEVEL", [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] };
+ key <AD09> { type="EIGHT_LEVEL", [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] };
+ key <AD10> { type="EIGHT_LEVEL", [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] };
+
+ key <AC01> { type="EIGHT_LEVEL", [ a, A, exclam, exclam, Cyrillic_ef, Cyrillic_EF, exclam, exclam ] };
+ key <AC02> { type="EIGHT_LEVEL", [ s, S, quotedbl, quotedbl, Cyrillic_yeru, Cyrillic_YERU, quotedbl, quotedbl ] };
+ key <AC03> { type="EIGHT_LEVEL", [ d, D, at, at, Cyrillic_ve, Cyrillic_VE, at, at ] };
+ key <AC04> { type="EIGHT_LEVEL", [ f, F, numbersign, numbersign, Cyrillic_a, Cyrillic_A, numbersign, numbersign ] };
+ key <AC05> { type="EIGHT_LEVEL", [ g, G, backslash, backslash, Cyrillic_pe, Cyrillic_PE, backslash, backslash ] };
+ key <AC06> { type="EIGHT_LEVEL", [ h, H, slash, slash, Cyrillic_er, Cyrillic_ER, slash, slash ] };
+ key <AC07> { type="EIGHT_LEVEL", [ j, J, parenleft, parenleft, Cyrillic_o, Cyrillic_O, parenleft, parenleft ] };
+ key <AC08> { type="EIGHT_LEVEL", [ k, K, parenright, parenright, Cyrillic_el, Cyrillic_EL, parenright, parenright ] };
+ key <AC09> { type="EIGHT_LEVEL", [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] };
+ key <AC11> { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, semicolon, semicolon, Cyrillic_zhe, Cyrillic_ZHE, semicolon, semicolon ] };
+
+ key <AB01> { type="EIGHT_LEVEL", [ z, Z, underscore, underscore, Cyrillic_ya, Cyrillic_YA, minus, minus ] };
+ key <AB02> { type="EIGHT_LEVEL", [ x, X, percent, percent, Cyrillic_che, Cyrillic_CHE, percent, percent ] };
+ key <AB03> { type="EIGHT_LEVEL", [ c, C, 0x1002116, 0x1002116, Cyrillic_es, Cyrillic_ES, 0x1002116, 0x1002116 ] };
+ key <AB04> { type="EIGHT_LEVEL", [ v, V, equal, equal, Cyrillic_em, Cyrillic_EM, equal, equal ] };
+ key <AB05> { type="EIGHT_LEVEL", [ b, B, ampersand, ampersand, Cyrillic_i, Cyrillic_I, ampersand, ampersand ] };
+ key <AB06> { type="EIGHT_LEVEL", [ n, N, asterisk, asterisk, Cyrillic_te, Cyrillic_TE, asterisk, asterisk ] };
+ key <AB07> { type="EIGHT_LEVEL", [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] };
+ key <AC10> { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, minus, minus, Cyrillic_be, Cyrillic_BE, minus, minus ] };
+ key <AE11> { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, question, question, Cyrillic_yu, Cyrillic_YU, question, question ] };
+ key <AE12> { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+
+ key <AB08> { type="EIGHT_LEVEL", [ period, comma, period, comma, period, comma, period, comma ] };
+ key <AB09> { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, Cyrillic_io, Cyrillic_IO, Cyrillic_e, Cyrillic_E, Cyrillic_io, Cyrillic_IO ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "it" {
+ name[Group1] = "Italian";
+
+ include "nokia_vndr/rx-44(base)"
+
+ key <AC01> { [ a, A, exclam, exclam ] };
+ key <AC02> { [ s, S, quotedbl, quotedbl ] };
+ key <AC03> { [ d, D, at, at ] };
+ key <AC04> { [ f, F, numbersign, numbersign ] };
+ key <AC05> { [ g, G, asterisk, asterisk ] };
+ key <AC06> { [ h, H, backslash, backslash ] };
+ key <AC07> { [ j, J, slash, slash ] };
+ key <AC08> { [ k, K, parenleft, parenleft ] };
+ key <AC09> { [ l, L, parenright, parenright ] };
+ key <AC11> { [ apostrophe, question, igrave, Igrave ] };
+
+ key <AB01> { [ z, Z, EuroSign, EuroSign ] };
+ key <AB02> { [ x, X, asciitilde, asciitilde ] };
+ key <AB03> { [ c, C, ampersand, ampersand ] };
+ key <AB04> { [ v, V, equal, equal ] };
+ key <AB05> { [ b, B, less, less ] };
+ key <AB06> { [ n, N, greater, greater ] };
+ key <AB07> { [ m, M, plus, plus ] };
+ key <AC10> { [ eacute, Eacute, ograve, Ograve ] };
+ key <AE11> { [ egrave, Egrave, agrave, Agrave ] };
+ key <AE12> { [ minus, underscore, ugrave, Ugrave ] };
+
+ key <AB08> { [ comma, semicolon, comma, semicolon ] };
+ key <AB09> { [ period, colon, period, colon ] };
+};
+
+partial default alphanumeric_keys
+xkb_symbols "base" {
+ key <AD01> { [ q, Q, 1, 1 ] };
+ key <AD02> { [ w, W, 2, 2 ] };
+ key <AD03> { [ e, E, 3, 3 ] };
+ key <AD04> { [ r, R, 4, 4 ] };
+ key <AD05> { [ t, T, 5, 5 ] };
+ key <AD06> { [ y, Y, 6, 6 ] };
+ key <AD07> { [ u, U, 7, 7 ] };
+ key <AD08> { [ i, I, 8, 8 ] };
+ key <AD09> { [ o, O, 9, 9 ] };
+ key <AD10> { [ p, P, 0, 0 ] };
+ key <BKSP> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
+
+ // broken UI spec.
+ key <RTRN> { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter ] };
+
+ key <COMP> { [ Multi_key, Multi_key, Multi_key, Multi_key ] };
+ key <LFSH> { [ Shift_L, Shift_L, Shift_L, Shift_L ] };
+ key <FN> { [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Shift ] };
+ key <SPCE> { [ space, space, space, space ] };
+ key <RCTL> { [ Control_R, Control_R, Control_R, Control_R ] };
+ key <TAB> { [ Tab, Tab, Tab, Tab ] };
+
+ modifier_map Shift { Shift_L };
+ modifier_map Mod5 { ISO_Level3_Shift };
+ modifier_map Control { Control_R };
+
+ key <KPEN> { [ Return ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+
+ key <ESC> { [ Escape ] };
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+
+ // generated from the headset, must always be in the map.
+ key <I29> { [ XF86Phone ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-51 b/xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-51
new file mode 100644
index 000000000..fd98fbf28
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nokia_vndr/rx-51
@@ -0,0 +1,491 @@
+default partial alphanumeric_keys
+xkb_symbols "common" {
+ include "nokia_vndr/rx-51(common_keys)"
+ include "nokia_vndr/rx-51(modifiers)"
+
+ // This section should not be included by any other section.
+ // It's referenced only once by rule file to allow multiple layout configurations.
+
+ // More than one layout at the same time could be set for instance as follows:
+ // setxkbmap -rules evdev \
+ // -model nokiarx51 \
+ // -option grp:ctrl_shift_toggle \
+ // -layout us,cz \
+ // -variant ",qwerty"
+
+ // Notice the similarity:
+ // "pc+us+cz(qwerty):2+grp:XYZ" vs.
+ // "nokia_vndr/rx-51(common)+nokia_vndr/rx-51(us)+nokia_vndr/rx-51(cz_qwerty):2+grp:XYZ"
+ // where XYZ is one of xkb_symbols section usually located in file symbols/group.
+
+ // Bear in mind that option XYZ could replace current keys configuration!!!
+
+ // For instance using symbols/group(ctrl_shift_toggle) redefines LCTL and LFSH keys
+ // which may disallow opening of virtual symbol table (Multi_key).
+ // Fortunately the Multi_key is defined in 3rd and 4th level a ctrl_shift_toggle
+ // redefines first two levels only. But RX-51 has not right Ctrl nor Shift therefore
+ // pressing Ctrl+Shift will switch to previous layout, not to the next one.
+
+ // For RX-51 device there is a lot of restrictions if more than one layout is
+ // is configured at the same time because some modifiers and special cases are
+ // handled by hildon layer (especially with eight-level layout):
+ // - settings may be done from terminal only (GUI doesn't and won't support it)
+ // - virtual symbol table is not updated according to current layout
+ // - for unknown reasons the eight-level layout (nordic,ru) works properly
+ // only if it's configured as first layout (e.g. "ru,us,cz" not "us,cz,ru")
+ // otherwise it's not possible to access levels 5-8
+ // - Ctrl+Space related problems:
+ // - If eight-level layout is used as first layout one of eight-level layouts has to
+ // be also chosen in GUI - otherwise the Ctrl+Space "switch" is disabled
+ // - Ctrl+Space has no effect if only four-level layouts are chosen
+ // (don't forget the layout configured in GUI - despite of it's not reachable)
+ // - a few keys in 2nd layer could be mixed with other layouts when Ctrl+Space is "turned on" (why?)
+ // in case eight- and four-level layouts are configured simultaneously
+ // - Ctrl+Space is "turned on" by default and has to be "turned off" for four-level layouts
+ // in case eight- and four-level layouts are configured simultaneously
+ // - four-level layout on first place doesn't work at all when Ctrl+Space is "turned on"
+ // in case the 2nd, 3rd or 4th layout is eight-level layout
+};
+
+////////////////////////////////////////////////////////////////////////////////
+
+partial alphanumeric_keys
+xkb_symbols "us" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "U.S. English";
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "pl" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_4btns)"
+
+ name[Group1] = "Polish";
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "fise" {
+ include "nokia_vndr/rx-51(nordic_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Finnish/Swedish";
+
+ // 2. row
+ key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] };
+ key <UP> { [ adiaeresis, Adiaeresis, question, question ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "dano" {
+ include "nokia_vndr/rx-51(nordic_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Danish/Norwegian";
+
+ // 2. row
+ key <AB09> { [ oslash, Oslash, exclam, exclam ] };
+ key <UP> { [ ae, AE, question, question ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "nordic" {
+ include "nokia_vndr/rx-51(nordic_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Danish/Finnish/Norwegian/Swedish";
+
+ key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
+
+ // 2. row
+ key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam, oslash, Oslash, exclam, exclam ] };
+ key <UP> { [ adiaeresis, Adiaeresis, question, question, ae, AE, question, question ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "ptes" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Portuguese/Spanish";
+
+ // 1. row
+ key <AB08> { [ dead_acute, dead_acute, dead_grave, dead_grave ] };
+
+ // 2. row
+ key <AC05> { [ g, G, exclamdown, exclamdown ] };
+ key <AC06> { [ h, H, exclam, exclam ] };
+ key <AC07> { [ j, J, questiondown, questiondown ] };
+ key <AC08> { [ k, K, question, question ] };
+ key <AC09> { [ l, L, dead_diaeresis, dead_diaeresis ] };
+ key <AB09> { [ ntilde, Ntilde, dead_tilde, dead_tilde ] };
+ key <UP> { [ ccedilla, Ccedilla, dead_circumflex,dead_circumflex ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, parenleft, parenleft ] };
+ key <AB02> { [ x, X, parenright, parenright ] };
+ key <AB03> { [ c, C, slash, slash ] };
+ key <AB04> { [ v, V, quotedbl, quotedbl ] };
+ key <AB05> { [ b, B, apostrophe, apostrophe ] };
+ key <AB06> { [ n, N, colon, colon ] };
+ key <AB07> { [ m, M, semicolon, semicolon ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "fr" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "French";
+
+ // 1. row
+ key <AD01> { [ a, A, 1, 1 ] };
+ key <AD02> { [ z, Z, 2, 2 ] };
+ key <AB08> { [ agrave, Agrave, ccedilla, Ccedilla ] };
+
+ // 2. row
+ key <AC01> { [ q, Q, asterisk, asterisk ] };
+ key <AC02> { [ s, S, plus, plus ] };
+ key <AC03> { [ d, D, numbersign, numbersign ] };
+ key <AC04> { [ f, F, minus, minus ] };
+ key <AC05> { [ g, G, underscore, underscore ] };
+ key <AC06> { [ h, H, exclam, exclam ] };
+ key <AC07> { [ j, J, question, question ] };
+ key <AC08> { [ k, K, colon, colon ] };
+ key <AC09> { [ l, L, dead_circumflex,dead_circumflex ] };
+ key <AB09> { [ m, M, ugrave, Ugrave ] };
+ key <UP> { [ eacute, Eacute, egrave, Egrave ] };
+
+ // 3. row
+ key <AB01> { [ w, W, EuroSign, EuroSign ] };
+ key <AB03> { [ c, C, parenleft, parenleft ] };
+ key <AB04> { [ v, V, parenright, parenright ] };
+ key <AB05> { [ b, B, slash, slash ] };
+ key <AB07> { [ comma, comma, apostrophe, apostrophe ] };
+ key <LEFT> { [ semicolon, period, period, period ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "de" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "German";
+
+ // 1. row
+ key <AD06> { [ z, Z, 6, 6 ] };
+ key <AB08> { [ udiaeresis, Udiaeresis, ssharp, ssharp ] };
+
+ // 2. row
+ key <AC08> { [ k, K, semicolon, semicolon ] };
+ key <AC09> { [ l, L, colon, colon ] };
+ key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] };
+ key <UP> { [ adiaeresis, Adiaeresis, question, question ] };
+
+ // 3. row
+ key <AB01> { [ y, Y, EuroSign, EuroSign ] };
+ key <AB03> { [ c, C, equal, equal ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "ch" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Swiss";
+
+ // 1. row
+ key <AD06> { [ z, Z, 6, 6 ] };
+ key <AB08> { [ udiaeresis, Udiaeresis, egrave, Egrave ] };
+
+ // 2. row
+ key <AC06> { [ h, H, equal, equal ] };
+ key <AC07> { [ j, J, parenleft, parenleft ] };
+ key <AC08> { [ k, K, parenright, parenright ] };
+ key <AC09> { [ l, L, colon, colon ] };
+ key <AB09> { [ odiaeresis, Odiaeresis, eacute, Aacute ] };
+ key <UP> { [ adiaeresis, Adiaeresis, agrave, Agrave ] };
+
+ // 3. row
+ key <AB01> { [ y, Y, question, question ] };
+ key <AB02> { [ x, X, exclam, exclam ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+
+
+// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons.
+partial alphanumeric_keys
+xkb_symbols "ru" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Russian";
+
+ key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";
+
+ // 1. row
+ key <AD01> { [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] };
+ key <AD02> { [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] };
+ key <AD03> { [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] };
+ key <AD04> { [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] };
+ key <AD05> { [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] };
+ key <AD06> { [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] };
+ key <AD07> { [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] };
+ key <AD08> { [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] };
+ key <AD09> { [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] };
+ key <AD10> { [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] };
+ key <AB08> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+
+ // 2. row
+ key <AC01> { [ a, A, asterisk, asterisk, Cyrillic_ef, Cyrillic_EF, asterisk, asterisk ] };
+ key <AC02> { [ s, S, plus, plus, Cyrillic_yeru, Cyrillic_YERU, plus, plus ] };
+ key <AC03> { [ d, D, numbersign, numbersign, Cyrillic_ve, Cyrillic_VE, numbersign, numbersign ] };
+ key <AC04> { [ f, F, minus, minus, Cyrillic_a, Cyrillic_A, minus, minus ] };
+ key <AC05> { [ g, G, underscore, underscore, Cyrillic_pe, Cyrillic_PE, underscore, underscore ] };
+ key <AC06> { [ h, H, exclam, exclam, Cyrillic_er, Cyrillic_ER, exclam, exclam ] };
+ key <AC07> { [ j, J, question, question, Cyrillic_o, Cyrillic_O, question, question ] };
+ key <AC08> { [ k, K, semicolon, semicolon, Cyrillic_el, Cyrillic_EL, semicolon, semicolon ] };
+ key <AC09> { [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] };
+ key <AB09> { [ comma, comma, comma, comma, Cyrillic_zhe, Cyrillic_ZHE, comma, comma ] };
+ key <UP> { [ period, period, period, period, Cyrillic_e, Cyrillic_E, period, period ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, dollar, dollar, Cyrillic_ya, Cyrillic_YA, dollar, dollar ] };
+ key <AB02> { [ x, X, EuroSign, EuroSign, Cyrillic_che, Cyrillic_CHE, EuroSign, EuroSign ] };
+ key <AB03> { [ c, C, slash, slash, Cyrillic_es, Cyrillic_ES, slash, slash ] };
+ key <AB04> { [ v, V, parenleft, parenleft, Cyrillic_em, Cyrillic_EM, parenleft, parenleft ] };
+ key <AB05> { [ b, B, parenright, parenright, Cyrillic_i, Cyrillic_I, parenright, parenright ] };
+ key <AB06> { [ n, N, quotedbl, quotedbl, Cyrillic_te, Cyrillic_TE, quotedbl, quotedbl ] };
+ key <AB07> { [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] };
+ key <LEFT> { [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU, Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "it" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Italian";
+
+ // 1. row
+ key <AB08> { [ egrave, Egrave, eacute, Eacute ] };
+
+ // 2. row
+ key <AC06> { [ h, H, semicolon, semicolon ] };
+ key <AC07> { [ j, J, colon, colon ] };
+ key <AC08> { [ k, K, exclam, exclam ] };
+ key <AC09> { [ l, L, question, question ] };
+ key <AB09> { [ ograve, Ograve, igrave, Igrave ] };
+ key <UP> { [ agrave, Agrave, ugrave, Ugrave ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, EuroSign, EuroSign ] };
+ key <AB02> { [ x, X, parenleft, parenleft ] };
+ key <AB03> { [ c, C, parenright, parenright ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "cz" {
+ include "nokia_vndr/rx-51(english_base)"
+ include "nokia_vndr/rx-51(arrows_2btns)"
+
+ name[Group1] = "Czech";
+
+ // 1. row
+ key <AD06> { [ z, Z, 6, 6 ] };
+ key <AB08> { [ dead_acute, dead_acute, sterling, sterling ] };
+
+ // 2. row
+ key <AC08> { [ k, K, semicolon, semicolon ] };
+ key <AC09> { [ l, L, colon, colon ] };
+ key <AB09> { [ uring, Uring, EuroSign, EuroSign ] };
+ key <UP> { [ dead_caron, dead_caron, dollar, dollar ] };
+
+ // 3. row
+ key <AB01> { [ y, Y, equal, equal ] };
+ key <AB02> { [ x, X, slash, slash ] };
+ key <AB03> { [ c, C, backslash, backslash ] };
+ key <AB04> { [ v, V, apostrophe, apostrophe ] };
+ key <AB05> { [ b, B, quotedbl, quotedbl ] };
+ key <AB06> { [ n, N, exclam, exclam ] };
+ key <AB07> { [ m, M, question, question ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "cz_qwerty" {
+ include "nokia_vndr/rx-51(cz)"
+
+ name[Group1] = "Czech - qwerty";
+
+ // Do not use the layout "cz_qwerty" directly if it is the only layout and compat rules enabled.
+ // There is one compat rule that converts "cz_qwerty" to "pc+cz(qwerty)" which is not correct for RX-51.
+ // Use either the layout "cz(qwerty)" or the general "cz" with variant "qwerty".
+
+ // 1. row
+ key <AD06> { [ y, Y, 6, 6 ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, percent, percent ] };
+};
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+
+partial hidden alphanumeric_keys
+xkb_symbols "nordic_base" {
+ include "nokia_vndr/rx-51(english_base)"
+
+ // 1. row
+ key <AB08> { [ aring, Aring, equal, equal ] };
+
+ // 2. row
+ key <AC08> { [ k, K, semicolon, semicolon ] };
+ key <AC09> { [ l, L, colon, colon ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, EuroSign, EuroSign ] };
+ key <AB03> { [ c, C, sterling, sterling ] };
+ key <LEFT> { [ period, comma, comma, comma ] };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "english_base" {
+
+ // 1. row
+ key <AD01> { [ q, Q, 1, 1 ] };
+ key <AD02> { [ w, W, 2, 2 ] };
+ key <AD03> { [ e, E, 3, 3 ] };
+ key <AD04> { [ r, R, 4, 4 ] };
+ key <AD05> { [ t, T, 5, 5 ] };
+ key <AD06> { [ y, Y, 6, 6 ] };
+ key <AD07> { [ u, U, 7, 7 ] };
+ key <AD08> { [ i, I, 8, 8 ] };
+ key <AD09> { [ o, O, 9, 9 ] };
+ key <AD10> { [ p, P, 0, 0 ] };
+ key <AB08> { [ comma, semicolon, equal, equal ] };
+
+ // 2. row
+ key <AC01> { [ a, A, asterisk, asterisk ] };
+ key <AC02> { [ s, S, plus, plus ] };
+ key <AC03> { [ d, D, numbersign, numbersign ] };
+ key <AC04> { [ f, F, minus, minus ] };
+ key <AC05> { [ g, G, underscore, underscore ] };
+ key <AC06> { [ h, H, parenleft, parenleft ] };
+ key <AC07> { [ j, J, parenright, parenright ] };
+ key <AC08> { [ k, K, ampersand, ampersand ] };
+ key <AC09> { [ l, L, exclam, exclam ] };
+ key <AB09> { [ period, colon, question, question ] };
+
+ // 3. row
+ key <AB01> { [ z, Z, sterling, sterling ] };
+ key <AB02> { [ x, X, dollar, dollar ] };
+ key <AB03> { [ c, C, EuroSign, EuroSign ] };
+ key <AB04> { [ v, V, slash, slash ] };
+ key <AB05> { [ b, B, backslash, backslash ] };
+ key <AB06> { [ n, N, quotedbl, quotedbl ] };
+ key <AB07> { [ m, M, apostrophe, apostrophe ] };
+ key <SPCE> { [ space, space, at, at ] };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "common_keys" {
+ // all other common keys
+
+ key <BKSP> { [ BackSpace ] };
+ key <TAB> { [ Tab ] };
+
+ // broken UI spec.
+ key <RTRN> { [ KP_Enter ] };
+
+ key <KPEN> { [ Return ] };
+ key <ESC> { [ Escape ] };
+
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+
+ // Swap +/- keys intentionally. The VOL+/VOL- keys are located physically
+ // on left/right and up/down in landscape/portrait orientation. This does
+ // not feel natural for the user and therefore we want the VOL+/VOL- keys
+ // map to -/+.
+ //
+ // The only exception is an active call in portrait mode where we want to
+ // use the real meanings of the keys. This special case and management of
+ // +/- keys in general is handled in maemo-statusmenu-volume.
+ key <FK07> { [ F8 ] };
+ key <FK08> { [ F7 ] };
+
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+};
+
+partial hidden alphanumeric_keys modifier_keys
+xkb_symbols "modifiers" {
+ // Shift switches between current level and level+1
+ key <LFSH> {
+ type[Group1] = "ONE_LEVEL",
+ symbols[Group1] = [ Shift_L ]
+ };
+ modifier_map Shift { Shift_L };
+
+ // Fn+Ctrl virtual symbol table (Multi_key)
+ // Ctrl+Space switches between 1st and 5th level (hardcoded in hildon)
+ key <LCTL> {
+ type[Group1] = "FOUR_LEVEL",
+ symbols[Group1] = [ Control_L, Control_L, Multi_key, Multi_key ]
+ };
+ modifier_map Control { Control_L };
+
+ // Fn key (right alt) switches to 3rd level
+ include "level3(ralt_switch)"
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "arrows_2btns" {
+ // rx-51 specific arrows mapping
+ // normal 2nd level must not be enumerated to allow text selection with Shift key
+ key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, Up ] };
+ key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, Down ] };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "arrows_4btns" {
+ // standard arrows mapping
+ // normal 2nd level must not be enumerated to allow text selection with Shift key
+ key <UP> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Up ] };
+ key <LEFT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Left ] };
+ key <DOWN> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Down ] };
+ key <RGHT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Right ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/nokia_vndr/su-8w b/xorg-server/xkeyboard-config/symbols/nokia_vndr/su-8w
new file mode 100644
index 000000000..6962aa971
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nokia_vndr/su-8w
@@ -0,0 +1,484 @@
+partial alphanumeric_keys default
+xkb_symbols "no" {
+ name[Group1]= "Norwegian/Danish";
+
+ include "nokia_vndr/su-8w(base)"
+
+ key <AE01> { [ 1, exclam, dead_circumflex ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, EuroSign ] };
+ key <AE04> { [ 4, currency, dollar ] };
+ key <AE05> { [ 5, percent, sterling ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question ] };
+ key <AE12> { [ dead_acute, dead_grave, backslash ] };
+
+ key <AD01> { [ q, Q, dead_circumflex ] };
+ key <AD02> { [ w, W, at ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, dollar ] };
+ key <AD05> { [ t, T, sterling ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U, braceleft ] };
+ key <AD08> { [ i, I, bracketleft ] };
+ key <AD09> { [ o, O, bracketright ] };
+ key <AD10> { [ p, P, braceright ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AD12> { [ ssharp, ssharp, backslash ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ oslash, Ooblique ] };
+ key <AC11> { [ ae, AE ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, semicolon, less ] };
+ key <AB09> { [ period, colon, greater ] };
+ key <AB10> { [ minus, underscore, dead_diaeresis ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "no_nodeadkeys" {
+ name[Group1] = "Norwegian/Danish (no dead keys)";
+
+ include "nokia_vndr/su-8w(no)"
+
+ key <AE01> { [ 1, exclam, asciicircum ] };
+ key <AE12> { [ acute, grave, backslash ] };
+ key <AD01> { [ q, Q, asciicircum ] };
+};
+
+partial alphanumeric_keys default
+xkb_symbols "dk" {
+ include "nokia_vndr/su-8w(no)"
+};
+
+partial alphanumeric_keys default
+xkb_symbols "dk_nodeadkeys" {
+ include "nokia_vndr/su-8w(no_nodeadkeys)"
+};
+
+
+
+partial alphanumeric_keys default
+xkb_symbols "de" {
+ name[Group1]= "German";
+ include "nokia_vndr/su-8w(base)"
+
+ key <AE01> { [ 1, exclam, dead_circumflex ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, EuroSign ] };
+ key <AE04> { [ 4, currency, dollar ] };
+ key <AE05> { [ 5, percent, sterling ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question ] };
+ key <AE12> { [ dead_acute, dead_grave, backslash ] };
+
+ key <AD01> { [ q, Q, dead_circumflex ] };
+ key <AD02> { [ w, W, at ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, dollar ] };
+ key <AD05> { [ t, T, sterling ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U, braceleft ] };
+ key <AD08> { [ i, I, bracketleft ] };
+ key <AD09> { [ o, O, bracketright ] };
+ key <AD10> { [ p, P, braceright ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ] };
+ key <AD12> { [ ssharp, ssharp, backslash ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ] };
+
+ key <AB01> { [ y, Y ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, semicolon, less ] };
+ key <AB09> { [ period, colon, greater ] };
+ // XXX Inexplicably, the diaeresis is dead on other layouts, but not
+ // German. Go figure.
+ key <AB10> { [ minus, underscore, diaeresis ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "de_nodeadkeys" {
+ name[Group1] = "German (no dead keys)";
+
+ include "nokia_vndr/su-8w(de)"
+
+ key <AE01> { [ 1, exclam, asciicircum ] };
+ key <AE12> { [ acute, grave, backslash ] };
+ key <AD01> { [ q, Q, asciicircum ] };
+};
+
+
+
+partial alphanumeric_keys default
+xkb_symbols "se" {
+ name[Group1]= "Finnish/Swedish";
+
+ include "nokia_vndr/su-8w(base)"
+
+ key <AE01> { [ 1, exclam, dead_circumflex ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, EuroSign ] };
+ key <AE04> { [ 4, currency, dollar ] };
+ key <AE05> { [ 5, percent, sterling ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question ] };
+ key <AE12> { [ dead_acute, dead_grave, backslash ] };
+
+ key <AD01> { [ q, Q, dead_circumflex ] };
+ key <AD02> { [ w, W, at ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, dollar ] };
+ key <AD05> { [ t, T, sterling ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U, braceleft ] };
+ key <AD08> { [ i, I, bracketleft ] };
+ key <AD09> { [ o, O, bracketright ] };
+ key <AD10> { [ p, P, braceright ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AD12> { [ ssharp, ssharp, backslash ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, semicolon, less ] };
+ key <AB09> { [ period, colon, greater ] };
+ key <AB10> { [ minus, underscore, dead_diaeresis ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "se_nodeadkeys" {
+ name[Group1] = "Finnish/Swedish (no dead keys)";
+
+ include "nokia_vndr/su-8w(se)"
+
+ key <AE01> { [ 1, exclam, asciicircum ] };
+ key <AE12> { [ acute, grave, backslash ] };
+ key <AD01> { [ q, Q, asciicircum ] };
+ key <AB10> { [ minus, underscore, diaeresis ] };
+};
+
+partial alphanumeric_keys default
+xkb_symbols "fi" {
+ include "nokia_vndr/su-8w(se)"
+};
+
+xkb_symbols "fi_nodeadkeys" {
+ include "nokia_vndr/su-8w(se_nodeadkeys)"
+};
+
+
+
+// Russian layout on first two levels, US layout on third and fourth.
+partial alphanumeric_keys default
+xkb_symbols "ru" {
+ name[Group1]= "Russian";
+
+ include "nokia_vndr/su-8w(base)"
+
+ // XXX Would be nice if this actually generated a tilde.
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO, grave ] };
+ key <AE01> { [ 1, exclam, exclam, exclam ] };
+ key <AE02> { [ 2, at, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, numbersign, numbersign ] };
+ key <AE04> { [ 4, dollar, currency, dollar ] };
+ key <AE05> { [ 5, percent, percent, percent ] };
+ key <AE06> { [ 6, dead_circumflex, ampersand, asciicircum ] };
+ key <AE07> { [ 7, ampersand, slash, ampersand ] };
+ key <AE08> { [ 8, asterisk, parenleft, asterisk ] };
+ key <AE09> { [ 9, parenleft, parenright, parenleft ] };
+ key <AE10> { [ 0, parenright, equal, parenright ] };
+ key <AE11> { [ minus, underscore, plus, question ] };
+ key <AE12> { [ equal, plus, equal, plus ] };
+
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, q, Q ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, w, W ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, e, E ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA, r, R ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE, t, T ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN, y, Y ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, u, U ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, i, I ] };
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, o, O ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, p, P ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft ] };
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright, braceright ] };
+
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF, a, A ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, s, S ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE, d, D ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A, f, F ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE, g, G ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER, h, H ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O, j, J ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL, k, K ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE, l, L ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, semicolon, colon ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E, apostrophe, quotedbl ] };
+
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA, z, Z ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE, x, X ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES, c, C ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM, v, V ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I, b, B ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE, n, N ] };
+ key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, m, M ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE, comma, less ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU, period, greater ] };
+ key <AB10> { [ slash, question, slash, question ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "ru_nodeadkeys" {
+ name[Group1] = "Russian - no dead keys";
+
+ include "nokia_vndr/su-8w(ru)"
+
+ key <AE06> { [ 6, asciicircum, ampersand, asciicircum ] };
+};
+
+
+
+partial alphanumeric_keys default
+xkb_symbols "us" {
+ name[Group1]= "U.S. English - International";
+
+ include "nokia_vndr/su-8w(base)"
+
+ // I can't believe it's not us(intl).
+ key <AE01> { [ 1, exclam, exclamdown ] };
+ key <AE02> { [ 2, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar, currency ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AE06> { [ 6, asciicircum, onequarter ] };
+ key <AE07> { [ 7, ampersand, onehalf ] };
+ key <AE08> { [ 8, asterisk, threequarters ] };
+ key <AE09> { [ 9, parenleft, leftsinglequotemark ] };
+ key <AE10> { [ 0, parenright, rightsinglequotemark ] };
+ key <AE11> { [ minus, underscore, yen ] };
+ key <AE12> { [ equal, plus, multiply ] };
+
+ key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
+ key <AD02> { [ w, W, aring, Aring ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, registered ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, odiaeresis, Odiaeresis ] };
+ key <AD11> { [ bracketleft, braceleft, guillemotleft ] };
+ key <AD12> { [ bracketright, braceright, guillemotright ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ s, S, ssharp, section ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L, oslash, Ooblique ] };
+ key <AC10> { [ semicolon, colon, paragraph, degree ] };
+ // XXX Not entirely sure if fourth level is quotedbl or diaeresis.
+ // The former makes a lot more sense.
+ key <AC11> { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
+
+ key <AB01> { [ z, Z, ae, AE ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C, copyright ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ comma, less, ccedilla, Ccedilla ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question, questiondown ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "us_nodeadkeys" {
+ name[Group1] = "U.S. English - no dead keys";
+
+ include "nokia_vndr/su-8w(us_intl)"
+
+ // XXX Not entirely sure if second level is quotedbl or diaeresis.
+ // The former makes a lot more sense.
+ key <AC10> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
+};
+
+
+
+partial default alphanumeric_keys
+xkb_symbols "base" {
+ // forked from from pc(pc105); madness.
+ key <ESC> { [ Escape ] };
+
+ // the extra key on most European keyboards
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+
+ // these keys are common to all layouts
+ key <BKSL> { [ backslash, bar ] };
+ key <SPCE> { [ space ] };
+
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <RTRN> { [ Return ] };
+ // we don't ever generate this key, but the VKB needs it always.
+ key <KPEN> { [ KP_Enter ] };
+ // generated from the headset, must always be in the map.
+ key <I29> { [ XF86Phone ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <LCTL> { [ Control_L ] };
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <LWIN> { [ Super_L ] };
+
+ key <RTSH> { [ Shift_R ] };
+ key <RCTL> { [ Control_R ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+ key <RWIN> { [ Super_R ] };
+
+ key <MENU> { [ Menu ] };
+
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F11 ] };
+ key <FK11> { [ F10 ] };
+ key <FK12> { [ F12 ] };
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod2 { Num_Lock };
+
+ // Fake keys for virtual<->real modifiers mapping
+ key <LVL3> { [ ISO_Level3_Shift ] };
+ key <MDSW> { [ Mode_switch ] };
+ modifier_map Mod5 { <LVL3>, <MDSW> };
+
+ key <ALT> { [ NoSymbol, Alt_L ] };
+ modifier_map Mod1 { <ALT>, <LALT> };
+
+ key <META> { [ NoSymbol, Meta_L ] };
+ modifier_map Mod1 { <META> };
+
+ key <SUPR> { [ NoSymbol, Super_L ] };
+ modifier_map Mod4 { <SUPR> };
+
+ key <HYPR> { [ NoSymbol, Hyper_L ] };
+ modifier_map Mod4 { <HYPR> };
+
+ key <INS> { [ Insert ] };
+ key <DELE> { [ Delete ] };
+ key <END> { [ End ] };
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // True for all layouts (except for ru).
+ key <TLDE> { [ grave, asterisk, asciitilde ] };
+
+ // SU-8W uses 140 for Home, not the normal keycode. Very useful.
+ key <HOME> { [ NoSymbol ] };
+ // Ditto LWIN/RWIN and Page Up/Page Down.
+ key <PGUP> { [ none ] };
+ key <PGDN> { [ NoSymbol ] };
+
+ // The LWIN & RWIN keys correspond to the 'select left' and
+ // 'select right' keys.
+ key <LWIN> { [ Prior ] };
+ key <RWIN> { [ Next ] };
+
+ // <FRNT> = 140 ~ <I140>
+ key <FRNT> { [ Home ] };
+ // <PROP> = 138 ~ <I138>
+ key <PROP> { [ Menu ] };
+ key <I163> { [ XF86Mail ] };
+
+ // Power button.
+ key <I5E> { [ Execute ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/np b/xorg-server/xkeyboard-config/symbols/np
new file mode 100644
index 000000000..26085c010
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/np
@@ -0,0 +1,124 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/dev' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/dev,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Nepal";
+
+// `,1,2,3,4,5,6,7,8,9,0,-,=
+
+ key <TLDE> { [ 0x100093D,0x100093C ] };
+ key <AE01> { [ 0x1000967 ] };
+ key <AE02> { [ 0x1000968 ] };
+ key <AE03> { [ 0x1000969 ] };
+ key <AE04> { [ 0x100096A ] };
+ key <AE05> { [ 0x100096B ] };
+ key <AE06> { [ 0x100096C ] };
+ key <AE07> { [ 0x100096D ] };
+ key <AE08> { [ 0x100096e ] };
+ key <AE09> { [ 0x100096F ] };
+ key <AE10> { [ 0x1000966,0x1000970 ] };
+ key <AE11> { [ minus, 0x1000952 ] };
+ key <AE12> { [ equal, 0x100200C ] };
+
+// q,w,e,r,t,y,u,i,o,p,[,]
+
+ key <AD01> { [ 0x100091F, 0x1000920 ] };
+ key <AD02> { [ 0x100094C, 0x1000914 ] };
+ key <AD03> { [ 0x1000947, 0x1000948 ] };
+ key <AD04> { [ 0x1000930, 0x1000943 ] };
+ key <AD05> { [ 0x1000924, 0x1000925 ] };
+ key <AD06> { [ 0x100092F, 0x100091E ] };
+ key <AD07> { [ 0x1000941, 0x1000942 ] };
+ key <AD08> { [ 0x100093F, 0x1000940 ] };
+ key <AD09> { [ 0x100094B, 0x1000913 ] };
+ key <AD10> { [ 0x100092A, 0x100092B ] };
+ key <AD11> { [ 0x1000907, 0x1000908 ] };
+ key <AD12> { [ 0x100090F, 0x1000910 ] };
+
+// a,s,d,f,g,h,j,k,l,;,',Backslash
+ key <AC01> { [ 0x100093E, 0x1000906 ] };
+ key <AC02> { [ 0x1000938, 0x1000936 ] };
+ key <AC03> { [ 0x1000926, 0x1000927 ] };
+ key <AC04> { [ 0x1000909, 0x100090A ] };
+ key <AC05> { [ 0x1000917, 0x1000918 ] };
+ key <AC06> { [ 0x1000939, 0x1000905 ] };
+ key <AC07> { [ 0x100091C, 0x100091D ] };
+ key <AC08> { [ 0x1000915, 0x1000916 ] };
+ key <AC09> { [ 0x1000932, 0x1000933 ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+ key <BKSL> { [ 0x1000950, 0x1000903 ] };
+
+
+// z,x,c,v,b,n,m,,,.,/
+ key <AB01> { [ 0x1000937, 0x100090B ] };
+ key <AB02> { [ 0x1000921, 0x1000922 ] };
+ key <AB03> { [ 0x100091B, 0x100091A ] };
+ key <AB04> { [ 0x1000935, 0x1000901 ] };
+ key <AB05> { [ 0x100092C, 0x100092D ] };
+ key <AB06> { [ 0x1000928, 0x1000923 ] };
+ key <AB07> { [ 0x100092E, 0x1000902 ] };
+ key <AB08> { [ comma, 0x1000919 ] };
+ key <AB09> { [ 0x1000964, 0x1000965 ] };
+ key <AB10> { [ 0x100094D, question ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+// Contact: Walter Bender <walter@laptop.org>
+
+ include "np"
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE01> { [ 0x1000967 ] }; // Nepali digit one
+ key <AE02> { [ 0x1000968 ] }; // Nepali digit two
+ key <AE03> { [ 0x1000969 ] }; // Nepali digit three
+ key <AE04> { [ 0x100096A ] }; // Nepali digit four
+ key <AE05> { [ 0x100096B ] }; // Nepali digit five
+ key <AE06> { [ 0x100096C, sterling ] }; // Nepali digit six
+ key <AE07> { [ 0x100096D, eurosign ] }; // Nepali digit seven
+ key <AE08> { [ 0x100096e ] }; // Nepali digit eight
+ key <AE09> { [ 0x100096F ] }; // Nepali digit nine
+ key <AE10> { [ 0x1000966 ] }; // Nepali digit zero
+ key <AE12> { [ 0x1000950, 0x1000903 ] }; // OM, SIGN VISARGA
+
+ key <AD01> { [ 0x100091C, 0x100091D ] }; // JA, JHA
+ key <AD02> { [ 0x1000917, 0x1000918 ] }; // GA, GHA
+ key <AD03> { [ 0x100092F, 0x100091E ] }; // YA, YNA
+ key <AD04> { [ 0x1000938, 0x1000936 ] }; // SA, SHA
+ key <AD05> { [ 0x100090F, 0x1000910 ] }; // E, AI
+ key <AD06> { [ 0x100091B, 0x100091A ] }; // CHHA, CHA
+ key <AD07> { [ 0x100092A, 0x100092B ] }; // PA, PHA
+ key <AD08> { [ 0x1000947, 0x1000948 ] }; // VOWEL SIGN E, VOWEL SIGN AI
+ key <AD09> { [ 0x100094B, 0x100093E ] }; // VOWEL SIGN O, VOWEL SIGN AA
+ key <AD10> { [ 0x1000924, 0x1000925 ] }; // TA, THA
+ key <AD11> { [ 0x1000909, 0x100090A ] }; // HRSHWA U, DIRGHA UU
+ key <AD12> { [ 0x100093F, 0x1000940 ] }; // VOWEL SIGN HRSHWA I, VOWEL SIGN DIRGHA II
+
+ key <AC01> { [ 0x100092E, 0x1000902 ] }; // MA, SIGN ANUSVARA
+ key <AC02> { [ 0x1000907, 0x1000908 ] }; // HRSHWA I, DIRGHA II
+ key <AC03> { [ 0x1000928, 0x1000923 ] }; // NA, NNA
+ key <AC04> { [ 0x100094D, 0x1000921 ] }; // VIRAMA (HALANTA?), DDA
+ key <AC05> { [ 0x100091F, 0x1000920 ] }; // TTA, TTHA
+ key <AC06> { [ 0x1000926, 0x1000927 ] }; // DA, DHA
+ key <AC07> { [ 0x100093E, 0x1000901 ] }; // SIGN AA, SIGN CANDRABINDU
+ key <AC08> { [ 0x1000930, 0x1000943 ] }; // RA, VOWEL SIGN VOCALIC R
+ key <AC09> { [ 0x1000915, 0x1000916 ] }; // KA, KHA
+
+ key <AB01> { [ 0x1000937, 0x100090B ] }; // SSA, VOCALIC R (RRI)
+ key <AB02> { [ 0x100092C, 0x100092D ] }; // BA, BHA
+ key <AB03> { [ 0x1000941, 0x1000942 ] }; // VOWEL SIGN HRSHWA U, VOWEL SIGN DIRGHA U (UU)
+ key <AB04> { [ 0x1000939, 0x1000922 ] }; // HA, DDHA
+ key <AB05> { [ 0x1000913, 0x1000914 ] }; // O, AU
+ key <AB06> { [ 0x1000905, 0x1000906 ] }; // A, AA
+ key <AB07> { [ 0x1000932, 0x1000919 ] }; // LA, NGA
+ key <AB08> { [ comma, 0x1000935 ] }; // VA
+ key <AB09> { [ 0x1000964, 0x1000965 ] }; // PURNA VIRAM, DIRGHA VIRAM
+
+ include "group(olpc)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/olpc b/xorg-server/xkeyboard-config/symbols/olpc
new file mode 100644
index 000000000..4fda9949c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/olpc
@@ -0,0 +1,22 @@
+// $XKeyboardConfig$
+//
+// Created by Bernardo Innocenti <bernie@codewiz.org>
+//
+// Additional symbol definitions for the OLPC keyboards
+//
+
+alphanumeric_keys modifier_keys
+xkb_symbols "olpc" {
+ include "pc(pc105)"
+
+ modifier_map Mod1 { KP_Home }; // KP_Home is the "square" game key
+ modifier_map Mod3 { KP_End }; // KP_End is the "tick" game key
+ modifier_map Mod4 { KP_Prior }; // KP_Prior is the "O" game key
+ modifier_map Mod5 { KP_Next }; // KP_Next is the "X" game key
+
+ key <I220> { [ XF86Search ] }; // search key
+ key <I221> { [ XF86Meeting ] }; // fn+search key
+ key <I236> { [ XF86Start ] }; // gear key (fn+space)
+ key <I147> { [ XF86TaskPane ] }; // frame key (the top-right key)
+ key <I224> { [ XF86Messenger ] }; // overlay key (next to frame key)
+};
diff --git a/xorg-server/xkeyboard-config/symbols/pc b/xorg-server/xkeyboard-config/symbols/pc
new file mode 100644
index 000000000..a359b8023
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/pc
@@ -0,0 +1,148 @@
+// $XKeyboardConfig$
+
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc,v 1.9 2003/06/09 19:59:46 dawes Exp $
+
+default partial alphanumeric_keys modifier_keys
+xkb_symbols "pc105" {
+
+ key <ESC> { [ Escape ] };
+
+ // the extra key on most European keyboards
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+
+ // these keys are common to all layouts
+ key <BKSL> { [ backslash, bar ] };
+ key <SPCE> { [ space ] };
+
+ include "pc(function)"
+ include "pc(editing)"
+ include "keypad(x11)"
+
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <RTRN> { [ Return ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <LCTL> { [ Control_L ] };
+
+ key <LWIN> { [ Super_L ] };
+
+ key <RTSH> { [ Shift_R ] };
+ key <RCTL> { [ Control_R ] };
+
+ key <RWIN> { [ Super_R ] };
+
+ key <MENU> { [ Menu ] };
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod4 { Super_L, Super_R };
+
+ // Fake keys for virtual<->real modifiers mapping
+ key <LVL3> { [ ISO_Level3_Shift ] };
+ key <MDSW> { [ Mode_switch ] };
+ modifier_map Mod5 { <LVL3>, <MDSW> };
+
+ key <ALT> { [ NoSymbol, Alt_L ] };
+ include "altwin(meta_alt)"
+
+ key <META> { [ NoSymbol, Meta_L ] };
+ modifier_map Mod1 { <META> };
+
+ key <SUPR> { [ NoSymbol, Super_L ] };
+ modifier_map Mod4 { <SUPR> };
+
+ key <HYPR> { [ NoSymbol, Hyper_L ] };
+ modifier_map Mod4 { <HYPR> };
+
+ key <OUTP> { [ XF86Display ] };
+ key <KITG> { [ XF86KbdLightOnOff ] };
+ key <KIDN> { [ XF86KbdBrightnessDown ] };
+ key <KIUP> { [ XF86KbdBrightnessUp ] };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "function" {
+ key <FK01> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F1, XF86_Switch_VT_1 ]
+ };
+ key <FK02> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F2, XF86_Switch_VT_2 ]
+ };
+ key <FK03> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F3, XF86_Switch_VT_3 ]
+ };
+ key <FK04> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F4, XF86_Switch_VT_4 ]
+ };
+ key <FK05> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F5, XF86_Switch_VT_5 ]
+ };
+ key <FK06> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F6, XF86_Switch_VT_6 ]
+ };
+ key <FK07> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F7, XF86_Switch_VT_7 ]
+ };
+ key <FK08> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F8, XF86_Switch_VT_8 ]
+ };
+ key <FK09> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F9, XF86_Switch_VT_9 ]
+ };
+ key <FK10> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F10, XF86_Switch_VT_10 ]
+ };
+ key <FK11> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F11, XF86_Switch_VT_11 ]
+ };
+ key <FK12> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F12, XF86_Switch_VT_12 ]
+ };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "editing" {
+ key <PRSC> {
+ type= "PC_ALT_LEVEL2",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> {
+ type= "PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ key <INS> { [ Insert ] };
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <DELE> { [ Delete ] };
+ key <END> { [ End ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/pk b/xorg-server/xkeyboard-config/symbols/pk
new file mode 100644
index 000000000..da1198772
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/pk
@@ -0,0 +1,397 @@
+// $XKeyboardConfig$
+
+// Urdu keymap
+// Developed by:
+// Zaeem Arshad <zaeem@linux.net.pk>
+// Last update: 2004-03-12
+//Notice:
+//Alt key combinations are yet to be put in. The unavailable keys are those which do not have a corresponding //glyph in unicode.
+
+// based on a keyboard map from an 'xkb/symbols/ur' file
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "urd-phonetic" {
+
+ name[Group1]= "Pakistan";
+
+ key <TLDE> { [ 0x100064b , 0x100007E, 0x100200C ] };
+ key <AE01> { [ 0x1000031 , 0x1000021 ] };
+ key <AE02> { [ 0x1000032 , 0x1000040 ] };
+ key <AE03> { [ 0x1000033 , 0x1000023 ] };
+ key <AE04> { [ 0x1000034 , 0x1000024 ] };
+ key <AE05> { [ 0x1000035 , 0x1000025 ] };
+ key <AE06> { [ 0x1000036 , 0x100005E ] };
+ key <AE07> { [ 0x1000037 , 0x1000026 ] };
+ key <AE08> { [ 0x1000038 , 0x100002A ] };
+ key <AE09> { [ 0x1000039 , 0x1000029 ] };
+ key <AE10> { [ 0x1000030 , 0x1000028 ] };
+ key <AE11> { [ 0x100002D , 0x100005F ] };
+ key <AE12> { [ 0x100003D , 0x100002B ] };
+ key <AD01> { [ 0x1000642 , 0x1000652, 0x100200D ] };
+ key <AD02> { [ 0x1000648 , 0x1000624, 0x100200C ] };
+ key <AD03> { [ 0x1000639 , 0x1000670 ] };
+ key <AD04> { [ 0x1000631 , 0x1000691 ] };
+ key <AD05> { [ 0x100062a , 0x1000679 ] };
+ key <AD06> { [ 0x10006d2 , 0x100064E ] };
+ key <AD07> { [ 0x1000621 , 0x1000626 ] };
+ key <AD08> { [ 0x10006cc , 0x1000650 ] };
+ key <AD09> { [ 0x10006c1 , 0x10006c3 ] };
+ key <AD10> { [ 0x100067e , 0x100064f ] };
+ key <AD11> { [ 0x100005d , 0x100007D ] };
+ key <AD12> { [ 0x100005b , 0x100007B ] };
+
+ key <AC01> { [ 0x1000627 , 0x1000622 ] };
+ key <AC02> { [ 0x1000633 , 0x1000635 ] };
+ key <AC03> { [ 0x100062f , 0x1000688 ] };
+ key <AC04> { [ 0x1000641 , 0x1000651 ] };
+ key <AC05> { [ 0x10006af , 0x100063a ] };
+ key <AC06> { [ 0x100062D, 0x10006BE ] };
+ key <AC07> { [ 0x100062c , 0x1000636 ] };
+ key <AC08> { [ 0x10006a9 , 0x100062e ] };
+ key <AC09> { [ 0x1000644 , 0x1000654 ] };
+ key <AC10> { [ 0x100061b , 0x100003a ] };
+ key <AC11> { [ 0x1000027 , 0x1000022 ] };
+ key <BKSL> { [ 0x100005C, 0x100007C ] };
+
+ key <LSGT> { [ bar , brokenbar ] };
+ key <AB01> { [ 0x1000632 , 0x1000630, 0x100200E ] };
+ key <AB02> { [ 0x1000634 , 0x1000698, 0x100202A ] };
+ key <AB03> { [ 0x1000686 , 0x100062b, 0x100202D ] };
+ key <AB04> { [ 0x1000637 , 0x1000638, 0x100202C ] };
+ key <AB05> { [ 0x1000628 , 0x100002e, 0x100202E ] };
+ key <AB06> { [ 0x1000646 , 0x10006ba, 0x100202B ] };
+ key <AB07> { [ 0x1000645 , 0x1000658, 0x100200F ] };
+ key <AB08> { [ 0x100060c , 0x100003c ] };
+ key <AB09> { [ 0x10006d4 , 0x100003E ] };
+ key <AB10> { [ 0x100002f , 0x100061f ] };
+
+// key <RALT> { [ Mode_switch, Multi_key ] };
+
+ include "level3(ralt_switch)"
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "urd-crulp" {
+
+ name[Group1]= "Pakistan - CRULP";
+// www.crulp.org phonetic v1.1
+
+ key <TLDE> { [ 0x100007E , 0x100064B ] };
+ key <AE01> { [ 0x10006F1 , 0x1000031, 0x1000021 ] };
+ key <AE02> { [ 0x10006F2 , 0x1000032, 0x1000040 ] };
+ key <AE03> { [ 0x10006F3 , 0x1000033, 0x1000023 ] };
+ key <AE04> { [ 0x10006F4 , 0x1000034 ] };
+ key <AE05> { [ 0x10006F5 , 0x1000035, 0x100066A ] };
+ key <AE06> { [ 0x10006F6 , 0x1000036 ] };
+ key <AE07> { [ 0x10006F7 , 0x1000037, 0x1000026 ] };
+ key <AE08> { [ 0x10006F8 , 0x1000038, 0x100002A ] };
+ key <AE09> { [ 0x10006F9 , 0x1000039, 0x1000029 ] };
+ key <AE10> { [ 0x10006F0 , 0x1000030, 0x1000028 ] };
+ key <AE11> { [ 0x100002D , 0x100005F ] };
+ key <AE12> { [ 0x100003D , 0x100002B ] };
+ key <AD01> { [ 0x1000642 , 0x1000652 ] };
+ key <AD02> { [ 0x1000648 , 0x1000651, 0x1000602 ] };
+ key <AD03> { [ 0x1000639 , 0x1000670, 0x1000656 ] };
+ key <AD04> { [ 0x1000631 , 0x1000691, 0x1000613 ] };
+ key <AD05> { [ 0x100062a , 0x1000679, 0x1000614 ] };
+ key <AD06> { [ 0x10006d2 , 0x100064E, 0x1000601 ] };
+ key <AD07> { [ 0x1000621 , 0x1000626, 0x1000654 ] };
+ key <AD08> { [ 0x10006cc , 0x1000650, 0x1000611 ] };
+ key <AD09> { [ 0x10006c1 , 0x10006c3 ] };
+ key <AD10> { [ 0x100067e , 0x100064f, 0x1000657 ] };
+ key <AD11> { [ 0x100005d , 0x100007D ] };
+ key <AD12> { [ 0x100005b , 0x100007B ] };
+
+ key <AC01> { [ 0x1000627 , 0x1000622, 0x100FDF2 ] };
+ key <AC02> { [ 0x1000633 , 0x1000635, 0x1000610 ] };
+ key <AC03> { [ 0x100062f , 0x1000688, 0x100FDFA ] };
+ key <AC04> { [ 0x1000641 , 0x1000651 ] };
+ key <AC05> { [ 0x10006af , 0x100063a ] };
+ key <AC06> { [ 0x100062D, 0x10006BE, 0x1000612 ] };
+ key <AC07> { [ 0x100062c , 0x1000636, 0x100FDFB ] };
+ key <AC08> { [ 0x10006a9 , 0x100062e ] };
+ key <AC09> { [ 0x1000644 , 0x1000654 ] };
+ key <AC10> { [ 0x100061b , 0x100003a ] };
+ key <AC11> { [ 0x1000027 , 0x1000022 ] };
+ key <BKSL> { [ 0x100005C, 0x100007C ] };
+
+ key <LSGT> { [ bar , brokenbar ] };
+ key <AB01> { [ 0x1000632 , 0x1000630, 0x100060F ] };
+ key <AB02> { [ 0x1000634 , 0x1000698, 0x100060E ] };
+ key <AB03> { [ 0x1000686 , 0x100062b, 0x1000603 ] };
+ key <AB04> { [ 0x1000637 , 0x1000638 ] };
+ key <AB05> { [ 0x1000628 , 0x100002e, 0x100FDFD ] };
+ key <AB06> { [ 0x1000646 , 0x10006ba, 0x1000600 ] };
+ key <AB07> { [ 0x1000645 , 0x1000658 ] };
+ key <AB08> { [ 0x100060c , 0x100003c, 0x100003C ] };
+ key <AB09> { [ 0x10006d4 , 0x100066B, 0x100003E ] };
+ key <AB10> { [ 0x100002f , 0x100061F ] };
+
+// key <RALT> { [ Mode_switch, Multi_key ] };
+
+ include "level3(ralt_switch)"
+
+ // End alphanumeric section
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "urd-nla" {
+ name[Group1]= "Pakistan - NLA";
+// www.nla.gov.pk
+
+ key <TLDE> { [ 0x1000060 , 0x100007E, 0x100200C ] };
+ key <AE01> { [ 0x1000031 , 0x1000021 ] };
+ key <AE02> { [ 0x1000032 , 0x1000040 ] };
+ key <AE03> { [ 0x1000033 , 0x1000023 ] };
+ key <AE04> { [ 0x1000034 , 0x1000024 ] };
+ key <AE05> { [ 0x1000035 , 0x100066A ] };
+ key <AE06> { [ 0x1000036 , 0x100005E ] };
+ key <AE07> { [ 0x1000037 , 0x10006D6 ] };
+ key <AE08> { [ 0x1000038 , 0x100066D ] };
+ key <AE09> { [ 0x1000039 , 0x1000029 ] };
+ key <AE10> { [ 0x1000030 , 0x1000028 ] };
+ key <AE11> { [ 0x100002D , 0x100005F ] };
+ key <AE12> { [ 0x100003D , 0x100002B ] };
+ key <AD01> { [ 0x1000637 , 0x1000638, 0x100200D ] };
+ key <AD02> { [ 0x1000635 , 0x1000636, 0x100200C ] };
+ key <AD03> { [ 0x10006BE , 0x1000630 ] };
+ key <AD04> { [ 0x100062F , 0x1000688 ] };
+ key <AD05> { [ 0x1000679 , 0x100062B ] };
+ key <AD06> { [ 0x100067E , 0x1000651 ] };
+ key <AD07> { [ 0x100062A , 0x10006C3 ] };
+ key <AD08> { [ 0x1000628 , 0x1000640 ] };
+ key <AD09> { [ 0x100062C , 0x1000686 ] };
+ key <AD10> { [ 0x100062D , 0x100062E ] };
+ key <AD11> { [ 0x100005d , 0x100007D ] };
+ key <AD12> { [ 0x100005b , 0x100007B ] };
+
+ key <AC01> { [ 0x1000645 , 0x1000698 ] };
+ key <AC02> { [ 0x1000648 , 0x1000632 ] };
+ key <AC03> { [ 0x1000631 , 0x1000691 ] };
+ key <AC04> { [ 0x1000646 , 0x10006BA ] };
+ key <AC05> { [ 0x1000644 , 0x10006C2 ] };
+ key <AC06> { [ 0x10006C1 , 0x1000621 ] };
+ key <AC07> { [ 0x1000627 , 0x1000622 ] };
+ key <AC08> { [ 0x10006a9 , 0x10006AF ] };
+ key <AC09> { [ 0x10006CC , 0x100064A ] };
+ key <AC10> { [ 0x100061b , 0x100003a ] };
+ key <AC11> { [ 0x1000027 , 0x1000022 ] };
+ key <BKSL> { [ 0x100005C , 0x100007C ] };
+
+ key <LSGT> { [ bar , brokenbar ] };
+ key <AB01> { [ 0x1000642 , 0x100200D, 0x100200E ] };
+ key <AB02> { [ 0x1000641 , 0x100200C, 0x100202A ] };
+ key <AB03> { [ 0x10006D2 , 0x10006D3, 0x100202D ] };
+ key <AB04> { [ 0x1000633 , 0x100200E, 0x100202C ] };
+ key <AB05> { [ 0x1000634 , 0x1000624, 0x100202E ] };
+ key <AB06> { [ 0x100063A , 0x1000626, 0x100202B ] };
+ key <AB07> { [ 0x1000639 , 0x100200F, 0x100200F ] };
+ key <AB08> { [ 0x100060c , 0x100003E ] };
+ key <AB09> { [ 0x10006d4 , 0x100003C ] };
+ key <AB10> { [ 0x100002F , 0x100061f ] };
+
+
+ include "level3(ralt_switch)"
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "snd" {
+ name[Group1]= "Pakistan - MBSindhi";
+// www.bhurgri.com
+
+ key <TLDE> { [ 0x1002019, 0x1002018 ] };
+ key <AE01> { [ 1, exclam, 0x1000610 ] };
+ key <AE02> { [ 2, 0x1000670, 0x1000611 ] };
+ key <AE03> { [ 3, 0x1000621, 0x1000613 ] };
+ key <AE04> { [ 4, 0x1000621, 0x1000612 ] };
+ key <AE05> { [ 5, 0x1000621, 0x1002026 ] };
+ key <AE06> { [ 6, 0x1000621, 0x1002022 ] };
+ key <AE07> { [ 7, 0x10006FD ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, parenleft ] };
+ key <AE11> { [ 0x100068F, 0x100005F, 0x100002D ] };
+ key <AE12> { [ 0x100068C, plus, 0x100003D ] };
+ key <BKSL> { [ 0x100068D, 0x100067A, 0x100007C ] };
+
+ key <AD01> { [ 0x1000642, 0x100064E, 0x100064B ] };
+ key <AD02> { [ 0x1000635, 0x1000636, 0x100FDFA ] };
+ key <AD03> { [ 0x100064A, 0x1000650, 0x1000656 ] };
+ key <AD04> { [ 0x1000631, 0x1000699, 0x100FDE6 ] };
+ key <AD05> { [ 0x100062A, 0x100067D, 0x1000629 ] };
+ key <AD06> { [ 0x100067F, 0x100062B, 0x100FDE5 ] };
+ key <AD07> { [ 0x1000639, 0x100063A, 0x100FDE3 ] };
+ key <AD08> { [ 0x10006B3, 0x10006BE, 0x100FDE4 ] };
+ key <AD09> { [ 0x1000648, 0x100064F, 0x1000657 ] };
+ key <AD10> { [ 0x100067E, 0x10006A6 ] };
+ key <AD11> { [ 0x1000687, 0x1000683 ] };
+ key <AD12> { [ 0x1000686, 0x1000684 ] };
+
+ key <AC01> { [ 0x1000627, 0x1000622, 0x1000649 ] };
+ key <AC02> { [ 0x1000633, 0x1000634 ] };
+ key <AC03> { [ 0x100062F, 0x100068A ] };
+ key <AC04> { [ 0x1000641, 0x10006A6 ] };
+ key <AC05> { [ 0x10006AF, 0x10006AF ] };
+ key <AC06> { [ 0x1000647, 0x100062D, 0x10006C1 ] };
+ key <AC07> { [ 0x100062C, 0x100062C, 0x100FDFB ] };
+ key <AC08> { [ 0x10006AA, 0x10006E1 ] };
+ key <AC09> { [ 0x1000644, 0x100003A ] };
+ key <AC10> { [ 0x10006A9, 0x100061B ] };
+ key <AC11> { [ 0x10006B1, 0x1000640 ] };
+
+ key <AB01> { [ 0x1000632, 0x1000630, 0x1000652 ] };
+ key <AB02> { [ 0x100062E, 0x1000651, 0x100200C ] };
+ key <AB03> { [ 0x1000637, 0x1000638, 0x100200D ] };
+ key <AB04> { [ 0x1000680, 0x1000621, 0x1000624 ] };
+ key <AB05> { [ 0x1000628, 0x100067B, 0x100FDE1 ] };
+ key <AB06> { [ 0x1000646, 0x10006BB, 0x100200E ] };
+ key <AB07> { [ 0x1000645, 0x10006FE, 0x100FDF4 ] };
+ key <AB08> { [ 0x100060C, 0x100201C, 0x100200F ] };
+ key <AB09> { [ period, 0x100201D, 0x10006D4 ] };
+ key <AB10> { [ 0x1000626, Arabic_question_mark, 0x100002F ] };
+
+ include "level3(ralt_switch)"
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "ara" {
+ name[Group1]= "Pakistan - Arabic";
+
+// NOTES:
+//
+// there is also combined shadda diacritis in AltGr position of simple
+// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan
+// should a third state be added to Group2 ?
+//
+// How is this different from ara(basic)? --bernie
+
+ key <TLDE> { [ 0x100064d , 0x100064b ] };
+ key <AE01> { [ 0x10006F1 , 0x1000021 ] };
+ key <AE02> { [ 0x10006F2 , 0x1000003 ] };
+ key <AE03> { [ 0x10006F3 , 0x100002f ] };
+ key <AE04> { [ 0x10006F4 , 0x1000626 ] };
+ key <AE05> { [ 0x10006F5 , 0x1000003 ] };
+ key <AE06> { [ 0x10006F6 , 0x10006d6 ] };
+ key <AE07> { [ 0x10006F7 , 0x1000654 ] };
+ key <AE08> { [ 0x10006F8 , 0x100064c ] };
+ key <AE09> { [ 0x10006F9 , 0x1000029 ] };
+ key <AE10> { [ 0x10006F0 , 0x1000028 ] };
+ key <AE11> { [ 0x1000623 , 0x1000651 ] };
+ key <AE12> { [ 0x1000624 , 0x1000622 ] };
+ key <AD01> { [ 0x1000642 , 0x1000652 ] };
+ key <AD02> { [ 0x1000648 , 0x10000a3 ] };
+ key <AD03> { [ 0x1000639 , 0x10000a5 ] };
+ key <AD04> { [ 0x1000631 , 0x1000691 ] };
+ key <AD05> { [ 0x100062a , 0x1000679 ] };
+ key <AD06> { [ 0x10006d2 , 0x1000601 ] };
+ key <AD07> { [ 0x1000621 , 0x100060c ] };
+ key <AD08> { [ 0x10006cc , 0x1000670 ] };
+ key <AD09> { [ 0x10006c1 , 0x10006c3 ] };
+ key <AD10> { [ 0x100067e , 0x100064f ] };
+ key <AD11> { [ 0x100005d , 0x1000670 ] };
+ key <AD12> { [ 0x100005b , 0x1000670 ] };
+
+ key <AC01> { [ 0x1000627 , 0x1000653 ] };
+ key <AC02> { [ 0x1000633 , 0x1000635 ] };
+ key <AC03> { [ 0x100062f , 0x1000688 ] };
+ key <AC04> { [ 0x1000641 , 0x1000003 ] };
+ key <AC05> { [ 0x10006af , 0x100063a ] };
+ key <AC06> { [ 0x10006be , 0x100062d ] };
+ key <AC07> { [ 0x100062c , 0x1000636 ] };
+ key <AC08> { [ 0x10006a9 , 0x100062e ] };
+ key <AC09> { [ 0x1000644 , 0x1000613 ] };
+ key <AC10> { [ 0x100061b , 0x100003a ] };
+ key <AC11> { [ 0x1000670 , 0x1000022 ] };
+ key <BKSL> { [ 0x100060e , 0x1000614 ] };
+
+ key <LSGT> { [ bar , brokenbar ] };
+ key <AB01> { [ 0x1000632 , 0x1000630 ] };
+ key <AB02> { [ 0x1000634 , 0x1000698 ] };
+ key <AB03> { [ 0x1000686 , 0x100062b ] };
+ key <AB04> { [ 0x1000637 , 0x1000638 ] };
+ key <AB05> { [ 0x1000628 , 0x1000612 ] };
+ key <AB06> { [ 0x1000646 , 0x10006ba ] };
+ key <AB07> { [ 0x1000645 , 0x1000003 ] };
+ key <AB08> { [ 0x100060c , 0x1000650 ] };
+ key <AB09> { [ 0x10006d4 , 0x100064e ] };
+ key <AB10> { [ 0x1000003 , 0x100061f ] };
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+// Contact: Walter Bender <walter@laptop.org>
+
+ include "pk(ara)"
+
+ name[Group1]= "Pakistan";
+
+ // Keys '~' - '='
+ key <TLDE> { [ 0x1000654, 0x100064B ] };
+ key <AE01> { [ 0x10006F1, 0x1000603 ] };
+ key <AE02> { [ 0x10006F2, 0x1000602 ] };
+ key <AE03> { [ 0x10006F3, 0x1000601 ] };
+ key <AE04> { [ 0x10006F4, 0x1000600 ] };
+ key <AE05> { [ 0x10006F5, 0x100060F ] };
+ key <AE06> { [ 0x10006F6, 0x100060E ] };
+ key <AE07> { [ 0x10006F7, 0x1000614 ] };
+ key <AE08> { [ 0x10006F8, 0x1000612 ] };
+ key <AE09> { [ 0x10006F9, 0x1000611 ] };
+ key <AE10> { [ 0x10006F0, 0x1000613 ] };
+ key <AE11> { [ minus, 0x1000610 ] };
+ key <AE12> { [ equal, plus ] };
+
+ //Keys 'Q' - ']'
+ key <AD01> { [ 0x1000642, 0x1000652 ] };
+ key <AD02> { [ 0x1000648, 0x1000651 ] };
+ key <AD03> { [ 0x1000639, 0x1000670 ] };
+ key <AD04> { [ 0x1000631, 0x1000691 ] };
+ key <AD05> { [ 0x100062A, 0x1000679 ] };
+ key <AD06> { [ 0x10006D2, 0x100064E ] };
+ key <AD07> { [ 0x1000621, 0x1000626 ] };
+ key <AD08> { [ 0x10006CC, 0x1000650 ] };
+ key <AD09> { [ 0x10006C1, 0x10006C3 ] };
+ key <AD10> { [ 0x100067E, 0x100064F ] };
+ key <AD12> { [ 0x100FDFD, 0x100FDFA ] };
+ key <AD11> { [ 0x100FDF2, 0x100FDFB ] };
+
+ // Keys 'A' - '''
+ key <AC01> { [ 0x1000627, 0x1000622 ] };
+ key <AC02> { [ 0x1000633, 0x1000635 ] };
+ key <AC03> { [ 0x100062F, 0x1000688 ] };
+ key <AC04> { [ 0x1000641 ] }; //shift key not available
+ key <AC05> { [ 0x10006AF, 0x100063A ] };
+ key <AC06> { [ 0x100062D, 0x10006BE ] };
+ key <AC07> { [ 0x100062C, 0x1000636 ] };
+ key <AC08> { [ 0x10006A9, 0x100062E ] };
+ key <AC09> { [ 0x1000644, 0x1000656 ] };
+ key <AC10> { [ 0x100061B, colon ] };
+ key <AC11> { [ quote, doublequote ] };
+
+ key <BKSL> { [ backslash, bar ] };
+ key <SPCE> { [ space ] };
+
+ // Keys: 'Z' - '/'
+ key <AB01> { [ 0x1000632, 0x1000622 ] };
+ key <AB02> { [ 0x1000634, 0x1000635 ] };
+ key <AB03> { [ 0x1000686, 0x1000688 ] };
+ key <AB04> { [ 0x1000637 ] }; //shift key unavailable
+ key <AB05> { [ 0x1000628, 0x100063A ] };
+ key <AB06> { [ 0x1000646, 0x10006BE ] };
+ key <AB07> { [ 0x1000645, 0x1000636 ] };
+ key <AB08> { [ 0x100060C, 0x100062E ] };
+ key <AB09> { [ 0x10006D4, 0x1000656 ] };
+ key <AB10> { [ slash, 0x100061F ] };
+
+ include "group(olpc)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/pl b/xorg-server/xkeyboard-config/symbols/pl
new file mode 100644
index 000000000..9ac908779
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/pl
@@ -0,0 +1,354 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/pl' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pl,v 1.3 2003/04/19 12:22:12 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin"
+
+ name[Group1]="Poland";
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E, eogonek, Eogonek ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+
+ key <AC01> { [ a, A, aogonek, Aogonek ] };
+ key <AC02> { [ s, S, sacute, Sacute ] };
+ key <AC04> { [ f, F ] };
+
+ key <AB01> { [ z, Z, zabovedot, Zabovedot ] };
+ key <AB02> { [ x, X, zacute, Zacute ] };
+ key <AB03> { [ c, C, cacute, Cacute ] };
+ key <AB06> { [ n, N, nacute, Nacute ] };
+
+ include "kpdl(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwertz" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple QWERTZ Polish keybaord
+
+ include "latin(type3)"
+
+ name[Group1]="Poland - qwertz";
+
+ key <AE01> { [ 1, exclam, asciitilde, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, dead_caron, oneeighth ] };
+ key <AE03> { [ 3, numbersign, dead_circumflex, sterling ] };
+ key <AE04> { [ 4, dollar, dead_breve, dollar ] };
+ key <AE05> { [ 5, percent, degree, threeeighths ] };
+ key <AE06> { [ 6, ampersand, dead_ogonek, fiveeighths ] };
+ key <AE07> { [ 7, slash, dead_grave, seveneighths ] };
+ key <AE08> { [ 8, parenleft, dead_abovedot, trademark ] };
+ key <AE09> { [ 9, parenright, dead_acute, plusminus ] };
+ key <AE10> { [ 0, equal, dead_doubleacute, degree ] };
+ key <AE11> { [ plus, question, dead_diaeresis, questiondown ] };
+ key <AE12> { [apostrophe, asterisk, dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD11> { [ zabovedot, nacute, division, dead_abovering ] };
+ key <AD12> { [ sacute, cacute, multiply, dead_macron ] };
+
+ key <AC02> { [ s, S, dstroke, section ] };
+ key <AC03> { [ d, D, Dstroke, ETH ] };
+ key <AC04> { [ f, F ] };
+ key <AC08> { [ k, K, kra, ampersand ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <AC10> { [ lstroke, Lstroke, dollar, dead_doubleacute ] };
+ key <AC11> { [ aogonek, eogonek, ssharp, dead_caron ] };
+ key <TLDE> { [ abovedot, dead_ogonek, notsign, notsign ] };
+
+ key <BKSL> { [ oacute, zacute, dead_grave, dead_breve ] };
+ key <AB03> { [ c, C, cent, copyright ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+
+ include "kpdl(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+// Polish Dvorak keymaps
+// by Rafal Rzepecki <divide@users.sf.net>
+
+// The base keymap "pl" places Polish quotes on quotemark key and
+// moves the dead symbols from there to "1/!" key. If you are used to common
+// dead keys placement, you could use "pl_altquotes"; in this layout
+// dead keys remain in the old place, whereas Polish quotes are placed on the
+// "1/!" key. If you do not use Polish quotes at all, you can use "pl_basic" map.
+
+// Basic Polish keymap (without Polish quotes)
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "us(dvorak)"
+
+ name[Group1] = "Poland - Dvorak";
+
+ key <AD08> { [ c, C, cacute, Cacute ] };
+ key <AD10> { [ l, L, lstroke, Lstroke ] };
+ key <AC01> { [ a, A, aogonek, Aogonek ] };
+ key <AC02> { [ o, O, oacute, Oacute ] };
+ key <AC03> { [ e, E, eogonek, Eogonek ] };
+ key <AC09> { [ n, N, nacute, Nacute ] };
+ key <AC10> { [ s, S, sacute, Sacute ] };
+ key <AB09> { [ v, V, zacute, Zacute ] };
+ key <AB10> { [ z, Z, zabovedot, Zabovedot ] };
+
+ include "kpdl(comma)"
+
+ // this to allow writing ALL CAPS with a Shift key
+ include "level3(ralt_switch)"
+
+ // use one of compose:* options to choose Multi_key, if you will,
+ // or layout +level3(ralt_switch_multikey) to revert standard behaviour
+};
+
+// Default Polish keymap with Polish quotes on quotemark key
+partial alphanumeric_keys
+xkb_symbols "dvorak_quotes" {
+ include "pl(dvorak)"
+
+ name[Group1] = "Poland - Dvorak, Polish quotes on quotemark key";
+
+ key <AD01> { [ apostrophe, quotedbl, doublelowquotemark, rightdoublequotemark ] };
+
+ // Dead symbols moved to this key
+ key <AE01> { [ 1, exclam, dead_acute, dead_diaeresis ] };
+};
+
+// Polish keymap with Polish quotes on key "1/!"
+partial alphanumeric_keys
+xkb_symbols "dvorak_altquotes" {
+ include "pl(dvorak)"
+
+ name[Group1] = "Poland - Dvorak, Polish quotes on key 1";
+
+ key <AE01> { [ 1, exclam, doublelowquotemark, rightdoublequotemark ] };
+};
+
+// Polish Programmer Dvorak keymap by Michal Nazarewicz <mina86@mina86.com>
+// based on Programmer Dvorak by Roland Kaufmann <rlndkfmn at gmail dot com>
+// and Polish Dvorak keymaps by Rafal Rzepecki <divide@users.sf.net
+// and latin(basic)
+//
+// * Numbers are in shift position (like French).
+// * Symbols have been placed in locations that give good
+// hand-alternation and finger rolling with symbols that usually
+// follows.
+// * Polish diacritics on AltGr+"acelnosxz" (same as in basic pl(basic)).
+// * Aditionaly, zacute on AltGr+"v" so that both zacute and zabovedot
+// next to each other same as in pl(basic).
+// * Polish open and close quotes on AltGr+& (same location as in
+// pl(dvp_altquotes)).
+// * English open quote on AltGr+k (same location as in latin(basic))
+// * English/Polish close quote on AltGr+b (similar location as in
+// latin(basic) but moved right because AltGr+x is taken for zacute).
+// * Polish open and close quote on AltGr+j.
+//
+// Those rules overwrite only the following rules from us(dvp):
+// * ccedilla on AltGr+c
+// * aring on Alt+a
+// * oslash/Ooblique on Alt+o
+// * ae on Alt+e
+// * ntilde on Alt+n
+//
+partial alphanumeric_keys
+xkb_symbols "dvp" {
+ include "us(dvp)"
+
+ name[Group1] = "Poland - Programmer Dvorak";
+
+ // Unmodified Shift AltGr Shift+AltGr
+ // symbols row, left side
+ key <AE01> { [ ampersand, percent, doublelowquotemark, rightdoublequotemark ] };
+
+ // symbols row, right side
+
+ // upper row, left side
+
+ // // upper row, right side
+ key <AD08> { [ c, C, cacute, Cacute ] };
+ key <AD10> { [ l, L, lstroke, Lstroke ] };
+
+ // home row, left side
+ key <AC01> { [ a, A, aogonek, Aogonek ], type[Group1] = "EIGHT_LEVEL_ALPHABETIC" };
+ key <AC02> { [ o, O, oacute, Oacute ] };
+ key <AC03> { [ e, E, eogonek, Eogonek ] };
+
+ // home row, right side
+ key <AC09> { [ n, N, nacute, Nacute ] };
+ key <AC10> { [ s, S, sacute, Sacute ] };
+ key <AC11> { [ minus, underscore, hyphen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <BKSL> { [ backslash, bar ] };
+
+ // lower row, left side
+ key <AB03> { [ j, J, doublelowquotemark, rightdoublequotemark ] };
+ key <AB04> { [ k, K, leftdoublequotemark, leftsinglequotemark ] };
+ key <AB05> { [ x, X, zacute, Zacute ] };
+
+ // lower row, right side
+ key <AB06> { [ b, B, rightdoublequotemark, rightsinglequotemark ] };
+ key <AB09> { [ v, V, zacute, Zacute ] };
+ key <AB10> { [ z, Z, zabovedot, Zabovedot ] };
+
+ include "kpdl(comma)"
+
+ // this to allow writing ALL CAPS with a Shift key
+ include "level3(ralt_switch)"
+
+ // use one of compose:* options to choose Multi_key, if you will,
+ // or layout +level3(ralt_switch_multikey) to revert standard behaviour
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "csb" {
+
+ include "latin"
+
+ name[Group1]="Poland - Kashubian";
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, ediaeresis, Ediaeresis ] };
+ key <AD06> { [ y, Y, EuroSign, cent ] };
+ key <AD07> { [ u, U, ugrave, Ugrave ] };
+ key <AD08> { [ i, I, ograve, Ograve ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, ocircumflex, Ocircumflex ] };
+
+ key <AC01> { [ a, A, aogonek, Aogonek ] };
+ key <AC02> { [ s, S, atilde, Atilde ] };
+ key <AC04> { [ f, F ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+
+ key <AB01> { [ z, Z, zabovedot, Zabovedot ] };
+ key <AB06> { [ n, N, nacute, Nacute ] };
+
+ include "kpdl(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+// Russian Polish-phonetic Dvorak
+// by Adrian Dziubek <adrian.dziubek@gmail.com>
+//
+// This layout aims to enable Polish Dvorak users to type with Russian
+// Cyrillic alphabet by using the sound correspondence between Polish and
+// Russian languages.
+//
+// This keyboard should be intuitive. Please let me know, if my intuition
+// lets You down.
+//
+// The guidelines used:
+// - no Cyrillic symbols are placed on punctuation symbols,
+// - visual similarities are ignored if there is a sound correspondence:
+// no Cyrillic_es on c, no Cyrillic_er on p, no Cyrillic_ha on x etc.,
+// - the Latin symbols that have close sound correspondence (as read in Polish)
+// to Cyrillic symbols (as read in Russian) are mapped respectively:
+// * j -> Cyrillic_shorti,
+// * k -> Cyrillic_ka,
+// * b -> Cyrillic_be,
+// * m -> Cyrillic_em,
+// * w -> Cyrillic_ve,
+// * z -> Cyrillic_ze
+// * a -> Cyrillic_a,
+// * o -> Cyrillic_o,
+// * u -> Cyrillic_u,
+// * i -> Cyrillic_i,
+// * d -> Cyrillic_de,
+// * h -> Cyrillic_ha,
+// * t -> Cyrillic_te,
+// * n -> Cyrillic_en,
+// * s -> Cyrillic_es,
+// * p -> Cyrillic_pe,
+// * y -> Cyrillic_yeru,
+// * f -> Cyrillic_ef,
+// * g -> Cyrillic_ghe,
+// * c -> Cyrillic_tse,
+// * r -> Cyrillic_er,
+// * l -> Cyrillic_el,
+// - ...and little more distant:
+// * AltGr + s (sacute) -> Cyrillic_sha,
+// * AltGr + z (zabovedot) -> Cyrillic_zhe,
+// * AltGr + c (cacute) -> Cyrillic_che,
+// - the soft versions of Russian vowels are accessible through AltGr + vowel:
+// * AltGr + a -> Cyrillic_ya,
+// * AltGr + o -> Cyrillic_io,
+// * AltGr + u -> Cyrillic_yu,
+// - ...except for Cyrillic_ie which is more frequently used than Cyrillic_e:
+// * AltGr + e -> Cyrillic_e,
+// * e -> Cyrillic_ie,
+// - q is also mapped to Cyrillic_ya, following the US phonetic keyboard
+// choice, as Cyrillic_ya and Cyrillic_a are both often used:
+// * q -> Cyrillic_ya,
+// - the soft and hard symbols that have no Polish counterparts are mapped
+// to rarely used in Polish x character:
+// * x -> Cyrillic_softsign
+// * AltGr + x -> Cyrillic_hardsign,
+// - the soft sign is additionally available as AltGr + consonant combination
+// for every consonant that can be softened or separated by soft sign:
+// * AltGr + l -> Cyrillic_softsign,
+// * AltGr + d -> Cyrillic_softsign,
+// * AltGr + n -> Cyrillic_softsign,
+// * AltGr + r -> Cyrillic_softsign,
+// * AltGr + t -> Cyrillic_softsign,
+// * AltGr + p -> Cyrillic_softsign,
+// - ...and also because of visual similarity under level3 b:
+// * AltGr + b -> Cyrillic_softsign,
+// * Shift + AltGr + b -> Cyrillic_hardsign,
+// - the Cyrillic_shcha symbol is placed under AltGr + w (visual similarity):
+// * AltGr + w -> Cyrillic_shcha
+// - v, also rarely unused in Polish is mapped like w:
+// * v -> Cyrillic_ve,
+//
+partial alphanumeric_keys
+xkb_symbols "ru_phonetic_dvorak" {
+ include "us(dvorak)"
+
+ name[Group1] = "Poland - Russian phonetic Dvorak";
+
+ // lower row
+ key <AB02> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB03> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AB04> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AB05> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AB06> { [ Cyrillic_be, Cyrillic_BE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB08> { [ Cyrillic_ve, Cyrillic_VE, Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AB09> { [ Cyrillic_ve, Cyrillic_VE, Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AB10> { [ Cyrillic_ze, Cyrillic_ZE, Cyrillic_zhe, Cyrillic_ZHE ] };
+ // home row
+ key <AC01> { [ Cyrillic_a, Cyrillic_A, Cyrillic_ya, Cyrillic_YA ] };
+ key <AC02> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
+ key <AC03> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ] };
+ key <AC04> { [ Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU ] };
+ key <AC05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AC06> { [ Cyrillic_de, Cyrillic_DE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AC07> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC08> { [ Cyrillic_te, Cyrillic_TE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AC09> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AC10> { [ Cyrillic_es, Cyrillic_ES, Cyrillic_sha, Cyrillic_SHA ] };
+ // upper row
+ key <AD04> { [ Cyrillic_pe, Cyrillic_PE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AD05> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AD06> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_tse, Cyrillic_TSE, Cyrillic_che, Cyrillic_CHE ] };
+ key <AD09> { [ Cyrillic_er, Cyrillic_ER, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AD10> { [ Cyrillic_el, Cyrillic_EL, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+
+ include "kpdl(comma)"
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/pt b/xorg-server/xkeyboard-config/symbols/pt
new file mode 100644
index 000000000..509db14ea
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/pt
@@ -0,0 +1,224 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/pt' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pt,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin(type4)"
+
+ name[Group1]="Portugal";
+
+ key <LSGT> { [ less, greater ] };
+ key <AE03> { [ 3, numbersign, sterling, sterling ] };
+ key <AE04> { [ 4, dollar, section, dollar ] };
+ key <AE11> { [apostrophe, question, backslash, questiondown ] };
+ key <AE12> { [guillemotleft, guillemotright, dead_cedilla, dead_ogonek ] };
+
+ key <AD11> { [ plus, asterisk, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [dead_acute, dead_grave, dead_tilde, dead_macron ] };
+
+ key <AC10> { [ ccedilla, Ccedilla, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ masculine, ordfeminine, dead_circumflex, dead_caron ] };
+ key <TLDE> { [ backslash, bar, notsign, notsign ] };
+
+ key <BKSL> { [dead_tilde, dead_circumflex, dead_grave, dead_breve] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ include "pt(basic)" // for consistent naming
+
+ key <AD11> { [plus, asterisk, dead_diaeresis, dead_diaeresis ] };
+ key <BKSL> { [dead_tilde, dead_circumflex ] };
+ key <AD12> { [dead_acute, dead_grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "pt(Sundeadkeys)" // for consistent naming
+
+ name[Group1]="Portugal - Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "pt(basic)" // for consistent naming
+
+ name[Group1]="Portugal - Eliminate dead keys";
+
+ key <AE12> { [guillemotleft, guillemotright, cedilla, ogonek ] };
+ key <AD11> { [ plus, asterisk, quotedbl, quotedbl ] };
+ key <AD12> { [ acute, grave ] };
+ key <AC10> { [ ccedilla, Ccedilla, acute, doubleacute ] };
+ key <AC11> { [ masculine, ordfeminine, asciicircum, caron ] };
+ key <BKSL> { [asciitilde, asciicircum ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
+// mac version from Ricardo Cabral <bfe00991@mail.telepac.pt>
+// Copied from macintosh_vndr/pt
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Portuguese keybaord
+
+ include "pt"
+ name[Group1]= "Portugal - Macintosh";
+
+ key <AE06> { [ 6, ampersand, threequarters, fiveeighths ] };
+ key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright, bracketright, braceright ] };
+ key <AE12> { [ plus, asterisk, dead_diaeresis ] };
+ key <AC11> { [ dead_tilde, dead_circumflex ] };
+ key <AD11> { [ masculine, ordfeminine ] };
+ key <BKSL> { [ backslash, bar, dead_grave, dead_breve ] };
+ key <TLDE> { [ grave, asciitilde, notsign, notsign ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "mac_sundeadkeys" {
+ include "pt(mac)"
+ name[Group1]= "Portugal - Macintosh, Sun dead keys";
+
+ key <AE12> { [ plus, asterisk, dead_diaeresis, dead_diaeresis ] };
+ key <AC11> { [ dead_tilde, dead_circumflex ] };
+ key <AD12> { [ dead_acute, dead_grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "mac_nodeadkeys" {
+ include "pt(mac)"
+ name[Group1]= "Portugal - Macintosh, eliminate dead keys";
+
+ key <AE12> { [ plus, asterisk, quotedbl, quotedbl ] };
+ key <AC11> { [ asciitilde, asciicircum ] };
+ key <AD12> { [ acute, grave ] };
+};
+
+
+//
+// Teclado Nativo Portugues 2005-07-19
+// Portuguese Nativo Keyboard
+// This is a Dvorak-based layout, designed for the Portuguese language
+//
+// Ari Caldeira ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo" {
+
+ name[Group1]="Portugal - Nativo";
+
+// Numeric row
+ key <TLDE> { [ plus, asterisk, dead_diaeresis, plusminus ] };
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
+ key <AE04> { [ 4, dollar, section, onequarter ] };
+ key <AE05> { [ 5, percent, cent, 0x01002030 ] };
+ key <AE06> { [ 6, ampersand, notsign, diaeresis ] };
+ key <AE07> { [ 7, slash, braceleft, 0x0100032D ] };
+ key <AE08> { [ 8, parenleft, bracketleft, 0x01000331 ] };
+ key <AE09> { [ 9, parenright, bracketright, dead_horn ] };
+ key <AE10> { [ 0, equal, braceright, dead_hook ] };
+ key <AE11> { [ masculine, ordfeminine, dead_ogonek, 0x01000326 ] };
+ key <AE12> { [ less, greater, dead_cedilla, dead_abovering ] };
+
+// Upper row
+ key <AD01> { [ apostrophe, question, degree, questiondown ] };
+ key <AD02> { [ comma, semicolon, 0x01000329, 0x01000315 ] };
+ key <AD03> { [ period, colon, 0x01002022, periodcentered ] };
+ key <AD04> { [ h, H, paragraph, paragraph ] };
+ key <AD05> { [ x, X, multiply, division ] };
+ key <AD06> { [ w, W, ubreve, Ubreve ] };
+ key <AD07> { [ l, L, lstroke, Lstroke ] };
+ key <AD08> { [ t, T, trademark, trademark ] };
+ key <AD09> { [ c, C, copyright, copyright ] };
+ key <AD10> { [ p, P, thorn, THORN ] };
+ key <AD11> { [ dead_tilde, dead_circumflex, dead_caron, dead_doubleacute ] };
+ key <AD12> { [ minus, underscore, 0x01002015, 0x01000336 ] };
+
+// Central row
+ key <AC01> { [ i, I, idotless, Iabovedot ] };
+ key <AC02> { [ e, E, EuroSign, EuroSign ] };
+ key <AC03> { [ a, A, ae, AE ] };
+ key <AC04> { [ o, O, oe, OE ] };
+ key <AC05> { [ u, U, oslash, Ooblique ] };
+ key <AC06> { [ m, M, mu, mu ] };
+ key <AC07> { [ d, D, eth, ETH ] };
+ key <AC08> { [ s, S, ssharp, ssharp ] };
+ key <AC09> { [ r, R, registered, registered ] };
+ key <AC10> { [ n, N, eng, ENG ] };
+ key <AC11> { [ dead_acute, dead_grave, dead_macron, dead_breve ] };
+ key <BKSL> { [ backslash, bar, dead_belowdot, dead_abovedot ] };
+
+// Lower row
+ key <LSGT> { [ guillemotleft, guillemotright, 0x01002039, 0x0100203A ] };
+ key <AB01> { [ y, Y, yen, yen ] };
+ key <AB02> { [ ccedilla, Ccedilla ] };
+ key <AB03> { [ j, J, 0x01000292, 0x010001B7 ] };
+ key <AB04> { [ b, B, apostrophe, quotedbl ] };
+ key <AB05> { [ k, K, currency, brokenbar ] };
+ key <AB06> { [ q, Q, 0x01000259, 0x0100018F ] };
+ key <AB07> { [ v, V, doublelowquotemark, singlelowquotemark ] };
+ key <AB08> { [ g, G, leftdoublequotemark, leftsinglequotemark ] };
+ key <AB09> { [ f, F, rightdoublequotemark, rightsinglequotemark ] };
+ key <AB10> { [ z, Z, 0x0100201F, 0x0100201B ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+// Configures the use of the AltGr key
+ include "level3(ralt_switch)"
+
+};
+
+
+//
+// Teclado Nativo Portugues para o teclado estadunidense 2005-07-19
+// Portuguese Nativo Keyboard for USA keyboards
+//
+// Ari Caldeira ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo-us" {
+ include "pt(nativo)"
+
+ name[Group1]="Portugal - Nativo for USA keyboards";
+
+// Lower row
+ key <AB01> { [ y, Y, ccedilla, Ccedilla ] };
+ key <AB02> { [ guillemotleft, guillemotright, 0x01002039, 0x0100203A ] };
+
+};
+
+
+//
+// Teclado Nativo Portugues para digitacao em Esperanto 2005-07-19
+// Portuguese Nativo Keyboard for typing Esperanto
+//
+// Ari Caldeira ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo-epo" {
+ include "pt(nativo)"
+
+ name[Group1]="Portugal - Nativo for Esperanto";
+
+// Upper row Esperanto
+ key <AD04> { [ h, H, hcircumflex, Hcircumflex ] };
+ key <AD05> { [ ccircumflex, Ccircumflex, x, X ] };
+ key <AD06> { [ ubreve, Ubreve, w, W ] };
+
+// Lower row Esperanto
+ key <AB01> { [ jcircumflex, Jcircumflex, y, Y ] };
+ key <AB02> { [ scircumflex, Scircumflex, ccedilla, Ccedilla ] };
+ key <AB06> { [ gcircumflex, Gcircumflex, q, Q ] };
+
+}; \ No newline at end of file
diff --git a/xorg-server/xkeyboard-config/symbols/ro b/xorg-server/xkeyboard-config/symbols/ro
new file mode 100644
index 000000000..b2842bd79
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ro
@@ -0,0 +1,235 @@
+// $XKeyboardConfig$
+// $XFree86: xc/programs/xkbcomp/symbols/ro,v 1.6 2003/09/08 13:12:51 pascal Exp $
+//
+// Complete set of Romanian keyboards as described in the new Romanian standard
+// SR 13392:2004 adopted in December 2004 by ASRO, "Asociatia de Standardizare
+// din Romania".
+//
+// The default mapping is the RO_US/Programmers layout because of the lack of
+// Romanian hardware keyboards. The primary standard layout is implemented as
+// the "std" variant. If you're determined to get cedillas as in ISO-8859-2
+// (and not commabelow accents as in ISO-8859-16) use the defined variants
+// "cedilla" for the default layout or "std_cedilla" for the standard one.
+// Pre-Vista MS compatible layout included (use the "winkeys" variant).
+//
+// Created by Cristian Gafton, <gafton@redhat.com> (C) 2000
+// Modified by Marius Andreiana, <mandreiana@yahoo.com> (C) 2001
+// Completed by Misu Moldovan, <dumol@gnome.ro> (C) 2001, 2004-2008.
+// v 1.4
+
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+// This RO_US/Programmers layout, although the secondary layout in the
+// Romanian standard, has always been the "de facto" standard in the
+// Linux/Unix world. It is implemented here as the default layout and it's
+// fully compatible with an US keyboard (Euro on AltGr+5 doesn't count).
+
+ include "us"
+
+ name[Group1]="Romania";
+
+ key <AE01> { [ 1, exclam, dead_tilde ] };
+ key <AE02> { [ 2, at, dead_caron ] };
+ key <AE03> { [ 3, numbersign, dead_circumflex ] };
+ key <AE04> { [ 4, dollar, dead_breve ] };
+ key <AE05> { [ 5, percent, dead_abovering ] };
+ key <AE06> { [ 6, asciicircum, dead_ogonek ] };
+ key <AE07> { [ 7, ampersand, dead_grave ] };
+ key <AE08> { [ 8, asterisk, dead_abovedot ] };
+ key <AE09> { [ 9, parenleft, dead_acute ] };
+ key <AE10> { [ 0, parenright, dead_doubleacute ] };
+ key <AE11> { [ minus, underscore, dead_diaeresis, endash ] };
+ key <AE12> { [ equal, plus, dead_cedilla, plusminus ] };
+ key <AD01> { [ q, Q, acircumflex, Acircumflex ] };
+ key <AD02> { [ w, W, ssharp ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD05> { [ t, T, 0x100021b, 0x100021a ] };
+ key <AD08> { [ i, I, icircumflex, Icircumflex ] };
+ key <AD10> { [ p, P, section ] };
+ key <AD11> { [ bracketleft, braceleft, doublelowquotemark ] };
+ key <AD12> { [ bracketright, braceright, rightdoublequotemark ] };
+ key <AC01> { [ a, A, abreve, Abreve ] };
+ key <AC02> { [ s, S, 0x1000219, 0x1000218 ] };
+ key <AC03> { [ d, D, dstroke, Dstroke ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <LSGT> { [ backslash, bar ] };
+ key <AB03> { [ c, C, copyright ] };
+ key <AB08> { [ comma, less, guillemotleft ] };
+ key <AB09> { [ period, greater, guillemotright ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "cedilla" {
+ // Variant of the basic layout with cedillas.
+ // Implements S and T with cedilllas as in ISO-8859-2.
+ // Included for compatibility reasons (this used to be the def variant).
+
+ include "ro(basic)"
+
+ name[Group1]="Romania - Cedilla";
+
+ key <AD05> { [ t, T, tcedilla, Tcedilla ] };
+ key <AC02> { [ s, S, scedilla, Scedilla ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "std" {
+ // Primary layout in the new Romanian standard.
+ // Implemented here as a variant because of the lack of hardware
+ // Romanian keyboards and because of the predilection of Romanian
+ // X users towards the secondary layout from the new standard.
+
+ include "us"
+
+ name[Group1]="Romania - Standard";
+
+ key <TLDE> { [ doublelowquotemark, rightdoublequotemark, grave, asciitilde ] };
+ key <AE01> { [ 1, exclam, dead_tilde ] };
+ key <AE02> { [ 2, at, dead_caron ] };
+ key <AE03> { [ 3, numbersign, dead_circumflex ] };
+ key <AE04> { [ 4, dollar, dead_breve ] };
+ key <AE05> { [ 5, percent, dead_abovering ] };
+ key <AE06> { [ 6, asciicircum, dead_ogonek ] };
+ key <AE07> { [ 7, ampersand, dead_grave ] };
+ key <AE08> { [ 8, asterisk, dead_abovedot ] };
+ key <AE09> { [ 9, parenleft, dead_acute ] };
+ key <AE10> { [ 0, parenright, dead_doubleacute ] };
+ key <AE11> { [ minus, underscore, dead_diaeresis, endash ] };
+ key <AE12> { [ equal, plus, dead_cedilla, plusminus ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD10> { [ p, P, section ] };
+ key <AD11> { [ abreve, Abreve, bracketleft, braceleft ] };
+ key <AD12> { [ icircumflex, Icircumflex, bracketright, braceright ] };
+ key <BKSL> { [ acircumflex, Acircumflex, backslash, bar ] };
+ key <AC02> { [ s, S, ssharp ] };
+ key <AC03> { [ d, D, dstroke, Dstroke ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <AC10> { [ 0x1000219, 0x1000218, semicolon, colon ] };
+ key <AC11> { [ 0x100021b, 0x100021a, apostrophe, quotedbl ] };
+ key <LSGT> { [ backslash, bar ] };
+ key <AB03> { [ c, C, copyright ] };
+ key <AB08> { [ comma, semicolon, less, guillemotleft ] };
+ key <AB09> { [ period, colon, greater, guillemotright ] };
+
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "std_cedilla" {
+ // Variant of the "std" layout with cedillas.
+ // Implements S and T with cedillas as in ISO-8859-2.
+ // Included for compatibility reasons.
+
+ include "ro(std)"
+
+ name[Group1]="Romania - Standard (Cedilla)";
+
+ key <AC10> { [ scedilla, Scedilla ] };
+ key <AC11> { [ tcedilla, Tcedilla ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "winkeys" {
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Romanian keybaord
+ // Created by Manfred Pohler, <Manfred.Pohler@t-online.de> (C) 2003
+
+ include "latin"
+
+ name[Group1]="Romania - Winkeys";
+
+ // Alphanumeric section
+ key <TLDE> { [ bracketright, bracketleft ] };
+
+ key <AE01> { [ 1, exclam, asciitilde, asciitilde ] };
+ key <AE02> { [ 2, quotedbl, at, at ] };
+ key <AE03> { [ 3, numbersign, asciicircum,asciicircum ] };
+ key <AE04> { [ 4, currency ] };
+ key <AE05> { [ 5, percent, degree, degree ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, grave, grave ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ plus, question ] };
+ key <AE12> { [ apostrophe, asterisk ] };
+
+ key <AD01> { [ q, Q, backslash, backslash ] };
+ key <AD02> { [ w, W, bar, bar ] };
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ abreve, Abreve, division, division ] };
+ key <AD12> { [ icircumflex, Icircumflex, multiply, multiply ] };
+
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC10> { [ scedilla, Scedilla, dollar, dollar ] };
+ key <AC11> { [ tcedilla, Tcedilla, ssharp, ssharp ] };
+
+ key <AB01> { [ y, Y ] };
+ key <AB05> { [ b, B, braceleft, braceleft ] };
+ key <AB06> { [ n, N, braceright, braceright ] };
+ key <AB07> { [ m, M, section, section ] };
+ key <AB08> { [ comma, semicolon, less, less ] };
+ key <AB09> { [ period, colon, greater, greater ] };
+ key <AB10> { [ minus, underscore ] };
+
+ key <BKSL> { [ acircumflex, Acircumflex ] };
+
+ // End alphanumeric section, begin "Keypad"
+ include "kpdl(comma)"
+ // End "Keypad" section
+
+ include "level3(ralt_switch)"
+
+};
+
+// Crimean Tatar (Crimean Turkish) layouts.
+partial
+xkb_symbols "crh_f" {
+ include "tr(crh_f)"
+
+ name[Group1]="Romania - Crimean Tatar (Turkish F)";
+};
+
+partial
+xkb_symbols "crh_alt" {
+ include "tr(crh_alt)"
+
+ name[Group1]="Romania - Crimean Tatar (Turkish Alt-Q)";
+};
+
+partial
+xkb_symbols "crh_dobruca1" {
+ include "tr(crh)"
+
+ name[Group1]="Romania - Crimean Tatar (Dobruca-1 Q)";
+
+ key <AD05> { [ t, T, tcedilla, Tcedilla ] };
+ key <AD10> { [ p, P, abreve, Abreve ] };
+
+ key <AC04> { [ f, F, ibreve, Ibreve ] };
+ key <AC07> { [ iacute, Iacute, j, J ] };
+
+ key <AB07> { [ m, M, trademark, masculine ] };
+};
+
+partial
+xkb_symbols "crh_dobruca2" {
+ include "ro(crh_dobruca1)"
+
+ name[Group1]="Romania - Crimean Tatar (Dobruca-2 Q)";
+
+ key <AC04> { [ f, F, iacute, Iacute ] };
+ key <AC07> { [ ibreve, Ibreve, j, J ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/rs b/xorg-server/xkeyboard-config/symbols/rs
new file mode 100644
index 000000000..9aab69119
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/rs
@@ -0,0 +1,328 @@
+// Bosnian, Croatian, Serbian and Slovenian XKB keyboard mapping
+// (derived from "Danube" D.2)
+//
+// Danube D.2 from 2003-05-12 is available at http://srpski.org/dunav/
+//
+// Original authors:
+// Danilo Segan (Данило Шеган) <danilo@kvota.net>
+// Chusslove Illich (Часлав Илић) <chaslav@sezampro.yu>
+//
+// Danilo Segan <danilo@kvota.net>:
+// - Modified for inclusion in XFree86
+// - Further modifications on 2005-08-18 to support Bosnian, Croatian
+// and Slovenian in xkeyboard-config
+//
+// $XKeyboardConfig$
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Serbia";
+
+ include "rs(cyrlevel3)"
+ include "rs(common)"
+ include "rs(cyralpha)"
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "latin" {
+
+ name[Group1]= "Serbia - Latin";
+
+ include "latin(type3)"
+ include "rs(latalpha)"
+ include "rs(latlevel3)"
+ include "rs(common)"
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "yz" {
+ // Cyrillic_zhe and Cyrillic_ze swapped.
+
+ name[Group1]= "Serbia - Z and ZHE swapped";
+
+ include "rs(basic)"
+
+ key <AD06> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // y
+ key <AB01> { [ Cyrillic_ze, Cyrillic_ZE, any,any ] }; // z
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "common" {
+ // "Common" keys: keys which are same for both latin and cyrillic keyboards
+
+ key.type[Group1] = "FOUR_LEVEL";
+
+ key <TLDE> { [ quoteleft, asciitilde, any,any ] }; //
+ key <AE01> { [ 1, exclam, any,any ] }; //
+ key <AE02> { [ 2, quotedbl, any,any ] }; //
+ key <AE03> { [ 3, numbersign, any,any ] }; //
+ key <AE04> { [ 4, dollar, any,any ] }; //
+ key <AE05> { [ 5, percent, any,any ] }; //
+ key <AE06> { [ 6, ampersand, any,any ] }; //
+ key <AE07> { [ 7, slash, any,any ] }; //
+ key <AE08> { [ 8, parenleft, any,any ] }; //
+ key <AE09> { [ 9, parenright, any,any ] }; //
+ key <AE10> { [ 0, equal, any,any ] }; //
+ key <AE11> { [ apostrophe, question, any,any ] }; //
+ key <AE12> { [ plus, asterisk, any,any ] }; //
+
+ key <AB08> { [ comma, semicolon, any,any ] }; //
+ key <AB09> { [ period, colon, any,any ] }; //
+ key <AB10> { [ minus, underscore, any,any ] }; //
+
+ include "kpdl(comma)"
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "cyralpha" {
+
+ key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
+
+ key <AD01> { [ Cyrillic_lje, Cyrillic_LJE, any,any ] }; // q
+ key <AD02> { [ Cyrillic_nje, Cyrillic_NJE, any,any ] }; // w
+ key <AD03> { [ Cyrillic_ie, Cyrillic_IE, any,any ] }; // e
+ key <AD04> { [ Cyrillic_er, Cyrillic_ER, any,any ] }; // r
+ key <AD05> { [ Cyrillic_te, Cyrillic_TE, any,any ] }; // t
+ key <AD06> { [ Cyrillic_ze, Cyrillic_ZE, any,any ] }; // y
+ key <AD07> { [ Cyrillic_u, Cyrillic_U, any,any ] }; // u
+ key <AD08> { [ Cyrillic_i, Cyrillic_I, any,any ] }; // i
+ key <AD09> { [ Cyrillic_o, Cyrillic_O, any,any ] }; // o
+ key <AD10> { [ Cyrillic_pe, Cyrillic_PE, any,any ] }; // p
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA, any,any ] }; // [ {
+ key <AD12> { [ Serbian_dje, Serbian_DJE, any,any ] }; // ] }
+
+ key <AC01> { [ Cyrillic_a, Cyrillic_A, any,any ] }; // a
+ key <AC02> { [ Cyrillic_es, Cyrillic_ES, any,any ] }; // s
+ key <AC03> { [ Cyrillic_de, Cyrillic_DE, any,any ] }; // d
+ key <AC04> { [ Cyrillic_ef, Cyrillic_EF, any,any ] }; // f
+ key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE, any,any ] }; // g
+ key <AC06> { [ Cyrillic_ha, Cyrillic_HA, any,any ] }; // h
+ key <AC07> { [ Cyrillic_je, Cyrillic_JE, any,any ] }; // j
+ key <AC08> { [ Cyrillic_ka, Cyrillic_KA, any,any ] }; // k
+ key <AC09> { [ Cyrillic_el, Cyrillic_EL, any,any ] }; // l
+ key <AC10> { [ Cyrillic_che, Cyrillic_CHE, any,any ] }; // ; :
+ key <AC11> { [ Serbian_tshe, Serbian_TSHE, any,any ] }; // ' "
+ key <BKSL> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // \ |
+
+ key <AB01> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // z
+ key <AB02> { [ Cyrillic_dzhe, Cyrillic_DZHE, any,any ] }; // x
+ key <AB03> { [ Cyrillic_tse, Cyrillic_TSE, any,any ] }; // c
+ key <AB04> { [ Cyrillic_ve, Cyrillic_VE, any,any ] }; // v
+ key <AB05> { [ Cyrillic_be, Cyrillic_BE, any,any ] }; // b
+ key <AB06> { [ Cyrillic_en, Cyrillic_EN, any,any ] }; // n
+ key <AB07> { [ Cyrillic_em, Cyrillic_EM, any,any ] }; // m
+};
+
+
+partial hidden alphanumeric_keys
+xkb_symbols "latalpha" {
+
+ key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
+
+ key <AD11> { [ scaron, Scaron, any,any ] }; //
+ key <AD12> { [ dstroke, Dstroke, any,any ] }; //
+
+ key <AC10> { [ ccaron, Ccaron, any,any ] }; //
+ key <AC11> { [ cacute, Cacute, any,any ] }; //
+ key <BKSL> { [ zcaron, Zcaron, any,any ] }; //
+
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "twoletter" {
+ // These are letters which are written in latin transcription with two-characters.
+
+ key <AD01> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
+ [ U1C9, U1C8, any, U1C7 ] }; // q
+ key <AD02> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
+ [ U1CC, U1CB, any, U1CA ] }; // w
+ key <AB02> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
+ [ U1C6, U1C5, any, U1C4 ] }; // x
+
+ // Also replace letter Y with Zcaron, since Y is of no use any longer
+ key <AB01> { [ zcaron, Zcaron, any,any ] }; //
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "latlevel3" {
+ key <TLDE> { [ any,any, notsign, notsign ] }; // ` ~
+ key <AE01> { [ any,any, dead_tilde, asciitilde ] }; // 1 !
+ key <AE02> { [ any,any, dead_caron, caron ] }; // 2 @
+ key <AE03> { [ any,any, dead_circumflex, asciicircum ] }; // 3 #
+ key <AE04> { [ any,any, dead_breve, breve ] }; // 4 $
+ key <AE05> { [ any,any, dead_abovering, degree ] }; // 5 %
+ key <AE06> { [ any,any, dead_ogonek, ogonek ] }; // 6 ^
+ key <AE07> { [ any,any, dead_grave, grave ] }; // 7 &
+ key <AE08> { [ any,any, dead_abovedot, abovedot ] }; // 8 *
+ key <AE09> { [ any,any, dead_acute, apostrophe ] }; // 9 (
+ key <AE10> { [ any,any, dead_doubleacute, doubleacute ] }; // 0 )
+ key <AE11> { [ any,any, dead_diaeresis, diaeresis ] }; // - _
+ key <AE12> { [ any,any, dead_cedilla, cedilla ] }; // = +
+
+ key <AD01> { [ any,any, backslash, Greek_OMEGA ] }; // q
+ key <AD02> { [ any,any, bar, Lstroke ] }; // w
+ key <AD03> { [ any,any, EuroSign, EuroSign ] }; // e
+ key <AD04> { [ any,any, paragraph, registered ] }; // r
+ key <AD05> { [ any,any, tslash, Tslash ] }; // t // ALPHABETIC
+ key <AD06> { [ any,any, leftarrow, yen ] }; // y
+ key <AD07> { [ any,any, downarrow, uparrow ] }; // u
+ key <AD08> { [ any,any, rightarrow, idotless ] }; // i
+ key <AD09> { [ any,any, oslash, Ooblique ] }; // o // ALPHABETIC
+ key <AD10> { [ any,any, thorn, THORN ] }; // p // ALPHABETIC
+ key <AD11> { [ any,any, division, dead_abovering ] }; // [
+ key <AD12> { [ any,any, multiply, dead_macron ] }; // ]
+
+ key <AC01> { [ any,any, ae, AE ] }; // a // ALPHABETIC
+ key <AC02> { [ any,any, doublelowquotemark, guillemotright ] }; // s
+ key <AC03> { [ any,any, leftdoublequotemark, guillemotleft ] }; // d
+ key <AC04> { [ any,any, bracketleft, ordfeminine ] }; // f
+ key <AC05> { [ any,any, bracketright, ENG ] }; // g
+ key <AC06> { [ any,any, hstroke, Hstroke ] }; // h // ALPHABETIC
+ key <AC07> { [ any,any, NoSymbol, NoSymbol ] }; // j
+ key <AC08> { [ any,any, lstroke, ampersand ] }; // k
+ key <AC09> { [ any,any, lstroke, Lstroke ] }; // l
+ key <AC10> { [ any,any, dead_acute, dead_doubleacute ] }; // ;
+ key <AC11> { [ any,any, ssharp, dead_caron ] }; // '
+ key <BKSL> { [ any,any, currency, dead_breve ] }; // \
+
+ key <AB01> { [ any,any, leftsinglequotemark, guillemotright ] }; // z
+ key <AB02> { [ any,any, rightsinglequotemark,guillemotleft ] }; // x
+ key <AB03> { [ any,any, cent, copyright ] }; // c
+ key <AB04> { [ any,any, at, grave ] }; // v
+ key <AB05> { [ any,any, braceleft, apostrophe ] }; // b
+ key <AB06> { [ any,any, braceright, braceright ] }; // n
+ key <AB07> { [ any,any, asciicircum, masculine ] }; // m
+ key <AB08> { [ any,any, less, multiply ] }; // , <
+ key <AB09> { [ any,any, greater, division ] }; // . >
+ key <AB10> { [ any,any, emdash, endash ] }; // / ?
+
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "cyrlevel3" {
+ key <TLDE> { [ any,any, degree, notsign ] }; // ` ~
+ key <AE03> { [ any,any, dead_circumflex, NoSymbol ] }; // 3 #
+ key <AE07> { [ any,any, dead_grave, NoSymbol ] }; // 7 &
+ key <AE08> { [ any,any, dead_doublegrave, NoSymbol ] }; // 8 *
+ key <AE09> { [ any,any, dead_acute, NoSymbol ] }; // 9 (
+ key <AE10> { [ any,any, dead_invertedbreve, NoSymbol ] }; // 0 )
+ key <AE11> { [ any,any, dead_macron, NoSymbol ] }; // - _
+
+ key <AD01> { [ any,any, backslash, NoSymbol ] }; // q
+ key <AD02> { [ any,any, bar, NoSymbol ] }; // w
+ key <AD03> { [ any,any, EuroSign, sterling ] }; // e
+ key <AD04> { [ any,any, paragraph, registered ] }; // r
+ key <AD05> { [ any,any, ellipsis, NoSymbol ] }; // t // ALPHABETIC
+ key <AD06> { [ any,any, leftarrow, yen ] }; // y
+ key <AD07> { [ any,any, downarrow, uparrow ] }; // u
+ key <AD08> { [ any,any, rightarrow, NoSymbol ] }; // i
+ key <AD09> { [ any,any, section, NoSymbol ] }; // o // ALPHABETIC
+ key <AD11> { [ any,any, division, NoSymbol ] }; // [
+ key <AD12> { [ any,any, multiply, NoSymbol ] }; // ]
+
+ key <AC02> { [ any,any, doublelowquotemark, guillemotright ] }; // s
+ key <AC03> { [ any,any, leftdoublequotemark, guillemotleft ] }; // d
+ key <AC04> { [ any,any, bracketleft, NoSymbol ] }; // f
+ key <AC05> { [ any,any, bracketright, NoSymbol ] }; // g
+ key <BKSL> { [ any,any, currency, NoSymbol ] }; // \
+
+ key <AB01> { [ any,any, leftsinglequotemark, NoSymbol ] }; // z
+ key <AB02> { [ any,any, rightsinglequotemark,NoSymbol ] }; // x
+ key <AB03> { [ any,any, cent, copyright ] }; // c
+ key <AB04> { [ any,any, at, NoSymbol ] }; // v
+ key <AB05> { [ any,any, braceleft, NoSymbol ] }; // b
+ key <AB06> { [ any,any, braceright, NoSymbol ] }; // n
+ key <AB07> { [ any,any, asciicircum, NoSymbol ] }; // m
+ key <AB08> { [ any,any, less, NoSymbol ] }; // , <
+ key <AB09> { [ any,any, greater, NoSymbol ] }; // . >
+ key <AB10> { [ any,any, emdash, endash ] }; // / ?
+};
+
+partial alphanumeric_keys
+xkb_symbols "latinunicode" {
+ // This mapping supports the Unicode characters 0x1c4-0x1cc (dz, lj, and nj
+ // as single character). You get the title form with AltGr+Shift.
+
+ name[Group1]= "Serbia - Latin Unicode";
+
+ include "rs(latin)"
+ include "rs(twoletter)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "latinyz" {
+ // For those who insist on using "english-position" Z and Y.
+
+ name[Group1]= "Serbia - Latin qwerty";
+
+ include "rs(latin)"
+
+ key <AD06> { [ y, Y, any,any ] }; // y
+ key <AB01> { [ z, Z, any,any ] }; // z
+};
+
+partial alphanumeric_keys
+xkb_symbols "latinunicodeyz" {
+ // Unicode, ZHE and Z swapped.
+
+ name[Group1]= "Serbia - Latin Unicode qwerty";
+
+ include "rs(latinunicode)"
+
+ key <AD06> { [ zcaron, Zcaron, any,any ] }; // y
+ key <AB01> { [ z, Z, any,any ] }; // z
+};
+
+xkb_symbols "alternatequotes" {
+ // Another acceptable »pair of quotes« for Serbian
+
+ name[Group1]= "Serbia - With guillemets";
+
+ include "rs(basic)"
+
+ key <AC02> { [ any,any, guillemotright, NoSymbol ] }; // s
+ key <AC03> { [ any,any, guillemotleft, NoSymbol ] }; // d
+};
+
+xkb_symbols "latinalternatequotes" {
+ // Another acceptable »pair of quotes« for Serbian
+
+ name[Group1]= "Serbia - Latin with guillemets";
+
+ include "rs(latin)"
+
+ key <AC02> { [ any,any, guillemotright, NoSymbol ] }; // s
+ key <AC03> { [ any,any, guillemotleft, NoSymbol ] }; // d
+};
+
+xkb_symbols "rue" {
+ // Homophonic layout for Pannonian Rusyn (spoken mainly in Serbia and
+ // Croatia by the Rusyn people), based on Ukrainian homophonic.
+ // Author: Ljubomir J. Papuga (Любомир Я. Папуґа) <papuga.rs@gmail.com>
+
+ name[Group1]= "Serbia - Pannonian Rusyn Homophonic";
+
+ include "ua(homophonic)"
+
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE03> { [ 3, doublelowquotemark ] };
+ key <AE04> { [ 4, rightdoublequotemark ] };
+ key <AE07> { [ 7, EuroSign ] };
+ key <AE11> { [ 0x002D, emdash ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD02> { [ Ukrainian_ie, Ukrainian_IE ] };
+ key <AD06> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AD08> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ key <LSGT> { [ Ukrainian_yi, Ukrainian_YI ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/ru b/xorg-server/xkeyboard-config/symbols/ru
new file mode 100644
index 000000000..0e059afad
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ru
@@ -0,0 +1,510 @@
+// $XKeyboardConfig$
+
+// based on
+// russian standard keyboard
+// AEN <aen@logic.ru>
+// 2001/12/23 by Leon Kanter <leon@blackcatlinux.com>
+// 2005/12/09 Valery Inozemtsev <shrek@altlinux.ru>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/ru,v 1.3 2003/02/15 22:27:05 dawes Exp $
+
+// Windows layout
+partial default alphanumeric_keys
+xkb_symbols "winkeys" {
+ include "ru(common)"
+
+ name[Group1]= "Russia";
+
+ key <AE03> { [ 3, numerosign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+ key <AE08> { [ 8, asterisk ] };
+
+ key <AB10> { [ period, comma ] };
+ key <BKSL> { [ backslash, slash ] };
+};
+
+partial hidden alphanumeric_keys
+xkb_symbols "common" {
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, asterisk ] };
+ key <AE05> { [ 5, colon ] };
+ key <AE06> { [ 6, comma ] };
+ key <AE07> { [ 7, period ] };
+ key <AE08> { [ 8, semicolon ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSL> { [ backslash, bar ] };
+ key <AB10> { [ slash, question ] };
+ key <LSGT> { [ slash, bar ] };
+
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+ key.type[group1]="TWO_LEVEL";
+
+ include "kpdl(comma)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "legacy" {
+ include "ru(common)"
+
+ name[Group1]= "Russia - Legacy";
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ include "ru(common)"
+
+ key <TLDE> { [ 0x01000451, 0x01000401, grave ] }; // Ñ‘, Ð
+ key <AE03> { [ 3, numbersign, 0x01002116 ] }; // â„–
+ key <AE04> { [ 4, dollar, semicolon ] };
+ key <AE06> { [ 6, asciicircum, colon ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE09> { [ 9, parenleft, acute ] };
+ key <AC12> { [ backslash, bar, slash ] };
+
+ include "group(olpc)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "typewriter" {
+ include "ru(common)"
+ name[Group1]= "Russia - Typewriter";
+ key <TLDE> { [ bar, plus ] };
+ key <AE01> { [ numerosign, 1 ] };
+ key <AE02> { [ minus, 2 ] };
+ key <AE03> { [ slash, 3 ] };
+ key <AE04> { [ quotedbl, 4 ] };
+ key <AE05> { [ colon, 5 ] };
+ key <AE06> { [ comma, 6 ] };
+ key <AE07> { [ period, 7 ] };
+ key <AE08> { [ underscore, 8 ] };
+ key <AE09> { [ question, 9 ] };
+ key <AE10> { [ percent, 0 ] };
+ key <AE11> { [ exclam, equal ] };
+ key <AE12> { [ semicolon, backslash ] };
+
+ key <BKSL> { [ parenright, parenleft ] };
+
+ key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "typewriter-legacy" {
+ include "ru(common)"
+ name[Group1]= "Russia - Typewriter, legacy";
+ key <TLDE> { [ apostrophe, quotedbl ] };
+ key <AE01> { [ exclam, 1 ] };
+ key <AE02> { [ numerosign, 2 ] };
+ key <AE03> { [ slash, 3 ] };
+ key <AE04> { [ semicolon, 4 ] };
+ key <AE05> { [ colon, 5 ] };
+ key <AE06> { [ comma, 6 ] };
+ key <AE07> { [ period, 7 ] };
+ key <AE08> { [ underscore, 8 ] };
+ key <AE09> { [ question, 9 ] };
+ key <AE10> { [ percent, 0 ] };
+ key <BKSL> { [ parenleft, parenright ] };
+
+ key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+
+ name[Group1]= "Russia - Phonetic";
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, Cyrillic_io ] };
+ key <AE04> { [ 4, Cyrillic_IO ] };
+ key <AE05> { [ 5, Cyrillic_hardsign ] };
+ key <AE06> { [ 6, Cyrillic_HARDSIGN ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+ key <AB08> { [ comma, less ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+ key <LSGT> { [ bar, brokenbar ] };
+
+ key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
+ key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <LatX> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
+ key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
+ key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
+ key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
+
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AE12> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <BKSL> { [ Cyrillic_e, Cyrillic_E ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic_winkeys" {
+
+ include "ru(phonetic)"
+ name[Group1]= "Russia - Phonetic Winkeys";
+
+ key <LatX> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatH> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AE12> { [ Cyrillic_softsign, Cyrillic_softsign ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "tt" {
+ include "ru(winkeys)"
+ name[Group1]= "Russia - Tatar";
+
+ key.type[group1]="FOUR_LEVEL";
+
+ key <TLDE> { [ 0x010004bb, 0x010004ba,
+ Cyrillic_io, Cyrillic_IO ] };
+ key <AD02> { [ 0x010004e9, 0x010004e8,
+ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD09> { [ 0x010004d9, 0x010004d8,
+ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD12> { [ 0x010004af, 0x010004ae,
+ Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AC10> { [ 0x010004a3, 0x010004a2,
+ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AB07> { [ 0x01000497, 0x01000496,
+ Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "os_legacy" {
+ include "ru(common)"
+
+ name[Group1]= "Russia - Ossetian, legacy";
+
+ key <TLDE> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
+ key <AC11> { [ 0x010004D5, 0x010004D4 ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "os_winkeys" {
+ include "ru(winkeys)"
+
+ name[Group1]= "Russia - Ossetian, Winkeys";
+
+ key <TLDE> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
+ key <AC11> { [ 0x010004D5, 0x010004D4 ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "cv" {
+ include "ru(winkeys)"
+
+ name[Group1]= "Russia - Chuvash";
+
+ key.type[group1]="FOUR_LEVEL";
+
+ key <AD03> { [ Cyrillic_u, Cyrillic_U,
+ 0x010004f3, 0x010004f2 ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE,
+ 0x01000115, 0x01000114 ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A,
+ abreve, Abreve ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES,
+ ccedilla, Ccedilla ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "udm" {
+ include "ru(winkeys)"
+
+ name[Group1]= "Russia - Udmurt";
+
+ key.type[group1]="FOUR_LEVEL";
+
+ key <AE01> { [ question, exclam, 1, 1 ] };
+ key <AE02> { [ parenleft, quotedbl, 2, 2 ] };
+ key <AE03> { [ parenright, numerosign, 3, 3 ] };
+ key <AE04> { [ colon, semicolon, 4, 4 ] };
+ key <AE05> { [ asterisk, percent, 5, 5 ] };
+ key <AE06> { [ 0x010004dd, 0x010004dc, 6, 6 ] };
+ key <AE07> { [ 0x010004e7, 0x010004e6, 7, 7 ] };
+ key <AE08> { [ 0x010004f5, 0x010004f4, 8, 8 ] };
+ key <AE09> { [ 0x010004e5, 0x010004e4, 9, 9 ] };
+ key <AE10> { [ 0x010004df, 0x010004de, 0, 0 ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "cv_latin" {
+ include "us(alt-intl)"
+
+ name[Group1]= "Russia - Chuvash Latin";
+
+ key.type[group1]="FOUR_LEVEL";
+
+ key <AD01> { [ q, Q, 0x01000161, 0x01000160 ] };
+ key <AD02> { [ w, W, udiaeresis, Udiaeresis ] };
+ key <AD03> { [ e, E, 0x01000115, 0x01000114 ] };
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD08> { [ i, I, 0x0100012d, 0x0100012c ] };
+ key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
+ key <AC01> { [ a, A, abreve, Abreve ] };
+ key <AC02> { [ s, S, scedilla, Scedilla ] };
+ key <AC05> { [ g, G, gbreve, Gbreve ] };
+ key <AC07> { [ j, J, 0x01000131, 0x01000130 ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+// Komi language layout
+// based on
+// russian standard keyboard
+// Vlad Shakhov <lumpen.intellectual@gmail.com>
+// Last Changes 2007/10/23 by Vlad Shakhov <lumpen.intellectual@gmail.com>
+
+partial alphanumeric_keys
+xkb_symbols "kom" {
+
+ include "ru(winkeys)"
+
+ name[Group1]= "Russia - Komi";
+
+ key.type[group1]="FOUR_LEVEL_ALPHABETIC";
+
+// cyrilllic o with diaeresis
+ key <AC07> { [ Cyrillic_o, Cyrillic_O,
+ U04E7, U04E6 ] };
+
+// hard I as additional key for soft Cyrillic_I
+ key <AB05> { [ Cyrillic_i, Cyrillic_I,
+ Ukrainian_i, Ukrainian_I ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Yakut language layout
+// 2008/04/23 Yakov Aleksandrov <bertjickty@yandex.ru>
+// 2008/04/23 Anatoliy Zhozhikov <jav@sitc.ru>
+// 2008/04/23 Aleksandr Varlamov
+partial alphanumeric_keys
+xkb_symbols "sah" {
+
+ include "ru(winkeys)"
+
+ name[Group1]= "Russia - Yakut";
+
+ key.type[group1]="FOUR_LEVEL_ALPHABETIC";
+
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO,
+ U04EB, U04EA ] };
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI,
+ U048B, U048A ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U,
+ Cyrillic_u_straight, Cyrillic_U_straight ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA,
+ U04C4, U04C3 ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN,
+ U04A5, U04A4 ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE,
+ U0495, U0494 ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE,
+ U04E1, U04E0 ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA,
+ Cyrillic_shha, Cyrillic_SHHA ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O,
+ Cyrillic_o_bar, Cyrillic_O_bar ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE,
+ U0461, U0460 ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE,
+ Cyrillic_u_macron, Cyrillic_U_macron ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM,
+ U04C8, U04C7 ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I,
+ Cyrillic_i_macron, Cyrillic_I_macron ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+//Kalmyk language layout
+//based on the Kalmyk language layout: http://soft.oyrat.org/
+//Nikolay Korneev <halmg@oyrat.org>
+//Toli Miron <mirontoli@gmail.com>
+
+partial alphanumeric_keys
+xkb_symbols "xal" {
+ include "ru(winkeys)"
+
+ name[Group1]= "Russia - Kalmyk";
+
+ key.type[group1]="FOUR_LEVEL";
+
+ key <AE01> { [ question, exclam, 1 ] };
+ key <AE02> { [ numerosign, quotedbl, 2 ] };
+ key <AE03> { [ Cyrillic_u_straight, Cyrillic_U_straight, 3 ] };
+ key <AE04> { [ Cyrillic_schwa, Cyrillic_SCHWA, 4 ] };
+ key <AE05> { [ asterisk, percent, 5 ] };
+ key <AE06> { [ Cyrillic_en_descender, Cyrillic_EN_descender, 6 ] };
+ key <AE07> { [ Cyrillic_o_bar, Cyrillic_O_bar, 7 ] };
+ key <AE08> { [ Cyrillic_shha, Cyrillic_SHHA, 8 ] };
+ key <AE09> { [ Cyrillic_zhe_descender, Cyrillic_ZHE_descender, 9 ] };
+ key <AE10> { [ semicolon, colon, 0 ] };
+
+ key <TLDE> { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] };
+
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, dollar ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, EuroSign ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE, trademark ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft ] };
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E, apostrophe ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE, less ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU, greater ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "dos" {
+
+ include "ru(common)"
+
+ name[Group1]= "Russia - DOS";
+
+ key <TLDE> { [ parenright, parenleft ] };
+ key <AE04> { [ 4, currency ] };
+ key <AE09> { [ 9, question ] };
+ key <AE10> { [ 0, percent ] };
+
+ key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "bak" {
+ include "ru(winkeys)"
+
+ name[Group1]= "Russia - Bashkirian";
+ key.type[group1]="FOUR_LEVEL";
+
+ key <TLDE> { [ 0x010004d9, 0x010004d8, Cyrillic_io, Cyrillic_IO ] };
+ key <AE01> { [ exclam, quotedbl, 1, 1 ] };
+ key <AE02> { [ 0x010004e9, 0x010004e8, 2, 2 ] };
+ key <AE03> { [ 0x010004a1, 0x010004a0, 3, 3 ] };
+ key <AE04> { [ 0x01000493, 0x01000492, 4, 4 ] };
+ key <AE05> { [ 0x010004ab, 0x010004aa, 5, 5 ] };
+ key <AE06> { [ colon, semicolon, 6, 6 ] };
+ key <AE07> { [ 0x01000499, 0x01000498, 7, 7 ] };
+ key <AE08> { [ 0x010004bb, 0x010004ba, 8, 8 ] };
+ key <AE09> { [ question, parenleft, 9, 9 ] };
+ key <AE10> { [ numerosign, parenright, 0, 0 ] };
+ key <AE11> { [ minus, percent, minus, underscore ]};
+ key <AE12> { [ 0x010004af, 0x010004ae, equal, plus ]};
+ key <BKSL> { [ 0x010004a3, 0x010004a2, backslash, slash ]};
+
+ include "level3(ralt_switch)"
+};
+
+// Serbian charecters added as third level symbols to Russian keyboard layout.
+
+partial alphanumeric_keys
+xkb_symbols "srp" {
+ include "ru(common)"
+ include "level3(ralt_switch)"
+
+ name[Group1]= "Russia - Serbian";
+
+ key <AE03> { [ 3, numerosign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AB10> { [ period, comma ] };
+ key <BKSL> { [ backslash, slash ] };
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, U458, U408 ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN, U45A, U40A ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL, U459, U409 ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE, U45F, U40F ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, U452, U402 ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE, U45B, U40B ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/se b/xorg-server/xkeyboard-config/symbols/se
new file mode 100644
index 000000000..6e24202a7
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/se
@@ -0,0 +1,257 @@
+
+// based on a keyboard map from an 'xkb/symbols/se' file
+//
+// $XKeyboardConfig$
+// $XFree86: xc/programs/xkbcomp/symbols/se,v 1.5 2003/01/26 02:01:48 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ include "latin(type2)"
+ include "se(se)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "se" {
+
+ name[Group1]="Sweden";
+
+ key <AE05> { [ 5, percent, EuroSign, cent ] };
+ key <AE11> { [ plus, question, backslash, questiondown ] };
+ key <AE12> { [dead_acute, dead_grave, plusminus, notsign ] };
+
+
+ key <AC10> { [odiaeresis, Odiaeresis, oslash, Ooblique ] };
+ key <AC11> { [adiaeresis, Adiaeresis, ae, AE ] };
+ key <TLDE> { [ section, onehalf, paragraph, threequarters] };
+
+ key <BKSL> { [apostrophe, asterisk, acute, multiply ] };
+
+ key <SPCE> { [ space, space, space, nobreakspace ] };
+
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+ include "kpdl(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Swedish layout to eliminate all dead keys
+
+ include "latin(type2)"
+ include "latin(type2_nodeadkeys)"
+ include "se(se)"
+
+ name[Group1]="Sweden - Eliminate dead keys";
+
+ key <AE12> { [ acute, grave, plusminus, notsign ] };
+
+};
+
+// Swedish Dvorak
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+
+ name[Group1]="Sweden - Dvorak";
+
+ include "se(basic)"
+
+ key <AD01> { [ aring, Aring, backslash ] };
+ key <AD02> { [ adiaeresis, Adiaeresis, braceleft, bracketleft ] };
+ key <AD03> { [ odiaeresis, Odiaeresis, braceright, bracketright ] };
+ key <AD04> { [ p, P, thorn, THORN ] };
+ key <AD05> { [ y, Y, leftarrow, yen ] };
+ key <AD06> { [ f, F, dstroke, ordfeminine ] };
+ key <AD07> { [ g, G, eng, ENG ] };
+ key <AD08> { [ c, C, copyright, copyright ] };
+ key <AD09> { [ r, R, registered, registered ] };
+ key <AD10> { [ l, L, lstroke, Lstroke ] };
+ key <AD11> { [ comma, semicolon, dead_cedilla, dead_ogonek ] };
+ key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, asciicircum ] };
+
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ o, O, oe, OE ] };
+ key <AC03> { [ e, E, EuroSign, cent ] };
+ key <AC04> { [ u, U, downarrow, uparrow ] };
+ key <AC05> { [ i, I, rightarrow, idotless ] };
+ key <AC06> { [ d, D, eth, ETH ] };
+ key <AC07> { [ h, H, hstroke, Hstroke ] };
+ key <AC08> { [ t, T, tslash, Tslash ] };
+ key <AC09> { [ n, N ] };
+ key <AC10> { [ s, S, ssharp, section ] };
+ key <AC11> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+
+ key <AB01> { [ period, colon, periodcentered, dead_abovedot ] };
+ key <AB02> { [ q, Q, at, Greek_OMEGA ] };
+ key <AB03> { [ j, J ] };
+ key <AB04> { [ k, K, kra, ampersand ] };
+ key <AB05> { [ x, X, guillemotright, greater ] };
+ key <AB06> { [ b, B, rightdoublequotemark, apostrophe ] };
+ key <AB07> { [ m, M, mu, masculine ] };
+ key <AB08> { [ w, W, lstroke, Lstroke ] };
+ key <AB09> { [ v, V, leftdoublequotemark, grave ] };
+ key <AB10> { [ z, Z, guillemotleft, less ] };
+};
+
+// Ivan Popov, 2005-07-17
+// phonetic layout for Russian cyrillic letters
+// on Swedish (latin type2) keyboards
+
+// level3 modifier is a shortcut to the "se" meaning of the keys where
+// we place cyrillic letters, handy for accessing the corresponding
+// punctuation marks.
+// It is important to have access to punctuation marks, and the rest of
+// alphabetical keys are added for being consequent so that the users
+// can expect the level3 modifier to give what the key label shows.
+
+partial alphanumeric_keys
+xkb_symbols "rus" {
+ include "se(basic)"
+
+ name[Group1]="Sweden - Russian phonetic";
+ key.type[group1]="ALPHABETIC";
+
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+
+ key <AD01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AD02> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AD03> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD04> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AD05> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AD06> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AD07> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD08> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AD09> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AD10> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD11> { [ Cyrillic_e, Cyrillic_E ] };
+
+ key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC02> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AC03> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC04> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AC06> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC07> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AC08> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AC09> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AC11> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+ key <LSGT> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB01> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AB02> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AB03> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AB04> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AB05> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "rus_nodeadkeys" {
+
+ include "se(nodeadkeys)"
+ include "se(rus)"
+
+ name[Group1]="Sweden - Russian phonetic, eliminate dead keys";
+
+ key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+};
+
+xkb_symbols "smi" {
+
+ // Describes the differences between a Norwegian Northern Sami
+ // (keyboard with dead key support) and a Swedish/Finnish Sami
+ // keyboard according to the specs at:
+ // http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html
+
+ include "fi(smi)"
+
+ name[Group1]= "Sweden - Northern Saami";
+};
+
+// Copied from macintosh_vndr/se
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Swedish(Sweden) keybaord
+
+ include "latin"
+ name[Group1]= "Sweden - Macintosh";
+
+ key <TLDE> { [ section, degree ] };
+ key <AE01> { [ 1, exclam, copyright, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, at, oneeighth ] };
+ key <AE03> { [ 3, numbersign, sterling, yen ] };
+ key <AE04> { [ 4, currency, dollar, cent ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, bar, backslash ] };
+ key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright, bracketright, braceright ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AE10> { [ 0, equal ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] };
+ key <AE11> { [ plus, question ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AE12> { [ acute, grave ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde ] };
+ key <BKSL> { [ apostrophe, asterisk, at ] };
+
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+};
+
+// Svdvorak
+// This version of Dvorak follows danish and norwegian style in hope for a
+// Scandinavian standard.
+partial alphanumeric_keys
+xkb_symbols "svdvorak" {
+
+ name[Group1]="Sweden - Svdvorak";
+
+ include "se(basic)"
+
+ key <AD01> { [ aring, Aring, braceleft ] };
+ key <AD02> { [ comma, semicolon, bracketleft ] };
+ key <AD03> { [ period, colon, bracketright ] };
+ key <AD04> { [ p, P, braceright ] };
+ key <AD05> { [ y, Y ] };
+ key <AD06> { [ f, F ] };
+ key <AD07> { [ g, G ] };
+ key <AD08> { [ c, C ] };
+ key <AD09> { [ r, R ] };
+ key <AD10> { [ l, L ] };
+ key <AD11> { [ apostrophe, asterisk ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ o, O, parenleft ] };
+ key <AC03> { [ e, E, parenright ] };
+ key <AC04> { [ u, U ] };
+ key <AC05> { [ i, I ] };
+ key <AC06> { [ d, D ] };
+ key <AC07> { [ h, H ] };
+ key <AC08> { [ t, T ] };
+ key <AC09> { [ n, N ] };
+ key <AC10> { [ s, S, ssharp ] };
+ key <AC11> { [ minus, underscore ] };
+ key <BKSL> { [ less, greater, bar ] };
+
+ key <LSGT> { [ odiaeresis, Odiaeresis ] };
+ key <AB01> { [ adiaeresis, Adiaeresis ] };
+ key <AB02> { [ q, Q ] };
+ key <AB03> { [ j, J ] };
+ key <AB04> { [ k, K ] };
+ key <AB05> { [ x, X ] };
+ key <AB06> { [ b, B ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ w, W ] };
+ key <AB09> { [ v, V ] };
+ key <AB10> { [ z, Z ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/sgi_vndr/Makefile.am b/xorg-server/xkeyboard-config/symbols/sgi_vndr/Makefile.am
new file mode 100644
index 000000000..b1123e70e
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sgi_vndr/Makefile.am
@@ -0,0 +1,4 @@
+symbolsdir = $(xkb_base)/symbols/sgi_vndr
+
+dist_symbols_DATA = \
+jp
diff --git a/xorg-server/xkeyboard-config/symbols/sgi_vndr/jp b/xorg-server/xkeyboard-config/symbols/sgi_vndr/jp
new file mode 100644
index 000000000..31bb3b59a
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sgi_vndr/jp
@@ -0,0 +1,46 @@
+// $Xorg: jp,v 1.3 2000/08/17 19:54:45 cpqbld Exp $
+xkb_symbols "jp106" {
+
+ name[group1]="Japan/ASCII";
+
+ key <HZTG> { [ Zenkaku_Hankaku ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, apostrophe ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, asciitilde ] };
+ key <AE11> { [ minus, equal ] };
+ key <AE12> { [ asciicircum, overbar ] };
+ key <AE13> { [ yen, bar ] };
+
+ // keys <TAB> and <AD01> - <AD10> are identical to US/ASCII keyboard
+ key <AD11> { [ at, grave ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+
+ key <CAPS> { [ Eisu_Shift, Caps_Lock ] };
+ // keys <AC01> - <AC09> are identical to US/ASCII keyboard
+ key <AC10> { [ semicolon, plus ] };
+ key <AC11> { [ colon, asterisk ] };
+ key <AC12> { [ bracketright, braceright ] };
+
+ // keys <LFSH> and <AB01> - <AB10> are identical to US/ASCII keyboard
+ key <AB11> { [ backslash, underscore ] };
+
+ key <NFER> { [ Muhenkan ] };
+ key <XFER> { [ Kanji ] };
+ key <HKTG> { [ Hiragana_Katakana ] };
+};
+
+xkb_symbols "alternate106" {
+ key <AE10> { [ 0, overbar ] };
+ key <AE12> { [ asciicircum, asciitilde] };
+ key <AE13> { [ backslash, bar ] };
+ key <AB11> { [ underbar, underscore ] };
+ augment "sgi/jp(jp106)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/shift b/xorg-server/xkeyboard-config/symbols/shift
new file mode 100644
index 000000000..78951c1ec
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/shift
@@ -0,0 +1,86 @@
+// $XKeyboardConfig$
+
+partial modifier_keys
+xkb_symbols "breaks_caps" {
+ key <LFSH> {
+ type = "ALPHABETIC",
+ actions [Group1] = [
+ SetMods(modifiers=Shift),
+ SetMods(modifiers=Shift+Lock,clearLocks)
+ ]
+ };
+ key <RTSH> {
+ type = "ALPHABETIC",
+ actions [Group1] = [
+ SetMods(modifiers=Shift),
+ SetMods(modifiers=Shift+Lock,clearLocks)
+ ]
+ };
+};
+
+// When pressed together with another Shift key, set/release Lock.
+partial modifier_keys
+xkb_symbols "lshift_both_capslock" {
+ key <LFSH> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1] = [ Shift_L, Caps_Lock ]
+ };
+};
+// When pressed together with another Shift key, set or unset Lock.
+partial modifier_keys
+xkb_symbols "rshift_both_capslock" {
+ key <RTSH> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1] = [ Shift_R, Caps_Lock ]
+ };
+};
+partial modifier_keys
+xkb_symbols "both_capslock" {
+ include "shift(lshift_both_capslock)"
+ include "shift(rshift_both_capslock)"
+};
+
+// Release Lock when pressed alone and set Lock when pressed with another Shift key.
+partial modifier_keys
+xkb_symbols "lshift_both_capslock_cancel" {
+ key <LFSH> {
+ type[Group1]="ALPHABETIC",
+ symbols[Group1] = [ Shift_L, Caps_Lock ]
+ };
+};
+// Release Lock when pressed alone and set Lock when pressed with another Shift key.
+partial modifier_keys
+xkb_symbols "rshift_both_capslock_cancel" {
+ key <RTSH> {
+ type[Group1]="ALPHABETIC",
+ symbols[Group1] = [ Shift_R, Caps_Lock ]
+ };
+};
+partial modifier_keys
+xkb_symbols "both_capslock_cancel" {
+ include "shift(lshift_both_capslock_cancel)"
+ include "shift(rshift_both_capslock_cancel)"
+};
+
+
+// When pressed together with another Shift key, lock/unlock Shift.
+partial modifier_keys
+xkb_symbols "lshift_both_shiftlock" {
+ key <LFSH> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1] = [ Shift_L, Shift_Lock ]
+ };
+};
+// When pressed together with another Shift key, lock/unlock Shift.
+partial modifier_keys
+xkb_symbols "rshift_both_shiftlock" {
+ key <RTSH> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1] = [ Shift_R, Shift_Lock ]
+ };
+};
+partial modifier_keys
+xkb_symbols "both_shiftlock" {
+ include "shift(lshift_both_shiftlock)"
+ include "shift(rshift_both_shiftlock)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/si b/xorg-server/xkeyboard-config/symbols/si
new file mode 100644
index 000000000..ced6d2fe7
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/si
@@ -0,0 +1,33 @@
+// $XKeyboardConfig$
+//
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]="Slovenia";
+
+ include "rs(latin)"
+
+ key <TLDE> { type[Group1]="TWO_LEVEL", [ cedilla, diaeresis ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "us" {
+
+ name[Group1]= "Slovenia - US keyboard with Slovenian letters";
+
+ include "rs(latinyz)"
+
+ key <TLDE> { type[Group1]="TWO_LEVEL", [ cedilla, diaeresis ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "alternatequotes" {
+
+ name[Group1]= "Slovenia - Use guillemets for quotes";
+
+ include "rs(latinalternatequotes)"
+
+ key <TLDE> { type[Group1]="TWO_LEVEL", [ cedilla, diaeresis ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/sk b/xorg-server/xkeyboard-config/symbols/sk
new file mode 100644
index 000000000..62d0e7998
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sk
@@ -0,0 +1,108 @@
+// $XKeyboardConfig$
+
+// $XFree86: xc/programs/xkbcomp/symbols/sk,v 1.2 2002/11/22 04:02:22 dawes
+// Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // This layout conforms to a new sk compromise standard designed
+ // to satisfy most unix, windows and mac users.
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "latin"
+
+ name[Group1] = "Slovakia";
+
+ key <TLDE> { [ semicolon, dead_abovering, grave, asciitilde ] };
+ key <AE01> { [ plus, 1, exclam, dead_tilde ] };
+ key <AE02> { [ lcaron, 2, at, dead_caron ] };
+ key <AE03> { [ scaron, 3, numbersign, dead_circumflex ] };
+ key <AE04> { [ ccaron, 4, dollar, dead_breve ] };
+ key <AE05> { [ tcaron, 5, percent, dead_abovering ] };
+ key <AE06> { [ zcaron, 6, asciicircum, dead_ogonek ] };
+ key <AE07> { [ yacute, 7, ampersand, dead_grave ] };
+ key <AE08> { [ aacute, 8, asterisk, dead_abovedot ] };
+ key <AE09> { [ iacute, 9, braceleft, dead_acute ] };
+ key <AE10> { [ eacute, 0, braceright, dead_doubleacute ] };
+ key <AE11> { [ equal, percent, NoSymbol, dead_diaeresis ] };
+ key <AE12> { [dead_acute, dead_caron, dead_macron, dead_cedilla ] };
+
+ key <AD01> { [ q, Q, backslash, NoSymbol ] };
+ key <AD02> { [ w, W, bar, Nosymbol ] };
+ key <AD03> { [ e, E, EuroSign, NoSymbol ] };
+ key <AD04> { [ r, R, NoSymbol, NoSymbol ] };
+ key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
+ key <AD06> { [ z, Z, NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U, NoSymbol, NoSymbol ] };
+ key <AD08> { [ i, I, NoSymbol, NoSymbol ] };
+ key <AD09> { [ o, O, NoSymbol, NoSymbol ] };
+ key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
+
+ key <AD11> { [ uacute, slash, bracketleft, division ] };
+ key <AD12> { [adiaeresis, parenleft, bracketright, multiply ] };
+
+ key <AC01> { [ a, A, asciitilde, NoSymbol ] };
+ key <AC02> { [ s, S, dstroke, NoSymbol ] };
+ key <AC03> { [ d, D, Dstroke, NoSymbol ] };
+ key <AC04> { [ f, F, bracketleft, NoSymbol ] };
+ key <AC05> { [ g, G, bracketright, NoSymbol ] };
+ key <AC06> { [ h, H, grave, NoSymbol ] };
+ key <AC07> { [ j, J, apostrophe, NoSymbol ] };
+ key <AC08> { [ k, K, lstroke, NoSymbol ] };
+ key <AC09> { [ l, L, Lstroke, NoSymbol ] };
+
+ key <AC10> { [ocircumflex, quotedbl, dollar, NoSymbol ] };
+ key <AC11> { [ section, exclam, apostrophe, ssharp ] };
+ key <AC12> { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] };
+ key <BKSL> { [ ncaron, parenright, backslash, bar ] };
+
+ key <LSGT> { [ backslash, bar, slash, NoSymbol ] };
+ key <AB01> { [ y, Y, degree, NoSymbol ] };
+ key <AB02> { [ x, X, numbersign, Nosymbol ] };
+ key <AB03> { [ c, C, ampersand, NoSymbol ] };
+ key <AB04> { [ v, V, at, NoSymbol ] };
+ key <AB05> { [ b, B, braceleft, NoSymbol ] };
+ key <AB06> { [ n, N, braceright, NoSymbol ] };
+ key <AB07> { [ m, M, asciicircum, NoSymbol ] };
+ key <AB08> { [ comma, question, less, NoSymbol ] };
+ key <AB09> { [ period, colon, greater, NoSymbol ] };
+ key <AB10> { [ minus, underscore, asterisk, NoSymbol ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "bksl" {
+ include "sk(basic)"
+
+ name[Group1] = "Slovakia - Extended Backslash";
+
+ key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+
+ // This layout should work exactly as a sk with the exception
+ // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "sk(basic)"
+
+ name[Group1] = "Slovakia - qwerty";
+
+ key <AB01> { [ z, Z, degree, NoSymbol ] };
+ key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
+};
+
+// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "qwerty_bksl" {
+ include "sk(qwerty)"
+
+ name[Group1] = "Slovakia - qwerty, extended Backslash";
+
+ key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/sn b/xorg-server/xkeyboard-config/symbols/sn
new file mode 100644
index 000000000..90ffe6111
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sn
@@ -0,0 +1,42 @@
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin"
+
+ name[Group1]="Senegal";
+
+ key <AE01> { [ ampersand, 1, bar, NoSymbol ] };
+ key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
+ key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
+ key <AE04> { [apostrophe, 4, braceleft, acute ] };
+ key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
+ key <AE06> { [ minus, 6, bar, brokenbar ] };
+ key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
+ key <AE08> { [underscore, 8, backslash, macron ] };
+ key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
+ key <AE10> { [ agrave, 0, at, Agrave ] };
+ key <AE11> { [parenright, degree, bracketright, ydiaeresis ] };
+ key <AE12> { [ equal, plus, braceright,threequarters ] };
+
+ key <AD01> { [ a, A, ae, AE ] };
+ key <AD02> { [ z, Z, guillemotleft, less ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD11> { [ eng, ENG, bracketleft, bracketright ] };
+ key <AD12> { [ dollar, sterling, currency, ecircumflex ] };
+
+ key <AC01> { [ q, Q, at, Greek_OMEGA ] };
+ key <AC10> { [ m, M, mu, masculine ] };
+ key <AC11> { [ ntilde, Ntilde, acute, dead_acute ] };
+ key <TLDE> { [twosuperior, percent, notsign, notsign ] };
+
+ key <BKSL> { [ mu, sterling, grave, dead_grave ] };
+ key <AB01> { [ w, W, lstroke, Lstroke ] };
+ key <AB07> { [ comma, question, questiondown, NoSymbol ] };
+ key <AB08> { [ semicolon, period, horizconnector, multiply ] };
+ key <AB09> { [ colon, slash, periodcentered, division ] };
+ key <AB10> { [ exclam, section, exclamdown, NoSymbol ] };
+
+ key <LSGT> { [ less, greater, bar, NoSymbol ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/sony_vndr/Makefile.am b/xorg-server/xkeyboard-config/symbols/sony_vndr/Makefile.am
new file mode 100644
index 000000000..e1a77d957
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sony_vndr/Makefile.am
@@ -0,0 +1,4 @@
+symbolsdir = $(xkb_base)/symbols/sony_vndr
+
+dist_symbols_DATA = \
+us
diff --git a/xorg-server/xkeyboard-config/symbols/sony_vndr/us b/xorg-server/xkeyboard-config/symbols/sony_vndr/us
new file mode 100644
index 000000000..76d41053c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sony_vndr/us
@@ -0,0 +1,93 @@
+// $Xorg: us,v 1.4 2001/02/09 02:05:53 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// US/ASCII layout for a nwp5461 keyboard
+xkb_symbols "nwp5461" {
+ include "us(basic)"
+
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RTSH> { [ Shift_R ] };
+ key <AB11> { [ NoSymbol ] };
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ key <HELP> { [ Help ] };
+ key <STOP> { [ Cancel ] };
+ key <CUT> { [ Select ] };
+ key <EXEC> { [ Execute ] };
+ key <DELE> { [ Delete ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <INS> { [ Insert ] };
+ key <CLR> { [ Clear ] };
+ // End "Function" section
+
+ // Begin "Keypad" section
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPSP> { [ KP_Separator ] };
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_0 ] };
+ key <KPDC> { [ KP_Decimal ] };
+ key <KPTB> { [ KP_Tab ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod3 { Alt_L };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/srvr_ctrl b/xorg-server/xkeyboard-config/symbols/srvr_ctrl
new file mode 100644
index 000000000..cf7012b4d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/srvr_ctrl
@@ -0,0 +1,130 @@
+// $XKeyboardConfig$
+
+// $XFree86: xc/programs/xkbcomp/symbols/srvr_ctrl,v 1.4 2003/12/18 14:14:38 pascal Exp $
+//
+// Actions which control the server's behavior
+
+partial keypad_keys function_keys
+xkb_symbols "xfree86" {
+ include "srvr_ctrl(stdkeypad)"
+ include "srvr_ctrl(fkey2vt)"
+};
+
+partial keypad_keys
+xkb_symbols "stdkeypad" {
+
+// Ungrab cancels server/keyboard/pointer grabs
+ key <KPDV> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Divide, XF86_Ungrab ]
+ };
+
+// ClsGrb kills whichever client has a grab in effect
+ key <KPMU> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ]
+ };
+
+// -VMode switches to the previous video mode
+ key <KPSU> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ]
+ };
+
+// +VMode switches to the next video mode
+ key <KPAD> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Add, XF86_Next_VMode]
+ };
+
+};
+
+partial function_keys
+xkb_symbols "fkey2vt" {
+
+ key <FK01> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F1, XF86_Switch_VT_1 ]
+ };
+
+ key <FK02> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F2, XF86_Switch_VT_2 ]
+ };
+
+ key <FK03> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F3, XF86_Switch_VT_3 ]
+ };
+
+ key <FK04> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F4, XF86_Switch_VT_4 ]
+ };
+
+ key <FK05> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F5, XF86_Switch_VT_5 ]
+ };
+
+ key <FK06> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F6, XF86_Switch_VT_6 ]
+ };
+
+ key <FK07> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F7, XF86_Switch_VT_7 ]
+ };
+
+ key <FK08> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F8, XF86_Switch_VT_8 ]
+ };
+
+ key <FK09> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F9, XF86_Switch_VT_9 ]
+ };
+
+ key <FK10> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F10, XF86_Switch_VT_10 ]
+ };
+
+ key <FK11> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F11, XF86_Switch_VT_11 ]
+ };
+
+ key <FK12> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F12, XF86_Switch_VT_12 ]
+ };
+
+};
+
+partial function_keys keypad_keys
+xkb_symbols "no_srvr_keys" {
+
+ key.type="TWO_LEVEL";
+
+ key <FK01> { [ F1, F1 ] };
+ key <FK02> { [ F2, F2 ] };
+ key <FK03> { [ F3, F3 ] };
+ key <FK04> { [ F4, F4 ] };
+ key <FK05> { [ F5, F5 ] };
+ key <FK06> { [ F6, F6 ] };
+ key <FK07> { [ F7, F7 ] };
+ key <FK08> { [ F8, F8 ] };
+ key <FK09> { [ F9, F9 ] };
+ key <FK10> { [ F10, F10 ] };
+ key <FK11> { [ F11, F11 ] };
+ key <FK12> { [ F12, F12 ] };
+
+ key <KPDV> { [ KP_Divide, KP_Divide ] };
+ key <KPMU> { [ KP_Multiply, KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract, KP_Subtract ] };
+ key <KPAD> { [ KP_Add, KP_Add ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/Makefile.am b/xorg-server/xkeyboard-config/symbols/sun_vndr/Makefile.am
new file mode 100644
index 000000000..00692e334
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/Makefile.am
@@ -0,0 +1,10 @@
+symbolsdir = $(xkb_base)/symbols/sun_vndr
+
+dist_symbols_DATA = \
+ ara be br ca ch \
+ cz de dk ee es \
+ fi fr gb gr it \
+ jp kr lt lv nl \
+ no pl pt ro ru \
+ se sk solaris tr tuv \
+ tw ua us
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/ara b/xorg-server/xkeyboard-config/symbols/sun_vndr/ara
new file mode 100644
index 000000000..ea54207b8
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/ara
@@ -0,0 +1,117 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]= "Arabic";
+
+ key <TLDE> { [ Arabic_thal, Arabic_shadda, grave, asciitilde ] };
+ key <AE01> { [ 1, exclam, 1, exclam ] };
+ key <AE02> { [ 2, at, 2, at ] };
+ key <AE03> { [ 3, numbersign, 3, numbersign ] };
+ key <AE04> { [ 4, dollar, 4, dollar ] };
+ key <AE05> { [ 5, percent, 5, percent ] };
+ key <AE06> { [ 6, asciicircum, 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand, 7, ampersand ] };
+ key <AE08> { [ 8, asterisk, 8, asterisk ] };
+ key <AE09> { [ 9, parenright, 9, parenright ] };
+ key <AE10> { [ 0, parenleft, 0, parenleft ] };
+ key <AE11> { [ minus, underscore, minus, underscore ] };
+ key <AE12> { [ equal, plus, equal, plus ] };
+
+ key <AD01> { [ Arabic_dad, Arabic_fatha, q, Q ] };
+ key <AD02> { [ Arabic_sad, Arabic_fathatan, w, W ] };
+ key <AD03> { [ Arabic_theh, Arabic_damma, e, E ] };
+ key <AD04> { [ Arabic_qaf, Arabic_dammatan, r, R ] };
+ key <AD05> { [ Arabic_feh, 0x100fef9, t, T ] };
+ key <AD06> { [ Arabic_ghain, Arabic_hamzaunderalef, y, Y ] };
+ key <AD07> { [ Arabic_ain, grave, u, U ] };
+ key <AD08> { [ Arabic_ha, division, i, I ] };
+ key <AD09> { [ Arabic_khah, multiply, o, O ] };
+ key <AD10> { [ Arabic_hah, Arabic_semicolon, p, P ] };
+ key <AD11> { [ Arabic_jeem, greater, bracketleft, braceleft ] };
+ key <AD12> { [ Arabic_dal, less, bracketright, braceright ] };
+
+ key <AC01> { [ Arabic_sheen, Arabic_kasra, a, A ] };
+ key <AC02> { [ Arabic_seen, Arabic_kasratan, s, S ] };
+ key <AC03> { [ Arabic_yeh, bracketright, d, D ] };
+ key <AC04> { [ Arabic_beh, bracketleft, f, F ] };
+ key <AC05> { [ Arabic_lam, 0x100fef7, g, G ] };
+ key <AC06> { [ Arabic_alef, Arabic_hamzaonalef, h, H ] };
+ key <AC07> { [ Arabic_teh, Arabic_tatweel, j, J ] };
+ key <AC08> { [ Arabic_noon, Arabic_comma, k, K ] };
+ key <AC09> { [ Arabic_meem, slash, l, L ] };
+ key <AC10> { [ Arabic_kaf, colon, semicolon, colon ] };
+ key <AC11> { [ Arabic_tah, quotedbl, apostrophe, quotedbl ] };
+ key <BKSL> { [ backslash, bar, backslash, bar ] };
+
+ key <LSGT> { [ bar, brokenbar, bar, brokenbar ] };
+ key <AB01> { [Arabic_hamzaonyeh, asciitilde, z, Z ] };
+ key <AB02> { [ Arabic_hamza, Arabic_sukun, x, X ] };
+ key <AB03> { [Arabic_hamzaonwaw, braceright, c, C ] };
+ key <AB04> { [ Arabic_ra, braceleft, v, V ] };
+ key <AB05> { [ 0x100fefb, 0x100fef5, b, B ] };
+ key <AB06> { [Arabic_alefmaksura, Arabic_maddaonalef, n, N ] };
+ key <AB07> { [Arabic_tehmarbuta, apostrophe, m, M ] };
+ key <AB08> { [ Arabic_waw, comma, comma, less ] };
+ key <AB09> { [ Arabic_zain, period, period, greater ] };
+ key <AB10> { [ Arabic_zah, Arabic_question_mark, slash, question ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/ara(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/be b/xorg-server/xkeyboard-config/symbols/sun_vndr/be
new file mode 100644
index 000000000..d6ce057d4
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/be
@@ -0,0 +1,99 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Belgium";
+
+ key <TLDE> { [twosuperior, threesuperior ] };
+ key <AE01> { [ ampersand, 1, bar ] };
+ key <AE02> { [ eacute, 2, at ] };
+ key <AE03> { [ quotedbl, 3, numbersign ] };
+ key <AE04> { [apostrophe, 4 ] };
+ key <AE05> { [ parenleft, 5 ] };
+ key <AE06> { [ section, 6, asciicircum ] };
+ key <AE07> { [ egrave, 7 ] };
+ key <AE08> { [ exclam, 8 ] };
+ key <AE09> { [ ccedilla, 9, braceleft ] };
+ key <AE10> { [ agrave, 0, braceright ] };
+ key <AE11> { [parenright, degree ] };
+ key <AE12> { [ minus, underscore ] };
+
+ key <AD01> { [ a, A ] };
+ key <AD02> { [ z, Z ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD09> { [ o, O ] };
+ key <AD11> { [dead_circumflex, dead_diaeresis, bracketleft ] };
+ key <AD12> { [ dollar, asterisk, bracketright ] };
+
+ key <AC01> { [ q, Q ] };
+ key <AC10> { [ m, M ] };
+ key <AC11> { [ ugrave, percent, dead_acute ] };
+ key <BKSL> { [ mu, sterling, dead_grave ] };
+
+ key <LSGT> { [ less, greater, backslash ] };
+ key <AB01> { [ w, W ] };
+ key <AB07> { [ comma, question ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ equal, plus, dead_tilde ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/be(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/br b/xorg-server/xkeyboard-config/symbols/sun_vndr/br
new file mode 100644
index 000000000..4d966f551
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/br
@@ -0,0 +1,102 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Brazil";
+
+ key <TLDE> { [ apostrophe, quotedbl, notsign ] };
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, at, twosuperior, onehalf ] };
+ key <AE03> { [ 3, numbersign, threesuperior, threequarters ] };
+ key <AE04> { [ 4, dollar, sterling, onequarter ] };
+ key <AE05> { [ 5, percent, cent ] };
+ key <AE06> { [ 6, dead_diaeresis, notsign, diaeresis ] };
+ key <AE07> { [ 7, ampersand, braceleft ] };
+ key <AE08> { [ 8, asterisk, bracketleft ] };
+ key <AE09> { [ 9, parenleft, bracketright ] };
+ key <AE10> { [ 0, parenright, braceright ] };
+ key <AE11> { [ minus, underscore, backslash ] };
+ key <AE12> { [ equal, plus, section ] };
+
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, registered ] };
+ key <AD11> { [ dead_acute, dead_grave, acute, grave ] };
+ key <AD12> { [ bracketleft, braceleft, ordfeminine ] };
+
+ key <AC10> { [ ccedilla, Ccedilla, exclamdown ] };
+ key <AC11> { [ dead_tilde, dead_circumflex, asciitilde, asciicircum ] };
+ key <AC12> { [ bracketright, braceright, masculine ] };
+ key <BKSL> { [ bracketright, braceright, masculine ] };
+
+ key <LSGT> { [ slash, bar, degree ] };
+ key <AB01> { [ z, Z, guillemotleft ] };
+ key <AB02> { [ x, X, guillemotright ] };
+ key <AB03> { [ c, C, copyright ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ comma, less, question ] };
+ key <AB09> { [ period, greater, questiondown ] };
+ key <AB10> { [ semicolon, colon ] };
+ key <AB11> { [ slash, question, degree, questiondown ] };
+
+ key <KPPT> { [ KP_Decimal ] };
+ key <KPDL> { [ KP_Delete, comma ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/br(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/ca b/xorg-server/xkeyboard-config/symbols/sun_vndr/ca
new file mode 100644
index 000000000..0f0aa2923
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/ca
@@ -0,0 +1,98 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Canada Bilingual";
+
+ key <TLDE> { [ slash, bar, backslash ]};
+ key <AE01> { [ 1, exclam, plusminus ]};
+ key <AE02> { [ 2, at ]};
+ key <AE03> { [ 3, numbersign, sterling ]};
+ key <AE04> { [ 4, dollar, cent ]};
+ key <AE05> { [ 5, percent, currency ]};
+ key <AE06> { [ 6, question, notsign ]};
+ key <AE07> { [ 7, ampersand, braceleft ]};
+ key <AE08> { [ 8, asterisk, braceright ]};
+ key <AE09> { [ 9, parenleft, bracketleft ]};
+ key <AE10> { [ 0, parenright, bracketright ]};
+ key <AE11> { [ minus, underscore, onehalf ]};
+ key <AE12> { [ equal, plus, notsign ]};
+
+ key <AD03> { [ e, E, EuroSign ]};
+ key <AD09> { [ o, O, section ]};
+ key <AD10> { [ p, P, paragraph ]};
+ key <AD11> { [ dead_circumflex, dead_diaeresis, dead_grave ]};
+ key <AD12> { [ ccedilla, Ccedilla, asciitilde ]};
+
+ key <AC10> { [ semicolon, colon, degree ]};
+ key <AC11> { [ egrave, Egrave, braceleft ]};
+ key <AC12> { [ agrave, Agrave, braceright ]};
+ key <BKSL> { [ agrave, Agrave, braceright ]};
+
+ key <LSGT> { [ uacute, Uacute ]};
+ key <AB01> { [ z, Z, guillemotleft ]};
+ key <AB02> { [ x, X, guillemotright ]};
+ key <AB07> { [ m, M, mu ]};
+ key <AB08> { [ comma, quoteright, less ]};
+ key <AB09> { [ period, quotedbl, greater ]};
+ key <AB10> { [ eacute, Eacute, quoteleft ]};
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/ca(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/ch b/xorg-server/xkeyboard-config/symbols/sun_vndr/ch
new file mode 100644
index 000000000..c952fc559
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/ch
@@ -0,0 +1,134 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial default alphanumeric_keys
+xkb_symbols "de_type6" {
+
+ name[Group1]= "Switzerland - German";
+
+ key <TLDE> { [ section, degree ] };
+ key <AE01> { [ 1, plus, bar ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, asterisk, numbersign ] };
+ key <AE04> { [ 4, ccedilla, asciicircum ] };
+ key <AE05> { [ 5, percent, asciitilde ] };
+ key <AE06> { [ 6, ampersand, notsign ] };
+ key <AE07> { [ 7, slash, brokenbar ] };
+ key <AE08> { [ 8, parenleft, cent ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal, quoteleft ] };
+ key <AE11> { [ quoteright, question, dead_acute ] };
+ key <AE12> { [ dead_circumflex, dead_grave, dead_tilde ] };
+
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD06> { [ z, Z ] };
+ key <AD11> { [ udiaeresis, egrave, bracketleft ] };
+ key <AD12> { [ dead_diaeresis, exclam, bracketright ] };
+
+ key <AC10> { [ odiaeresis, eacute ] };
+ key <AC11> { [ adiaeresis, agrave, braceleft ] };
+ key <BKSL> { [ dollar, sterling, braceright ] };
+
+ key <LSGT> { [ less, greater, backslash ] };
+ key <AB01> { [ y, Y ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "fr_type6" {
+
+ name[Group1]= "Switzerland - French, Sun type 6";
+
+ key <TLDE> { [ section, degree ] };
+ key <AE01> { [ 1, plus, bar ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, asterisk, numbersign ] };
+ key <AE04> { [ 4, ccedilla, asciicircum ] };
+ key <AE05> { [ 5, percent, asciitilde ] };
+ key <AE06> { [ 6, ampersand, notsign ] };
+ key <AE07> { [ 7, slash, brokenbar ] };
+ key <AE08> { [ 8, parenleft, cent ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal, quoteleft ] };
+ key <AE11> { [ quoteright, question, dead_acute ] };
+ key <AE12> { [ dead_circumflex, dead_grave, dead_tilde ] };
+
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD06> { [ z, Z ] };
+ key <AD11> { [ egrave, udiaeresis, bracketleft ] };
+ key <AD12> { [ dead_diaeresis, exclam, bracketright ] };
+
+ key <AC10> { [ eacute, odiaeresis ] };
+ key <AC11> { [ agrave, adiaeresis, braceleft ] };
+ key <BKSL> { [ dollar, sterling, braceright ] };
+
+ key <LSGT> { [ less, greater, backslash ] };
+ key <AB01> { [ y, Y ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/ch(de_type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/cz b/xorg-server/xkeyboard-config/symbols/sun_vndr/cz
new file mode 100644
index 000000000..6f6b198c5
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/cz
@@ -0,0 +1,106 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Czech";
+
+ key <TLDE> { [ semicolon, dead_abovering, quoteleft, asciitilde ] };
+ key <AE01> { [ plus, 1, exclam, asciitilde ] };
+ key <AE02> { [ ecaron, 2, at, dead_caron ] };
+ key <AE03> { [ scaron, 3, numbersign, dead_circumflex ] };
+ key <AE04> { [ ccaron, 4, dollar, dead_breve ] };
+ key <AE05> { [ rcaron, 5, percent, dead_abovering ] };
+ key <AE06> { [ zcaron, 6, asciicircum, dead_ogonek ] };
+ key <AE07> { [ yacute, 7, ampersand, grave ] };
+ key <AE08> { [ aacute, 8, asterisk, dead_abovedot ] };
+ key <AE09> { [ iacute, 9, parenleft, dead_acute ] };
+ key <AE10> { [ eacute, 0, parenright, dead_doubleacute ] };
+ key <AE11> { [ equal, percent, dead_diaeresis, backslash ] };
+ key <AE12> { [ dead_acute, dead_caron, dead_cedilla, minus ] };
+
+ key <AD01> { [ q, Q, backslash ] };
+ key <AD02> { [ w, W, bar ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD06> { [ z, Z ] };
+ key <AD11> { [ uacute, slash, division ] };
+ key <AD12> { [parenright, parenleft, multiply ] };
+
+ key <AC02> { [ s, S, dstroke ] };
+ key <AC03> { [ d, D, Dstroke ] };
+ key <AC04> { [ f, F, bracketleft ] };
+ key <AC05> { [ g, G, bracketright ] };
+ key <AC08> { [ k, K, lstroke ] };
+ key <AC09> { [ l, L, Lstroke ] };
+ key <AC10> { [ uring, quotedbl, dollar ] };
+ key <AC11> { [ section, exclam, ssharp, currency ] };
+ key <BKSL> { [ dead_diaeresis, apostrophe, backslash, bar ] };
+
+ key <LSGT> { [ backslash, asterisk, slash, brokenbar ] };
+ key <AB01> { [ y, Y, less ] };
+ key <AB02> { [ x, X, greater, numbersign ] };
+ key <AB04> { [ v, V, at ] };
+ key <AB05> { [ b, B, braceleft ] };
+ key <AB06> { [ n, N, braceright ] };
+ key <AB08> { [ comma, question, less ] };
+ key <AB09> { [ period, colon, greater ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/cz(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/de b/xorg-server/xkeyboard-config/symbols/sun_vndr/de
new file mode 100644
index 000000000..3b1301687
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/de
@@ -0,0 +1,141 @@
+//
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Germany";
+
+ key <TLDE> { [ asciicircum, degree ] };
+ key <AE02> { [ 2, quotedbl, twosuperior ] };
+ key <AE03> { [ 3, section, threesuperior ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE06> { [ 6, ampersand, section ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ ssharp, question, backslash ] };
+ key <AE12> { [ dead_acute, dead_grave ] };
+ key <AD01> { [ q, Q, at ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD06> { [ z, Z ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ] };
+ key <AD12> { [ plus, asterisk, asciitilde ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ] };
+ key <AB01> { [ y, Y ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ numbersign, apostrophe, grave ] };
+ key <LSGT> { [ less, greater, bar ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "type4" {
+
+ name[Group1]="Germany - Sun type 4";
+
+ key <BKSL> { [ less, braceleft ] };
+ key <BRCR> { [ greater, braceright ] };
+ key <DELE> { [ Delete ] };
+
+ key <AE01> { [ 1, plus, exclam ] };
+ key <AE02> { [ 2, quotedbl, at, oneeighth ] };
+ key <AE03> { [ 3, asterisk, numbersign, sterling ] };
+ key <AE04> { [ 4, ccedilla, cent ] };
+ key <AE05> { [ 5, percent, asciitilde ] };
+ key <AE06> { [ 6, ampersand, section ] };
+ key <AE07> { [ 7, slash, bar ] };
+ key <AE08> { [ 8, parenleft, degree ] };
+ key <AE09> { [ 9, parenright, backslash ] };
+ key <AE10> { [ 0, equal, asciicircum ] };
+ Key <AE11> { [ quoteright, question, quoteleft ] };
+ key <AE12> { [ dead_circumflex, dead_grave ] };
+
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD06> { [ z, Z, leftarrow, yen ] };
+ key <AD11> { [ udiaeresis, egrave, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ dead_diaeresis, dead_acute ] };
+
+ key <AC02> { [ s, S ] };
+ key <AC07> { [ j, J, dead_belowdot, dead_abovedot ] };
+ key <AC10> { [ odiaeresis, eacute, dead_doubleacute, dead_belowdot ] };
+ key <AC11> { [ adiaeresis, agrave, dead_circumflex, dead_caron ] };
+ key <TLDE> { [ dollar, dead_tilde, sterling ] };
+
+ key <AB01> { [ y, Y, guillemotright ] };
+ key <AB02> { [ x, X, guillemotleft ] };
+ key <AB04> { [ v, V, doublelowquotemark, singlelowquotemark ] };
+ key <AB05> { [ b, B, leftdoublequotemark, leftsinglequotemark ] };
+ key <AB06> { [ n, N, rightdoublequotemark, rightsinglequotemark ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ comma, semicolon, periodcentered, multiply ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/de(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/dk b/xorg-server/xkeyboard-config/symbols/sun_vndr/dk
new file mode 100644
index 000000000..4f43112ab
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/dk
@@ -0,0 +1,148 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Denmark";
+
+ key <TLDE> { [ onehalf, section ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, currency, dollar ] };
+ key <AE05> { [ 5, percent, asciitilde ] };
+ key <AE06> { [ 6, ampersand, asciicircum ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question ] };
+ key <AE12> { [ dead_acute, dead_grave, bar ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde ] };
+ key <BKSL> { [ apostrophe, asterisk, grave ] };
+ key <AC10> { [ ae, AE ] };
+ key <AC11> { [ oslash, Ooblique ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <LSGT> { [ less, greater, backslash ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type4" {
+
+ name[Group1]="Denmark - Sun type 4";
+
+ key <BKSL> { [ onehalf, section ] };
+ key <BRCR> { [ asciitilde, asciicircum ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, currency, dollar ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question ] };
+ key <AE12> { [ dead_acute, dead_grave, bar ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde ] };
+ key <LCTL> { [ Caps_Lock ] };
+ key <AC10> { [ ae, AE ] };
+ key <AC11> { [ ooblique, Ooblique ] };
+ key <TLDE> { [ quoteright, asterisk, quoteleft ] };
+ key <LSGT> { [ less, greater, backslash ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <CAPS> { [ Control_L ] };
+ key <COMP> { [ SunAltGraph ] };
+ key <ALGR> { [ SunCompose ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type5" {
+
+ include "sun_vndr/dk(type4)"
+
+ name[Group1]="Denmark - Sun type 5";
+
+ key <AE05> { [ 5, percent, asciitilde ] };
+ key <AE06> { [ 6, ampersand, asciicircum ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <BKSL> { [ quoteright, asterisk, quoteleft ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/dk(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/ee b/xorg-server/xkeyboard-config/symbols/sun_vndr/ee
new file mode 100644
index 000000000..1070719a5
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/ee
@@ -0,0 +1,118 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Estonia";
+
+
+ key <TLDE> { [ dead_caron, dead_tilde, notsign, notsign ] };
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, at, oneeighth ] };
+ key <AE03> { [ 3, numbersign, sterling, sterling ] };
+ key <AE04> { [ 4, currency, dollar, dollar ] };
+ key <AE05> { [ 5, percent, onehalf, threeeighths ] };
+ key <AE06> { [ 6, ampersand, notsign, fiveeighths ] };
+ key <AE07> { [ 7, slash, braceleft, seveneighths ] };
+ key <AE08> { [ 8, parenleft, bracketleft, trademark ] };
+ key <AE09> { [ 9, parenright, bracketright, plusminus ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+ key <AE11> { [ plus, question, backslash, questiondown ] };
+ key <AE12> { [ dead_acute, dead_grave, grave, apostrophe ] };
+
+ key <AD01> { [ q, Q, at, Greek_OMEGA ] };
+ key <AD02> { [ w, W, lstroke, Lstroke ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD04> { [ r, R, paragraph, registered ] };
+ key <AD05> { [ t, T, tslash, Tslash ] };
+ key <AD06> { [ y, Y, leftarrow, yen ] };
+ key <AD07> { [ u, U, downarrow, uparrow ] };
+ key <AD08> { [ i, I, rightarrow, idotless ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD10> { [ p, P, thorn, THORN ] };
+ key <AD11> { [ udiaeresis, Udiaeresis, dead_diaeresis,dead_abovering ] };
+ key <AD12> { [ otilde, Otilde, section, dead_macron ] };
+
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ s, S, ssharp, section ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, dstroke, ordfeminine ] };
+ key <AC05> { [ g, G, eng, ENG ] };
+ key <AC06> { [ h, H, hstroke, Hstroke ] };
+ key <AC07> { [ j, J, j, J ] };
+ key <AC08> { [ k, K, kra, ampersand ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, asciicircum, dead_caron ] };
+ key <LSGT> { [ backslash, bar, degree, brokenbar ] };
+
+ key <BKSL> { [ apostrophe, asterisk, onehalf, dead_breve ] };
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ key <AB02> { [ x, X, guillemotright, greater ] };
+ key <AB03> { [ c, C, cent, copyright ] };
+ key <AB04> { [ v, V, leftdoublequotemark, leftsinglequotemark ] };
+ key <AB05> { [ b, B, rightdoublequotemark, rightsinglequotemark ] };
+ key <AB06> { [ n, N, ncedilla, Ncedilla ] };
+ key <AB07> { [ m, M, mu, masculine ] };
+ key <AB08> { [ comma, semicolon, less, multiply ] };
+ key <AB09> { [ period, colon, greater, division ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/ee(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/es b/xorg-server/xkeyboard-config/symbols/sun_vndr/es
new file mode 100644
index 000000000..789df5519
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/es
@@ -0,0 +1,146 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Spain";
+
+ key <TLDE> { [ masculine, ordfeminine, backslash ] };
+ key <LSGT> { [ less, greater ] };
+ key <AE01> { [ 1, exclam, bar ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, periodcentered, numbersign ] };
+ key <AE04> { [ 4, dollar, asciicircum ] };
+ key <AE05> { [ 5, percent, asciitilde ] };
+ key <AE06> { [ 6, ampersand, notsign ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ apostrophe, question, grave ] };
+ key <AE12> { [ exclamdown, questiondown ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ dead_grave, dead_circumflex, bracketleft ] };
+ key <AD12> { [ plus, asterisk, bracketright ] };
+ key <AC10> { [ ntilde, Ntilde ] };
+ key <AC11> { [ dead_acute, dead_diaeresis, braceleft ] };
+ key <BKSL> { [ ccedilla, Ccedilla, braceright ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type4" {
+
+ name[Group1]="Spain - Sun type 4";
+
+ key <BKSL> { [ bracketleft, braceleft, guillemotleft ] };
+ key <BRCR> { [ bracketright, braceright, guillemotright ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, periodcentered, numbersign ] };
+ key <AE05> { [ 5, percent, degree ] };
+ key <AE06> { [ 6, ampersand, notsign ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright, backslash ] };
+ key <AE10> { [ 0, equal, bar ] };
+ key <AE11> { [ quoteright, question, quoteleft ] };
+ key <AE12> { [ exclamdown, questiondown ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD09> { [ o, O, masculine ] };
+ key <AD11> { [ dead_grave, dead_circumflex, asciicircum ] };
+ key <AD12> { [ plus, asterisk, asciitilde ] };
+ key <AC01> { [ a, A, ordfeminine ] };
+ key <AC10> { [ ntilde, Ntilde ] };
+ key <AC11> { [ dead_acute, dead_diaeresis ] };
+ key <TLDE> { [ ccedilla, Ccedilla ] };
+ key <RALT> { [ Alt_R ] };
+ key <LCTL> { [ Caps_Lock ] };
+ key <CAPS> { [ Control_L ] };
+ key <LSGT> { [ less, greater ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type5" {
+ include "sun_vndr/es(type4)"
+
+ name[Group1]="Spain - Sun type 5";
+
+ key <AE03> { [ 3, periodcentered, numbersign ] };
+ key <AE04> { [ 4, dollar, asciicircum ] };
+ key <AE05> { [ 5, percent, asciitilde ] };
+ key <AE07> { [ 7, slash, braceleft ]};
+ key <AE08> { [ 8, parenleft, bracketleft ]};
+ key <AE09> { [ 9, parenright, bracketright ]};
+ key <AE10> { [ 0, equal, braceright ]};
+ key <AE11> { [ quoteright, question, quoteleft ] };
+ key <AD11> { [ dead_grave, dead_circumflex, bracketleft ] };
+ key <AD12> { [ dead_acute, dead_diaeresis, braceleft ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/es(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/fi b/xorg-server/xkeyboard-config/symbols/sun_vndr/fi
new file mode 100644
index 000000000..817423968
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/fi
@@ -0,0 +1,90 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Finland";
+
+ key <TLDE> { [ section, onehalf ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, currency, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question, backslash ] };
+ key <AE12> { [ dead_acute, dead_grave ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AD12> { [ dead_diaeresis, asciicircum, asciitilde ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ] };
+ key <BKSL> { [ apostrophe, asterisk, quoteleft ] };
+ key <LSGT> { [ less, greater, bar ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/fi(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/fr b/xorg-server/xkeyboard-config/symbols/sun_vndr/fr
new file mode 100644
index 000000000..f52d1956b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/fr
@@ -0,0 +1,97 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="France";
+
+ key <TLDE> { [ twosuperior ] };
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [ eacute, 2, asciitilde ] };
+ key <AE03> { [ quotedbl, 3, numbersign ] };
+ key <AE04> { [ apostrophe, 4, braceleft ] };
+ key <AE05> { [ parenleft, 5, bracketleft ] };
+ key <AE06> { [ minus, 6, bar ] };
+ key <AE07> { [ egrave, 7, grave ] };
+ key <AE08> { [ underscore, 8, backslash ] };
+ key <AE09> { [ ccedilla, 9, asciicircum ] };
+ key <AE10> { [ agrave, 0, at ] };
+ key <AE11> { [ parenright, degree, bracketright ] };
+ key <AE12> { [ equal, plus, braceright ] };
+
+ key <AD01> { [ a, A ] };
+ key <AD02> { [ z, Z ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ dead_circumflex, dead_diaeresis ] };
+ key <AD12> { [ dollar, sterling, currency ] };
+
+ key <AC01> { [ q, Q ] };
+ key <AC10> { [ m, M ] };
+ key <AC11> { [ ugrave, percent ] };
+ key <BKSL> { [ asterisk, mu ] };
+
+ key <LSGT> { [ less, greater ] };
+ key <AB01> { [ w, W ] };
+ key <AB07> { [ comma, question ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ exclam, section ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/fr(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/gb b/xorg-server/xkeyboard-config/symbols/sun_vndr/gb
new file mode 100644
index 000000000..d21a116cf
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/gb
@@ -0,0 +1,103 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="United Kingdom";
+
+ key <TLDE> { [ quoteleft, notsign, brokenbar ] };
+
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, sterling ] };
+ key <AE04> { [ 4, dollar, EuroSign ] };
+ key <BKSL> { [ numbersign, asciitilde ] };
+ key <AC11> { [ apostrophe, at ] };
+ key <LSGT> { [ backslash, bar ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type5" {
+
+ name[Group1]="United Kingdom - Sun type 5";
+
+ key <TLDE> { [ quoteleft, notsign, brokenbar ] };
+ key <AD03> { [ e, E, EuroSign ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type4" {
+
+ name[Group1]="United Kingdom - Sun type 4";
+
+ key <AE01> { [ 1, exclam, brokenbar ] };
+ key <AE03> { [ 3, sterling, numbersign ] };
+ key <AE04> { [ 4, dollar, EuroSign ] };
+ key <AE11> { [ minus, underscore, notsign ] };
+ key <AD03> { [ e, E, EuroSign ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/gb(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/gr b/xorg-server/xkeyboard-config/symbols/sun_vndr/gr
new file mode 100644
index 000000000..aa5fecbfa
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/gr
@@ -0,0 +1,118 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Greece";
+
+
+ key <TLDE> { [ grave, asciitilde, onehalf ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, dollar, EuroSign ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AE06> { [ 6, asciicircum, notsign ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright, degree ] };
+ key <AE11> { [ minus, underscore, plusminus ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ semicolon, colon, periodcentered ] };
+ key <AD02> { [ Greek_finalsmallsigma, periodcentered, Greek_SIGMA ] };
+ key <AD03> { [ Greek_epsilon, Greek_EPSILON, EuroSign ] };
+ key <AD04> { [ Greek_rho, Greek_RHO, registered ] };
+ key <AD05> { [ Greek_tau, Greek_TAU ] };
+ key <AD06> { [ Greek_upsilon, Greek_UPSILON ] };
+ key <AD07> { [ Greek_theta, Greek_THETA ] };
+ key <AD08> { [ Greek_iota, Greek_IOTA ] };
+ key <AD09> { [ Greek_omicron, Greek_OMICRON ] };
+ key <AD10> { [ Greek_pi, Greek_PI ] };
+ key <AD11> { [ bracketleft, braceleft, guillemotleft ] };
+ key <AD12> { [ bracketright, braceright, guillemotright ] };
+
+ key <AC01> { [ Greek_alpha, Greek_ALPHA ] };
+ key <AC02> { [ Greek_sigma, Greek_SIGMA ] };
+ key <AC03> { [ Greek_delta, Greek_DELTA ] };
+ key <AC04> { [ Greek_phi, Greek_PHI ] };
+ key <AC05> { [ Greek_gamma, Greek_GAMMA ] };
+ key <AC06> { [ Greek_eta, Greek_ETA ] };
+ key <AC07> { [ Greek_xi, Greek_XI ] };
+ key <AC08> { [ Greek_kappa, Greek_KAPPA ] };
+ key <AC09> { [ Greek_lamda, Greek_LAMDA ] };
+ key <AC10> { [ dead_acute, dead_diaeresis ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+
+ key <LSGT> { [ guillemotleft, guillemotright, brokenbar ] };
+ key <AB01> { [ Greek_zeta, Greek_ZETA ] };
+ key <AB02> { [ Greek_chi, Greek_CHI ] };
+ key <AB03> { [ Greek_psi, Greek_PSI, copyright ] };
+ key <AB04> { [ Greek_omega, Greek_OMEGA ] };
+ key <AB05> { [ Greek_beta, Greek_BETA ] };
+ key <AB06> { [ Greek_nu, Greek_NU ] };
+ key <AB07> { [ Greek_mu, Greek_MU ] };
+ key <AB08> { [ comma, less, guillemotleft ] };
+ key <AB09> { [ period, greater, guillemotright ] };
+ key <AB10> { [ slash, question ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/gr(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/it b/xorg-server/xkeyboard-config/symbols/sun_vndr/it
new file mode 100644
index 000000000..960bcfc32
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/it
@@ -0,0 +1,141 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Italy";
+
+ key <LSGT> { [ less, greater ] };
+ key <TLDE> { [ backslash, bar ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, sterling ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft, braceleft ] };
+ key <AE09> { [ 9, parenright, braceright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ apostrophe, question, grave ] };
+ key <AE12> { [ igrave, asciicircum ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ egrave, eacute, bracketleft, dead_abovering ] };
+ key <AD12> { [ plus, asterisk, bracketright ] };
+ key <BKSL> { [ ugrave, section, asciitilde ] };
+ key <AC10> { [ ograve, ccedilla, at ] };
+ key <AC11> { [ agrave, degree, numbersign ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type4" {
+
+ name[Group1]="Italy - Sun type 4";
+
+ key <BKSL> { [ bracketleft, braceleft, guillemotleft ] };
+ key <BRCR> { [ bracketright, braceright, guillemotright ] };
+ key <AE02> { [ 2, quotedbl, twosuperior ] };
+ key <AE03> { [ 3, sterling, threesuperior ] };
+ key <AE06> { [ 6, ampersand, notsign ] };
+ key <AE06> { [ 7, slash ] };
+ key <AE06> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright, backslash ] };
+ key <AE10> { [ 0, equal, bar ] };
+ key <AE11> { [ quoteright, question, quoteleft ] };
+ key <AE12> { [ igrave, asciicircum ] };
+
+ key <AD11> { [ egrave, eacute ] };
+ key <AD12> { [ plus, asterisk, asciitilde ] };
+
+ key <AC10> { [ ograve, ccedilla, at ] };
+ key <AC11> { [ agrave, degree, numbersign ] };
+ key <TLDE> { [ ugrave, section ] };
+
+ key <LSGT> { [ less, greater ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+
+ key <LALT> { [ Alt_L ] };
+ key <COMP> { [ SunCompose ] };
+ key <RALT> { [ SunAltGraph ] };
+ key <LCTL> { [ Caps_Lock ] };
+ key <CAPS> { [ Control_L ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type5" {
+
+ name[Group1]="Italy - Sun type 5";
+
+ key <AE08> { [ 8, parenleft, braceleft ] };
+ key <AE09> { [ 9, parenright, braceright ] };
+ key <BKSL> { [ ugrave, section, asciitilde ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/it(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/jp b/xorg-server/xkeyboard-config/symbols/sun_vndr/jp
new file mode 100644
index 000000000..5be8647d2
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/jp
@@ -0,0 +1,819 @@
+// $XdotOrg: $
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+// $TOG: us /main/5 1998/02/10 13:45:06 kaleb $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//All Rights Reserved.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// US/ASCII layout for a Type 4 Sun keyboard
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+xkb_symbols "basic" {
+ // Alphanumeric section
+ key <AE01> { [ 1, exclam ], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ key <AE05> { [ 5, percent ], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ] };
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ] };
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ] };
+ key <AE10> { [ 0 ], [ kana_WA, kana_WO ] };
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, asciitilde], [ kana_HE ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ], [ kana_TA ] };
+ key <AD02> { [ w, W ], [ kana_TE ] };
+ key <AD03> { [ e, E ], [ kana_I, kana_i ] };
+ key <AD04> { [ r, R ], [ kana_SU ] };
+ key <AD05> { [ t, T ], [ kana_KA ] };
+ key <AD06> { [ y, Y ], [ kana_N ] };
+ key <AD07> { [ u, U ], [ kana_NA ] };
+ key <AD08> { [ i, I ], [ kana_NI ] };
+ key <AD09> { [ o, O ], [ kana_RA ] };
+ key <AD10> { [ p, P ], [ kana_SE ] };
+ key <AD11> { [ at, quoteleft ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+ key <RTRN> { [ Return ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ], [ kana_CHI ] };
+ key <AC02> { [ s, S ], [ kana_TO ] };
+ key <AC03> { [ d, D ], [ kana_SHI ] };
+ key <AC04> { [ f, F ], [ kana_HA ] };
+ key <AC05> { [ g, G ], [ kana_KI ] };
+ key <AC06> { [ h, H ], [ kana_KU ] };
+ key <AC07> { [ j, J ], [ kana_MA ] };
+ key <AC08> { [ k, K ], [ kana_NO ] };
+ key <AC09> { [ l, L ], [ kana_RI ] };
+ key <AC10> { [ semicolon, plus ], [ kana_RE ] };
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <TLDE> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+
+ key <AB01> { [ z, Z ], [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ x, X ], [ kana_SA ] };
+ key <AB03> { [ c, C ], [ kana_SO ] };
+ key <AB04> { [ v, V ], [ kana_HI ] };
+ key <AB05> { [ b, B ], [ kana_KO ] };
+ key <AB06> { [ n, N ], [ kana_MI ] };
+ key <AB07> { [ m, M ], [ kana_MO ] };
+ key <AB08> { [ comma, less ], [ kana_NE, kana_comma ] };
+ key <AB09> { [ period, greater ], [ kana_RU, kana_fullstop ] };
+ key <AB10> { [ slash, question ], [ kana_ME, kana_conjunctive ]};
+ key <UNDR> { [ backslash, underscore], [ kana_RO ] };
+
+ key <SPCE> { [ space ] };
+ key <KANJ> { [ Kanji ] };
+ key <HENK> { [ Henkan_Mode ] };
+// key <LNFD> { [ backslash, underscore], [ kana_RO ]};
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <ESC> { [ Escape ] };
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ SunF36 ] };
+ key <FK12> { [ SunF37 ] };
+ key <BKSL> { [ backslash, bar ], [ prolongedsound ] };
+// key <BRCR> { [ Linefeed ] };
+ key <EXEC> { [ Execute ] };
+};
+xkb_symbols "type4" {
+
+ // Alphanumeric section
+ key <AE01> { [ 1, exclam ], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ key <AE05> { [ 5, percent ], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ] };
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ] };
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ] };
+ key <AE10> { [ 0 ], [ kana_WA, kana_WO ] };
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, asciitilde], [ kana_HE ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ], [ kana_TA ] };
+ key <AD02> { [ w, W ], [ kana_TE ] };
+ key <AD03> { [ e, E ], [ kana_I, kana_i ] };
+ key <AD04> { [ r, R ], [ kana_SU ] };
+ key <AD05> { [ t, T ], [ kana_KA ] };
+ key <AD06> { [ y, Y ], [ kana_N ] };
+ key <AD07> { [ u, U ], [ kana_NA ] };
+ key <AD08> { [ i, I ], [ kana_NI ] };
+ key <AD09> { [ o, O ], [ kana_RA ] };
+ key <AD10> { [ p, P ], [ kana_SE ] };
+ key <AD11> { [ at, quoteleft ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+ key <RTRN> { [ Return ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ], [ kana_CHI ] };
+ key <AC02> { [ s, S ], [ kana_TO ] };
+ key <AC03> { [ d, D ], [ kana_SHI ] };
+ key <AC04> { [ f, F ], [ kana_HA ] };
+ key <AC05> { [ g, G ], [ kana_KI ] };
+ key <AC06> { [ h, H ], [ kana_KU ] };
+ key <AC07> { [ j, J ], [ kana_MA ] };
+ key <AC08> { [ k, K ], [ kana_NO ] };
+ key <AC09> { [ l, L ], [ kana_RI ] };
+ key <AC10> { [ semicolon, plus ], [ kana_RE ] };
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <TLDE> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ], [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ x, X ], [ kana_SA ] };
+ key <AB03> { [ c, C ], [ kana_SO ] };
+ key <AB04> { [ v, V ], [ kana_HI ] };
+ key <AB05> { [ b, B ], [ kana_KO ] };
+ key <AB06> { [ n, N ], [ kana_MI ] };
+ key <AB07> { [ m, M ], [ kana_MO ] };
+ key <AB08> { [ comma, less ], [ kana_NE, kana_comma ] };
+ key <AB09> { [ period, greater ], [ kana_RU, kana_fullstop ] };
+ key <AB10> { [ slash, question ], [ kana_ME, kana_conjunctive ]};
+ key <UNDR> { [ backslash, underscore], [ kana_RO ] };
+ key <RTSH> { [ Shift_R ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <SPCE> { [ space ] };
+ key <KANJ> { [ Kanji ] };
+ key <HENK> { [ Henkan_Mode ] };
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <LNFD> { [ backslash, underscore], [ kana_RO ]};
+ key <COMP> { [ Multi_key ] };
+ key <EXEC> { [ Execute ] };
+// key <TLFD> { [ Linefeed ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <ESC> { [ Escape ] };
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ SunF36 ] };
+ key <FK12> { [ SunF37 ] };
+ key <BKSL> { [ backslash, bar ], [ prolongedsound ] };
+ key <BRCR> { [ Linefeed ] };
+
+ key <STOP> { [ L1, L1 ], [ SunStop ] };
+ key <AGAI> { [ L2, L2 ], [ SunAgain ] };
+ key <PROP> { [ L3, L3 ], [ SunProps ] };
+ key <UNDO> { [ L4, L4 ], [ SunUndo ] };
+ key <FRNT> { [ L5, L5 ], [ SunFront ] };
+ key <COPY> { [ L6, L6 ], [ SunCopy ] };
+ key <OPEN> { [ L7, L7 ], [ SunOpen ] };
+ key <PAST> { [ L8, L8 ], [ SunPaste ] };
+ key <FIND> { [ L9, L9 ], [ SunFind ] };
+ key <CUT> { [ L10, L10 ], [ SunCut ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ R2, R2 ], [ Print ] };
+ key <SCLK> { [ R3, R3 ], [ Scroll_Lock, Break ] };
+ key <PAUS> { [ R1, R1 ], [ Pause ] };
+ key <DELE> { [ Delete ] };
+ key <HELP> { [ Help ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock ] };
+ key <KPEQ> { [ R4, R4 ], [ KP_Equal ] };
+ key <KPDV> { [ R5, R5 ], [ KP_Divide ] };
+ key <KPMU> { [ R6, R6 ], [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ R7, R7 ], [ KP_7, Home ] };
+ key <KP8> { [ Up, R8 ], [ KP_8 ] };
+ key <KP9> { [ R9, R9 ], [ KP_9, Prior ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ Left, R10 ], [ KP_4 ] };
+ key <KP5> { [ R11, R11 ], [ KP_5 ] };
+ key <KP6> { [ Right, R12 ], [ KP_6 ] };
+
+ key <KP1> { [ R13, R13 ], [ KP_1, End ] };
+ key <KP2> { [ Down, R14 ], [ KP_2 ] };
+ key <KP3> { [ R15, R15 ], [ KP_3, Next ] };
+ key <KPEN> { [ KP_Enter ] };
+ key <KP0> { [ KP_Insert, KP_Insert], [ KP_0 ] };
+ key <KPDL> { [ Delete, Delete ], [ KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R, Shift_L };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Mode_switch };
+ modifier_map Mod3 { Num_Lock };
+ modifier_map Mod4 { Alt_L };
+};
+
+// US/ASCII layout for a Type 5 Sun keyboard
+xkb_symbols "type5" {
+
+ // Alphanumeric section
+ key <TLDE> { [ backslash, bar ], [ prolongedsound ] };
+ key <AE01> { [ 1, exclam ], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ key <AE05> { [ 5, percent ], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ] };
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ] };
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ] };
+ key <AE10> { [ 0 ], [ kana_WA, kana_WO ] };
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, asciitilde], [ kana_HE ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ], [ kana_TA ] };
+ key <AD02> { [ w, W ], [ kana_TE ] };
+ key <AD03> { [ e, E ], [ kana_I, kana_i ] };
+ key <AD04> { [ r, R ], [ kana_SU ] };
+ key <AD05> { [ t, T ], [ kana_KA ] };
+ key <AD06> { [ y, Y ], [ kana_N ] };
+ key <AD07> { [ u, U ], [ kana_NA ] };
+ key <AD08> { [ i, I ], [ kana_NI ] };
+ key <AD09> { [ o, O ], [ kana_RA ] };
+ key <AD10> { [ p, P ], [ kana_SE ] };
+ key <AD11> { [ at, quoteleft ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+ key <RTRN> { [ Return ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ], [ kana_CHI ] };
+ key <AC02> { [ s, S ], [ kana_TO ] };
+ key <AC03> { [ d, D ], [ kana_SHI ] };
+ key <AC04> { [ f, F ], [ kana_HA ] };
+ key <AC05> { [ g, G ], [ kana_KI ] };
+ key <AC06> { [ h, H ], [ kana_KU ] };
+ key <AC07> { [ j, J ], [ kana_MA ] };
+ key <AC08> { [ k, K ], [ kana_NO ] };
+ key <AC09> { [ l, L ], [ kana_RI ] };
+ key <AC10> { [ semicolon, plus ], [ kana_RE ] };
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <BKSL> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ], [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ x, X ], [ kana_SA ] };
+ key <AB03> { [ c, C ], [ kana_SO ] };
+ key <AB04> { [ v, V ], [ kana_HI ] };
+ key <AB05> { [ b, B ], [ kana_KO ] };
+ key <AB06> { [ n, N ], [ kana_MI ] };
+ key <AB07> { [ m, M ], [ kana_MO ] };
+ key <AB08> { [ comma, less ], [ kana_NE, kana_comma ] };
+ key <AB09> { [ period, greater ], [ kana_RU, kana_fullstop ] };
+ key <AB10> { [ slash, question ], [ kana_ME, kana_conjunctive ]};
+ key <UNDR> { [ backslash, underscore], [ kana_RO ] };
+ key <RTSH> { [ Shift_R ] };
+
+ key <LCTL> { [ Control_L ] };
+// key <RCTL> { [ Control_R ] };
+ key <EXEC> { [ Execute ] };
+ key <SPCE> { [ space ] };
+ key <KANJ> { [ Kanji ] };
+ key <HENK> { [ Henkan_Mode ] };
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <ESC> { [ Escape ] };
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ SunF36 ] };
+ key <FK12> { [ SunF37 ] };
+ key <STOP> { [ L1, L1 ], [ SunStop ] };
+ key <AGAI> { [ L2, L2 ], [ SunAgain ] };
+ key <PROP> { [ L3, L3 ], [ SunProps ] };
+ key <UNDO> { [ L4, L4 ], [ SunUndo ] };
+ key <FRNT> { [ L5, L5 ], [ SunFront ] };
+ key <COPY> { [ L6, L6 ], [ SunCopy ] };
+ key <OPEN> { [ L7, L7 ], [ SunOpen ] };
+ key <PAST> { [ L8, L8 ], [ SunPaste ] };
+ key <FIND> { [ L9, L9 ], [ SunFind ] };
+ key <CUT> { [ L10, L10 ], [ SunCut ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ R2, R2 ], [ Print, SunSys_Req ] };
+ key <SCLK> { [ R3, R3 ], [ Scroll_Lock ] };
+ key <PAUS> { [ R1, R1 ], [ Pause, Break ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+
+ key <DELE> { [ Delete ] };
+ key <INS> { [ Insert ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <HOME> { [ Home ] };
+ key <END> { [ End ] };
+ key <HELP> { [ Help ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock ] };
+ key <KPDV> { [ R5, R5 ], [ KP_Divide ] };
+ key <KPMU> { [ R6, R6 ], [ KP_Multiply ] };
+ key <KPSU> { [ R4, R4 ], [ KP_Subtract ] };
+
+ key <KP7> { [ R7, R7 ], [ KP_7, Home ] };
+ key <KP8> { [ Up, R8 ], [ KP_8 ] };
+ key <KP9> { [ R9, R9 ], [ KP_9, Prior ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ Left, R10 ], [ KP_4 ] };
+ key <KP5> { [ R11, R11 ], [ KP_5 ] };
+ key <KP6> { [ Right, R12 ], [ KP_6 ] };
+
+ key <KP1> { [ R13, R13 ], [ KP_1, End ] };
+ key <KP2> { [ Down, R14 ], [ KP_2 ] };
+ key <KP3> { [ R15, R15 ], [ KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_Insert ], [ KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Delete ], [ KP_Decimal ] };
+ // End "Keypad" section,
+ // begin "four keys up on the right"
+
+ key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ SunAudioLowerVolume, SunVideoLowerBrightness ] };
+ key <VOL+> { [ SunAudioRaiseVolume, SunVideoRaiseBrightness ] };
+ key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Alt_R };
+ modifier_map Mod3 { Num_Lock };
+ modifier_map Mod4 { Alt_L };
+};
+
+xkb_symbols "type5hobo" {
+
+ // Alphanumeric section
+ key <TLDE> { [ backslash, bar ], [ prolongedsound ] };
+ key <AE01> { [ 1, exclam ], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ key <AE05> { [ 5, percent ], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ], [ KP_7 ]};
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ], [ KP_8 ]};
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ], [ KP_9 ]};
+ key <AE10> { [ 0 ], [ kana_WA, kana_WO ], [ KP_Multiply]};
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, asciitilde], [ kana_HE ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ], [ kana_TA ] };
+ key <AD02> { [ w, W ], [ kana_TE ] };
+ key <AD03> { [ e, E ], [ kana_I, kana_i ] };
+ key <AD04> { [ r, R ], [ kana_SU ] };
+ key <AD05> { [ t, T ], [ kana_KA ] };
+ key <AD06> { [ y, Y ], [ kana_N ] };
+ key <AD07> { [ u, U ], [ kana_NA ], [ KP_4 ] };
+ key <AD08> { [ i, I ], [ kana_NI ], [ KP_5 ] };
+ key <AD09> { [ o, O ], [ kana_RA ], [ KP_6 ] };
+ key <AD10> { [ p, P ], [ kana_SE ], [ KP_Subtract]};
+ key <AD11> { [ at, quoteleft ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+ key <RTRN> { [ Return ], [ NoSymbol, NoSymbol], [ KP_Enter ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ], [ kana_CHI ] };
+ key <AC02> { [ s, S ], [ kana_TO ] };
+ key <AC03> { [ d, D ], [ kana_SHI ] };
+ key <AC04> { [ f, F ], [ kana_HA ] };
+ key <AC05> { [ g, G ], [ kana_KI ] };
+ key <AC06> { [ h, H ], [ kana_KU ] };
+ key <AC07> { [ j, J ], [ kana_MA ], [ KP_1 ]};
+ key <AC08> { [ k, K ], [ kana_NO ], [ KP_2 ]};
+ key <AC09> { [ l, L ], [ kana_RI ], [ KP_3 ]};
+ key <AC10> { [ semicolon, plus], [ kana_RE ], [ KP_Add ]};
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <BKSL> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ], [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ x, X ], [ kana_SA ] };
+ key <AB03> { [ c, C ], [ kana_SO ] };
+ key <AB04> { [ v, V ], [ kana_HI ] };
+ key <AB05> { [ b, B ], [ kana_KO ] };
+ key <AB06> { [ n, N ], [ kana_MI ] };
+ key <AB07> { [ m, M ], [ kana_MO ], [ KP_0 ]};
+ key <AB08> { [ comma, less ], [ kana_NE, kana_comma ] };
+ key <AB09> { [ period, greater ], [ kana_RU, kana_fullstop ], [ KP_Decimal ] };
+ key <AB10> { [ slash, question ], [ kana_ME, kana_conjunctive ], [ KP_Divide ]};
+ key <UNDR> { [ backslash, underscore], [ kana_RO ] };
+ key <RTSH> { [ Shift_R ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <EXEC> { [ Execute ] };
+ key <SPCE> { [ space ] };
+ key <KANJ> { [ Kanji ] };
+ key <HENK> { [ Henkan_Mode ] };
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <ESC> { [ Escape ] };
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ SunF36 ] };
+ key <FK12> { [ SunF37 ] };
+ key <STOP> { [ L1, L1 ], [ SunStop ] };
+ key <AGAI> { [ L2, L2 ], [ SunAgain ] };
+ key <PROP> { [ L3, L3 ], [ SunProps ] };
+ key <UNDO> { [ L4, L4 ], [ SunUndo ] };
+ key <FRNT> { [ L5, L5 ], [ SunFront ] };
+ key <COPY> { [ L6, L6 ], [ SunCopy ] };
+ key <OPEN> { [ L7, L7 ], [ SunOpen ] };
+ key <PAST> { [ L8, L8 ], [ SunPaste ] };
+ key <FIND> { [ L9, L9 ], [ SunFind ] };
+ key <CUT> { [ L10, L10 ], [ SunCut ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ R2, R2 ], [ Print, SunSys_Req ] };
+ key <SCLK> { [ R3, R3 ], [ Scroll_Lock ] };
+ key <PAUS> { [ R1, R1 ], [ Pause, Break ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+
+ key <DELE> { [ Delete ] };
+ key <INS> { [ Insert ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <HOME> { [ Home ] };
+ key <END> { [ End ] };
+ key <HELP> { [ Help ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock ] };
+// key <KPDV> { [ R5, R5 ], [ KP_Divide ] };
+// key <KPMU> { [ R6, R6 ], [ KP_Multiply ] };
+// key <KPSU> { [ R4, R4 ], [ KP_Subtract ] };
+
+// key <KP7> { [ R7, R7 ], [ KP_7, Home ] };
+// key <KP8> { [ Up, R8 ], [ KP_8 ] };
+// key <KP9> { [ R9, R9 ], [ KP_9, Prior ] };
+// key <KPAD> { [ KP_Add ] };
+
+// key <KP4> { [ Left, R10 ], [ KP_4 ] };
+// key <KP5> { [ R11, R11 ], [ KP_5 ] };
+// key <KP6> { [ Right, R12 ], [ KP_6 ] };
+
+// key <KP1> { [ R13, R13 ], [ KP_1, End ] };
+// key <KP2> { [ Down, R14 ], [ KP_2 ] };
+// key <KP3> { [ R15, R15 ], [ KP_3 ] };
+// key <KPEN> { [ KP_Enter ] };
+
+// key <KP0> { [ KP_Insert, KP_Insert ], [ KP_0 ] };
+// key <KPDL> { [ KP_Delete, KP_Delete ], [ KP_Decimal ] };
+ // End "Keypad" section,
+ // begin "four keys up on the right"
+
+ key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ SunAudioLowerVolume, SunVideoLowerBrightness ] };
+ key <VOL+> { [ SunAudioRaiseVolume, SunVideoRaiseBrightness ] };
+ key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Alt_R };
+ modifier_map Mod3 { Num_Lock };
+ modifier_map Mod4 { Alt_L };
+};
+
+// layout for a Japanese Type 6 Sun keyboard
+// Just shows differences from Type 6 US layout
+partial
+xkb_symbols "type6" {
+
+ // Alphanumeric section
+ // Though Yen symbol is engraved on key AE13, JA L10N folks want backslash.
+ key <AE13> { [ backslash, bar ], [ prolongedsound ] };
+ key <AE01> { [ 1, exclam ], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ key <AE05> { [ 5, percent ], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ] };
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ] };
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ] };
+ key <AE10> { [ 0 ], [ kana_WA, kana_WO ] };
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, asciitilde], [ kana_HE ] };
+
+ key <AD01> { [ q, Q ], [ kana_TA ] };
+ key <AD02> { [ w, W ], [ kana_TE ] };
+ key <AD03> { [ e, E ], [ kana_I, kana_i ] };
+ key <AD04> { [ r, R ], [ kana_SU ] };
+ key <AD05> { [ t, T ], [ kana_KA ] };
+ key <AD06> { [ y, Y ], [ kana_N ] };
+ key <AD07> { [ u, U ], [ kana_NA ] };
+ key <AD08> { [ i, I ], [ kana_NI ] };
+ key <AD09> { [ o, O ], [ kana_RA ] };
+ key <AD10> { [ p, P ], [ kana_SE ] };
+ key <AD11> { [ at, quoteleft ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+
+ key <AC01> { [ a, A ], [ kana_CHI ] };
+ key <AC02> { [ s, S ], [ kana_TO ] };
+ key <AC03> { [ d, D ], [ kana_SHI ] };
+ key <AC04> { [ f, F ], [ kana_HA ] };
+ key <AC05> { [ g, G ], [ kana_KI ] };
+ key <AC06> { [ h, H ], [ kana_KU ] };
+ key <AC07> { [ j, J ], [ kana_MA ] };
+ key <AC08> { [ k, K ], [ kana_NO ] };
+ key <AC09> { [ l, L ], [ kana_RI ] };
+ key <AC10> { [ semicolon, plus ], [ kana_RE ] };
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <BKSL> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+
+ key <AB01> { [ z, Z ], [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ x, X ], [ kana_SA ] };
+ key <AB03> { [ c, C ], [ kana_SO ] };
+ key <AB04> { [ v, V ], [ kana_HI ] };
+ key <AB05> { [ b, B ], [ kana_KO ] };
+ key <AB06> { [ n, N ], [ kana_MI ] };
+ key <AB07> { [ m, M ], [ kana_MO ] };
+ key <AB08> { [ comma, less ], [ kana_NE, kana_comma ] };
+ key <AB09> { [ period, greater ], [ kana_RU, kana_fullstop ] };
+ key <AB10> { [ slash, question ], [ kana_ME, kana_conjunctive ]};
+ key <AB11> { [ backslash, underscore], [ kana_RO ] };
+ key <UNDR> { [ backslash, underscore], [ kana_RO ] };
+
+ key <EXEC> { [ Execute ] };
+ key <KANJ> { [ Kanji ] };
+ key <HENK> { [ Henkan_Mode ] };
+ key <ALGR> { [ Kana_Lock, Mode_switch ] };
+ // End alphanumeric section
+};
+
+xkb_symbols "x86" {
+ include "sun_vndr/us(pc101)"
+ include "sun_vndr/jp(basic)"
+ key <TLDE> { [ Henkan_Mode, Henkan_Mode ], [ Henkan_Mode ] };
+
+ key <AE10> { [ 0, asciitilde ], [ kana_WA, kana_WO ]};
+ key <AE13> { [ backslash, bar ], [ prolongedsound ]};
+
+
+ key <AC12> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ]};
+
+ key <ALGR> { [ Mode_switch ] };
+ key <RALT> { [ Alt_R ] };
+
+};
+
+xkb_symbols "J3100" {
+ include "sun_vndr/us(pc101)"
+
+ // Alphanumeric section
+ key <AE01> { [ 1, exclam ], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ key <AE05> { [ 5, percent ], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ] };
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ] };
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ] };
+ key <AE10> { [ 0 ], [ kana_WA, kana_WO ] };
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, asciitilde], [ kana_HE ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ], [ kana_TA ] };
+ key <AD02> { [ w, W ], [ kana_TE ] };
+ key <AD03> { [ e, E ], [ kana_I, kana_i ] };
+ key <AD04> { [ r, R ], [ kana_SU ] };
+ key <AD05> { [ t, T ], [ kana_KA ] };
+ key <AD06> { [ y, Y ], [ kana_N ] };
+ key <AD07> { [ u, U ], [ kana_NA ] };
+ key <AD08> { [ i, I ], [ kana_NI ] };
+ key <AD09> { [ o, O ], [ kana_RA ] };
+ key <AD10> { [ p, P ], [ kana_SE ] };
+ key <AD11> { [ at, quoteleft ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+ key <RTRN> { [ Return ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ], [ kana_CHI ] };
+ key <AC02> { [ s, S ], [ kana_TO ] };
+ key <AC03> { [ d, D ], [ kana_SHI ] };
+ key <AC04> { [ f, F ], [ kana_HA ] };
+ key <AC05> { [ g, G ], [ kana_KI ] };
+ key <AC06> { [ h, H ], [ kana_KU ] };
+ key <AC07> { [ j, J ], [ kana_MA ] };
+ key <AC08> { [ k, K ], [ kana_NO ] };
+ key <AC09> { [ l, L ], [ kana_RI ] };
+ key <AC10> { [ semicolon, plus ], [ kana_RE ] };
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <TLDE> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+
+ key <AB01> { [ z, Z ], [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ x, X ], [ kana_SA ] };
+ key <AB03> { [ c, C ], [ kana_SO ] };
+ key <AB04> { [ v, V ], [ kana_HI ] };
+ key <AB05> { [ b, B ], [ kana_KO ] };
+ key <AB06> { [ n, N ], [ kana_MI ] };
+ key <AB07> { [ m, M ], [ kana_MO ] };
+ key <AB08> { [ comma, less ], [ kana_NE, kana_comma ] };
+ key <AB09> { [ period, greater ], [ kana_RU, kana_fullstop ] };
+ key <AB10> { [ slash, question ], [ kana_ME, kana_conjunctive ]};
+// key <UNDR> { [ backslash, underscore], [ kana_RO ] };
+
+ key <SPCE> { [ space ] };
+// key <KANJ> { [ Kanji ] };
+// key <HENK> { [ Henkan_Mode ] };
+// key <LNFD> { [ backslash, underscore], [ kana_RO ]};
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <ESC> { [ Escape ] };
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ SunF36 ] };
+ key <FK12> { [ SunF37 ] };
+ key <BKSL> { [ backslash, bar ], [ prolongedsound ] };
+// key <BRCR> { [ Linefeed ] };
+// key <EXEC> { [ Execute ] };
+
+ key <ESC> { [ Escape, 3 ] };
+
+ key <AE02> { [ 2, at ], [ kana_FU ]};
+ key <AE06> { [ 6, asciicircum ], [ kana_O, kana_o ]};
+ key <AE07> { [ 7, ampersand ], [ kana_YA, kana_ya ]};
+ key <AE08> { [ 8, asterisk ], [ kana_YU, kana_yu ]};
+ key <AE09> { [ 9, parenleft ], [ kana_YO, kana_yo ]};
+ key <AE10> { [ 0, parenright ], [ kana_WA, kana_WO ]};
+ key <AE11> { [ minus, underscore ], [ kana_HO ]};
+ key <AE12> { [ equal, plus ], [ kana_HE ]};
+
+ key <BKSL> { [ backslash, bar ], [ prolongedsound ]};
+ key <AE12> { [ equal, plus ], [ kana_HE ]};
+
+ key <AD11> { [ bracketleft, braceleft ], [ voicedsound ]};
+ key <AD12> { [ bracketright, braceright ], [ semivoicedsound, kana_openingbracket ]};
+
+ key <AC10> { [ semicolon, colon ], [ kana_RE ]};
+ key <AC11> { [ quoteright, quotedbl ], [ kana_KE ]};
+
+ key <TLDE> { [ quoteleft, asciitilde ], [ kana_MU, kana_closingbracket ]};
+ key <LSGT> { [ backslash, bar ], [ kana_RO ]};
+// key <ALGR> { [ Mode_switch ] };
+ key <RALT> { [ Henkan_Mode ] };
+ key <RCTL> { [ Mode_switch ] };
+
+};
+
+xkb_symbols "Muhenkan_x86" {
+ include "sun_vndr/jp(x86)"
+
+ key <EXEC> { [ Muhenkan ] };
+};
+
+
+
+partial
+xkb_symbols "type7" {
+ include "sun_vndr/jp(type6)"
+ key <AE10> { [ 0, asciitilde ], [ kana_WA, kana_WO ] };
+ key <TLDE> { [ Henkan_Mode ] };
+ key <HENK> { [ Kana_Lock, Mode_switch ] };
+ key <ALGR> { [ Alt_R, Alt_R ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/kr b/xorg-server/xkeyboard-config/symbols/sun_vndr/kr
new file mode 100644
index 000000000..51959b23f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/kr
@@ -0,0 +1,98 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+// Korean layout for a Type 6 Sun keyboard
+partial
+xkb_symbols "type6" {
+
+ // A few keys are different
+ key <ALGR> { [ Hangul ] };
+ key <COMP> { [ Hangul_Hanja ] };
+ key <KANA> { [ Hangul ] };
+ key <EISU> { [ Hangul_Hanja ] };
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+// Korean layout for a Type 4 Sun keyboard
+xkb_symbols "type4" {
+
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+
+ key <LNFD> { [ Hangul ] };
+ key <RALT> { [ Linefeed ] };
+ key <COMP> { [ Hangul_Hanja ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+// Korean layout for a Type 5 Sun keyboard
+xkb_symbols "type5" {
+
+ // A few keys are different
+ key <ALGR> { [ Hangul ] };
+ key <COMP> { [ Hangul_Hanja ] };
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial default alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/kr(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/lt b/xorg-server/xkeyboard-config/symbols/sun_vndr/lt
new file mode 100644
index 000000000..6e51cb342
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/lt
@@ -0,0 +1,119 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Lithuania";
+
+
+
+ key <TLDE> { [ quoteleft, asciitilde, notsign, brokenbar ] };
+ key <AE01> { [ aogonek, Aogonek, 1, exclam ] };
+ key <AE02> { [ ccaron, Ccaron, 2, at ] };
+ key <AE03> { [ eogonek, Eogonek, 3, numbersign ] };
+ key <AE04> { [ eabovedot, Eabovedot, 4, dollar ] };
+ key <AE05> { [ iogonek, Iogonek, 5, percent ] };
+ key <AE06> { [ scaron, Scaron, 6, asciicircum ] };
+ key <AE07> { [ uogonek, Uogonek, 7, ampersand ] };
+ key <AE08> { [ umacron, Umacron, 8, asterisk ] };
+ key <AE09> { [ doublelowquotemark, parenleft, 9, parenleft ] };
+ key <AE10> { [ leftdoublequotemark, parenright, 0, parenright ] };
+ key <AE11> { [ minus, underscore, backslash, questiondown ] };
+ key <AE12> { [ zcaron, Zcaron, equal, plus ] };
+
+ key <AD01> { [ q, Q, at, Greek_OMEGA ] };
+ key <AD02> { [ w, W, lstroke, Lstroke ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, paragraph, registered ] };
+ key <AD05> { [ t, T, tslash, Tslash ] };
+ key <AD06> { [ y, Y, leftarrow, yen ] };
+ key <AD07> { [ u, U, downarrow, uparrow ] };
+ key <AD08> { [ i, I, rightarrow, idotless ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD10> { [ p, P, thorn, THORN ] };
+ key <AD11> { [ bracketleft, braceleft, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ bracketright, braceright, dead_tilde, dead_macron ] };
+
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ s, S, ssharp, section ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, dstroke, ordfeminine ] };
+ key <AC05> { [ g, G, eng, ENG ] };
+ key <AC06> { [ h, H, hstroke, Hstroke ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K, kra, ampersand ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <AC10> { [ semicolon, colon, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ apostrophe, quotedbl, dead_circumflex, dead_caron ] };
+ key <LSGT> { [ backslash, bar, dead_grave, dead_breve ] };
+
+ key <BKSL> { [ backslash, bar, dead_grave, dead_breve ] };
+ key <AB01> { [ z, Z, guillemotleft, less ] };
+ key <AB02> { [ x, X, guillemotright, greater ] };
+ key <AB03> { [ c, C, cent, copyright ] };
+ key <AB04> { [ v, V, leftdoublequotemark, leftsinglequotemark ] };
+ key <AB05> { [ b, B, rightdoublequotemark, rightsinglequotemark ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M, mu, masculine ] };
+ key <AB08> { [ comma, less, ampersand, multiply ] };
+ key <AB09> { [ period, greater, periodcentered, division ] };
+ key <AB10> { [ slash, question, dead_belowdot, dead_abovedot ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/lt(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/lv b/xorg-server/xkeyboard-config/symbols/sun_vndr/lv
new file mode 100644
index 000000000..6661afddf
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/lv
@@ -0,0 +1,118 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Latvia";
+
+
+ key <TLDE> { [ grave, asciitilde, acute, asciitilde ] };
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, at, twosuperior, oneeighth ] };
+ key <AE03> { [ 3, numbersign, threesuperior, sterling ] };
+ key <AE04> { [ 4, dollar, EuroSign, cent ] };
+ key <AE05> { [ 5, percent, onehalf, threeeighths ] };
+ key <AE06> { [ 6, asciicircum, threequarters, fiveeighths ] };
+ key <AE07> { [ 7, ampersand, braceleft, seveneighths ] };
+ key <AE08> { [ 8, asterisk, bracketleft, trademark ] };
+ key <AE09> { [ 9, parenleft, bracketright, plusminus ] };
+ key <AE10> { [ 0, parenright, braceright, degree ] };
+ key <AE11> { [ minus, underscore, backslash, questiondown ] };
+ key <AE12> { [ equal, plus, endash, emdash ] };
+
+ key <AD01> { [ q, Q, q, Q ] };
+ key <AD02> { [ w, W, w, W ] };
+ key <AD03> { [ e, E, emacron, Emacron ] };
+ key <AD04> { [ r, R, rcedilla, Rcedilla ] };
+ key <AD05> { [ t, T, t, T ] };
+ key <AD06> { [ y, Y, y, Y ] };
+ key <AD07> { [ u, U, umacron, Umacron ] };
+ key <AD08> { [ i, I, imacron, Imacron ] };
+ key <AD09> { [ o, O, omacron, Omacron ] };
+ key <AD10> { [ p, P, p, P ] };
+ key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
+ key <AD12> { [ bracketright, braceright, guillemotright, rightdoublequotemark ] };
+
+ key <AC01> { [ a, A, amacron, Amacron ] };
+ key <AC02> { [ s, S, scaron, Scaron ] };
+ key <AC03> { [ d, D, d, D ] };
+ key <AC04> { [ f, F, f, F ] };
+ key <AC05> { [ g, G, gcedilla, Gcedilla ] };
+ key <AC06> { [ h, H, h, H ] };
+ key <AC07> { [ j, J, j, J ] };
+ key <AC08> { [ k, K, kcedilla, Kcedilla ] };
+ key <AC09> { [ l, L, lcedilla, Lcedilla ] };
+ key <AC10> { [ semicolon, colon, semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark ] };
+ key <LSGT> { [ backslash, bar, degree, brokenbar ] };
+
+ key <BKSL> { [ backslash, bar, grave, breve ] };
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ key <AB02> { [ x, X, x, X ] };
+ key <AB03> { [ c, C, ccaron, Ccaron ] };
+ key <AB04> { [ v, V, v, V ] };
+ key <AB05> { [ b, B, b, B ] };
+ key <AB06> { [ n, N, ncedilla, Ncedilla ] };
+ key <AB07> { [ m, M, m, M ] };
+ key <AB08> { [ comma, less, horizconnector, multiply ] };
+ key <AB09> { [ period, greater, periodcentered, division ] };
+ key <AB10> { [ slash, question, slash, abovedot ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/lv(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/nl b/xorg-server/xkeyboard-config/symbols/sun_vndr/nl
new file mode 100644
index 000000000..703614277
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/nl
@@ -0,0 +1,149 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+default partial alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Netherlands";
+
+ key <TLDE> { [ at, section, notsign ] };
+ key <AE01> { [ 1, exclam, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, twosuperior ] };
+ key <AE03> { [ 3, numbersign, threesuperior ] };
+ key <AE04> { [ 4, dollar, onequarter ] };
+ key <AE05> { [ 5, percent, onehalf ] };
+ key <AE06> { [ 6, ampersand, threequarters ] };
+ key <AE07> { [ 7, underscore, sterling ] };
+ key <AE08> { [ 8, parenleft, braceleft ] };
+ key <AE09> { [ 9, parenright, braceright ] };
+ key <AE10> { [ 0, quoteright, quoteleft ] };
+ key <AE11> { [ slash, question, backslash ] };
+ key <AE12> { [ degree, dead_tilde, dead_cedilla ] };
+
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [dead_diaeresis, dead_circumflex ] };
+ key <AD12> { [ asterisk, bar, asciitilde ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S, ssharp ] };
+ key <AC04> { [ f, F ] };
+ key <AC10> { [ plus, plusminus ] };
+ key <AC11> { [dead_acute, dead_grave ] };
+ key <BKSL> { [ less, greater, asciicircum ] };
+
+ key <LSGT> { [bracketright, bracketleft, brokenbar ] };
+ key <AB01> { [ z, Z, guillemotleft ] };
+ key <AB02> { [ x, X, guillemotright ] };
+ key <AB03> { [ c, C, cent ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, equal ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type4" {
+
+ name[Group1]="Netherlands - Sun type 4";
+
+ key <BKSL> { [ at, section, notsign ] };
+ key <BRCR> { [ backslash, bar ] };
+ key <AE01> { [ 1, exclam, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, twosuperior ] };
+ key <AE03> { [ 3, numbersign, threesuperior] };
+ key <AE04> { [ 4, dollar, onequarter ] };
+ key <AE05> { [ 5, percent, onehalf ] };
+ key <AE06> { [ 6, ampersand, threequarters] };
+ key <AE07> { [ 7, underscore, sterling ] };
+ key <AE08> { [ 8, parenleft, braceleft ] };
+ key <AE09> { [ 9, parenright, braceright ] };
+ key <AE10> { [ 0, quoteright, quoteleft ] };
+ key <AE11> { [ slash, question, backslash ] };
+ key <AE12> { [ degree, dead_tilde, dead_cedilla] };
+ key <AD03> { [ e, E, EuroSign, Eacute ]};
+ key <AD11> { [ dead_diaeresis, dead_circumflex, asciitilde, asciicircum]};
+ key <AD12> { [ asterisk, bar, asciitilde ] };
+ key <AC02> { [ S, S, ssharp ] };
+ key <AC10> { [ plus, plusminus ] };
+ key <AC11> { [ dead_acute, dead_grave ] };
+ key <TLDE> { [ less, greater, asciicircum ] };
+ key <LSGT> { [ bracketleft, bracketright, brokenbar ] };
+ key <AB01> { [ z, Z, guillemotleft] };
+ key <AB02> { [ x, X, guillemotright] };
+ key <AB03> { [ c, C, cent ] };
+ key <AB07> { [ m, M, Greek_mu, masculine ] };
+ key <AB08> { [ comma, semicolon, cedilla, guillemotleft] };
+ key <AB09> { [ period, colon, periodcentered, guillemotright ] };
+ key <AB10> { [ minus, equal, hyphen ] };
+ key <CAPS> { [ SunAltGraph ] };
+// key <COMP> { [ SunCompose ] };
+ key <ALGR> { [ Caps_Lock ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/nl(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/no b/xorg-server/xkeyboard-config/symbols/sun_vndr/no
new file mode 100644
index 000000000..1d1d43449
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/no
@@ -0,0 +1,145 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Norway";
+
+ key <TLDE> { [ bar, section ] };
+ key <LSGT> { [ less, greater ] };
+ key <BKSL> { [ apostrophe, asterisk, grave ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, currency, dollar ] };
+ key <AE05> { [ 5, percent, asciitilde ] };
+ key <AE06> { [ 6, ampersand, asciicircum ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question ] };
+ key <AE12> { [ backslash, dead_grave, dead_acute ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde ] };
+ key <AC10> { [ oslash, Oslash ] };
+ key <AC11> { [ ae, AE ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "type4" {
+
+ name[Group1]="Norway - Sun type 4";
+
+ key <BKSL> { [ bar, section ] };
+ key <BRCR> { [ asciitilde, asciicircum] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, currency, dollar ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question ] };
+ key <AE12> { [ backslash, dead_grave, dead_acute ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde ] };
+ key <LCTL> { [ Caps_Lock ] };
+ key <AC10> { [ Ooblique ] };
+ key <AC11> { [ ae, AE ] };
+ key <TLDE> { [ quoteright, asterisk, quoteleft ] };
+ key <LSGT> { [ less, greater ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <CAPS> { [ Control_L ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type5" {
+
+ name[Group1]="Norway - Sun type 5";
+
+ key <AE05> { [ 5, percent, asciitilde ] };
+ key <AE06> { [ 6, ampersand, asciicircum ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketright ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+
+ key <BKSL> { [ quoteright, asterisk, quoteleft ] };
+ key <LSGT> { [ less, greater ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+
+};
+
+
+partial default alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/no(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/pl b/xorg-server/xkeyboard-config/symbols/sun_vndr/pl
new file mode 100644
index 000000000..684b54911
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/pl
@@ -0,0 +1,102 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Polish Developers";
+
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicirum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD03> { [ e, E, eogonek, Eogonek ] };
+ key <AD07> { [ u, U, EuroSign ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+
+ key <AC01> { [ a, A, aogonek, Aogonek ] };
+ key <AC02> { [ s, S, sacute, Sacute ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+ key <AB01> { [ z, Z, zabovedot, Zabovedot ] };
+ key <AB02> { [ x, X, zacute, Zacute ] };
+ key <AB03> { [ c, C, cacute, Cacute ] };
+ key <AB06> { [ n, N, nacute, Nacute ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/pl(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/pt b/xorg-server/xkeyboard-config/symbols/sun_vndr/pt
new file mode 100644
index 000000000..561abb594
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/pt
@@ -0,0 +1,143 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Portugal";
+
+ key <LSGT> { [ less, greater ] };
+ key <TLDE> { [ backslash, bar ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, dollar, section ] };
+ key <AE05> { [ 5, percent, asciitilde ] };
+ key <AE06> { [ 6, ampersand, asciicircum ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ quoteright, question, quoteleft ] };
+ key <AE12> { [ guillemotleft, guillemotright ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ plus, asterisk, dead_diaeresis ] };
+ key <AD12> { [ dead_acute, dead_grave ] };
+ key <BKSL> { [ dead_tilde, dead_circumflex ] };
+ key <AC10> { [ ccedilla, Ccedilla ] };
+ key <AC11> { [ masculine, ordfeminine ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "type4" {
+
+ name[Group1]="Portugal - Sun type 4";
+
+ key <BKSL> { [ bracketleft, braceleft, guillemotleft] };
+ key <BRCR> { [ bracketright, braceright, guillemotright] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, dollar, section ] };
+ key <AE06> { [ 6, ampersand, notsign ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright, backslash ] };
+ key <AE10> { [ 0, equal, bar ] };
+ key <AE11> { [ quoteright, question, quoteleft ] };
+ key <AE12> { [ exclamdown, questiondown ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ dead_diaeresis, asterisk, plus ] };
+ key <AD12> { [ dead_acute, dead_grave, asciitilde ] };
+ key <LCTL> { [ Caps_Lock ] };
+ key <AC10> { [ ccedilla, Ccedilla ] };
+ key <AC11> { [ masculine, ordfeminine] };
+ key <TLDE> { [ dead_tilde, dead_circumflex, asciicircum ] };
+ key <LSGT> { [ less, greater ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <CAPS> { [ Control_L ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "type5" {
+
+ name[Group1]="Portugal - Sun type 5";
+
+ key <TLDE> { [ backslash, bar ] };
+ key <AE05> { [ 5, percent, asciitilde ]};
+ key <AE06> { [ 6, ampersand, asciicircum ]};
+ key <AE07> { [ 7, slash, braceleft ]};
+ key <AE08> { [ 8, parenleft, bracketleft ]};
+ key <AE09> { [ 9, parenright, bracketright ]};
+ key <AE10> { [ 0, equal, braceright ]};
+ key <AE11> { [ quoteright, question, quoteleft ]};
+
+ key <AD11> { [ plus, asterisk, dead_diaeresis ]};
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial default alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/pt(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/ro b/xorg-server/xkeyboard-config/symbols/sun_vndr/ro
new file mode 100644
index 000000000..df87262ed
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/ro
@@ -0,0 +1,118 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Romania";
+
+
+ key <TLDE> { [ grave, asciitilde, grave, asciitilde ] };
+ key <AE01> { [ 1, exclam, dead_tilde ] };
+ key <AE02> { [ 2, at, dead_caron ] };
+ key <AE03> { [ 3, numbersign, dead_circumflex ] };
+ key <AE04> { [ 4, dollar, dead_breve ] };
+ key <AE05> { [ 5, percent, dead_abovering ] };
+ key <AE06> { [ 6, asciicircum, dead_ogonek ] };
+ key <AE07> { [ 7, ampersand, dead_grave ] };
+ key <AE08> { [ 8, asterisk, dead_abovedot ] };
+ key <AE09> { [ 9, parenleft, dead_acute ] };
+ key <AE10> { [ 0, parenright, dead_doubleacute ] };
+ key <AE11> { [ minus, underscore, dead_diaeresis, endash ] };
+ key <AE12> { [ equal, plus, dead_cedilla, plusminus ] };
+
+ key <AD01> { [ q, Q, acircumflex, Acircumflex ] };
+ key <AD02> { [ w, W, ssharp ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, r, R ] };
+ key <AD05> { [ t, T, 0x100021b, 0x100021a ] };
+ key <AD06> { [ y, Y, y, Y ] };
+ key <AD07> { [ u, U, u, U ] };
+ key <AD08> { [ i, I, icircumflex, Icircumflex ] };
+ key <AD09> { [ o, O, o, O ] };
+ key <AD10> { [ p, P, section ] };
+ key <AD11> { [ bracketleft, braceleft, doublelowquotemark ] };
+ key <AD12> { [ bracketright, braceright, rightdoublequotemark ] };
+
+ key <AC01> { [ a, A, abreve, Abreve ] };
+ key <AC02> { [ s, S, 0x1000219, 0x1000218 ] };
+ key <AC03> { [ d, D, dstroke, Dstroke ] };
+ key <AC04> { [ f, F, f, F ] };
+ key <AC05> { [ g, G, g, G ] };
+ key <AC06> { [ h, H, h, H ] };
+ key <AC07> { [ j, J, j, J ] };
+ key <AC08> { [ k, K, k, K ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <AC10> { [ semicolon, colon, semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl, apostrophe, quotedbl ] };
+ key <LSGT> { [ backslash, bar, backslash, brokenbar ] };
+
+ key <BKSL> { [ backslash, bar, backslash, brokenbar ] };
+ key <AB01> { [ z, Z, z, Z ] };
+ key <AB02> { [ x, X, x, X ] };
+ key <AB03> { [ c, C, copyright ] };
+ key <AB04> { [ v, V, v, V ] };
+ key <AB05> { [ b, B, b, B ] };
+ key <AB06> { [ n, N, n, N ] };
+ key <AB07> { [ m, M, m, M ] };
+ key <AB08> { [ comma, less, guillemotleft, multiply ] };
+ key <AB09> { [ period, greater, guillemotright, division ] };
+ key <AB10> { [ slash, question, slash, question ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/ro(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/ru b/xorg-server/xkeyboard-config/symbols/sun_vndr/ru
new file mode 100644
index 000000000..833576dcc
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/ru
@@ -0,0 +1,112 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]= "Russia";
+
+ key.type[group1]="FOUR_LEVEL";
+
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl, 2, at ] };
+ key <AE03> { [ 3, numerosign, 3, numbersign ] };
+ key <AE04> { [ 4, percent, 4, dollar ] };
+ key <AE05> { [ 5, colon, 5, percent ] };
+ key <AE07> { [ 7, period, 7, ampersand ] };
+ key <AE08> { [ 8, semicolon, 8, asterisk ] };
+ key <BKSL> { [ slash, question, backslash, bar ] };
+ key <AB10> { [ ediaeresis, Ediaeresis, slash, question ] };
+ key <LSGT> { [ backslash, bar ] };
+
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, q, Q ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, w, W ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, e, E ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA, r, R ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE, t, T ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN, y, Y ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, u, U ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, i, I ] };
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, o, O ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, p, P ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft ] };
+ key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN, bracketright, braceright ] };
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF, a, A ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, s, S ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE, d, D ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A, f, F ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE, g, G ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER, h, H ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O, j, J ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL, k, K ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE, l, L ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, semicolon, colon ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E, apostrophe, quotedbl ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA, z, Z ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE, x, X ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES, c, C ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM, v, V ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I, b, B ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE, n, N ] };
+ key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN, m, M ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE, comma, less ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU, period, greater ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+
+partial default alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/ru(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/se b/xorg-server/xkeyboard-config/symbols/sun_vndr/se
new file mode 100644
index 000000000..ec41629cb
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/se
@@ -0,0 +1,280 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+partial alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Sweden";
+
+ key <TLDE> { [ section, onehalf ] };
+ key <LSGT> { [ less, greater, bar ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, currency, dollar ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question, backslash ] };
+ key <AE12> { [ dead_acute, dead_grave ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AD12> { [ dead_diaeresis, asciicircum, asciitilde ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ] };
+ key <BKSL> { [ apostrophe, asterisk, grave ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+ include "kpdl(comma)"
+
+};
+
+// Swedish layout for a Type 5/5c Sun keyboard
+xkb_symbols "type5" {
+ include "sun_vndr/us(type5)+se(basic)"
+
+ // Begin alphanumeric section
+ // These two are not supposed to be dead.
+ // A few others supposedly ARE dead, but don't care for now.
+ key <AC12> { [ apostrophe, asterisk ], [ grave ] };
+ key <AD12> { [ ], [ asciitilde ] };
+
+ key <RTSH> { [ Shift_R ] };
+
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ], [ SunF36] };
+ key <FK12> { [ F12 ], [ SunF37] };
+ key <STOP> { [ Cancel ], [ F11 ] };
+ key <AGAI> { [ Redo ], [ F12 ] };
+ key <PROP> { [ SunProps ], [ F13 ] };
+ key <UNDO> { [ Undo ], [ F14 ] };
+ key <FRNT> { [ SunFront ], [ F15 ] };
+ key <COPY> { [ SunCopy ], [ F16 ] };
+ key <OPEN> { [ SunOpen ], [ F17 ] };
+ key <PAST> { [ SunPaste ], [ F18 ] };
+ key <FIND> { [ Find ], [ F19 ] };
+ key <CUT> { [ SunCut ], [ F20 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ Print ], [ Sys_Req, SunSys_Req ] };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> { [ Pause ], [ Break ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+
+ key <DELE> { [ Delete ] };
+ key <INS> { [ Insert ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <HOME> { [ Home ] };
+ key <END> { [ End ] };
+ key <HELP> { [ Help ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <NMLK> { [ Num_Lock ] };
+ key <KPDV> { [ KP_Divide ], [ F25 ] };
+ key <KPMU> { [ KP_Multiply ], [ F26 ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ], [ F27 ] };
+ key <KP8> { [ KP_Up, KP_8 ], [ F28 ] };
+ key <KP9> { [ KP_Prior, KP_9 ], [ F29 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ], [ F30 ] };
+ key <KP5> { [ KP_Begin, KP_5 ], [ F31 ] };
+ key <KP6> { [ KP_Right, KP_6 ], [ F32 ] };
+
+ key <KP1> { [ KP_End, KP_1 ], [ F33 ] };
+ key <KP2> { [ KP_Down, KP_2 ], [ F34 ] };
+ key <KP3> { [ KP_Next, KP_3 ], [ F35 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section,
+
+ // Begin "four keys up on the right"
+ key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ SunAudioLowerVolume,SunVideoLowerBrightness ] };
+ key <VOL+> { [ SunAudioRaiseVolume,SunVideoRaiseBrightness ] };
+ key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
+ // End "four keys up on the right"
+
+ // Begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Alt_L };
+ // End modifier mappings
+};
+
+// Swedish layout for a Type 4 Sun keyboard
+xkb_symbols "type4" {
+ include "sun_vndr/us(type4basic)+se(basic)"
+
+ // Begin alphanumeric section
+ // These two are not supposed to be dead.
+ // A few others supposedly ARE dead, but don't care for now.
+ key <AC12> { [ apostrophe, asterisk ], [ grave ] };
+ key <AD12> { [ ], [ asciitilde ] };
+
+ key <AF14> { [ asciitilde, asciicircum ] };
+
+ key <RTSH> { [ Shift_R ] };
+
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ], [ SunF36] };
+ key <FK12> { [ F12 ], [ SunF37] };
+ key <STOP> { [ Cancel ], [ F11 ] };
+ key <AGAI> { [ Redo ], [ F12 ] };
+ key <PROP> { [ SunProps ], [ F13 ] };
+ key <UNDO> { [ Undo ], [ F14 ] };
+ key <FRNT> { [ SunFront ], [ F15 ] };
+ key <COPY> { [ SunCopy ], [ F16 ] };
+ key <OPEN> { [ SunOpen ], [ F17 ] };
+ key <PAST> { [ SunPaste ], [ F18 ] };
+ key <FIND> { [ Find ], [ F19 ] };
+ key <CUT> { [ SunCut ], [ F20 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <LNFD> { [ Linefeed ] };
+ key <DELE> { [ Delete ] };
+ key <PRSC> { [ Print ], [ Sys_Req, SunSys_Req ] };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> { [ Pause ], [ Break ] };
+ key <HELP> { [ Help ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <NMLK> { [ Num_Lock ] };
+ key <KPEQ> { [ KP_Equal ] };
+ key <KPDV> { [ KP_Divide ], [ F25 ] };
+ key <KPMU> { [ KP_Multiply ], [ F26 ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ], [ F27 ] };
+ key <KP8> { [ KP_Up, KP_8 ], [ F28 ] };
+ key <KP9> { [ KP_Prior, KP_9 ], [ F29 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ], [ F30 ] };
+ key <KP5> { [ KP_Begin, KP_5 ], [ F31 ] };
+ key <KP6> { [ KP_Right, KP_6 ], [ F32 ] };
+
+ key <KP1> { [ KP_End, KP_1 ], [ F33 ] };
+ key <KP2> { [ KP_Down, KP_2 ], [ F34 ] };
+ key <KP3> { [ KP_Next, KP_3 ], [ F35 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section,
+
+ // Begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Alt_L };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Meta_L };
+ modifier_map Mod5 { Meta_R };
+ // End modifier mappings
+};
+
+
+partial default alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/se(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/sk b/xorg-server/xkeyboard-config/symbols/sun_vndr/sk
new file mode 100644
index 000000000..f27726013
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/sk
@@ -0,0 +1,110 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Slovakia";
+
+
+ key <TLDE> { [ semicolon, dead_abovering, quoteleft, asciitilde ] };
+ key <AE01> { [ plus, 1, exclam, asciitilde ] };
+ key <AE02> { [ lcaron, 2, at, dead_caron ] };
+ key <AE03> { [ scaron, 3, numbersign, dead_circumflex ] };
+ key <AE04> { [ ccaron, 4, dollar, dead_breve ] };
+ key <AE05> { [ tcaron, 5, percent, dead_abovering ] };
+ key <AE06> { [ zcaron, 6, asciicircum, dead_ogonek ] };
+ key <AE07> { [ yacute, 7, ampersand, grave ] };
+ key <AE08> { [ aacute, 8, asterisk, dead_abovedot ] };
+ key <AE09> { [ iacute, 9, parenleft, apostrophe ] };
+ key <AE10> { [ eacute, 0, parenright, dead_doubleacute ] };
+ key <AE11> { [ equal, percent, dead_diaeresis, backslash ] };
+ key <AE12> { [ dead_acute, dead_caron, dead_cedilla, minus ] };
+
+ key <AD01> { [ q, Q, backslash ] };
+ key <AD02> { [ w, W, bar ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD06> { [ z, Z ] };
+ key <AD10> { [ p, P, apostrophe ] };
+ key <AD11> { [ uacute, slash, division ] };
+ key <AD12> { [ adiaeresis, parenleft, multiply ] };
+
+ key <AC02> { [ s, S, dstroke ] };
+ key <AC03> { [ d, D, Dstroke ] };
+ key <AC04> { [ f, F, bracketleft ] };
+ key <AC05> { [ g, G, bracketright ] };
+ key <AC08> { [ k, K, lstroke ] };
+ key <AC09> { [ l, L, Lstroke ] };
+ key <AC10> { [ ocircumflex, quotedbl, dollar ] };
+ key <AC11> { [ section, exclam, ssharp ] };
+ key <AC12> { [ ncaron, parenright, currency, currency ] };
+ key <BKSL> { [ ncaron, parenright, backslash, bar ] };
+
+ key <LSGT> { [ backslash, bar, slash, brokenbar ] };
+ key <AB01> { [ y, Y, less ] };
+ key <AB02> { [ x, X, greater, numbersign ] };
+ key <AB03> { [ c, C, ampersand ] };
+ key <AB04> { [ v, V, at ] };
+ key <AB05> { [ b, B, braceleft ] };
+ key <AB06> { [ n, N, braceright ] };
+ key <AB08> { [ comma, question, less ] };
+ key <AB09> { [ period, colon, greater ] };
+ key <AB10> { [ minus, underscore, asterisk ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/sk(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/solaris b/xorg-server/xkeyboard-config/symbols/sun_vndr/solaris
new file mode 100644
index 000000000..d07b150d1
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/solaris
@@ -0,0 +1,213 @@
+//-------------------------------------------------------------------------
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+//-------------------------------------------------------------------------
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+// Default map provides backwards compatibility with Sun keyboards from
+// long ago and the key mappings still used in Solaris Xsun today
+
+partial default
+xkb_symbols "defaults_common" {
+
+ // Left side keys were labeled L1-L10 on Sun Type 2 & Type 3 keyboards
+ // and the names have stuck (you can spot a longtime Sun admin when you
+ // hear them say to hit "L1-A" to enter the OpenBoot PROM)
+ // These names get mapped to the keysyms F11-F20
+ key <STOP> { [ L1, L1 ], [ SunStop ] };
+ key <AGAI> { [ L2, L2 ], [ SunAgain ] };
+ key <PROP> { [ L3, L3 ], [ SunProps ] };
+ key <UNDO> { [ L4, L4 ], [ SunUndo ] };
+ key <FRNT> { [ L5, L5 ], [ SunFront ] };
+ key <COPY> { [ L6, L6 ], [ SunCopy ] };
+ key <OPEN> { [ L7, L7 ], [ SunOpen ] };
+ key <PAST> { [ L8, L8 ], [ SunPaste ] };
+ key <FIND> { [ L9, L9 ], [ SunFind ] };
+ key <CUT> { [ L10, L10 ], [ SunCut ] };
+
+ // And on the right side, the function keys were labeled R1-R15,
+ // which get mapped to the keysyms F21-F35
+ // This includes the keys that became the numeric keypad
+ key <PAUS> { [ R1, R1 ], [ Pause ] };
+ key <PRSC> { [ R2, R2 ], [ Print ] };
+ key <SCLK> { [ R3, R3 ], [ Scroll_Lock, Break ] };
+
+ key <KPEQ> { [ KP_Equal ], [ R4, KP_Equal ] };
+ key <KPDV> { [ KP_Divide ], [ R5, KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ], [ R6, KP_Multiply ] };
+
+ key <KP7> { [ KP_Home, KP_7, R7 ], [ R7, KP_7, Home ] };
+ key <KP8> { [ KP_Up, KP_8, R8 ], [ R8, KP_8, Up ] };
+ key <KP9> { [ KP_Prior, KP_9, R9 ], [ R9, KP_9, Prior ] };
+
+ key <KP4> { [ KP_Left, KP_4, R10 ], [ R10, KP_4, Left ] };
+ key <KP5> { [ KP_Begin, KP_5, R11 ], [ R11, KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6, R12 ], [ R12, KP_6, Right ] };
+
+ key <KP1> { [ KP_End, KP_1, R13 ], [ R13, KP_1, End ] };
+ key <KP2> { [ KP_Down, KP_2, R14 ], [ R14, KP_2, Down ] };
+ key <KP3> { [ KP_Next, KP_3, R15 ], [ R15, KP_3, Next ] };
+
+ // F11 & F12 are mapped to SunF36 and SunF37 since they were added
+ // after F11-F35 were already assigned on Sun keyboards
+ key <FK11> { [ SunF36 ], [ F11 ] };
+ key <FK12> { [ SunF37 ], [ F12 ] };
+
+ // These were added to the keyboard much later and simply got mapped
+ // to their logical names
+ key <HELP> { [ Help ] };
+ key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ SunAudioLowerVolume,SunVideoLowerBrightness ] };
+ key <VOL+> { [ SunAudioRaiseVolume,SunVideoRaiseBrightness ] };
+ key <POWR> { [ XF86Sleep, XF86Hibernate ] };
+
+// key <LALT> { [ Alt_L ] };
+// key <LMTA> { [ Meta_L ] };
+// key <RMTA> { [ Meta_R ] };
+// key <COMP> { [ Multi_key ] };
+};
+
+partial default
+xkb_symbols "defaults" {
+ include "sun_vndr/solaris(defaults_common)"
+// key <RALT> { [ Mode_switch ] };
+// key <ALGR> { [ Mode_switch ] };
+
+ // begin modifier mappings
+// modifier_map Shift { Shift_R, Shift_L };
+// modifier_map Mod1 { Alt_L };
+// modifier_map Mod2 { Num_Lock };
+// modifier_map Mod3 { Alt_R, Mode_switch };
+// modifier_map Mod4 { Meta_L, Meta_R };
+};
+
+partial default
+xkb_symbols "defaults_type7jp" {
+ include "sun_vndr/solaris(defaults_common)"
+ // begin modifier mappings
+ modifier_map Shift { Shift_R, Shift_L };
+ modifier_map Mod1 { Alt_L , Alt_R};
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Meta_L, Meta_R };
+};
+
+// Map the keys to the actual key names instead of the ancient Sun function
+// keys
+partial
+xkb_symbols "keynames" {
+ key <FK11> { [ F11 ], [ SunF36 ] };
+ key <FK12> { [ F12 ], [ SunF37 ] };
+
+ key <STOP> { [ Cancel ], [ F11 ] };
+ key <AGAI> { [ Redo ], [ F12 ] };
+ key <PROP> { [ SunProps ], [ F13 ] };
+ key <UNDO> { [ Undo ], [ F14 ] };
+ key <FRNT> { [ SunFront ], [ F15 ] };
+ key <COPY> { [ SunCopy ], [ F16 ] };
+ key <OPEN> { [ SunOpen ], [ F17 ] };
+ key <PAST> { [ SunPaste ], [ F18 ] };
+ key <FIND> { [ Find ], [ F19 ] };
+ key <CUT> { [ SunCut ], [ F20 ] };
+
+ key <HELP> { [ Help ] };
+
+ key <PAUS> { [ Pause ] };
+ key <PRSC> { [ Print ] };
+ key <SCLK> { [ Scroll_Lock, Break ] };
+
+ key <KP7> { [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ] };
+
+ key <KP4> { [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_Begin, KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ] };
+
+ key <KPEN> { [ KP_Enter ] };
+ key <KPEQ> { [ KP_Equal ] };
+
+ key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ SunAudioLowerVolume, SunVideoLowerBrightness ] };
+ key <VOL+> { [ SunAudioRaiseVolume, SunVideoRaiseBrightness ] };
+ key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
+
+ key <LALT> { [ Alt_L ] };
+ key <RALT> { [ Mode_switch ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+
+};
+
+// Map the keys to the XFree86 key names instead of the Sun key names
+partial
+xkb_symbols "xf86keynames" {
+ key <STOP> { [ XF86Stop ], [ F11 ] };
+ key <AGAI> { [ Redo ], [ F12 ] };
+ key <PROP> { [ SunProps ], [ F13 ] };
+ key <UNDO> { [ Undo ], [ F14 ] };
+ key <FRNT> { [ SunFront ], [ F15 ] };
+ key <COPY> { [ XF86Copy ], [ F16 ] };
+ key <OPEN> { [ XF86Open ], [ F17 ] };
+ key <PAST> { [ XF86Paste ], [ F18 ] };
+ key <FIND> { [ Find ], [ F19 ] };
+ key <CUT> { [ XF86Cut ], [ F20 ] };
+
+ key <MUTE> { [ XF86AudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ XF86AudioLowerVolume,SunVideoLowerBrightness ] };
+ key <VOL+> { [ XF86AudioRaiseVolume,SunVideoRaiseBrightness ] };
+ key <POWR> { [ XF86Sleep, XF86PowerDown ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/tr b/xorg-server/xkeyboard-config/symbols/sun_vndr/tr
new file mode 100644
index 000000000..3c95110a1
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/tr
@@ -0,0 +1,93 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Turkey - (Q)";
+
+ key <TLDE> { [ quotedbl, eacute ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, apostrophe ] };
+ key <AE03> { [ 3, asciicircum, numbersign ] };
+ key <AE04> { [ 4, plus, dollar ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ asterisk, question, backslash ] };
+ key <AE12> { [ minus, underscore ] };
+
+ key <AD01> { [ q, Q, at ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD08> { [ idotless, I ] };
+ key <AD11> { [ gbreve, Gbreve ] };
+ key <AD12> { [udiaeresis, Udiaeresis, asciitilde ] };
+
+ key <AC10> { [ scedilla, Scedilla, acute ] };
+ key <AC11> { [ i, Iabovedot ] };
+ key <BKSL> { [ comma, semicolon, grave ] };
+
+ key <LSGT> { [ less, greater, bar ] };
+ key <AB08> { [odiaeresis, Odiaeresis ] };
+ key <AB09> { [ ccedilla, Ccedilla ] };
+ key <AB10> { [ period, colon ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial default alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/tr(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/tuv b/xorg-server/xkeyboard-config/symbols/sun_vndr/tuv
new file mode 100644
index 000000000..0eda715d8
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/tuv
@@ -0,0 +1,264 @@
+// $XdotOrg: $
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+// $TOG: us /main/5 1998/02/10 13:45:06 kaleb $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//All Rights Reserved.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// US/ASCII layout for a Type 4 Sun keyboard
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+xkb_symbols "type4basic" {
+ include "us(basic)"
+
+ key <RTSH> { [ Shift_R ] };
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <LNFD> { [ Linefeed ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ SunF36 ] };
+ key <FK12> { [ SunF37 ] };
+ key <STOP> { [ L1, L1 ], [ SunStop ] };
+ key <AGAI> { [ L2, L2 ], [ SunAgain ] };
+ key <PROP> { [ L3, L3 ], [ SunProps ] };
+ key <UNDO> { [ L4, L4 ], [ SunUndo ] };
+ key <FRNT> { [ L5, L5 ], [ SunFront ] };
+ key <COPY> { [ L6, L6 ], [ SunCopy ] };
+ key <OPEN> { [ L7, L7 ], [ SunOpen ] };
+ key <PAST> { [ L8, L8 ], [ SunPaste ] };
+ key <FIND> { [ L9, L9 ], [ SunFind ] };
+ key <CUT> { [ L10, L10 ], [ SunCut ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ R2, R2 ], [ Print ] };
+ key <SCLK> { [ R3, R3 ], [ Scroll_Lock, Break ] };
+ key <PAUS> { [ R1, R1 ], [ Pause ] };
+ key <DELE> { [ Delete ] };
+ key <HELP> { [ Help ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock ] };
+ key <KPEQ> { [ R4, R4 ], [ KP_Equal ] };
+ key <KPDV> { [ R5, R5 ], [ KP_Divide ] };
+ key <KPMU> { [ R6, R6 ], [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ R7, R7 ], [ KP_7, Home ] };
+ key <KP8> { [ Up, R8 ], [ KP_8 ] };
+// key <KP8> { [ R8, R8 ], [ KP_8 ] };
+ key <KP9> { [ R9, R9 ], [ KP_9, Prior ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ Left, R10 ], [ KP_4 ] };
+ key <KP5> { [ R11, R11 ], [ KP_5 ] };
+ key <KP6> { [ Right, R12 ], [ KP_6 ] };
+
+ key <KP1> { [ R13, R13 ], [ KP_1, End ] };
+ key <KP2> { [ Down, R14 ], [ KP_2 ] };
+ key <KP3> { [ R15, R15 ], [ KP_3, Next ] };
+ key <KPEN> { [ KP_Enter ] };
+ key <KP0> { [ KP_Insert, KP_Insert], [ KP_0 ] };
+ key <KPDL> { [ Delete, Delete ], [ KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R, Shift_L };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Alt_L };
+};
+
+xkb_symbols "type4" {
+ include "sun_vndr/us(type4basic)"
+
+ // A few alphanumeric keys are different
+ key <AE04> { [ 4, dollar ], [ EuroSign ] };
+ key <AE05> { [ 5, percent ], [ EuroSign ] };
+ key <AD03> { [ e, E ], [ EuroSign ] };
+};
+
+// US/ASCII layout for a Type 5 Sun keyboard
+xkb_symbols "type5basic" {
+ include "us(basic)"
+
+ key <RTSH> { [ Shift_R ] };
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ SunF36 ] };
+ key <FK12> { [ SunF37 ] };
+ key <STOP> { [ L1, L1 ], [ SunStop ] };
+ key <AGAI> { [ L2, L2 ], [ SunAgain ] };
+ key <PROP> { [ L3, L3 ], [ SunProps ] };
+ key <UNDO> { [ L4, L4 ], [ SunUndo ] };
+ key <FRNT> { [ L5, L5 ], [ SunFront ] };
+ key <COPY> { [ L6, L6 ], [ SunCopy ] };
+ key <OPEN> { [ L7, L7 ], [ SunOpen ] };
+ key <PAST> { [ L8, L8 ], [ SunPaste ] };
+ key <FIND> { [ L9, L9 ], [ SunFind ] };
+ key <CUT> { [ L10, L10 ], [ SunCut ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ R2, R2 ], [ Print, SunSys_Req ] };
+ key <SCLK> { [ R3, R3 ], [ Scroll_Lock ] };
+ key <PAUS> { [ R1, R1 ], [ Pause, Break ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+
+ key <DELE> { [ Delete ] };
+ key <INS> { [ Insert ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <HOME> { [ Home ] };
+ key <END> { [ End ] };
+ key <HELP> { [ Help ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock ] };
+ key <KPDV> { [ R5, R5 ], [ KP_Divide ] };
+ key <KPMU> { [ R6, R6 ], [ KP_Multiply ] };
+ key <KPSU> { [ R4, R4 ], [ KP_Subtract ] };
+
+ key <KP7> { [ R7, R7 ], [ KP_7, Home ] };
+ key <KP8> { [ Up, R8 ], [ KP_8 ] };
+ key <KP9> { [ R9, R9 ], [ KP_9, Prior ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ Left, R10 ], [ KP_4 ] };
+ key <KP5> { [ R11, R11 ], [ KP_5 ] };
+ key <KP6> { [ Right, R12 ], [ KP_6 ] };
+
+ key <KP1> { [ R13, R13 ], [ KP_1, End ] };
+ key <KP2> { [ Down, R14 ], [ KP_2 ] };
+ key <KP3> { [ R15, R15 ], [ KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_Insert ], [ KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Delete ], [ KP_Decimal ] };
+ // End "Keypad" section,
+ // begin "four keys up on the right"
+
+ key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ SunAudioLowerVolume, SunVideoLowerBrightness ] };
+ key <VOL+> { [ SunAudioRaiseVolume, SunVideoRaiseBrightness ] };
+ key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod3 { Alt_R };
+ modifier_map Mod4 { Alt_L };
+};
+
+xkb_symbols "type5" {
+ include "sun_vndr/us(type5basic)"
+
+ // A few alphanumeric keys are different
+ key <AE04> { [ 4, dollar ], [ EuroSign ] };
+ key <AE05> { [ 5, percent ], [ EuroSign ] };
+ key <AD03> { [ e, E ], [ EuroSign ] };
+ key <BKSL> { [ backslash, bar ], [ brokenbar ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/tw b/xorg-server/xkeyboard-config/symbols/sun_vndr/tw
new file mode 100644
index 000000000..a4c011d45
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/tw
@@ -0,0 +1,79 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+// Taiwanese layout for a Type 6 Sun keyboard
+partial
+xkb_symbols "type6" {
+ // A few keys are different from US layout - only those are shown here
+ key <ALGR> { [ Henkan_Mode ] };
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+
+};
+
+
+// Taiwanese layout for a Type 4 Sun keyboard
+
+xkb_symbols "type4" {
+
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+
+ key <COMP> { [ Henkan_Mode ] };
+
+};
+
+// Taiwanese layout for a Type 5 Sun keyboard
+xkb_symbols "type5" {
+
+ // A few keys are different
+ key <ALGR> { [ Henkan_Mode ] };
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/ua b/xorg-server/xkeyboard-config/symbols/sun_vndr/ua
new file mode 100644
index 000000000..c49b21bce
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/ua
@@ -0,0 +1,118 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "type6" {
+
+ name[Group1]="Ukraine";
+
+
+ key <TLDE> { [ grave, asciitilde, apostrophe, asciitilde ] };
+ key <AE01> { [ 1, exclam, 1, exclam ] };
+ key <AE02> { [ 2, at, 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign, 3, numbersign ] };
+ key <AE04> { [ 4, dollar, 4, asterisk ] };
+ key <AE05> { [ 5, percent, 5, colon ] };
+ key <AE06> { [ 6, asciicircum, 6, comma ] };
+ key <AE07> { [ 7, ampersand, 7, period ] };
+ key <AE08> { [ 8, asterisk, 8, semicolon ] };
+ key <AE09> { [ 9, parenleft, 9, parenleft ] };
+ key <AE10> { [ 0, parenright, 0, parenright ] };
+ key <AE11> { [ minus, underscore, minus, underscore ] };
+ key <AE12> { [ equal, plus, equal, plus ] };
+
+ key <AD01> { [ q, Q, Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ w, W, Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ e, E, Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ r, R, Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ t, T, Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ y, Y, Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ u, U, Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ i, I, Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ o, O, Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ p, P, Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ bracketleft, braceleft, Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [ bracketright, braceright, Ukrainian_yi, Ukrainian_YI ] };
+
+ key <AC01> { [ a, A, Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ s, S, Ukrainian_i, Ukrainian_I ] };
+ key <AC03> { [ d, D, Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ f, F, Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ g, G, Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ h, H, Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ j, J, Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ k, K, Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ l, L, Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ semicolon, colon, Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ apostrophe, quotedbl, Ukrainian_ie, Ukrainian_IE ] };
+ key <BKSL> { [ backslash, bar, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+
+ key <LSGT> { [ less, greater, slash, bar ] };
+ key <AB01> { [ z, Z, Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ x, X, Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ c, C, Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ v, V, Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ n, N, Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ b, B, Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [ m, M, Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ comma, less, Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ period, greater, Cyrillic_yu, Cyrillic_YU ] };
+ key <AB10> { [ slash, question, slash, question ] };
+
+ include "level3(ralt_switch)"
+
+};
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sun_vndr/ua(type6)"
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/us b/xorg-server/xkeyboard-config/symbols/sun_vndr/us
new file mode 100644
index 000000000..8a857a5ab
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/us
@@ -0,0 +1,401 @@
+//
+// Copyright 2010 Sun Microsystems, Inc. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, provided that the above
+// copyright notice(s) and this permission notice appear in all copies of
+// the Software and that both the above copyright notice(s) and this
+// permission notice appear in supporting documentation.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Except as contained in this notice, the name of a copyright holder
+// shall not be used in advertising or otherwise to promote the sale, use
+// or other dealings in this Software without prior written authorization
+// of the copyright holder.
+//
+//
+//Copyright 1996, 1998 The Open Group
+//
+//All Rights Reserved.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+
+//
+// CDDL HEADER START
+//
+// The contents of this file are subject to the terms of the
+// Common Development and Distribution License (the "License").
+// You may not use this file except in compliance with the License.
+//
+// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
+// or http://www.opensolaris.org/os/licensing.
+// See the License for the specific language governing permissions
+// and limitations under the License.
+//
+// When distributing Covered Code, include this CDDL HEADER in each
+// file and include the License file at src/OPENSOLARIS.LICENSE.
+// If applicable, add the following below this CDDL HEADER, with the
+// fields enclosed by brackets "[]" replaced with your own identifying
+// information: Portions Copyright [yyyy] [name of copyright owner]
+//
+// CDDL HEADER END
+//
+
+// Symbols shared by all Sun Keyboard layouts
+xkb_symbols "sunbasic" {
+ include "srvr_ctrl(xfree86)"
+
+ // Needed for left function keys and volume keys
+ // Need to include this before us(basic) otherwise tilde is mapped to
+ // a jp key
+ include "inet(evdev)"
+
+ include "us(basic)"
+ include "pc(function)"
+ include "pc(editing)"
+ include "keypad(x11)"
+
+ key <ESC> { [ Escape ] };
+
+ // the extra key on most European keyboards
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+
+ // these keys are common to almost all layouts
+ key <BKSL> { [ backslash, bar ] };
+ key <SPCE> { [ space ] };
+
+ key <BKSP> { [ BackSpace ] };
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <RTRN> { [ Return ] };
+
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
+
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ key <LFSH> { [ Shift_L ] };
+ key <LCTL> { [ Control_L ] };
+
+ key <RTSH> { [ Shift_R ] };
+ key <RCTL> { [ Control_R ] };
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod2 { Num_Lock };
+
+ // Fake keys for virtual<->real modifiers mapping
+ key <LVL3> { [ ISO_Level3_Shift ] };
+ key <MDSW> { [ Mode_switch ] };
+ modifier_map Mod5 { <LVL3>, <MDSW> };
+
+ key <ALT> { [ NoSymbol, Alt_L ] };
+ key <LALT> { [ Alt_L, Alt_L ] };
+ key <LWIN> { [ Meta_L ] };
+ key <RWIN> { [ Meta_R ] };
+ modifier_map Mod1 { Alt_L };
+ modifier_map Mod4 { Meta_L, Meta_R };
+
+// key <LALT> { [ Alt_L ] };
+// key <ALGR> { [ Mode_switch ] };
+// key <LMTA> { [ Meta_L ] };
+// key <RMTA> { [ Meta_R ] };
+
+ include "sun_vndr/us(left_funkeys)"
+
+ include "capslock(capslock)"
+ //include "capslock(shiftlock)"
+
+
+// This default section uses the same symbols as other XKB implementations
+// for greater compatibility & AccessX MouseKeys support, but it is
+// different than the traditional Sun key mappings that date back to the
+// Sun Type 2 keyboard, in which the right side numpad were "R" function
+// keys. To restore the original behavior, comment out this section and
+// uncomment the section below that lists the R key mappings.
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_Begin, KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+
+// End New Keypad section - Begin Sun traditional Keypad section
+
+// key <KP7> { [ R7, R7 ], [ KP_7, Home ] };
+// key <KP8> { [ Up, R8 ], [ KP_8 ] };
+// key <KP9> { [ R9, R9 ], [ KP_9, Prior ] };
+// key <KPAD> { [ KP_Add ] };
+//
+// key <KP4> { [ Left, R10 ], [ KP_4 ] };
+// key <KP5> { [ R11, R11 ], [ KP_5 ] };
+// key <KP6> { [ Right, R12 ], [ KP_6 ] };
+//
+// key <KP1> { [ R13, R13 ], [ KP_1, End ] };
+// key <KP2> { [ Down, R14 ], [ KP_2 ] };
+// key <KP3> { [ R15, R15 ], [ KP_3, Next ] };
+// key <KPEN> { [ KP_Enter ] };
+// key <KP0> { [ KP_Insert, KP_Insert], [ KP_0 ] };
+// key <KPDL> { [ Delete, Delete ], [ KP_Decimal ] };
+
+// End "Keypad" section
+
+};
+
+
+xkb_symbols "left_funkeys" {
+ // Suppliment to inet(evdev) for added functionality of left-funkeys
+ //key <STOP> { [ NoSymbol ], [ L1, L1 ] };
+ //key <AGAI> { [ NoSymbol ], [ L2, L2 ] };
+ //key <PROP> { [ NoSymbol ], [ L3, L3 ] };
+ //key <UNDO> { [ NoSymbol ], [ L4, L4 ] };
+ //key <FRNT> { [ NoSymbol ], [ L5, L5 ] };
+ //key <COPY> { [ NoSymbol ], [ L6, L6 ] };
+ //key <OPEN> { [ NoSymbol ], [ L7, L7 ] };
+ //key <PAST> { [ NoSymbol ], [ L8, L8 ] };
+ //key <FIND> { [ NoSymbol ], [ L9, L9 ] };
+ //key <CUT> { [ NoSymbol ], [ L10, L10 ] };
+
+ // The above symbols were chosen for better compatibility withother xkb
+ // mappings. The old mappings are kepy below in case someone needs them
+ key <STOP> { [ L1, L1, SunStop ] };
+ key <AGAI> { [ L2, L2, SunAgain ] };
+ key <PROP> { [ L3, L3, SunProps ] };
+ key <UNDO> { [ L4, L4, SunUndo ] };
+ key <FRNT> { [ L5, L5, SunFront ] };
+ key <COPY> { [ L6, L6, SunCopy ] };
+ key <OPEN> { [ L7, L7, SunOpen ] };
+ key <PAST> { [ L8, L8, SunPaste ] };
+ key <FIND> { [ L9, L9, SunFind ] };
+ key <CUT> { [ L10, L10, SunCut ] };
+};
+
+hidden
+xkb_symbols "volumekeys" {
+ // Suppliment to inet(evdev) for added functionality of audio keys
+ key <MUTE> { [ NoSymbol, SunVideoDegauss ] };
+ key <VOL-> { [ NoSymbol, XF86MonBrightnessDown ] };
+ key <VOL+> { [ NoSymbol, XF86MonBrightnessUp ] };
+
+ // The above symbols were chosen for better compatibility withother xkb
+ // mappings. The old mappings are kepy below in case someone needs them
+ //key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ //key <VOL-> { [ SunAudioLowerVolume, SunVideoLowerBrightness ] };
+ //key <VOL+> { [ SunAudioRaiseVolume, SunVideoRaiseBrightness ] };
+ //key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
+};
+
+
+// US/ASCII layout for a Type 4 Sun keyboard
+xkb_symbols "type4basic" {
+ include "sun_vndr/us(sunbasic)"
+
+ // A few alphanumeric keys are different
+ key <AE04> { [ 4, dollar, EuroSign ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AD03> { [ e, E, EuroSign ] };
+
+ key <LNFD> { [ Linefeed ] };
+
+ // Begin "Editing" section
+ key <PRSC> { [ R2, R2, Print ] };
+ key <SCLK> { [ R3, R3, Scroll_Lock, Break ] };
+ key <PAUS> { [ R1, R1, Pause ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <KPEQ> { [ R4, KP_Equal, KP_Equal ] };
+
+};
+
+xkb_symbols "type4" {
+ include "sun_vndr/us(type4basic)"
+
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+};
+
+// US/ASCII layout for a Type 5 Sun keyboard
+xkb_symbols "type5basic" {
+ include "sun_vndr/us(sunbasic)"
+ include "sun_vndr/us(volumekeys)"
+
+ // Begin "Editing" section
+ key <PRSC> { [ R2, R2, Print, SunSys_Req ] };
+ key <SCLK> { [ R3, R3, Scroll_Lock ] };
+ key <PAUS> { [ R1, R1, Pause, Break ] };
+ // End "Editing" section
+};
+
+xkb_symbols "type5" {
+ include "sun_vndr/us(type5basic)"
+
+ // A few alphanumeric keys are different
+ key <AE04> { [ 4, dollar, EuroSign ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AD03> { [ e, E , EuroSign ] };
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+};
+
+// US/ASCII layout for a Type 5 Sun keyboard
+xkb_symbols "type5hobobasic" {
+ include "sun_vndr/us(type5basic)"
+};
+
+xkb_symbols "type5hobo" {
+ include "sun_vndr/us(type5hobobasic)"
+
+ // A few alphanumeric keys are different
+ key <AE04> { [ 4, dollar, EuroSign ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <BKSL> { [ backslash, bar, brokenbar ] };
+
+ // Here is the hobo keypad:
+
+ key <AE07> { [ 7, ampersand, NoSymbol, NoSymbol, KP_7 ] };
+ key <AE08> { [ 8, asterisk, NoSymbol, NoSymbol, KP_8 ] };
+ key <AE09> { [ 9, parenleft, NoSymbol, NoSymbol, KP_9 ] };
+ key <AE10> { [ 0, parenright, NoSymbol, NoSymbol, KP_Multiply] };
+
+ key <AD07> { [ u, U, NoSymbol, NoSymbol, KP_4 ] };
+ key <AD08> { [ i, I, NoSymbol, NoSymbol, KP_5 ] };
+ key <AD09> { [ o, O, NoSymbol, NoSymbol, KP_6 ] };
+ key <AD10> { [ p, P, NoSymbol, NoSymbol, KP_Subtract] };
+
+ key <AC07> { [ j, J, NoSymbol, NoSymbol, KP_1 ] };
+ key <AC08> { [ k, K, NoSymbol, NoSymbol, KP_2 ] };
+ key <AC09> { [ l, L, NoSymbol, NoSymbol, KP_3 ] };
+ key <AC10> { [ semicolon, colon, NoSymbol, NoSymbol, KP_Add ] };
+
+ key <RTRN> { [ Return, NoSymbol, NoSymbol, KP_Enter ] };
+
+ key <AB07> { [ m, M, NoSymbol, NoSymbol, KP_0 ] };
+
+ key <AB09> { [ period, greater, NoSymbol, NoSymbol, KP_Decimal] };
+ key <AB10> { [ slash, question, NoSymbol, NoSymbol, KP_Divide ] };
+};
+
+
+xkb_symbols "type6" {
+ include "sun_vndr/us(sunbasic)"
+ include "sun_vndr/us(volumekeys)"
+ include "eurosign(4)"
+ include "level3(ralt_switch)"
+
+ key <SYRQ> { [ SunSys_Req ]};
+};
+
+
+
+xkb_symbols "pc101" {
+ include "us(pc101)"
+ key <RALT> { [ Mode_switch, Meta_R ] };
+};
+
+xkb_symbols "pc102" {
+ include "us(pc102)"
+ key <RALT> { [ Mode_switch, Meta_R ] };
+};
+
+xkb_symbols "pc104" {
+ include "us(pc104)"
+};
+
+xkb_symbols "pc101currency" {
+
+ key <AE04> { [ 4, dollar ], [ EuroSign ] };
+ key <AE05> { [ 5, percent ], [ EuroSign ] };
+ key <AD03> { [ e, E ], [ EuroSign ] };
+ key <BKSL> { [ backslash, bar ], [ brokenbar ]};
+};
+
+xkb_symbols "US101A_Sun" {
+
+ key <AE04> { [ 4, dollar ], [ EuroSign ] };
+ key <AE05> { [ 5, percent ], [ EuroSign ] };
+ key <AD03> { [ e, E ], [ EuroSign ] };
+ key <BKSL> { [ backslash, bar ], [ brokenbar ]};
+
+ // Begin "Editing" section
+ key <PRSC> { [ L5, L5 ], [ Print, SunSys_Req ]};
+ key <SCLK> { [ L7, L7 ], [ Scroll_Lock ]};
+ key <PAUS> { [ L1, L1 ], [ Pause, Break ]};
+ key <INS> { [ L8, L8 ], [ Insert ]};
+ key <HOME> { [ L6, L6 ], [ Home ]};
+ key <PGUP> { [ L3, L3 ], [ Prior ]};
+
+
+ key <DELE> { [ L10, L10 ], [ Delete ]};
+ key <END> { [ L9, L9 ], [ End ]};
+ key <PGDN> { [ L4, L4 ], [ Next ]};
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ key <KPDV> { [ R5, R5 ], [ KP_Divide ] };
+ key <KPMU> { [ R6, R6 ], [ KP_Multiply ] };
+
+ key <KP7> { [ R7, KP_7 ], [ KP_7, Home ] };
+ key <KP8> { [ KP_Up, KP_8 ], [ KP_8 ] };
+ key <KP9> { [ R9, KP_9 ], [ KP_9, Prior ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ], [ KP_4 ] };
+ key <KP5> { [ R11, KP_5 ], [ KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ], [ KP_6 ] };
+
+ key <KP1> { [ R13, KP_1 ], [ KP_1, End ] };
+ key <KP2> { [ KP_Down, KP_2 ], [ KP_2 ] };
+ key <KP3> { [ R15, KP_3 ], [ KP_3, Next ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <LALT> { [ Meta_L ] };
+ key <RALT> { [ Alt_L ] };
+ key <RCTL> { [ Multi_key ] };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/sy b/xorg-server/xkeyboard-config/symbols/sy
new file mode 100644
index 000000000..7825d2376
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sy
@@ -0,0 +1,172 @@
+// $XKeyboardConfig$
+
+//
+// $XFree86: xc/programs/xkbcomp/symbols/syr,v 1.1 2002/11/22 03:06:50 dawes Exp $
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ include "ara(basic)"
+ name[Group1]= "Syria";
+};
+
+partial alphanumeric_keys
+xkb_symbols "syc" {
+ name[Group1]= "Syria - Syriac";
+
+ key <TLDE> { [ 0x100070F, 0x100032E, Arabic_shadda ] };
+ key <AE01> { [ 1, exclam, 0x1000701 ] };
+ key <AE02> { [ 2, 0x100030A, 0x1000702 ] };
+ key <AE03> { [ 3, 0x1000325, 0x1000703 ] };
+ key <AE04> { [ 4, 0x1000749, 0x1000704 ] };
+ key <AE05> { [ 5, 0x1002670, 0x1000705 ] };
+ key <AE06> { [ 6, 0x1002671, 0x1000708 ] };
+ key <AE07> { [ 7, 0x100070A, 0x1000709 ] };
+ key <AE08> { [ 8, 0x10000BB, 0x100070B ] };
+ key <AE09> { [ 9, parenright, 0x100070C ] };
+ key <AE10> { [ 0, parenleft, 0x100070D ] };
+ key <AE11> { [ minus, 0x10000AB, 0x100250C ] };
+ key <AE12> { [ equal, plus, 0x1002510 ] };
+
+ key <AD01> { [ 0x1000714, 0x1000730, Arabic_fatha ] };
+ key <AD02> { [ 0x1000728, 0x1000733, Arabic_fathatan ] };
+ key <AD03> { [ 0x1000716, 0x1000736, Arabic_damma ] };
+ key <AD04> { [ 0x1000729, 0x100073A, Arabic_dammatan ] };
+ key <AD05> { [ 0x1000726, 0x100073D, Arabic_madda_above ] };
+ key <AD06> { [ 0x100071C, 0x1000740, Arabic_hamza_above ] };
+ key <AD07> { [ 0x1000725, 0x1000741, 0x1000747 ] };
+ key <AD08> { [ 0x1000717, 0x1000308, 0x1000743 ] };
+ key <AD09> { [ 0x100071E, 0x1000304, 0x1000745 ] };
+ key <AD10> { [ 0x100071A, 0x1000307, 0x100032D ] };
+ key <AD11> { [ 0x1000713, 0x1000303 ] };
+ key <AD12> { [ 0x1000715, 0x100074A ] };
+ key <BKSL> { [ 0x1000706, colon ] };
+
+ key <AC01> { [ 0x100072B, 0x1000731, Arabic_kasra ] };
+ key <AC02> { [ 0x1000723, 0x1000734, Arabic_kasratan ] };
+ key <AC03> { [ 0x100071D, 0x1000737 ] };
+ key <AC04> { [ 0x1000712, 0x100073B, Arabic_hamza ] };
+ key <AC05> { [ 0x1000720, 0x100073E, Arabic_hamza_below ] };
+ key <AC06> { [ 0x1000710, 0x1000711, Arabic_superscript_alef ] };
+ key <AC07> { [ 0x100072C, Arabic_tatweel, 0x1000748 ] };
+ key <AC08> { [ 0x1000722, 0x1000324, 0x1000744 ] };
+ key <AC09> { [ 0x1000721, 0x1000331, 0x1000746 ] };
+ key <AC10> { [ 0x100071F, 0x1000323 ] };
+ key <AC11> { [ 0x100071B, 0x1000330 ] };
+
+ key <AB01> { [ bracketright, 0x1000732, Arabic_sukun ] };
+ key <AB02> { [ bracketleft, 0x1000735 ] };
+ key <AB03> { [ 0x1000724, 0x1000738, 0x100200D ] };
+ key <AB04> { [ 0x100072A, 0x100073C, 0x100200C ] };
+ key <AB05> { [ 0x1000727, 0x100073F, 0x100200E ] };
+ key <AB06> { [ 0x1000700, 0x1000739, 0x100200F ] };
+ key <AB07> { [ 0x100002E, 0x1000742 ] };
+ key <AB08> { [ 0x1000718, Arabic_comma ] };
+ key <AB09> { [ 0x1000719, Arabic_semicolon ] };
+ key <AB10> { [ 0x1000707, Arabic_question_mark ] };
+
+ // End Alphanumeric Section
+
+ // Space
+ include "nbsp(zwnj2)"
+
+ // Begin Modifier Mappings
+
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Mode_switch };
+
+};
+//
+// $XFree86: xc/programs/xkbcomp/symbols/syr_phonetic,v 1.1 2002/11/22 03:06:50 dawes Exp $
+//
+
+partial alphanumeric_keys
+xkb_symbols "syc_phonetic" {
+ name[Group1]= "Syria - Syriac phonetic";
+
+ key <TLDE> { [ 0x100070F, 0x100032E, Arabic_shadda ] };
+ key <AE01> { [ 1, exclam, 0x1000701 ] };
+ key <AE02> { [ 2, 0x100030A, 0x1000702 ] };
+ key <AE03> { [ 3, 0x1000325, 0x1000703 ] };
+ key <AE04> { [ 4, 0x1000749, 0x1000704 ] };
+ key <AE05> { [ 5, 0x1002670, 0x1000705 ] };
+ key <AE06> { [ 6, 0x1002671, 0x1000708 ] };
+ key <AE07> { [ 7, 0x100070A, 0x1000709 ] };
+ key <AE08> { [ 8, 0x10000BB, 0x100070B ] };
+ key <AE09> { [ 9, parenright, 0x100070C ] };
+ key <AE10> { [ 0, parenleft, 0x100070D ] };
+ key <AE11> { [ minus, 0x10000AB, 0x100250C ] };
+ key <AE12> { [ equal, plus, 0x1002510 ] };
+
+ key <AD01> { [ 0x1000729, 0x1000730, Arabic_fatha ] };
+ key <AD02> { [ 0x1000718, 0x1000733, Arabic_fathatan ] };
+ key <AD03> { [ 0x1000716, 0x1000736, Arabic_damma ] };
+ key <AD04> { [ 0x100072A, 0x100073A, Arabic_dammatan ] };
+ key <AD05> { [ 0x100072C, 0x100073D, Arabic_madda_above ] };
+ key <AD06> { [ 0x100071D, 0x1000740, Arabic_hamza_above ] };
+ key <AD07> { [ 0x100071C, 0x1000741, 0x1000747 ] };
+ key <AD08> { [ 0x1000725, 0x1000308, 0x1000743 ] };
+ key <AD09> { [ 0x1000727, 0x1000304, 0x1000745 ] };
+ key <AD10> { [ 0x1000726, 0x1000307, 0x100032D ] };
+ key <AD11> { [ bracketright, 0x1000303 ] };
+ key <AD12> { [ bracketleft, 0x100074A ] };
+ key <BKSL> { [ 0x1000706, colon ] };
+
+ key <AC01> { [ 0x1000710, 0x1000731, Arabic_kasra ] };
+ key <AC02> { [ 0x1000723, 0x1000734, Arabic_kasratan ] };
+ key <AC03> { [ 0x1000715, 0x1000737 ] };
+ key <AC04> { [ 0x1000714, 0x100073B, Arabic_hamza ] };
+ key <AC05> { [ 0x1000713, 0x100073E, Arabic_hamza_below ] };
+ key <AC06> { [ 0x1000717, 0x1000711, Arabic_superscript_alef ] };
+ key <AC07> { [ 0x100071B, Arabic_tatweel, 0x1000748 ] };
+ key <AC08> { [ 0x100071F, 0x1000324, 0x1000744 ] };
+ key <AC09> { [ 0x1000720, 0x1000331, 0x1000746 ] };
+ key <AC10> { [ 0x100071A, 0x1000323 ] };
+ key <AC11> { [ 0x100071E, 0x1000330 ] };
+
+ key <SPCE> { [ space, 0x100200c ] };
+ key <AB01> { [ 0x1000719, 0x1000732, Arabic_sukun ] };
+ key <AB02> { [ 0x1000728, 0x1000735 ] };
+ key <AB03> { [ 0x1000724, 0x1000738, 0x100200D ] };
+ key <AB04> { [ 0x100072B, 0x100073C, 0x100200C ] };
+ key <AB05> { [ 0x1000712, 0x100073F, 0x100200E ] };
+ key <AB06> { [ 0x1000722, 0x1000739, 0x100200F ] };
+ key <AB07> { [ 0x1000721, 0x1000742 ] };
+ key <AB08> { [ 0x1000700, Arabic_comma ] };
+ key <AB09> { [ 0x100002E, Arabic_semicolon ] };
+ key <AB10> { [ 0x1000707, Arabic_question_mark ] };
+
+ // End Alphanumeric Section
+
+
+ // Begin Modifier Mappings
+
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Mode_switch };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "ku" {
+ include "tr(ku)"
+ name[Group1]= "Syria - Kurdish, Latin Q";
+};
+
+partial alphanumeric_keys
+xkb_symbols "ku_f" {
+ include "tr(ku_f)"
+ name[Group1]= "Syria - Kurdish, (F)";
+};
+
+partial alphanumeric_keys
+xkb_symbols "ku_alt" {
+ include "tr(ku_alt)"
+ name[Group1]= "Syria - Kurdish, Latin Alt-Q";
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/terminate b/xorg-server/xkeyboard-config/symbols/terminate
new file mode 100644
index 000000000..47e434d7f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/terminate
@@ -0,0 +1,8 @@
+partial default modifier_keys
+xkb_symbols "ctrl_alt_bksp" {
+ key <BKSP> {
+ type="CTRL+ALT",
+ symbols[Group1] = [ NoSymbol, Terminate_Server ]
+ };
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/th b/xorg-server/xkeyboard-config/symbols/th
new file mode 100644
index 000000000..050fb5278
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/th
@@ -0,0 +1,249 @@
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/th' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/th,v 1.3 2003/04/03 16:34:51 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Thailand";
+
+ // converted to THai keysysms - Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ key <TLDE> { [ underscore, percent ] };
+ key <AE01> { [ Thai_lakkhangyao, plus ] };
+ key <AE02> { [ slash, Thai_leknung ] };
+ key <AE03> { [ minus, Thai_leksong ] };
+ key <AE04> { [ Thai_phosamphao, Thai_leksam ] };
+ key <AE05> { [ Thai_thothung, Thai_leksi ] };
+ key <AE06> { [ Thai_sarau, Thai_sarauu ] };
+ key <AE07> { [ Thai_saraue, Thai_baht ] };
+ key <AE08> { [ Thai_khokhwai, Thai_lekha ] };
+ key <AE09> { [ Thai_totao, Thai_lekhok ] };
+ key <AE10> { [ Thai_chochan, Thai_lekchet ] };
+ key <AE11> { [ Thai_khokhai, Thai_lekpaet ] };
+ key <AE12> { [ Thai_chochang, Thai_lekkao ] };
+
+ key <AD01> { [ Thai_maiyamok, Thai_leksun ] };
+ key <AD02> { [ Thai_saraaimaimalai, quotedbl ] };
+ key <AD03> { [ Thai_saraam, Thai_dochada ] };
+ key <AD04> { [ Thai_phophan, Thai_thonangmontho ] };
+ key <AD05> { [ Thai_saraa, Thai_thothong ] };
+ key <AD06> { [ Thai_maihanakat, Thai_nikhahit ] };
+ key <AD07> { [ Thai_saraii, Thai_maitri ] };
+ key <AD08> { [ Thai_rorua, Thai_nonen ] };
+ key <AD09> { [ Thai_nonu, Thai_paiyannoi ] };
+ key <AD10> { [ Thai_yoyak, Thai_yoying ] };
+ key <AD11> { [ Thai_bobaimai, Thai_thothan ] };
+ key <AD12> { [ Thai_loling, comma ] };
+
+ key <AC01> { [ Thai_fofan, Thai_ru ] };
+ key <AC02> { [ Thai_hohip, Thai_khorakhang ] };
+ key <AC03> { [ Thai_kokai, Thai_topatak ] };
+ key <AC04> { [ Thai_dodek, Thai_sarao ] };
+ key <AC05> { [ Thai_sarae, Thai_chochoe ] };
+ key <AC06> { [ Thai_maitho, Thai_maitaikhu ] };
+ key <AC07> { [ Thai_maiek, Thai_maichattawa ] };
+ key <AC08> { [ Thai_saraaa, Thai_sorusi ] };
+ key <AC09> { [ Thai_sosua, Thai_sosala ] };
+ key <AC10> { [ Thai_wowaen, Thai_soso ] };
+ key <AC11> { [ Thai_ngongu, period ] };
+
+ key <AB01> { [ Thai_phophung, parenleft ] };
+ key <AB02> { [ Thai_popla, parenright ] };
+ key <AB03> { [ Thai_saraae, Thai_choching ] };
+ key <AB04> { [ Thai_oang, Thai_honokhuk ] };
+ key <AB05> { [ Thai_sarai, Thai_phinthu ] };
+ key <AB06> { [ Thai_sarauee, Thai_thanthakhat ] };
+ key <AB07> { [ Thai_thothahan, question ] };
+ key <AB08> { [ Thai_moma, Thai_thophuthao ] };
+ key <AB09> { [ Thai_saraaimaimuan, Thai_lochula ] };
+ key <AB10> { [ Thai_fofa, Thai_lu ] };
+
+ key <BKSL> { [ Thai_khokhuat, Thai_khokhon ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "pat" {
+ name[Group1]= "Thailand - Pattachote";
+ // The thai layout defines a second keyboard group and changes
+ // the behavior of a few modifier keys.
+
+ // converted to THai keysysms - Pablo Saratxaga pablo@mandrakesoft.com
+ // Pattachote modification by Visanu Euarchukiati -- visanu@inet.co.th
+ key <TLDE> { [ underscore, Thai_baht ] };
+ key <AE01> { [ equal, plus ] };
+ key <AE02> { [ Thai_leksong, quotedbl ] };
+ key <AE03> { [ Thai_leksam, slash ] };
+ key <AE04> { [ Thai_leksi, comma ] };
+ key <AE05> { [ Thai_lekha, question ] };
+ key <AE06> { [ Thai_sarauu, Thai_sarau ] };
+ key <AE07> { [ Thai_lekchet, underscore ] };
+ key <AE08> { [ Thai_lekpaet, period ] };
+ key <AE09> { [ Thai_lekkao, parenleft ] };
+ key <AE10> { [ Thai_leksun, parenright ] };
+ key <AE11> { [ Thai_leknung, minus ] };
+ key <AE12> { [ Thai_lekhok, percent ] };
+
+ key <AD01> { [ Thai_maitaikhu, Thai_maitri ] };
+ key <AD02> { [ Thai_totao, Thai_ru ] };
+ key <AD03> { [ Thai_yoyak, Thai_maiyamok ] };
+ key <AD04> { [ Thai_oang, Thai_yoying ] };
+ key <AD05> { [ Thai_rorua, Thai_sorusi ] };
+ key <AD06> { [ Thai_maiek, Thai_saraue ] };
+ key <AD07> { [ Thai_dodek, Thai_fofa ] };
+ key <AD08> { [ Thai_moma, Thai_soso ] };
+ key <AD09> { [ Thai_wowaen, Thai_thothung ] };
+ key <AD10> { [ Thai_saraae, Thai_thophuthao ] };
+ key <AD11> { [ Thai_saraaimaimuan, Thai_paiyannoi ] };
+ key <AD12> { [ Thai_chochoe, Thai_lu ] };
+
+ key <AC01> { [ Thai_maitho, Thai_maichattawa] };
+ key <AC02> { [ Thai_thothahan, Thai_thothong ] };
+ key <AC03> { [ Thai_ngongu, Thai_saraam ] };
+ key <AC04> { [ Thai_kokai, Thai_nonen ] };
+ key <AC05> { [ Thai_maihanakat, Thai_thanthakhat] };
+ key <AC06> { [ Thai_saraii, Thai_sarauee ] };
+ key <AC07> { [ Thai_saraaa, Thai_phophung ] };
+ key <AC08> { [ Thai_nonu, Thai_chochang ] };
+ key <AC09> { [ Thai_sarae, Thai_sarao ] };
+ key <AC10> { [ Thai_saraaimaimalai, Thai_khorakhang ] };
+ key <AC11> { [ Thai_khokhai, Thai_thonangmontho ] };
+
+ key <AB01> { [ Thai_bobaimai, Thai_dochada ] };
+ key <AB02> { [ Thai_popla, Thai_topatak ] };
+ key <AB03> { [ Thai_loling, Thai_thothan ] };
+ key <AB04> { [ Thai_hohip, Thai_phosamphao ] };
+ key <AB05> { [ Thai_sarai, Thai_phinthu ] };
+ key <AB06> { [ Thai_khokhwai, Thai_sosala ] };
+ key <AB07> { [ Thai_sosua, Thai_honokhuk ] };
+ key <AB08> { [ Thai_saraa, Thai_fofan ] };
+ key <AB09> { [ Thai_chochan, Thai_choching ] };
+ key <AB10> { [ Thai_phophan, Thai_lochula ] };
+
+ key <BKSL> { [ Thai_lakkhangyao, Thai_nikhahit ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "tis" {
+ name[Group1]= "Thailand - TIS-820.2538";
+ // The thai layout defines a second keyboard group and changes
+ // the behavior of a few modifier keys.
+
+ // converted to THai keysysms - Pablo Saratxaga <pablo@mandrakesoft.com>
+ // modified to TIS-820.2538 - Theppitak Karoonboonyanan <thep@linux.thai.net>
+ key <TLDE> { [ 0x1000e4f, 0x1000e5b ] };
+ key <AE01> { [ Thai_baht, Thai_lakkhangyao] };
+ key <AE02> { [ slash, Thai_leknung ] };
+ key <AE03> { [ minus, Thai_leksong ] };
+ key <AE04> { [ Thai_phosamphao, Thai_leksam ] };
+ key <AE05> { [ Thai_thothung, Thai_leksi ] };
+ key <AE06> { [ Thai_sarau, Thai_sarauu ] };
+ key <AE07> { [ Thai_saraue, 0x1000e4e ] };
+ key <AE08> { [ Thai_khokhwai, Thai_lekha ] };
+ key <AE09> { [ Thai_totao, Thai_lekhok ] };
+ key <AE10> { [ Thai_chochan, Thai_lekchet ] };
+ key <AE11> { [ Thai_khokhai, Thai_lekpaet ] };
+ key <AE12> { [ Thai_chochang, Thai_lekkao ] };
+
+ key <AD01> { [ Thai_maiyamok, Thai_leksun ] };
+ key <AD02> { [ Thai_saraaimaimalai, quotedbl ] };
+ key <AD03> { [ Thai_saraam, Thai_dochada ] };
+ key <AD04> { [ Thai_phophan, Thai_thonangmontho ] };
+ key <AD05> { [ Thai_saraa, Thai_thothong ] };
+ key <AD06> { [ Thai_maihanakat, Thai_nikhahit ] };
+ key <AD07> { [ Thai_saraii, Thai_maitri ] };
+ key <AD08> { [ Thai_rorua, Thai_nonen ] };
+ key <AD09> {type[Group1]="THREE_LEVEL",
+ [ Thai_nonu, Thai_paiyannoi, 0x1000e5a] };
+ key <AD10> { [ Thai_yoyak, Thai_yoying ] };
+ key <AD11> { [ Thai_bobaimai, Thai_thothan ] };
+ key <AD12> { [ Thai_loling, comma ] };
+
+ key <AC01> { [ Thai_fofan, Thai_ru ] };
+ key <AC02> { [ Thai_hohip, Thai_khorakhang ] };
+ key <AC03> { [ Thai_kokai, Thai_topatak ] };
+ key <AC04> { [ Thai_dodek, Thai_sarao ] };
+ key <AC05> { [ Thai_sarae, Thai_chochoe ] };
+ key <AC06> { [ Thai_maitho, Thai_maitaikhu ] };
+ key <AC07> { [ Thai_maiek, Thai_maichattawa ] };
+ key <AC08> { [ Thai_saraaa, Thai_sorusi ] };
+ key <AC09> { [ Thai_sosua, Thai_sosala ] };
+ key <AC10> { [ Thai_wowaen, Thai_soso ] };
+ key <AC11> { [ Thai_ngongu, period ] };
+
+ key <AB01> { [ Thai_phophung, parenleft ] };
+ key <AB02> { [ Thai_popla, parenright ] };
+ key <AB03> { [ Thai_saraae, Thai_choching ] };
+ key <AB04> { [ Thai_oang, Thai_honokhuk ] };
+ key <AB05> { [ Thai_sarai, Thai_phinthu ] };
+ key <AB06> { [ Thai_sarauee, Thai_thanthakhat ] };
+ key <AB07> { [ Thai_thothahan, question ] };
+ key <AB08> { [ Thai_moma, Thai_thophuthao ] };
+ key <AB09> { [ Thai_saraaimaimuan, Thai_lochula ] };
+ key <AB10> { [ Thai_fofa, Thai_lu ] };
+
+ key <BKSL> { [ Thai_khokhon, Thai_khokhuat ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ name[Group1]= "Thailand";
+ // The OLPC thai layout
+ // walter@laptop.org
+
+ key <TLDE> { [ 0x1000E4F, 0x1000E5B ] };
+ key <AE01> { [ 0x1000E3F, 0x1000E45 ] };
+ key <AE02> { [ slash, 0x1000E51 ] };
+ key <AE03> { [ minus, 0x1000E52 ] };
+ key <AE04> { [ 0x1000E20, 0x1000E53 ] };
+ key <AE05> { [ 0x1000E16, 0x1000E54 ] };
+ key <AE06> { [ 0x1000E38, 0x1000E39 ] };
+ key <AE07> { [ 0x1000E36, 0x1000E4E ] };
+ key <AE08> { [ 0x1000E04, 0x1000E55 ] };
+ key <AE09> { [ 0x1000E15, 0x1000E56 ] };
+ key <AE10> { [ 0x1000E08, 0x1000E57 ] };
+ key <AE11> { [ 0x1000E02, 0x1000E58 ] };
+ key <AE12> { [ 0x1000E0A, 0x1000E59 ] };
+
+ key <AD01> { [ 0x1000E46, 0x1000E50 ] };
+ key <AD02> { [ 0x1000E44, quotedbl ] };
+ key <AD03> { [ 0x1000E33, 0x1000E0E ] };
+ key <AD04> { [ 0x1000E1E, 0x1000E11 ] };
+ key <AD05> { [ 0x1000E30, 0x1000E18 ] };
+ key <AD06> { [ 0x1000E31, 0x1000E4D ] };
+ key <AD07> { [ 0x1000E35, 0x1000E4A ] };
+ key <AD08> { [ 0x1000E23, 0x1000E13 ] };
+ key <AD09> { [ 0x1000E19, 0x1000E2F ] };
+ key <AD10> { [ 0x1000E22, 0x1000E0D ] };
+ key <AD11> { [ 0x1000E1A, 0x1000E10 ] };
+ key <AD12> { [ 0x1000E25, comma ] };
+
+ key <AC01> { [ 0x1000E1F, 0x1000E24 ] };
+ key <AC02> { [ 0x1000E2B, 0x1000E06 ] };
+ key <AC03> { [ 0x1000E01, 0x1000E0F ] };
+ key <AC04> { [ 0x1000E14, 0x1000E42 ] };
+ key <AC05> { [ 0x1000E40, 0x1000E0C ] };
+ key <AC06> { [ 0x1000E49, 0x1000E47 ] };
+ key <AC07> { [ 0x1000E48, 0x1000E4B ] };
+ key <AC08> { [ 0x1000E32, 0x1000E29 ] };
+ key <AC09> { [ 0x1000E2A, 0x1000E28 ] };
+ key <AC10> { [ 0x1000E27, 0x1000E0B ] };
+ key <AC11> { [ 0x1000E07, period ] };
+ key <BKSL> { [ 0x1000E05, 0x1000E03 ] };
+
+ key <AB01> { [ 0x1000E1C, parenleft ] };
+ key <AB02> { [ 0x1000E1B, parenright ] };
+ key <AB03> { [ 0x1000E41, 0x1000E09 ] };
+ key <AB04> { [ 0x1000E2D, 0x1000E2E ] };
+ key <AB05> { [ 0x1000E34, 0x1000E3A ] };
+ key <AB06> { [ 0x1000E37, 0x1000E4C ] };
+ key <AB07> { [ 0x1000E17, question ] };
+ key <AB08> { [ 0x1000E21, 0x1000E12 ] };
+ key <AB09> { [ 0x1000E43, 0x1000E2C ] };
+ key <AB10> { [ 0x1000E1D, 0x1000E26 ] };
+
+ include "group(olpc)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/tj b/xorg-server/xkeyboard-config/symbols/tj
new file mode 100644
index 000000000..0dcb29d43
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/tj
@@ -0,0 +1,139 @@
+// $XKeyboardConfig$
+
+// 17/07/2008
+// -------------------------------------------------------------
+// Standard Tojiki Keyboard Layout, Official Standard
+// -------------------------------------------------------------
+// Created by Victor Ibragimov <victor.ibragimov@gmail.com>
+// Tajik Fedora & Software Localization Team
+// -------------------------------------------------------------
+// DUAL INPUT METHOD
+// --------------------------------------------------------------------
+// -------------- Tajiki Official Keyboard Layout----------------------
+// --------------------------------------------------------------------
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic"
+{
+ name[Group1] = "Tajikistan";
+
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] }; // я Я
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] }; // ч Ч
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] }; // с С
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] }; // м М
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] }; // и И
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] }; // т Т
+ key <AB07> { [ 0x10004e3, 0x10004e2 ] }; // ӣ Ӣ
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] }; // б Б
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] }; // ю Ю
+ key <AB10> { [ period, comma ] }; // . ,
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] }; // ф Ф
+ key <AC02> { [ 0x10004b7, 0x10004b6 ] }; // ҷ Ҷ
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] }; // в В
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] }; // а А
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] }; // п П
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] }; // р Р
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] }; // о О
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] }; // л Л
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] }; // д Д
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // ж Ж
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] }; // э Э
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // й Й
+ key <AD02> { [ 0x100049b, 0x100049a ] }; // қ Қ
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] }; // у У
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] }; // к К
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] }; // е Е
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] }; // н Н
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] }; // г Г
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] }; // ш Ш
+ key <AD09> { [ 0x10004b3, 0x10004b2 ] }; // ҳ Ҳ
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] }; // з З
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] }; // х Х
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // ъ Ъ
+ key <AE01> { [ 1, exclam, 0x10000a7 ] }; // 1 ! §
+ key <AE02> { [ 2, quotedbl, 0x10000ab, 0x10000bb ] }; // 2 " « »
+ key <AE03> { [ 3, numerosign ] }; // 3 №
+ key <AE04> { [ 4, semicolon ] }; // 4 ;
+ key <AE05> { [ 5, percent ] }; // 5 %
+ key <AE06> { [ 6, colon, 0x1002013 ] }; // 6 : –
+ key <AE07> { [ 7, question, ampersand ] }; // 7 ? &
+ key <AE08> { [ 8, asterisk ] }; // 8 *
+ key <AE09> { [ 9, parenleft ] }; // 9 (
+ key <AE10> { [ 0, parenright, 0x10000b0 ] }; // 0 ) °
+ key <AE11> { [ 0x1000493, 0x1000492, minus, underscore ] }; // ғ Ғ - _
+ key <AE12> { [ 0x10004ef, 0x10004ee, equal, plus ] }; // ӯ Ӯ = +
+ key <BKSL> { [ backslash, slash ] }; // \ /
+ key <LSGT> { [ slash, bar ] }; // / |
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] }; // ё Ё
+};
+
+// --------------------------------------------------------------------
+// -------------- Tojiki Rusi Keyboard Layout--------------------------
+// --------------------------------------------------------------------
+// AEN <aen@logic.ru>
+// 2001/12/23 by Leon Kanter <leon@blackcatlinux.com>
+// 2005/12/09 Valery Inozemtsev <shrek@altlinux.ru>
+// Pablo Saratxaga <pablo@mandrakesoft> (for the dead keys changes)
+// --------------------------------------------------------------------
+
+xkb_symbols "legacy"
+{
+ name[Group1] = "Tajikistan - Legacy";
+
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] }; // я Я
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE, 0x10004b7, 0x10004b6 ] }; // ч Ч ҷ Ҷ
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] }; // с С
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] }; // м М
+ key <AB05> { [ Cyrillic_i, Cyrillic_I, 0x10004e3, 0x10004e2 ] }; // и И ӣ Ӣ
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] }; // т Т
+ key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; // ь Ь
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] }; // б Б
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] }; // ю Ю
+ key <AB10> { [ period, comma ] }; // . ,
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] }; // ф Ф
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] }; // ы Ы
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] }; // в В
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] }; // а А
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] }; // п П
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] }; // р Р
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] }; // о О
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] }; // л Л
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] }; // д Д
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // ж Ж
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] }; // э Э
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // й Й
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] }; // ц Ц
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, 0x10004ef, 0x10004ee ] }; // у У ӯ Ӯ
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA, 0x100049b, 0x100049a ] }; // к К қ Қ
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] }; // е Е
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] }; // н Н
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, 0x1000493, 0x1000492 ] }; // г Г ғ Ғ
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] }; // ш Ш
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; // щ Щ
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] }; // з З
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA, 0x10004b3, 0x10004b2 ] }; // х Х ҳ Ҳ
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // ъ Ъ
+ key <AE01> { [ 1, exclam, 0x10000a7 ] }; // 1 ! §
+ key <AE02> { [ 2, quotedbl, 0x10000ab, 0x10000bb ] }; // 2 " « »
+ key <AE03> { [ 3, numerosign ] }; // 3 №
+ key <AE04> { [ 4, semicolon ] }; // 4 ;
+ key <AE05> { [ 5, percent ] }; // 5 %
+ key <AE06> { [ 6, colon, 0x1002013 ] }; // 6 : –
+ key <AE07> { [ 7, question, ampersand ] }; // 7 ? &
+ key <AE08> { [ 8, asterisk ] }; // 8 *
+ key <AE09> { [ 9, parenleft ] }; // 9 (
+ key <AE10> { [ 0, parenright ] }; // 0 )
+ key <AE11> { [ minus, underscore ] }; // - _
+ key <AE12> { [ equal, plus ] }; // = +
+ key <BKSL> { [ backslash, slash ] }; // \ /
+ key <LSGT> { [ slash, bar ] }; // / |
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] }; // ё Ё
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/tm b/xorg-server/xkeyboard-config/symbols/tm
new file mode 100644
index 000000000..241b4e822
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/tm
@@ -0,0 +1,49 @@
+// $XKeyboardConfig$
+
+// $XFree86: xc/programs/xkbcomp/symbols/tm,v 0.2 2009/04/02 14:32:05 pascal Exp $
+// Nazar Annagurban <nazar_xg@hotmail.com>, 2009
+
+// Default layout (based on Vista Turkmen layout)
+default partial
+xkb_symbols "basic" {
+ name[Group1]="Turkmenistan";
+
+ include "us"
+ key <TLDE> { [ zcaron, Zcaron, grave, asciitilde ] };
+
+ key <AD01> { [ adiaeresis, Adiaeresis, q, Q ] };
+ key <AD11> { [ ncaron, Ncaron, bracketleft, braceleft ] };
+ key <AD12> { [odiaeresis, Odiaeresis, bracketright, braceright ] };
+
+ key <AB02> { [udiaeresis, Udiaeresis, x, X ] };
+ key <AB03> { [ ccedilla, Ccedilla, c, C ] };
+ key <AB04> { [ yacute, Yacute, v, V ] };
+
+ key <BKSL> { [ scedilla, Scedilla, backslash, bar ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Turkmen Alt-Q Layout
+// This layout provides turkmen letter via the AltGr key
+partial
+xkb_symbols "alt" {
+ name[Group1]="Turkmenistan - Alt-Q";
+
+ include "us"
+
+ key <AD06> { [ y, Y, yacute, Yacute ] };
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
+
+ key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
+ key <AC02> { [ s, S, scedilla, Scedilla ] };
+
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB06> { [ n, N, ncaron, Ncaron ] };
+
+ include "level3(ralt_switch)"
+
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/tr b/xorg-server/xkeyboard-config/symbols/tr
new file mode 100644
index 000000000..c217a7af0
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/tr
@@ -0,0 +1,356 @@
+// $XKeyboardConfig$
+
+// based on
+// Turkish keyboard symbols for PC and xkb
+// This file distributed without any expressed or implied warranty
+// Nilgün Belma Bugüner <nilgun@belgeler.org>, 2005
+//
+// $XFree86: xc/programs/xkbcomp/symbols/tr,v 1.5 2003/04/19 12:22:12 pascal Exp $
+
+//Default Layout (Turkish Q)
+default partial
+xkb_symbols "basic" {
+
+ include "latin"
+
+ name[Group1]="Turkey";
+
+ key <AE01> { [ 1, exclam, greater, exclamdown ] };
+ key <AE02> { [ 2, apostrophe, sterling, twosuperior ] };
+ key <AE03> { [ 3, asciicircum, numbersign, threesuperior ] };
+ key <AE04> { [ 4, plus, dollar, onequarter ] };
+ key <AE06> { [ 6, ampersand, threequarters, VoidSymbol ] };
+ key <AE07> { [ 7, slash, braceleft, VoidSymbol ] };
+ key <AE08> { [ 8, parenleft, bracketleft, VoidSymbol ] };
+ key <AE09> { [ 9, parenright, bracketright, plusminus ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+ key <AE11> { [ asterisk, question, backslash, questiondown ] };
+ key <AE12> { [ minus, underscore, bar, VoidSymbol ] };
+
+ key <AD02> { [ w, W, VoidSymbol, VoidSymbol ] };
+ key <AD03> { [ e, E, EuroSign, VoidSymbol ] };
+ key <AD05> { [ t, T, trademark, VoidSymbol ] };
+ key <AD07> { [ u, U, ucircumflex, Ucircumflex ] };
+ key <AD08> { type[group1] = "FOUR_LEVEL_ALPHABETIC",
+ [ idotless, I, icircumflex, Icircumflex ] };
+ key <AD09> { [ o, O, ocircumflex, Ocircumflex ] };
+ key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] };
+ key <AD11> { [ gbreve, Gbreve ] };
+ key <AD12> { [udiaeresis, Udiaeresis, asciitilde, dead_macron ] };
+
+ key <AC01> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S, section, VoidSymbol ] };
+ key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] };
+ key <AC04> { [ f, F, ordfeminine, VoidSymbol ] };
+ key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] };
+ key <AC06> { [ h, H, VoidSymbol, VoidSymbol ] };
+ key <AC08> { [ k, K, VoidSymbol, VoidSymbol ] };
+ key <AC09> { [ l, L, VoidSymbol, VoidSymbol ] };
+ key <AC10> { [ scedilla, Scedilla, acute, dead_acute ] };
+ key <AC11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
+ [ i, Iabovedot, apostrophe, dead_caron ] };
+ key <TLDE> { [ quotedbl, eacute, less, degree ] };
+
+ key <BKSL> { [ comma, semicolon, grave, dead_grave ] };
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+ key <AB08> { [odiaeresis, Odiaeresis, multiply, VoidSymbol ] };
+ key <AB09> { [ ccedilla, Ccedilla, periodcentered, division ] };
+ key <AB10> { [ period, colon, dead_abovedot, dead_abovedot ] };
+
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+};
+
+
+// Turkish F Layout
+partial
+xkb_symbols "f" {
+
+ include "latin"
+
+ name[Group1]="Turkey - (F)";
+
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, twosuperior, VoidSymbol ] };
+ key <AE03> { [ 3, asciicircum, numbersign, threesuperior ] };
+ key <AE04> { [ 4, dollar, onequarter, VoidSymbol ] };
+ key <AE06> { [ 6, ampersand, threequarters, VoidSymbol ] };
+ key <AE07> { [ 7, apostrophe, braceleft, VoidSymbol ] };
+ key <AE08> { [ 8, parenleft, bracketleft, VoidSymbol ] };
+ key <AE09> { [ 9, parenright, bracketright, plusminus ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+ key <AE11> { [ slash, question, backslash, questiondown ] };
+ key <AE12> { [ minus, underscore, bar, VoidSymbol ] };
+
+ key <AD01> { [ f, F, at, VoidSymbol ] };
+ key <AD02> { [ g, G, VoidSymbol, VoidSymbol ] };
+ key <AD03> { [ gbreve, Gbreve, VoidSymbol, VoidSymbol ] };
+ key <AD04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
+ [ idotless, I, paragraph, VoidSymbol ] };
+ key <AD05> { [ o, O, ocircumflex, Ocircumflex ] };
+ key <AD06> { [ d, D, yen, VoidSymbol ] };
+ key <AD07> { [ r, R, registered, VoidSymbol ] };
+ key <AD08> { [ n, N, VoidSymbol, VoidSymbol ] };
+ key <AD09> { [ h, H, degree, VoidSymbol ] };
+ key <AD10> { [ p, P, sterling, VoidSymbol ] };
+ key <AD11> { [ q, Q, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ w, W, asciitilde, dead_breve ] };
+
+ key <AC01> { [ u, U, ucircumflex, Ucircumflex ] };
+ key <AC02> { type[group1] = "FOUR_LEVEL_ALPHABETIC",
+ [ i, Iabovedot, icircumflex, Icircumflex ] };
+ key <AC03> { [ e, E, EuroSign, VoidSymbol ] };
+ key <AC04> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC05> { [udiaeresis, Udiaeresis, ucircumflex, Ucircumflex ] };
+ key <AC06> { [ t, T, trademark, VoidSymbol ] };
+ key <AC07> { [ k, K, VoidSymbol, VoidSymbol ] };
+ key <AC08> { [ m, M, mu, VoidSymbol ] };
+ key <AC09> { [ l, L, VoidSymbol, VoidSymbol ] };
+ key <AC10> { [ y, Y, acute, dead_acute ] };
+ key <AC11> { [ scedilla, Scedilla, numbersign, dead_caron ] };
+ key <TLDE> { [ plus, asterisk, notsign, plusminus ] };
+
+ key <BKSL> { [ x, X, grave, dead_grave ] };
+ key <AB01> { [ j, J, guillemotleft, VoidSymbol ] };
+ key <AB02> { [odiaeresis, Odiaeresis, guillemotright, VoidSymbol ] };
+ key <AB03> { [ v, V, leftdoublequotemark, VoidSymbol ] };
+ key <AB04> { [ c, C, cent, copyright ] };
+ key <AB05> { [ ccedilla, Ccedilla, rightdoublequotemark, VoidSymbol] };
+ key <AB06> { [ z, Z, VoidSymbol, VoidSymbol ] };
+ key <AB07> { [ s, S, section, VoidSymbol ] };
+ key <AB08> { [ b, B, multiply, nobreakspace ] };
+ key <AB09> { [ period, colon, division, dead_abovedot] };
+ key <AB10> { [ comma, semicolon, periodcentered, VoidSymbol ] };
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+};
+
+// Turkish Alt-Q Layout
+partial
+xkb_symbols "alt" {
+
+ include "latin"
+
+ name[Group1]="Turkey - Alt-Q";
+
+ key <AE07> { [ 7, ampersand, lowleftcorner, upleftcorner ] };
+ key <AE08> { [ 8, asterisk, leftt, topt ] };
+ key <AE09> { [ 9, parenleft, rightt, bott ] };
+ key <AE10> { [ 0, parenright, lowrightcorner, uprightcorner ] };
+ key <AE11> { [ minus, underscore, horizlinescan5, vertbar ] };
+ key <AE12> { [ equal, plus, crossinglines ] };
+
+ key <AD03> { [ e, E, EuroSign, VoidSymbol ] };
+// key <AD05> { [ t, T, trademark, VoidSymbol >
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD08> { [ i, I, idotless, Iabovedot ] };
+ key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
+ key <AC01> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S, scedilla, Scedilla ] };
+ key <AC05> { [ g, G, gbreve, Gbreve ] };
+
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // For naming consistency
+ include "tr(basic)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ // For naming consistency
+ include "tr(Sundeadkeys)"
+
+ name[Group1]="Turkey - Sun dead keys";
+};
+
+// Kurdish Q Layout
+// Erdal Ronahi <erdal.ronahi@gmail.com>, 2006
+// http://ferheng.org
+// http://www.pckurd.net
+
+partial
+xkb_symbols "ku" {
+
+ include "tr(basic)"
+
+ name[Group1]="Turkey - Kurdish, Latin Q";
+
+ key <AD08> { [ i, I, idotless, I ] };
+ key <AD11> { [ x, X, gbreve, Gbreve ] };
+ key <AD12> { [ucircumflex, Ucircumflex, asciitilde, dead_macron] };
+ key <AC11> { [icircumflex, Icircumflex, apostrophe, dead_caron ] };
+ key <AB08> { [ecircumflex, Ecircumflex, odiaeresis, Odiaeresis ] };
+};
+
+// Kurdish F Layout
+partial
+xkb_symbols "ku_f" {
+
+ include "tr(f)"
+
+ name[Group1]="Turkey - Kurdish, (F)";
+
+ key <AD03> { [ x, X, gbreve, Gbreve] };
+ key <AD04> { [ i, I, paragraph, VoidSymbol ] };
+ key <AD05> { [ o, O, ocircumflex, Ocircumflex ] };
+
+ key <AC01> { [ ucircumflex, Ucircumflex, udiaeresis, Udiaeresis ] };
+ key <AC02> { [ icircumflex, Icircumflex, i, Iabovedot ] };
+ key <AC05> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AB02> { [ecircumflex, Ecircumflex, odiaeresis, Odiaeresis ] };
+
+};
+
+// Kurdish Alt-Q Layout
+partial
+xkb_symbols "ku_alt" {
+
+ include "tr(alt)"
+
+ name[Group1]="Turkey - Kurdish, Latin Alt-Q";
+
+ key <AD03> { [ e, E, ecircumflex, Ecircumflex ] };
+ key <AD07> { [ u, U, ucircumflex, Ucircumflex ] };
+ key <AD08> { [ i, I, icircumflex, Icircumflex ] };
+ key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
+};
+
+// Turkish international Q Layout
+// Alexis Pellicier <alexis.pellicier@nds.k12.tr>, 2007
+partial
+xkb_symbols "intl" {
+ include "latin"
+
+ name[Group1]="Turkey - International (with dead keys)";
+
+ key <AE01> { type[group1] = "FOUR_LEVEL", [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { type[group1] = "FOUR_LEVEL", [ 2, apostrophe, sterling, twosuperior ] };
+ key <AE03> { type[group1] = "FOUR_LEVEL", [ 3, dead_circumflex, numbersign, threesuperior ] };
+ key <AE04> { type[group1] = "FOUR_LEVEL", [ 4, plus, dollar, onequarter ] };
+ key <AE06> { type[group1] = "FOUR_LEVEL", [ 6, ampersand, threequarters, VoidSymbol ] };
+ key <AE07> { type[group1] = "FOUR_LEVEL", [ 7, slash, braceleft, VoidSymbol ] };
+ key <AE08> { type[group1] = "FOUR_LEVEL", [ 8, parenleft, bracketleft, VoidSymbol ] };
+ key <AE09> { type[group1] = "FOUR_LEVEL", [ 9, parenright, bracketright, plusminus ] };
+ key <AE10> { type[group1] = "FOUR_LEVEL", [ 0, equal, braceright, degree ] };
+ key <AE11> { type[group1] = "FOUR_LEVEL", [ asterisk, question, backslash, questiondown ] };
+ key <AE12> { type[group1] = "FOUR_LEVEL", [ minus, underscore, division, VoidSymbol ] };
+ key <AD02> { [ w, W, VoidSymbol, VoidSymbol ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD05> { [ t, T, trademark, VoidSymbol ] };
+ key <AD07> { [ u, U, ucircumflex, Ucircumflex ] };
+ key <AD08> { [ idotless, I, icircumflex, Icircumflex ] };
+ key <AD09> { [ o, O, ocircumflex, Ocircumflex ] };
+ key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] };
+ key <AD11> { [ gbreve, Gbreve, dead_diaeresis ] };
+ key <AD12> { [udiaeresis, Udiaeresis, dead_tilde, dead_macron ] };
+ key <AC01> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S, section, VoidSymbol ] };
+ key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] };
+ key <AC04> { [ f, F, ordfeminine, VoidSymbol ] };
+ key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] };
+ key <AC06> { [ h, H, VoidSymbol, VoidSymbol ] };
+ key <AC08> { [ k, K, VoidSymbol, VoidSymbol ] };
+ key <AC09> { [ l, L, VoidSymbol, VoidSymbol ] };
+ key <AC10> { [ scedilla, Scedilla, dead_acute, dead_acute ] };
+ key <AC11> { [ i, Iabovedot, apostrophe, dead_caron ] };
+ key <TLDE> { type[group1] = "FOUR_LEVEL",[ quotedbl, eacute, plusminus, degree ] };
+ key <BKSL> { type[group1] = "FOUR_LEVEL",[ comma, semicolon, dead_grave, dead_grave ] };
+ key <LSGT> { type[group1] = "FOUR_LEVEL",[ less, greater, bar, brokenbar ] };
+ key <AB08> { [odiaeresis, Odiaeresis, multiply, VoidSymbol ] };
+ key <AB09> { [ ccedilla, Ccedilla, periodcentered, division ] };
+ key <AB10> { type[group1] = "FOUR_LEVEL",[ period, colon, dead_abovedot, dead_abovedot ] };
+
+ include "nbsp(level3)"
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+ name[Group1]= "Turkey";
+ include "tr(intl)"
+
+ key <AE01> { [ 1, exclam, VoidSymbol, VoidSymbol ] };
+ key <AE06> { [ 6, ampersand, VoidSymbol, VoidSymbol ] };
+ key <AE12> { type[group1] = "FOUR_LEVEL", [ minus, underscore, bar, VoidSymbol ] };
+
+
+ key <AB03> { [ c, C, leftdoublequotemark, VoidSymbol ] };
+ key <AB04> { [ v, V, rightdoublequotemark, VoidSymbol ] };
+ key <AB05> { [ b, B, VoidSymbol, VoidSymbol ] };
+ key <AB08> { [odiaeresis, Odiaeresis, VoidSymbol, VoidSymbol ] };
+
+ key <AB09> { [ ccedilla, Ccedilla, multiply, VoidSymbol ] };
+ key <AB10> { [ period, colon, division, dead_abovedot ] };
+
+ key <I219> { [ less, greater, VoidSymbol, VoidSymbol ] };
+
+};
+
+// Crimean Tatar (Crimean Turkish) layouts.
+// First released: 2009.
+// These layouts are currently experimental. In particular, the mapping of letter 'x',
+// included for foreign words and shortcuts, might change in the future...
+// Reşat SABIQ <tilde.birlik @ gmail . com>
+// Özgür Qarahan <qarahan @ gmail . com>
+
+// Crimean Tatar (Crimean Turkish) Q Layout
+partial
+xkb_symbols "crh" {
+
+ include "tr(basic)"
+
+ name[Group1]="Turkey - Crimean Tatar (Turkish Q)";
+
+ key <AE11> { [ x, X, asterisk, question ] };
+
+ key <AC04> { [ f, F, iacute, Iacute ] };
+ key <AC07> { [ j, J, ibreve, Ibreve ] };
+ key <TLDE> { [ quotedbl, backslash, less, degree ] };
+
+ key <AB02> { [ ntilde, Ntilde, guillemotright, greater ] };
+};
+
+// Crimean Tatar (Crimean Turkish) F Layout
+partial
+xkb_symbols "crh_f" {
+
+ include "tr(f)"
+
+ name[Group1]="Turkey - Crimean Tatar (Turkish F)";
+
+ key <AE11> { [ x, X, slash, question ] };
+
+ key <AD04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
+ [ idotless, I, iacute, Iacute ] };
+
+ key <AC07> { [ k, K, ibreve, Ibreve ] };
+ key <TLDE> { [ plus, asterisk, backslash, plusminus ] };
+
+ key <BKSL> { [ ntilde, Ntilde, grave, dead_grave ] };
+};
+
+// Crimean Tatar (Crimean Turkish) Alt-Q Layout
+partial
+xkb_symbols "crh_alt" {
+
+ include "tr(alt)"
+
+ name[Group1]="Turkey - Crimean Tatar (Turkish Alt-Q)";
+
+ key <AC04> { [ f, F, iacute, Iacute ] };
+ key <AC07> { [ j, J, ibreve, Ibreve ] };
+
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/typo b/xorg-server/xkeyboard-config/symbols/typo
new file mode 100644
index 000000000..eb6fbc4ac
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/typo
@@ -0,0 +1,53 @@
+// $XKeyboardConfig$
+
+// typographic keyboard
+// Sergei Stolyarov <sergei@regolit.com>
+//
+// Initial contribution by Alexey Ten <alexeyten+deb@gmail.com>
+//
+// Based on the layout proposed by Ilya Birman,
+// http://ilyabirman.ru/typography-layout/
+//
+
+// default layout
+default partial
+xkb_symbols "base" {
+// 1st keyboard row
+ key <TLDE> { [NoSymbol, NoSymbol, NoSymbol, approxeq] };
+ key <AE01> { [NoSymbol, NoSymbol, onesuperior] };
+ key <AE02> { [NoSymbol, NoSymbol, twosuperior, onehalf] };
+ key <AE03> { [NoSymbol, NoSymbol, threesuperior, onethird] };
+ key <AE04> { [NoSymbol, NoSymbol, dollar, onequarter] };
+ key <AE05> { [NoSymbol, NoSymbol, U2030] };
+ key <AE07> { [NoSymbol, NoSymbol, ampersand] };
+ key <AE08> { [NoSymbol, NoSymbol, enfilledcircbullet, oneeighth] };
+ key <AE11> { [NoSymbol, NoSymbol, emdash, hyphen] };
+ key <AE12> { [NoSymbol, NoSymbol, notequal, plusminus] };
+
+// 2nd keyboard row
+ key <AD03> { [NoSymbol, NoSymbol, EuroSign] }; // "e"
+ key <AD04> { [NoSymbol, NoSymbol, registered] }; // "r"
+ key <AD05> { [NoSymbol, NoSymbol, trademark] }; // "t"
+ key <AD06> { [NoSymbol, NoSymbol, yen] }; // "y"
+ key <AD10> { [NoSymbol, NoSymbol, acute, doubleacute] }; // "p"
+ key <AD11> { [NoSymbol, NoSymbol, bracketleft, braceleft ] }; // [
+ key <AD12> { [NoSymbol, NoSymbol, bracketright, braceright ] }; // ]
+
+// 3rd keyboard row
+ key <AC01> { [NoSymbol, NoSymbol, U0301, NoSymbol] }; // "a"
+ key <AC02> { [NoSymbol, NoSymbol, section]}; // "s"
+ key <AC03> { [NoSymbol, NoSymbol, degree, division] }; // "d"
+ key <AC04> { [NoSymbol, NoSymbol, sterling, NoSymbol] }; // "f"
+ key <AC07> { [NoSymbol, NoSymbol, doublelowquotemark, singlelowquotemark] }; // "j"
+ key <AC08> { [NoSymbol, NoSymbol, leftdoublequotemark, leftsinglequotemark] }; // "k"
+ key <AC09> { [NoSymbol, NoSymbol, rightdoublequotemark, rightsinglequotemark] }; // "l"
+ key <AC10> { [NoSymbol, NoSymbol, leftsinglequotemark, minutes] }; // ";"
+ key <AC11> { [NoSymbol, NoSymbol, rightsinglequotemark, seconds] }; // "'"
+
+// 4th keyboard row
+ key <AB02> { [NoSymbol, NoSymbol, multiply, U22C5] }; // "x"
+ key <AB03> { [NoSymbol, NoSymbol, copyright, cent] }; // "c"
+ key <AB08> { [NoSymbol, NoSymbol, guillemotleft, less] }; // ","
+ key <AB09> { [NoSymbol, NoSymbol, guillemotright, greater] }; // "."
+ key <AB10> { [NoSymbol, NoSymbol, ellipsis] }; // "/"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/tz b/xorg-server/xkeyboard-config/symbols/tz
new file mode 100644
index 000000000..8936a0363
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/tz
@@ -0,0 +1,63 @@
+// $XKeyboardConfig$
+
+// Keyboard layout for Swahili in Arabic script.
+// Based on Martin Vidner's Buckwalter transliteration variant of the Arabic keyboard
+// Please notify any corrections or omissions to
+// Kevin Donnelly (kevin@dotmon.com)
+
+partial default alphanumeric_keys
+xkb_symbols "swa" {
+ name[Group1]= "Tanzania";
+
+ key <TLDE> { [ 0x1000670, VoidSymbol ] };
+
+ key <AE01> { [ 0x1000661, VoidSymbol ] };
+ key <AE02> { [ 0x1000662, VoidSymbol ] };
+ key <AE03> { [ 0x1000663, VoidSymbol ] };
+ key <AE04> { [ 0x1000664, VoidSymbol ] };
+ key <AE05> { [ 0x1000665, Arabic_percent ] };
+ key <AE06> { [ 0x1000666, VoidSymbol ] };
+ key <AE07> { [ 0x1000667, VoidSymbol ] };
+ key <AE08> { [ 0x1000668, VoidSymbol ] };
+ key <AE09> { [ 0x1000669, 0x100fd3e ] };
+ key <AE10> { [ 0x1000660, 0x100fd3f ] };
+ key <AE11> { [ minus, Arabic_tatweel ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ Arabic_qaf, Arabic_gaf ] };
+ key <AD02> { [ Arabic_waw, Arabic_hamzaonwaw ] };
+ key <AD03> { [ 0x1000656, Arabic_ain ] };
+ key <AD04> { [ Arabic_ra, Arabic_tteh ] };
+ key <AD05> { [ Arabic_teh, Arabic_tah ] };
+ key <AD06> { [ Arabic_yeh, Arabic_alefmaksura ] };
+ key <AD07> { [ Arabic_damma, Arabic_dammatan ] };
+ key <AD08> { [ Arabic_kasra, Arabic_hamzaonyeh ] };
+ key <AD09> { [ Arabic_sukun, 0x1000657 ] };
+ key <AD10> { [ Arabic_peh, Arabic_tehmarbuta ] };
+ key <AD12> { [ VoidSymbol, VoidSymbol ] };
+
+ key <AC01> { [ Arabic_fatha, Arabic_alef ] };
+ key <AC02> { [ Arabic_seen, Arabic_sad ] };
+ key <AC03> { [ Arabic_dal, Arabic_dad ] };
+ key <AC04> { [ Arabic_feh, Arabic_fathatan ] };
+ key <AC05> { [ 0x10006A0, Arabic_ghain ] };
+ key <AC06> { [ Arabic_ha, Arabic_hah ] };
+ key <AC07> { [ Arabic_jeem, VoidSymbol ] };
+ key <AC08> { [ Arabic_kaf, Arabic_kasratan ] };
+ key <AC09> { [ Arabic_lam, Arabic_shadda ] };
+ key <AC10> { [ Arabic_semicolon, VoidSymbol ] };
+ key <AC11> { [ Arabic_hamza, VoidSymbol ] };
+
+ key <AB01> { [ Arabic_zain, Arabic_zah ] };
+ key <AB02> { [ Arabic_khah, VoidSymbol ] };
+ key <AB03> { [ Arabic_tcheh, Arabic_sheen ] };
+ key <AB04> { [ 0x10006A8, Arabic_theh ] };
+ key <AB05> { [ Arabic_beh, Arabic_thal ] };
+ key <AB06> { [ Arabic_noon, VoidSymbol ] };
+ key <AB07> { [ Arabic_meem, VoidSymbol ] };
+ key <AB08> { [ Arabic_comma, Arabic_hamzaunderalef ] };
+ key <AB09> { [ 0x10006d4, Arabic_hamzaonalef ] };
+ key <AB10> { [ VoidSymbol, Arabic_question_mark ] };
+};
+
+
diff --git a/xorg-server/xkeyboard-config/symbols/ua b/xorg-server/xkeyboard-config/symbols/ua
new file mode 100644
index 000000000..150ada562
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/ua
@@ -0,0 +1,334 @@
+// $XKeyboardConfig$
+
+// based on
+// ukrainian standard keyboard
+// AEN <aen@logic.ru> & Leon Kanter <leon@geon.donetsk.ua>
+// Last Changes 2007/10/03 by Andriy Rysin <arysin@yahoo.com>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/ua,v 1.4 2003/05/15 11:29:47 pascal Exp $
+
+// Unicode - 3d level added with some Unicode symbols (typographic quotes, m-dash, n-dash etc),
+// some often used cyrillics from other slavic languages and some ASCII symbols used often (slash, brackets...)
+partial default alphanumeric_keys
+xkb_symbols "unicode" {
+ include "ua(winkeys)"
+
+ name[Group1]= "Ukraine";
+
+ key <TLDE> { [ U2019, apostrophe, U0301, asciitilde ] }; // Apostrophe and Stress symbol
+ key <AE02> { [ 1, exclam, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, twosuperior ] };
+ key <AE03> { [ 3, numerosign, U00A7, U20B4 ] }; // Paragraph and Hryvnia sign
+ key <AE04> { [ 4, semicolon, dollar, EuroSign ] };
+ key <AE05> { [ 5, percent, degree ] };
+ key <AE06> { [ 6, colon, less ] };
+ key <AE07> { [ 7, question, greater ] };
+ key <AE08> { [ 8, asterisk, enfilledcircbullet ] };
+ key <AE09> { [ 9, parenleft, bracketleft, braceleft ] };
+ key <AE10> { [ 0, parenright, bracketright, braceright] };
+ key <AE11> { [ minus, underscore, emdash, endash ] };
+ key <AE12> { [ equal, plus, notequal, plusminus ] };
+
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ]};
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered ] }; // Registered tm
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
+ key <AD12> { [ Ukrainian_yi,Ukrainian_YI, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <AC02> { [ Ukrainian_i, Ukrainian_I, Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC11> { [ Ukrainian_ie,Ukrainian_IE, Cyrillic_e, Cyrillic_E ] };
+
+ key <BKSL> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN, backslash, bar ] };
+
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE, trademark ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ] };
+ key <AB10> { [ period, comma, slash, ellipsis ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "legacy" {
+
+ name[Group1]= "Ukraine - Legacy";
+
+ key <TLDE> { [ apostrophe, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, asterisk ] };
+ key <AE05> { [ 5, colon ] };
+ key <AE06> { [ 6, comma ] };
+ key <AE07> { [ 7, period ] };
+ key <AE08> { [ 8, semicolon ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [ Ukrainian_yi, Ukrainian_YI ] };
+ key <BKSL> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ Ukrainian_i, Ukrainian_I ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Ukrainian_ie, Ukrainian_IE ] };
+
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AB10> { [ slash, question ] };
+
+ key <LSGT> { [ slash, bar ] };
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "winkeys" {
+ include "ua(legacy)"
+
+ name[Group1]= "Ukraine - Winkeys";
+
+ key <AE03> { [ 3, numerosign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AB10> { [ period, comma ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "typewriter" {
+ include "ua(legacy)"
+
+ name[Group1]= "Ukraine - Typewriter";
+
+ key <TLDE> { [ apostrophe, quotedbl ] };
+ key <AE01> { [ exclam, 1 ] };
+ key <AE02> { [ numerosign, 2 ] };
+ key <AE03> { [ slash, 3 ] };
+ key <AE04> { [ semicolon, 4 ] };
+ key <AE05> { [ colon, 5 ] };
+ key <AE06> { [ comma, 6 ] };
+ key <AE07> { [ period, 7 ] };
+ key <AE08> { [ underscore, 8 ] };
+ key <AE09> { [ question, 9 ] };
+ key <AE10> { [ percent, 0 ] };
+
+ key <AD12> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+
+ key <AC02> { [ Cyrillic_i, Cyrillic_I ] };
+
+ key <AB05> { [ Ukrainian_i, Ukrainian_I ] };
+
+ key <AB10> { [ Ukrainian_yi, Ukrainian_YI ] };
+
+ key <BKSL> { [ parenleft, parenright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+ include "ua(legacy)"
+
+ name[Group1]= "Ukraine - Phonetic";
+
+ key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <LatY> { [ Cyrillic_i, Cyrillic_I ] };
+ key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
+ key <LatI> { [ Ukrainian_i, Ukrainian_I ] };
+ key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
+ key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
+ key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+ key <AC11> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+ key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB08> { [ Ukrainian_yi, Ukrainian_YI ] };
+ key <AB09> { [ Ukrainian_ie, Ukrainian_IE ] };
+ key <AB10> { [ slash, question ] };
+};
+
+// ukrainian keyboard layout RSTU 2019-91 (Respublikanskij STandart Ukrajiny)
+// Andrew Porokhnyak <aop@porokhnyak.org>
+partial alphanumeric_keys
+xkb_symbols "rstu" {
+ include "ua(legacy)"
+
+ name[Group1]= "Ukraine - Standard RSTU";
+
+ key <TLDE> { [ apostrophe, question ] };
+ key <AE01> { [ exclam, 1 ] };
+ key <AE02> { [ quotedbl, 2 ] };
+ key <AE03> { [ numbersign, 3 ] };
+ key <AE04> { [ semicolon, 4 ] };
+ key <AE05> { [ colon, 5 ] };
+ key <AE06> { [ comma, 6 ] };
+ key <AE07> { [ period, 7 ] };
+ key <AE08> { [ asterisk, 8 ] };
+ key <AE09> { [ parenleft, 9 ] };
+ key <AE10> { [ parenright, 0 ] };
+
+ key <AD12> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+
+ key <AC02> { [ Cyrillic_i, Cyrillic_I ] };
+
+ key <AB05> { [ Ukrainian_i, Ukrainian_I ] };
+
+ key <AB10> { [ Ukrainian_yi, Ukrainian_YI ] };
+
+ key <BKSL> { [ slash, percent ] };
+};
+
+// russian keyboard layout RSTU 2019-91 (Respublikanskij STandart Ukrajiny)
+// Andrew Porokhnyak <aop@porokhnyak.org>
+partial alphanumeric_keys
+xkb_symbols "rstu_ru" {
+ include "ru(common)"
+ name[Group1]= "Ukraine - Standard RSTU on Russian layout";
+
+ key <TLDE> { [ apostrophe, question ] };
+ key <AE01> { [ exclam, 1 ] };
+ key <AE02> { [ quotedbl, 2 ] };
+ key <AE03> { [ numbersign, 3 ] };
+ key <AE04> { [ semicolon, 4 ] };
+ key <AE05> { [ colon, 5 ] };
+ key <AE06> { [ comma, 6 ] };
+ key <AE07> { [ period, 7 ] };
+ key <AE08> { [ asterisk, 8 ] };
+ key <AE09> { [ parenleft, 9 ] };
+ key <AE10> { [ parenright, 0 ] };
+ key <BKSL> { [ slash, percent ] };
+
+key.type[group1]="ALPHABETIC";
+
+ key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
+};
+
+//Homophonic keyboard layout (Tomas Marko Miljenović)
+//Based on Ukrainian National Transliteration, commonly used phonetic layouts for Mac and Win.
+//Existing layout "phonetic" used as template.
+partial alphanumeric_keys
+xkb_symbols "homophonic" {
+ include "ua(legacy)"
+ name[Group1]= "Ukraine - Homophonic";
+
+ key <TLDE> { [ grave, underscore ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, semicolon ] };
+ key <AE04> { [ 4, colon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, apostrophe ] };
+ key <AE07> { [ 7, quotedbl ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ Ukrainian_ie, Ukrainian_IE ] };
+ key <AE12> { [ Ukrainian_yi, Ukrainian_YI ] };
+
+ key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <LatW> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <LatY> { [ Cyrillic_i, Cyrillic_I ] };
+ key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
+ key <LatI> { [ Ukrainian_i, Ukrainian_I ] };
+ key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
+ key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD11> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
+ key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <LatG> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+ key <LatH> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AC11> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <BKSL> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+
+ key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <LatX> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <LatV> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+};
+
+// Crimean Tatar (Crimean Turkish) layouts.
+partial
+xkb_symbols "crh" {
+ include "tr(crh)"
+
+ name[Group1]="Ukraine - Crimean Tatar (Turkish Q)";
+};
+
+partial
+xkb_symbols "crh_f" {
+ include "tr(crh_f)"
+
+ name[Group1]="Ukraine - Crimean Tatar (Turkish F)";
+};
+
+partial
+xkb_symbols "crh_alt" {
+ include "tr(crh_alt)"
+
+ name[Group1]="Ukraine - Crimean Tatar (Turkish Alt-Q)";
+};
diff --git a/xorg-server/xkeyboard-config/symbols/us b/xorg-server/xkeyboard-config/symbols/us
new file mode 100644
index 000000000..e2c40a4e5
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/us
@@ -0,0 +1,1149 @@
+// $XKeyboardConfig$
+
+//
+// $XdotOrg: xc/programs/xkbcomp/symbols/us,v 1.1.4.3 2004/03/05 13:41:33 eich Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/us,v 1.6 2003/10/31 14:32:05 pascal Exp $
+
+default
+partial alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "USA";
+
+ // Alphanumeric section
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+
+ key <BKSL> { [ backslash, bar ] };
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "euro" {
+
+ name[Group1]= "USA - With EuroSign on 5";
+
+ include "us(basic)"
+
+ include "eurosign(5)"
+
+ include "level3(ralt_switch)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "intl" {
+
+ name[Group1]= "USA - International (with dead keys)";
+
+ include "us(basic)"
+
+ // Alphanumeric section
+ key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, at, twosuperior, dead_doubleacute ] };
+ key <AE03> { [ 3, numbersign, threesuperior, dead_macron ] };
+ key <AE04> { [ 4, dollar, currency, sterling ] };
+ key <AE05> { [ 5, percent, EuroSign, dead_cedilla ] };
+ key <AE06> { [ 6, dead_circumflex, onequarter, asciicircum ] };
+ key <AE07> { [ 7, ampersand, onehalf, dead_horn ] };
+ key <AE08> { [ 8, asterisk, threequarters, dead_ogonek ] };
+ key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
+ key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
+ key <AE11> { [ minus, underscore, yen, dead_belowdot ] };
+ key <AE12> { [ equal, plus, multiply, division ] };
+
+ key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
+ key <AD02> { [ w, W, aring, Aring ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, registered, registered ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, odiaeresis, Odiaeresis ] };
+ key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
+ key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ s, S, ssharp, section ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, f, F ] };
+ key <AC05> { [ g, G, g, G ] };
+ key <AC06> { [ h, H, h, H ] };
+ key <AC07> { [ j, J, j, J ] };
+ key <AC08> { [ k, K, oe, OE ] };
+
+ key <AC09> { [ l, L, oslash, Ooblique ] };
+ key <AC10> { [ semicolon, colon, paragraph, degree ] };
+ key <AC11> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
+
+ key <AB01> { [ z, Z, ae, AE ] };
+ key <AB02> { [ x, X, x, X ] };
+ key <AB03> { [ c, C, copyright, cent ] };
+ key <AB04> { [ v, V, v, V ] };
+ key <AB05> { [ b, B, b, B ] };
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB07> { [ m, M, mu, mu ] };
+ key <AB08> { [ comma, less, ccedilla, Ccedilla ] };
+ key <AB09> { [ period, greater, dead_abovedot, dead_caron ] };
+ key <AB10> { [ slash, question, questiondown, dead_hook ] };
+ key <BKSL> { [ backslash, bar, notsign, brokenbar ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Based on symbols/us_intl keyboard map:
+// Dead-keys definition for a very simple US/ASCII layout.
+// by Conectiva (http://www.conectiva.com.br)
+// modified by Ricardo Y. Igarashi (iga@that.com.br)
+
+// Added the following deadkeys, to make it truly international:
+//
+// dead_macron: on AltGr-minus
+// dead_breve: on AltGr-parenleft
+// dead_abovedot: on AltGr-period
+// dead_abovering: on AltGr-0
+// dead_doubleacute: on AltGr-equal (as quotedbl is already used)
+// dead_caron: on AltGr-less (AltGr-shift-comma)
+// dead_cedilla: on AltGr-comma
+// dead_ogonek: on AltGr-semicolon
+// dead_belowdot: on AltGr-underscore (AltGr-shift-minus)
+// dead_hook: on AltGr-question
+// dead_horn: on AltGr-plus (AltGr-shift-equal)
+// dead_diaeresis: on AltGr-colon (Alt-shift-semicolon)
+//
+// those were already there:
+// dead_grave
+// dead_acute
+// dead_circumflex
+// dead_tilde
+// dead_diaeresis
+
+partial alphanumeric_keys
+xkb_symbols "alt-intl" {
+
+ name[Group1]= "USA - Alternative international";
+
+ include "us"
+
+ key <TLDE> { [ dead_grave, dead_tilde, grave, asciitilde ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AE06> { [ 6, dead_circumflex, asciicircum, asciicircum ] };
+ key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
+ key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
+ key <AE11> { [ minus, underscore, dead_macron, dead_belowdot ] };
+ key <AE12> { [ equal, plus, dead_doubleacute, dead_horn ] };
+
+ key <AD03> { [ e, E, EuroSign, cent ] };
+
+ key <AC10> { [ semicolon, colon, dead_ogonek, dead_diaeresis ] };
+ key <AC11> { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
+
+ key <AB08> { [ comma, less, dead_cedilla, dead_caron ] };
+ key <AB09> { [ period, greater, dead_abovedot, dead_circumflex ] };
+ key <AB10> { [ slash, question, dead_hook, dead_hook ] };
+
+ include "level3(ralt_switch)"
+};
+
+// based on a keyboard map from an 'xkb/symbols/dk' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/dvorak,v 1.5 2004/01/03 16:35:07 herrb Exp $
+
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+
+ name[Group1]= "USA - Dvorak";
+
+ // Alphanumeric section
+
+ key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft, dead_grave] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ bracketleft, braceleft ] };
+ key <AE12> { [ bracketright, braceright, dead_tilde] };
+
+ key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
+ key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
+ key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
+ key <AD04> { [ p, P ] };
+ key <AD05> { [ y, Y ] };
+ key <AD06> { [ f, F ] };
+ key <AD07> { [ g, G ] };
+ key <AD08> { [ c, C ] };
+ key <AD09> { [ r, R ] };
+ key <AD10> { [ l, L ] };
+ key <AD11> { [ slash, question ] };
+ key <AD12> { [ equal, plus ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ o, O ] };
+ key <AC03> { [ e, E ] };
+ key <AC04> { [ u, U ] };
+ key <AC05> { [ i, I ] };
+ key <AC06> { [ d, D ] };
+ key <AC07> { [ h, H ] };
+ key <AC08> { [ t, T ] };
+ key <AC09> { [ n, N ] };
+ key <AC10> { [ s, S ] };
+ key <AC11> { [ minus, underscore ] };
+
+ key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
+ key <AB02> { [ q, Q ] };
+ key <AB03> { [ j, J ] };
+ key <AB04> { [ k, K ] };
+ key <AB05> { [ x, X ] };
+ key <AB06> { [ b, B ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ w, W ] };
+ key <AB09> { [ v, V ] };
+ key <AB10> { [ z, Z ] };
+
+ key <BKSL> { [ backslash, bar ] };
+};
+
+// Dvorak international with dead keys
+// Olivier Mehani (shtrom-xorg@ssji.net)
+// Reproduce the per-key mapping of us(intl) for the dvorak layout
+// aka "I just swapped my keys over"
+partial alphanumeric_keys
+xkb_symbols "dvorak-intl" {
+
+ name[Group1]= "USA - Dvorak international (with dead keys)";
+
+ include "us(dvorak)"
+
+ key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
+
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, at, twosuperior, dead_doubleacute ] };
+ key <AE03> { [ 3, numbersign, threesuperior, dead_macron ] };
+ key <AE04> { [ 4, dollar, currency, sterling ] };
+ key <AE05> { [ 5, percent, EuroSign, dead_cedilla ] };
+ key <AE06> { [ 6, dead_circumflex, onequarter, asciicircum ] };
+ key <AE07> { [ 7, ampersand, onehalf, dead_horn ] };
+ key <AE08> { [ 8, asterisk, threequarters, dead_ogonek ] };
+ key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
+ key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
+ key <AE11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
+ key <AE12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
+
+ key <AD01> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
+ key <AD02> { [ comma, less, ccedilla, Ccedilla ] };
+ key <AD03> { [ period, greater, dead_abovedot, dead_caron ] };
+ key <AD04> { [ p, P, odiaeresis, Odiaeresis ] };
+ key <AD05> { [ y, Y, udiaeresis, Udiaeresis ] };
+ // key <AD06> { [ f, F ] };
+ // key <AD07> { [ g, G ] };
+ key <AD08> { [ c, C, copyright, cent ] };
+ key <AD09> { [ r, R, registered, registered ] };
+ key <AD10> { [ l, L, oslash, Ooblique ] };
+ key <AD11> { [ slash, question, questiondown, dead_hook ] };
+ // key <AD12> { [ equal, plus, multiply, division ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ o, O, oacute, Oacute ] };
+ key <AC03> { [ e, E, eacute, Eacute ] };
+ key <AC04> { [ u, U, uacute, Uacute ] };
+ key <AC05> { [ i, I, iacute, Iacute ] };
+ key <AC06> { [ d, D, eth, ETH ] };
+ // key <AC07> { [ h, H ] };
+ key <AC08> { [ t, T, thorn, THORN ] };
+ key <AC09> { [ n, N, ntilde, Ntilde ] };
+ key <AC10> { [ s, S, ssharp, section ] };
+ // key <AC11> { [ minus, underscore, yen, dead_belowdot ] };
+
+ key <AB01> { [ semicolon, colon, paragraph, degree ] };
+ key <AB02> { [ q, Q, adiaeresis, Adiaeresis ] };
+ // key <AB03> { [ j, J ] };
+ key <AB04> { [ k, K, oe, OE ] };
+ // key <AB05> { [ x, X ] };
+ // key <AB06> { [ b, B ] };
+ key <AB07> { [ m, M, mu, mu ] };
+ key <AB08> { [ w, W, aring, Aring ] };
+ // key <AB09> { [ v, V ] };
+ key <AB10> { [ z, Z, ae, AE ] };
+
+ key <BKSL> { [ backslash, bar, notsign, brokenbar ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Dvorak international without dead keys
+// Stephane Magnenat (stephane at magnenat dot net, http://stephane.magnenat.net)
+// Based on information from http://www.poupinou.org/dvorak/index.html
+//
+// ` 1 2 3 4 5 6 7 8 9 0 [ ] \
+// €
+//
+// ' , . p y f g c r l / =
+// ä ê ë ü ç
+//
+// a o e u i d h t n s -
+// à ô é û î ß
+//
+// ; q j k x b m w v z
+// â ö è ù ï
+
+partial alphanumeric_keys
+xkb_symbols "dvorak-alt-intl" {
+
+ name[Group1]= "USA - Dvorak alternative international (no dead keys)";
+
+ include "us(dvorak)"
+
+ key <AE04> { [ 4, dollar, EuroSign ] };
+
+ key <AD02> { [ comma, less, adiaeresis, dead_caron ] };
+ key <AD03> { [ period, greater, ecircumflex, periodcentered ] };
+ key <AD04> { [ p, P, ediaeresis, dead_cedilla ] };
+ key <AD05> { [ y, Y, udiaeresis ] };
+ key <AD08> { [ c, C, ccedilla, dead_abovedot ] };
+
+ key <AC01> { [ a, A, agrave ] };
+ key <AC02> { [ o, O, ocircumflex ] };
+ key <AC03> { [ e, E, eacute ] };
+ key <AC04> { [ u, U, ucircumflex ] };
+ key <AC05> { [ i, I, icircumflex ] };
+ key <AC10> { [ s, S, ssharp ] };
+
+ key <AB01> { [ semicolon, colon, acircumflex ] };
+ key <AB02> { [ q, Q, odiaeresis, dead_ogonek ] };
+ key <AB03> { [ j, J, egrave, dead_doubleacute ] };
+ key <AB04> { [ k, K, ugrave ] };
+ key <AB05> { [ x, X, idiaeresis ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Left and right handed dvorak layouts
+// by sqweek <sqweek@gmail.com> 2006-01-30
+// Based on the corresponding layouts in the console-tools package.
+partial alphanumeric_keys
+xkb_symbols "dvorak-l" {
+
+ include "us(dvorak)"
+ name[Group1]= "USA - Left handed Dvorak";
+
+ key <AE01> { [ bracketleft, braceleft ] };
+ key <AE02> { [ bracketright, braceright ] };
+ key <AE03> { [ slash, question ] };
+ key <AE04> { [ p, P ] };
+ key <AE05> { [ f, F ] };
+ key <AE06> { [ m, M ] };
+ key <AE07> { [ l, L ] };
+ key <AE08> { [ j, J ] };
+ key <AE09> { [ 4, dollar ] };
+ key <AE10> { [ 3, numbersign ] };
+ key <AE11> { [ 2, at ] };
+ key <AE12> { [ 1, exclam ] };
+
+ key <AD01> { [ semicolon, colon ] };
+ key <AD02> { [ q, Q ] };
+ key <AD03> { [ b, B ] };
+ key <AD04> { [ y, Y ] };
+ key <AD05> { [ u, U ] };
+ key <AD06> { [ r, R ] };
+ key <AD07> { [ s, S ] };
+ key <AD08> { [ o, O ] };
+ key <AD09> { [ period, greater ] };
+ key <AD10> { [ 6, asciicircum ] };
+ key <AD11> { [ 5, percent ] };
+ key <AD12> { [ equal, plus ] };
+
+ key <AC01> { [ minus, underscore ] };
+ key <AC02> { [ k, K ] };
+ key <AC03> { [ c, C ] };
+ key <AC04> { [ d, D ] };
+ key <AC05> { [ t, T ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ e, E ] };
+ key <AC08> { [ a, A ] };
+ key <AC09> { [ z, Z ] };
+ key <AC10> { [ 8, asterisk ] };
+ key <AC11> { [ 7, ampersand ] };
+
+ key <AB01> { [ apostrophe, quotedbl ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ g, G ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ w, W ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ i, I ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ 0, parenright ] };
+ key <AB10> { [ 9, parenleft ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "dvorak-r" {
+
+ include "us(dvorak)"
+ name[Group1]= "USA - Right handed Dvorak";
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ j, J ] };
+ key <AE06> { [ l, L ] };
+ key <AE07> { [ m, M ] };
+ key <AE08> { [ f, F ] };
+ key <AE09> { [ p, P ] };
+ key <AE10> { [ slash, question ] };
+ key <AE11> { [ bracketleft, braceleft ] };
+ key <AE12> { [ bracketright, braceright ] };
+
+ key <AD01> { [ 5, percent ] };
+ key <AD02> { [ 6, asciicircum ] };
+ key <AD03> { [ q, Q ] };
+ key <AD04> { [ period, greater ] };
+ key <AD05> { [ o, O ] };
+ key <AD06> { [ r, R ] };
+ key <AD07> { [ s, S ] };
+ key <AD08> { [ u, U ] };
+ key <AD09> { [ y, Y ] };
+ key <AD10> { [ b, B ] };
+ key <AD11> { [ semicolon, colon ] };
+ key <AD12> { [ equal, plus ] };
+
+ key <AC01> { [ 7, ampersand ] };
+ key <AC02> { [ 8, asterisk ] };
+ key <AC03> { [ z, Z ] };
+ key <AC04> { [ a, A ] };
+ key <AC05> { [ e, E ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ t, T ] };
+ key <AC08> { [ d, D ] };
+ key <AC09> { [ c, C ] };
+ key <AC10> { [ k, K ] };
+ key <AC11> { [ minus, underscore ] };
+
+ key <AB01> { [ 9, parenleft ] };
+ key <AB02> { [ 0, parenright ] };
+ key <AB03> { [ x, X ] };
+ key <AB04> { [ comma, less ] };
+ key <AB05> { [ i, I ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ w, W ] };
+ key <AB08> { [ v, V ] };
+ key <AB09> { [ g, G ] };
+ key <AB10> { [ apostrophe, quotedbl ] };
+};
+
+// Classic dvorak layout
+// by Piter Punk <piterpk@terra.com.br> - 2006-07-06
+// Based on dvorak layout and e-mail from Russel L. Harris rlharris@oplink.net
+// on xorg list.
+partial alphanumeric_keys
+xkb_symbols "dvorak-classic" {
+
+ name[Group1]= "USA - Classic Dvorak";
+
+ // Alphanumeric section
+
+ key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
+
+ key <AE01> { [ bracketleft, braceleft ] };
+ key <AE02> { [ 7, ampersand ] };
+ key <AE03> { [ 5, percent ] };
+ key <AE04> { [ 3, numbersign ] };
+ key <AE05> { [ 1, exclam ] };
+ key <AE06> { [ 9, parenleft, dead_grave] };
+ key <AE07> { [ 0, parenright ] };
+ key <AE08> { [ 2, at ] };
+ key <AE09> { [ 4, dollar ] };
+ key <AE10> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
+ key <AE11> { [ 8, asterisk ] };
+ key <AE12> { [ bracketright, braceright, dead_tilde] };
+
+ key <AD01> { [ slash, question ] };
+ key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
+ key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
+ key <AD04> { [ p, P ] };
+ key <AD05> { [ y, Y ] };
+ key <AD06> { [ f, F ] };
+ key <AD07> { [ g, G ] };
+ key <AD08> { [ c, C ] };
+ key <AD09> { [ r, R ] };
+ key <AD10> { [ l, L ] };
+ key <AD11> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
+ key <AD12> { [ equal, plus ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ o, O ] };
+ key <AC03> { [ e, E ] };
+ key <AC04> { [ u, U ] };
+ key <AC05> { [ i, I ] };
+ key <AC06> { [ d, D ] };
+ key <AC07> { [ h, H ] };
+ key <AC08> { [ t, T ] };
+ key <AC09> { [ n, N ] };
+ key <AC10> { [ s, S ] };
+ key <AC11> { [ minus, underscore ] };
+
+ key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
+ key <AB02> { [ q, Q ] };
+ key <AB03> { [ j, J ] };
+ key <AB04> { [ k, K ] };
+ key <AB05> { [ x, X ] };
+ key <AB06> { [ b, B ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ w, W ] };
+ key <AB09> { [ v, V ] };
+ key <AB10> { [ z, Z ] };
+ key <BKSL> { [ backslash, bar ] };
+};
+
+// Programmer Dvorak, by Roland Kaufmann <rlndkfmn at gmail dot com>
+// License: BSD, available at <http://www.kaufmann.no/roland/dvorak/license.html>
+// Main features: Numbers are in shift position (like French), symbols have been
+// placed in locations that give good hand-alternation and finger rolling with
+// symbols that usually follows, accented characters are possible for I18N.
+partial alphanumeric_keys
+xkb_symbols "dvp" {
+ include "us(dvorak)"
+
+ name[Group1] = "USA - Programmer Dvorak";
+
+ // Unmodified Shift AltGr Shift+AltGr
+ // symbols row, left side
+ key <TLDE> { [ dollar, asciitilde, dead_tilde ] };
+ key <AE01> { [ ampersand, percent ] };
+ key <AE02> { [ bracketleft, 7, currency ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <AE03> { [ braceleft, 5, cent ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <AE04> { [ braceright, 3, yen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <AE05> { [ parenleft, 1, EuroSign ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <AE06> { [ equal, 9, sterling ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+
+ // symbols row, right side
+ key <AE07> { [ asterisk, 0 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <AE08> { [ parenright, 2, onehalf ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <AE09> { [ plus, 4 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <AE10> { [ bracketright, 6 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <AE11> { [ exclam, 8, exclamdown ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <AE12> { [ numbersign, grave, dead_grave ] };
+ key <BKSP> { [ BackSpace ] };
+
+ // upper row, left side
+ key <AD01> { [ semicolon, colon, dead_diaeresis ] };
+ key <AD02> { [ comma, less, guillemotleft ] };
+ key <AD03> { [ period, greater, guillemotright ] };
+ key <AD04> { [ p, P, paragraph, section ] };
+ key <AD05> { [ y, Y, udiaeresis, Udiaeresis ] };
+
+ // upper row, right side
+ key <AD08> { [ c, C, ccedilla, Ccedilla ] };
+ key <AD09> { [ r, R, registered, trademark ] };
+ key <AD11> { [ slash, question, questiondown ] };
+ key <AD12> { [ at, asciicircum, dead_circumflex, dead_caron ] };
+
+ // home row, left side
+ key <AC01> { [ a, A, aring, Aring ] };
+ key <AC02> { [ o, O, oslash, Ooblique ] };
+ key <AC03> { [ e, E, ae, AE ] };
+ key <AC04> { [ u, U, eacute, Eacute ] };
+
+ // home row, right side
+ key <AC06> { [ d, D, eth, ETH ] };
+ key <AC07> { [ h, H, dead_acute ] };
+ key <AC08> { [ t, T, thorn, THORN ] };
+ key <AC09> { [ n, N, ntilde, Ntilde ] };
+ key <AC10> { [ s, S, ssharp ] };
+ key <AC11> { [ minus, underscore, hyphen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
+ key <BKSL> { [ backslash, bar ] };
+
+ // lower row, left side
+ key <AB01> { [ apostrophe, quotedbl, dead_acute ] };
+};
+
+// phonetic layout for Russian letters on an US keyboard
+// by Ivan Popov <pin@konvalo.org> 2005-07-17
+
+// level3 modifier is a shortcut to the "us" meaning of the keys where
+// we place cyrillic letters, handy for accessing the corresponding
+// punctuation marks.
+// It is important to have access to punctuation marks, and the rest of
+// alphabetical keys are added for being consequent so that the users
+// can expect the level3 modifier to give what the key label shows.
+
+partial alphanumeric_keys
+xkb_symbols "rus" {
+
+ name[Group1]= "USA - Russian phonetic";
+
+ include "us(basic)"
+
+key.type[group1]="FOUR_LEVEL_ALPHABETIC";
+
+ key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
+ key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO, grave, asciitilde ] };
+ key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
+ key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
+ key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
+ key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AC10> { [ Cyrillic_che, Cyrillic_CHE, semicolon, colon ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA, bracketleft, braceleft] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, bracketright, braceright ] };
+ key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] };
+ key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <BKSL> { [ Cyrillic_e, Cyrillic_E, backslash, bar ] };
+ key <AC11> { [ Cyrillic_yu, Cyrillic_YU, apostrophe, quotedbl ] };
+ key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "mac" {
+
+ include "us(basic)"
+ name[Group1]= "USA - Macintosh";
+ key.type[group1]="FOUR_LEVEL";
+
+ // Slightly improvised from http://homepage.mac.com/thgewecke/kblayout.jpg
+ key <LSGT> { [ section, plusminus, section, plusminus ] };
+ key <TLDE> { [ grave, asciitilde, dead_grave, dead_horn ] };
+ key <AE01> { [ 1, exclam, exclamdown, U2044 ] };
+ key <AE02> { [ 2, at, trademark, EuroSign ] };
+ key <AE03> { [ 3, numbersign, sterling, U2039 ] };
+ key <AE04> { [ 4, dollar, cent, U203A ] };
+ key <AE05> { [ 5, percent, infinity, UFB01 ] };
+ key <AE06> { [ 6,asciicircum, section, UFB02 ] };
+ key <AE07> { [ 7, ampersand, paragraph, doubledagger ] };
+ key <AE08> { [ 8, asterisk, enfilledcircbullet, degree ] };
+ key <AE09> { [ 9, parenleft, ordfeminine, periodcentered ] };
+ key <AE10> { [ 0, parenright, masculine,singlelowquotemark] };
+ key <AE11> { [ minus, underscore, endash, emdash ] };
+ key <AE12> { [ equal, plus, notequal, plusminus ] };
+
+ key <AD01> { [ q, Q, oe, OE ] };
+ key <AD02> { [ w, W, U2211,doublelowquotemark] };
+ key <AD03> { [ e, E, dead_acute, acute ] };
+ key <AD04> { [ r, R, registered, U2030 ] };
+ key <AD05> { [ t, T, dagger, dead_caron ] };
+ key <AD06> { [ y, Y, yen, onequarter ] };
+ key <AD07> { [ u, U, dead_diaeresis, diaeresis ] };
+ key <AD08> { [ i, I, dead_circumflex, U02C6 ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD10> { [ p, P, Greek_pi, U220F ] };
+ key <AD11> { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] };
+ key <AD12> { [bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] };
+ key <BKSL> { [ backslash, bar, guillemotleft, guillemotright ] };
+
+ key <AC01> { [ a, A, aring, Aring ] };
+ key <AC02> { [ s, S, ssharp, dead_stroke ] };
+ key <AC03> { [ d, D, partialderivative, eth ] };
+ key <AC04> { [ f, F, function, dead_hook ] };
+ key <AC05> { [ g, G, copyright, dead_doubleacute ] };
+ key <AC06> { [ h, H, dead_abovedot, dead_belowdot ] };
+ key <AC07> { [ j, J, U2206, onehalf ] };
+ key <AC08> { [ k, K,dead_abovering, UF8FF ] };
+
+ key <AC09> { [ l, L, notsign, THORN ] };
+ key <AC10> { [ semicolon, colon, U2026, thorn ] };
+ key <AC11> { [apostrophe, quotedbl, ae, AE ] };
+
+ key <AB01> { [ z, Z, Greek_OMEGA, dead_cedilla ] };
+ key <AB02> { [ x, X, U2248, dead_ogonek ] };
+ // unclear whether "approxeq" is 2248 or 2245
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB04> { [ v, V, squareroot, U25CA ] };
+ key <AB05> { [ b, B, integral, idotless ] };
+ key <AB06> { [ n, N, dead_tilde, U02DC ] };
+ key <AB07> { [ m, M, mu, threequarters ] };
+ key <AB08> { [ comma, less, lessthanequal, dead_macron ] };
+ key <AB09> { [ period, greater, greaterthanequal, dead_breve ] };
+ key <AB10> { [ slash, question, division, questiondown ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Colemak symbols for xkb on X.Org Server 7.x
+// 2006-01-01 Shai Coleman, http://colemak.com/ . Public domain.
+
+partial alphanumeric_keys
+xkb_symbols "colemak" {
+ include "us"
+ name[Group1]= "USA - Colemak";
+
+ // Alphanumeric section
+ key <TLDE> { [ grave, asciitilde, dead_tilde, asciitilde ] };
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, at, masculine, twosuperior ] };
+ key <AE03> { [ 3, numbersign, ordfeminine, threesuperior ] };
+ key <AE04> { [ 4, dollar, cent, sterling ] };
+ key <AE05> { [ 5, percent, EuroSign, yen ] };
+ key <AE06> { [ 6, asciicircum, hstroke, Hstroke ] };
+ key <AE07> { [ 7, ampersand, eth, ETH ] };
+ key <AE08> { [ 8, asterisk, thorn, THORN ] };
+ key <AE09> { [ 9, parenleft, leftsinglequotemark, leftdoublequotemark ] };
+ key <AE10> { [ 0, parenright, rightsinglequotemark, rightdoublequotemark ] };
+ key <AE11> { [ minus, underscore, endash, emdash ] };
+ key <AE12> { [ equal, plus, multiply, division ] };
+
+ key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
+ key <AD02> { [ w, W, aring, Aring ] };
+ key <AD03> { [ f, F, atilde, Atilde ] };
+ key <AD04> { [ p, P, oslash, Ooblique ] };
+ key <AD05> { [ g, G, dead_ogonek, asciitilde ] };
+ key <AD06> { [ j, J, dstroke, Dstroke ] };
+ key <AD07> { [ l, L, lstroke, Lstroke ] };
+ key <AD08> { [ u, U, uacute, Uacute ] };
+ key <AD09> { [ y, Y, udiaeresis, Udiaeresis ] };
+ key <AD10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
+ key <AD11> { [ bracketleft, braceleft, guillemotleft, 0x1002039 ] };
+ key <AD12> { [ bracketright, braceright, guillemotright, 0x100203a ] };
+ key <BKSL> { [ backslash, bar, asciitilde, asciitilde ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ r, R, dead_grave, asciitilde ] };
+ key <AC03> { [ s, S, ssharp, asciitilde ] };
+ key <AC04> { [ t, T, dead_acute, dead_doubleacute ] };
+ key <AC05> { [ d, D, dead_diaeresis, asciitilde ] };
+ key <AC06> { [ h, H, dead_caron, asciitilde ] };
+ key <AC07> { [ n, N, ntilde, Ntilde ] };
+ key <AC08> { [ e, E, eacute, Eacute ] };
+ key <AC09> { [ i, I, iacute, Iacute ] };
+ key <AC10> { [ o, O, oacute, Oacute ] };
+ key <AC11> { [ apostrophe, quotedbl, otilde, Otilde ] };
+
+ key <AB01> { [ z, Z, ae, AE ] };
+ key <AB02> { [ x, X, dead_circumflex, asciitilde ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB04> { [ v, V, oe, OE ] };
+ key <AB05> { [ b, B, dead_breve, asciitilde ] };
+ key <AB06> { [ k, K, dead_abovering, asciitilde ] };
+ key <AB07> { [ m, M, dead_macron, asciitilde ] };
+ key <AB08> { [ comma, less, dead_cedilla, asciitilde ] };
+ key <AB09> { [ period, greater, dead_abovedot, asciitilde ] };
+ key <AB10> { [ slash, question, questiondown, asciitilde ] };
+
+ key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
+ key <LSGT> { [ minus, underscore, endash, emdash ] };
+ key <SPCE> { [ space, space, space, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
+
+// I do NOT like dead-keys - the International keyboard as defined by Microsoft
+// doesn't fit my needs. Why use two keystrokes for all simple characters (eg '
+// and <space> generates a single ') just to have an é (eacute) in two strokes
+// as well? I type ' more often than é (eacute).
+//
+// This file works just like a regular keyboard, BUT has all dead-keys
+// accessible at level3 (through AltGr). An ë (ediaeresis) is now: AltGr+"
+// followed by an e. In other words, this keyboard is not international as long
+// as you leave the right Alt key alone.
+//
+// The original MS International keyboard was intended for Latin1 (iso8859-1).
+// With the introduction of iso8859-15, the (important) ligature oe (and OE)
+// became available. I added them next to ae. Because I write ediaeresis more
+// often than registered, I moved registered to be next to copyright and added
+// ediaeresis and idiaeresis. - Adriaan
+
+partial alphanumeric_keys
+xkb_symbols "altgr-intl" {
+
+ name[Group1]= "USA - International (AltGr dead keys)";
+
+ include "us(intl)"
+
+// five dead keys moved into level3:
+
+ key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
+ key <AC11> { [apostrophe,quotedbl, dead_acute, dead_diaeresis ] };
+
+// diversions from the MS Intl keyboard:
+
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AD04> { [ r, R, ediaeresis, Ediaeresis ] };
+ key <AC07> { [ j, J, idiaeresis, Idiaeresis ] };
+ key <AB02> { [ x, X, oe, OE ] };
+ key <AB04> { [ v, V, registered, registered ] };
+
+// onequarter etc (not in iso8859-15) moved to get three unshifted deadkeys:
+
+ key <AE06> { [ 6, asciicircum, dead_circumflex, onequarter ] };
+ key <AE07> { [ 7, ampersand, dead_horn, onehalf ] };
+ key <AE08> { [ 8, asterisk, dead_ogonek, threequarters ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Intel ClassmatePC Keyboard Layout
+// by Piter PUNK <piterpk@terra.com.br>
+//
+// The keyboard layouts below maps the us(basic), us(intl) and us(alt-intl)
+// to ClassmatePC keyboard. All layouts uses RCTL as level3(switch) since
+// the keyboard doesn't have AltGr key. The EuroSign is engraved at 5 key.
+
+// classmate - us(basic)
+partial alphanumeric_keys
+xkb_symbols "classmate" {
+ include "us(basic)"
+ name[Group1]= "USA - ClassmatePC";
+
+ key <LSGT> { [ backslash, bar, backslash, bar ] };
+
+ include "eurosign(5)"
+ include "level3(switch)"
+};
+
+// classmate-intl - us(intl)
+// RCTL is generated by Fn+Alt, because that, when trying to access
+// the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
+// the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
+// generate the same symbol as the original key.
+partial alphanumeric_keys
+xkb_symbols "classmate-intl" {
+ include "us(intl)"
+ name[Group1]= "USA - ClassmatePC (International)";
+ key.type[Group1]="FOUR_LEVEL";
+
+ key <LSGT> { [ backslash, bar, backslash, bar ] };
+
+ key <KP7> { [ KP_Home, KP_7,
+ onehalf, dead_horn ] };
+ key <KP8> { [ KP_Up, KP_8,
+ threequarters, dead_ogonek ] };
+ key <KP9> { [ KP_Prior, KP_9,
+ leftsinglequotemark, dead_breve ] };
+ key <KPMU> { [ KP_Multiply, KP_Multiply,
+ rightsinglequotemark, dead_abovering ] };
+
+ key <KP4> { [ KP_Left, KP_4,
+ uacute, Uacute ] };
+ key <KP5> { [ KP_Begin, KP_5,
+ iacute, Iacute ] };
+ key <KP6> { [ KP_Right, KP_6,
+ oacute, Oacute ] };
+ key <KPSU> { [ KP_Subtract, KP_Subtract,
+ odiaeresis, Odiaeresis ] };
+
+ key <KP2> { [ KP_Down, KP_2,
+ oe, OE ] };
+ key <KP3> { [ KP_Next, KP_3,
+ oslash, Ooblique ] };
+ key <KPAD> { [ KP_Add, KP_Add,
+ paragraph, degree ] };
+
+ key <KP0> { [ KP_Insert, KP_0,
+ mu, mu ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal,
+ dead_abovedot, dead_caron ] };
+ key <KPDV> { [ KP_Divide, KP_Divide,
+ questiondown, dead_hook ] };
+
+ include "level3(switch)"
+};
+
+// classmate-alt-intl - us(alt-intl)
+// RCTL is generated by Fn+Alt, because that, when trying to access
+// the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
+// the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
+// generate the same symbol as the original key.
+partial alphanumeric_keys
+xkb_symbols "classmate-alt-intl" {
+ include "us(alt-intl)"
+ name[Group1]= "USA - ClassmatePC (Alternative international)";
+ key.type[Group1]="FOUR_LEVEL";
+
+ key <LSGT> { [ backslash, bar, backslash, bar ] };
+
+ key <KPSU> { [ KP_Subtract, KP_Subtract ] };
+
+ key <KP9> { [ KP_Prior, KP_9,
+ leftsinglequotemark, dead_breve ] };
+ key <KPMU> { [ KP_Multiply, KP_Multiply,
+ rightsinglequotemark, dead_abovering ] };
+
+ key <KPAD> { [ KP_Add, KP_Add,
+ dead_ogonek, dead_diaeresis ] };
+
+ key <KPDL> { [ KP_Delete, KP_Decimal,
+ dead_abovedot, dead_circumflex ] };
+ key <KPDV> { [ KP_Divide, KP_Divide,
+ dead_hook, dead_hook ] };
+
+ include "level3(switch)"
+};
+
+// classmate-altgr-intl - us(altgr-intl)
+// RCTL is generated by Fn+Alt, because that, when trying to access
+// the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
+// the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
+// generate the same symbol as the original key.
+partial alphanumeric_keys
+xkb_symbols "classmate-altgr-intl" {
+ include "us(altgr-intl)"
+ name[Group1]= "USA - ClassmatePC (International Fn+Alt dead-keys)";
+ key.type[Group1]="FOUR_LEVEL";
+
+ key <LSGT> { [ backslash, bar, backslash, bar ] };
+
+ key <KP7> { [ KP_Home, KP_7,
+ dead_horn, dead_horn ] };
+ key <KP8> { [ KP_Up, KP_8,
+ dead_ogonek, dead_ogonek ] };
+ key <KP9> { [ KP_Prior, KP_9,
+ leftsinglequotemark, dead_breve ] };
+ key <KPMU> { [ KP_Multiply, KP_Multiply,
+ rightsinglequotemark, dead_abovering ] };
+
+ key <KP4> { [ KP_Left, KP_4,
+ uacute, Uacute ] };
+ key <KP5> { [ KP_Begin, KP_5,
+ iacute, Iacute ] };
+ key <KP6> { [ KP_Right, KP_6,
+ oacute, Oacute ] };
+ key <KPSU> { [ KP_Subtract, KP_Subtract,
+ odiaeresis, Odiaeresis ] };
+
+ key <KP1> { [ KP_End, KP_1,
+ idiaeresis, Idiaeresis ] };
+ key <KP2> { [ KP_Down, KP_2,
+ oe, OE ] };
+ key <KP3> { [ KP_Next, KP_3,
+ oslash, Ooblique ] };
+ key <KPAD> { [ KP_Add, KP_Add,
+ paragraph, degree ] };
+
+ key <KP0> { [ KP_Insert, KP_0,
+ mu, mu ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal,
+ dead_abovedot, dead_caron ] };
+ key <KPDV> { [ KP_Divide, KP_Divide,
+ questiondown, dead_hook ] };
+
+ include "level3(switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ include "us(basic)"
+ name[Group1]= "USA";
+
+ // OLPC international US English keyboard layout.
+ // It's a little different from the usual international layout.
+ // See: http://wiki.laptop.org/go/Image:Keyboard_english.png
+
+ key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
+ key <AE01> { [ 1, exclam, exclamdown, exclamdown ] };
+ key <AE02> { [ 2, at, notsign, notsign ] };
+ key <AE03> { [ 3, numbersign, 0x1000300, 0x1000300 ] }; // combining grave
+ key <AE04> { [ 4, dollar, 0x1000301, 0x1000301 ] }; // combining acute
+ key <AE05> { [ 5, percent, 0x1000306, 0x1000306 ] }; // combining breve above
+ key <AE06> { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above
+ key <AE07> { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above
+ key <AE08> { [ 8, asterisk, 0x100030C, 0x100030C ] }; // combining caron above
+ key <AE09> { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above
+ key <AE10> { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above
+ key <AE11> { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above
+ key <AE12> { [ equal, plus, 0x1000303, 0x1000303 ] }; // combining tilde above
+
+ key <AD01> { [ q, Q, Greek_omega, Greek_OMEGA ] };
+ key <AD02> { [ w, W, oslash, Oslash ] };
+ key <AD03> { [ e, E, oe, OE ] };
+ key <AD04> { [ r, R, 0x1000327, 0x1000327 ] }; // combining cedilla
+ key <AD05> { [ t, T, 0x100032E, 0x100032E ] }; // combining breve below
+ key <AD06> { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below
+ key <AD07> { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below
+ key <AD08> { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below
+ key <AD09> { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below
+ key <AD10> { [ p, P, 0x1000324, 0x1000324 ] }; // combining diaeresis below
+ key <AD11> { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below
+ key <AD12> { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below
+
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ s, S, ssharp, 0x1001E9C ] }; // uppercase S sharp
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, thorn, THORN ] };
+ key <AC06> { [ h, H, sterling, sterling ] };
+ key <AC07> { [ j, J, EuroSign, EuroSign ] };
+ key <AC10> { [ semicolon, colon, masculine, ordfeminine ] };
+ key <AC11> { [ apostrophe, quotedbl, currency, currency ] };
+ key <BKSL> { [ backslash, bar, section, section ] };
+
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB07> { [ m, M, mu, mu ] };
+ key <AB08> { [ comma, less, guillemotleft, guillemotleft ] };
+ key <AB09> { [ period, greater, guillemotright, guillemotright ] };
+ key <AB10> { [ slash, question, questiondown, questiondown ] };
+
+ key <I219> { [ multiply, division, ISO_Next_Group, ISO_Prev_Group ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc2" {
+ include "us(olpc)"
+ name[Group1]= "USA - Layout toggle on multiply/divide key";
+ include "group(olpc)"
+};
+
+// Based on Cherokee Nation Official Layout
+// http://www.cherokee.org/extras/downloads/font/Keyboard.htm
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "chr" {
+
+ name[Group1]= "USA - Cherokee";
+ key.type[group1]="ALPHABETIC";
+
+ // Alphanumeric section
+ key <TLDE> { [ grave, U13CA ] };
+ key <AE01> { [ 1, U13B1 ] };
+ key <AE02> { [ 2, U13C7 ] };
+ key <AE03> { [ 3, U13E7 ] };
+ key <AE04> { [ U13D9, U13B0 ] };
+ key <AE05> { [ U13E6, U13B9 ] };
+ key <AE06> { [ U13DC, U13DD ] };
+ key <AE07> { [ U13CB, U13E1 ] };
+ key <AE08> { [ U13D6, U13BA ] };
+ key <AE09> { [ U13D2, parenleft ] };
+ key <AE10> { [ U13C4, parenright ] };
+ key <AE11> { [ U13BF, U13BC ] };
+ key <AE12> { [ U13F3, U13BD ] };
+
+ key <AD01> { [ U13AA, U13C6 ] };
+ key <AD02> { [ U13B3, U13EB ] };
+ key <AD03> { [ U13A1, U13E3 ] };
+ key <AD04> { [ U13DB, U13CF ] };
+ key <AD05> { [ U13D4, U13D8 ] };
+ key <AD06> { [ U13EF, U13F2 ] };
+ key <AD07> { [ U13A4, U13AD ] };
+ key <AD08> { [ U13A2, U13F1 ] };
+ key <AD09> { [ U13A3, U13EC ] };
+ key <AD10> { [ U13C1, U13EA ] };
+ key <AD11> { [ U13D5, U13D1 ] };
+ key <AD12> { [ U13B6, U13E4 ] };
+ key <BKSL> { [ U13E9, U13EE ] };
+
+ key <AC01> { [ U13A0, U13CC ] };
+ key <AC02> { [ U13CD, U13CE ] };
+ key <AC03> { [ U13D7, U13D0 ] };
+ key <AC04> { [ U13A9, U13C8 ] };
+ key <AC05> { [ U13A6, U13E5 ] };
+ key <AC06> { [ U13AF, U13B2 ] };
+ key <AC07> { [ U13DA, U13AB ] };
+ key <AC08> { [ U13B8, U13A7 ] };
+ key <AC09> { [ U13B5, U13AE ] };
+ key <AC10> { [ U13E8, U13E0 ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+
+ key <AB01> { [ U13AC, U13C3 ] };
+ key <AB02> { [ U13F4, U13ED ] };
+ key <AB03> { [ U13D3, U13DF ] };
+ key <AB04> { [ U13A5, U13DE ] };
+ key <AB05> { [ U13A8, U13F0 ] };
+ key <AB06> { [ U13BE, U13BB ] };
+ key <AB07> { [ U13C5, U13B7 ] };
+ key <AB08> { [ comma, U13E2 ] };
+ key <AB09> { [ period, U13B4 ] };
+ key <AB10> { [ U13C2, U13C9 ] };
+
+ // End alphanumeric section
+};
+
+// Serbian charecters added as third level symbols to US keyboard layout.
+
+partial alphanumeric_keys
+xkb_symbols "srp" {
+
+ name[Group1]= "USA - Serbian";
+
+ include "us"
+
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE06> { [ 6, dead_caron, asciicircum, asciicircum ] };
+ key <AC09> { [ l, L, U1C9, U1C8 ] };
+ key <AB06> { [ n, N, U1CC, U1CB ] };
+ key <AB01> { [ z, Z, U1C6, U1C5 ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AC03> { [ d, D, dstroke, Dstroke ] };
+ key <AC11> { [ dead_acute, quotedbl, apostrophe, U315 ] };
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/uz b/xorg-server/xkeyboard-config/symbols/uz
new file mode 100644
index 000000000..b37a6ca3f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/uz
@@ -0,0 +1,122 @@
+// $XKeyboardConfig$
+// Uzbek standard keyboard
+//
+// Mashrab Kuvatov <kmashrab@uni-bremen.de>
+//
+// History:
+//
+// Jun 2, 2003. Mashrab Kuvatov <kmashrab@uni-bremen.de>
+//
+// Created based on Russian standard keyboard. AEN <aen@logic.ru>
+// The following symbols of Russian standard keyboard were replaced:
+// minus (key <AE11>) with Byelorussian_shortu (U045e),
+// equal (key <AE12>) with Cyrillic_ka_descender (U049b)
+// Cyrillic_ha (key <AD11>) with Cyrillic_ghe_bar (U0493)
+// Cyrillic_hardsign (key <AD12>) with Cyrillic_ha_descender (U04b3)
+// The following symbols of Russian standard keyboard were moved:
+// Cyrillic_ze to key <AC02> (english 's'),
+// Cyrillic_sha to key <AD08> (english 'i'),
+// Cyrillic_ha to key <AD09> (english 'o'),
+// Cyrillic_hardsign to key <AD10> (english 'p').
+//
+// Feb 25, 2007. Mashrab Kuvatov <kmashrab@uni-bremen.de>
+//
+// Made cyrillic and latin variants. Default is cyrillic.
+// Cyrillic variant is standard compliant. The standard
+// was accepted by the official body of Uzbekistan. See
+// http://www.uznet.net/index.php?option=com_content&task=view&id=288&Itemid=58
+//
+// Latin variant is somewhat experimental, since there is no
+// official standard for it. It is a copy of "us" layout, where
+// apostrophe is replaced with U02BB.
+//
+// $XFree86: xc/programs/xkbcomp/symbols/uz,v 1.2 2003/06/21 13:01:59 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "cyrillic" {
+
+ name[Group1]= "Uzbekistan";
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numerosign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <BKSL> { [ backslash, bar ] };
+ key <AB10> { [ period, comma ] };
+ key <LSGT> { [ slash, bar ] };
+
+key.type[group1]="ALPHABETIC";
+
+ key <AE11> { [Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
+ key <AE12> { [Cyrillic_ha_descender, Cyrillic_HA_descender ] };
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Byelorussian_shortu, Byelorussian_SHORTU ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [Cyrillic_ka_descender, Cyrillic_KA_descender ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin" {
+ include "us"
+ name[Group1]= "Uzbekistan - Latin";
+ key <AC11> { [0x010002BB, quotedbl] };
+};
+
+// Crimean Tatar (Crimean Turkish) layouts.
+partial
+xkb_symbols "crh" {
+ include "tr(crh)"
+
+ name[Group1]="Uzbekistan - Crimean Tatar (Turkish Q)";
+};
+
+partial
+xkb_symbols "crh_f" {
+ include "tr(crh_f)"
+
+ name[Group1]="Uzbekistan - Crimean Tatar (Turkish F)";
+};
+
+partial
+xkb_symbols "crh_alt" {
+ include "tr(crh_alt)"
+
+ name[Group1]="Uzbekistan - Crimean Tatar (Turkish Alt-Q)";
+};
diff --git a/xorg-server/xkeyboard-config/symbols/vn b/xorg-server/xkeyboard-config/symbols/vn
new file mode 100644
index 000000000..acebae572
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/vn
@@ -0,0 +1,41 @@
+// $XKeyboardConfig$
+
+// based on:
+// vn, TCVN 5712:1993
+// Le Hong Boi <le.hong.boi@bigfoot.com>
+// August 1999
+// Further modified by Ashley Clark <aclark@debian.org>
+// July 2000 for X 4.0
+// Fix accents into combining marks by Samuel Thibault <samuel.thibault@ens-lyon.org>
+// July 2009
+
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "us"
+
+ name[Group1]= "Vietnam";
+
+ // Alphanumeric section
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <AE01> { [ abreve, Abreve ] };
+ key <AE02> { [ acircumflex, Acircumflex ] };
+ key <AE03> { [ ecircumflex, Ecircumflex ] };
+ key <AE04> { [ ocircumflex, Ocircumflex ] };
+ key <AE05> { [ 0x1000300, percent, dead_grave, percent ] };
+ key <AE06> { [ 0x1000309, asciicircum, dead_hook, asciicircum ] };
+ key <AE07> { [ 0x1000303, ampersand, dead_tilde, ampersand ] };
+ key <AE08> { [ 0x1000301, asterisk, dead_acute, asterisk ] };
+ key <AE09> { [ 0x1000323, parenleft, dead_belowdot, parenleft ] };
+ key <AE10> { [ dstroke, Dstroke ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ DongSign, plus ] };
+
+ key <AD11> { [ uhorn, Uhorn ] };
+ key <AD12> { [ ohorn, Ohorn ] };
+
+ // End alphanumeric section
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/xfree68_vndr/Makefile.am b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/Makefile.am
new file mode 100644
index 000000000..50be49bb4
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/Makefile.am
@@ -0,0 +1,4 @@
+symbolsdir = $(xkb_base)/symbols/xfree68_vndr
+
+dist_symbols_DATA = \
+amiga ataritt
diff --git a/xorg-server/xkeyboard-config/symbols/xfree68_vndr/amiga b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/amiga
new file mode 100644
index 000000000..dcc143bb0
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/amiga
@@ -0,0 +1,132 @@
+// $Xorg: amiga,v 1.3 2000/08/17 19:54:46 cpqbld Exp $
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/xfree68/amiga,v 1.2 2000/06/23 00:44:37 dawes Exp $
+
+default xkb_symbols "usa1" {
+
+ name[Group1]= "usa1";
+ key <ESC> { [ Escape ] };
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ // End "Function" section
+
+ // Alphanumeric section
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSL> { [ backslash, bar ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+ key <RTRN> { [ Return ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+ key <RTSH> { [ Shift_R ] };
+
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <LAMI> { [ Mode_switch ] };
+ key <SPCE> { [ space ] };
+ key <RAMI> { [ Multi_key ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+ // End alphanumeric section
+
+ // Begin "Editing" section
+ key <DELE> { [ Delete ] };
+ key <HELP> { [ Help ] };
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <KPLP> { [ Num_Lock ] };
+ key <KPRP> { [ Scroll_Lock ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply, Print ] };
+
+ key <KP7> { [ KP_7, KP_Home ] };
+ key <KP8> { [ KP_8, KP_Up ] };
+ key <KP9> { [ KP_9, KP_Prior ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP4> { [ KP_4, KP_Left ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6, KP_Right ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP1> { [ KP_1, KP_End ] };
+ key <KP2> { [ KP_2, KP_Down ] };
+ key <KP3> { [ KP_3, KP_Next ] };
+
+ key <KP0> { [ KP_0, KP_Insert ] };
+ key <KPDC> { [ KP_Decimal, KP_Delete ] };
+ key <KPEN> { [ KP_Enter ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Mode_switch };
+ modifier_map Mod3 { Meta_L, Meta_R };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/xfree68_vndr/ataritt b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/ataritt
new file mode 100644
index 000000000..c06431fb8
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/ataritt
@@ -0,0 +1,161 @@
+// $Xorg: ataritt,v 1.3 2000/08/17 19:54:46 cpqbld Exp $
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/xfree68/ataritt,v 1.2 2000/06/23 00:44:37 dawes Exp $
+
+default xkb_symbols "us" {
+
+ name[Group1]= "US/ASCII";
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+ key <RTRN> { [ Return ] };
+ key <DELE> { [ Delete ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+ key <RTSH> { [ Shift_R ] };
+
+ key <ALT> { [ Meta_L ] };
+ key <SPCE> { [ space ] };
+ key <CAPS> { [ Caps_Lock ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <HELP> { [ Help ] };
+ key <UNDO> { [ Undo ] };
+ key <INS> { [ Insert ] };
+ key <UP> { [ Up ] };
+ key <HOME> { [ Home, Clear ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <KPLP> { [ KP_F1 ] };
+ key <KPRP> { [ KP_F2 ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ] };
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPSU> { [ KP_Subtract ] };
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPAD> { [ KP_Add ] };
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KP0> { [ KP_0 ] };
+ key <KPDC> { [ KP_Decimal ] };
+ key <KPEN> { [ KP_Enter ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod1 { Meta_L };
+};
+
+xkb_symbols "de" {
+ include "ataritt(us)"
+
+ name[Group1]= "German";
+
+ // Alphanumeric section
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, section ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ ssharp, question ] };
+ key <AE12> { [ quoteright, quoteleft ] };
+ key <TLDE> { [ numbersign, asciicircum ] };
+
+ key <AD06> { [ z, Z ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ],
+ [ at, backslash ] };
+ key <AD12> { [ plus, asterisk ] };
+
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ bracketleft, braceleft ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ bracketright, braceright ] };
+ key <BKSL> { [ asciitilde, bar ] };
+
+ key <LSGT> { [ less, greater ] };
+ key <AB01> { [ y, Y ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+};
diff --git a/xorg-server/xkeyboard-config/symbols/za b/xorg-server/xkeyboard-config/symbols/za
new file mode 100644
index 000000000..0d53b1c1a
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/za
@@ -0,0 +1,44 @@
+// $XKeyboardConfig$
+//
+// based on the Latvian and GB keyboard maps
+
+partial default alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between an en_US
+ // keyboard and a South African layout with
+ // dead keys. By Dwayne Bailey (dwayne@translate.org.za)
+
+ include "latin"
+
+ name[Group1]="South Africa";
+
+ key <TLDE> { [ grave, asciitilde, dead_grave ] };
+ key <AE02> { [ 2, at, yen ] };
+ key <AE03> { [ 3, numbersign, sterling ] };
+ key <AE04> { [ 4, dollar, dollar ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AE06> { [ 6, asciicircum, dead_circumflex ] };
+
+ key <AD03> { [ e, E, ediaeresis, Ediaeresis ] };
+ key <AD04> { [ r, R, ecircumflex, Ecircumflex ] };
+ key <AD05> { [ t, T, U1e71, U1e70 ] };
+ key <AD06> { [ y, Y, ucircumflex, Ucircumflex ] };
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD08> { [ i, I, idiaeresis, Idiaeresis ] };
+ key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
+ key <AD10> { [ p, P, ocircumflex, Ocircumflex ] };
+
+ key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
+ key <AC02> { [ s, S, scaron, Scaron ] };
+ key <AC03> { [ d, D, U1e13, U1e12 ] };
+ key <AC09> { [ l, L, U1e3d, U1e3c ] };
+ key <AC10> { [ semicolon, colon, dead_diaeresis ] };
+ key <AC11> { [apostrophe, quotedbl, dead_acute ] };
+
+ key <AB06> { [ n, N, U1e4b, U1e4a ] };
+ key <AB07> { [ m, M, U1e45, U1e44 ] };
+ key <AB09> { [ period, greater, dead_abovedot ] };
+
+ include "level3(ralt_switch)"
+};