aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkeyboard-config/symbols
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-07-13 07:48:55 +0000
committermarha <marha@users.sourceforge.net>2010-07-13 07:48:55 +0000
commitd8f81c980a46279ac619312a914b563144894512 (patch)
tree3d2dce1c24fa37edf81c47af2311dbaf56a763f6 /xorg-server/xkeyboard-config/symbols
parent1812c17dc8e8f071d8731716849957e97bb2b974 (diff)
downloadvcxsrv-d8f81c980a46279ac619312a914b563144894512.tar.gz
vcxsrv-d8f81c980a46279ac619312a914b563144894512.tar.bz2
vcxsrv-d8f81c980a46279ac619312a914b563144894512.zip
Renamed xkbdata.src also on trunk since the current merging of subversion will loose all the changes in xkbdata.src when the directory is renamed on the source branch.
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/makefile13
-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/makefile14
-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/makefile12
-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/makefile12
-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/makefile16
-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/makefile51
-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/nec_vndr/makefile12
-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/makefile14
-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/sgi_vndr/makefile12
-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/makefile12
-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/makefile18
-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/xfree68_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/symbols/za44
201 files changed, 32614 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/makefile b/xorg-server/xkeyboard-config/symbols/digital_vndr/makefile
new file mode 100644
index 000000000..cdfa2ef28
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/digital_vndr/makefile
@@ -0,0 +1,13 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\digital_vndr
+
+dist_symbols_DATA = \
+lk pc us \
+vt
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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/makefile b/xorg-server/xkeyboard-config/symbols/extras/makefile
new file mode 100644
index 000000000..99b45229c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/extras/makefile
@@ -0,0 +1,14 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\extras
+
+dist_symbols_DATA = apl \
+ ir \
+ rs \
+ us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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/makefile b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/makefile
new file mode 100644
index 000000000..841c123d8
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\fujitsu_vndr
+
+dist_symbols_DATA = \
+jp us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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/makefile b/xorg-server/xkeyboard-config/symbols/hp_vndr/makefile
new file mode 100644
index 000000000..3e6a64f47
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/hp_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\hp_vndr
+
+dist_symbols_DATA = \
+us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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..6c02d3ddf
--- /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]="TWO_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/makefile b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/makefile
new file mode 100644
index 000000000..0c54d7bdd
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/makefile
@@ -0,0 +1,16 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\macintosh_vndr
+
+dist_symbols_DATA = \
+apple ch de dk \
+fi fr \
+gb is it jp \
+latam nl no pt \
+se us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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/makefile b/xorg-server/xkeyboard-config/symbols/makefile
new file mode 100644
index 000000000..6eea13f1c
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/makefile
@@ -0,0 +1,51 @@
+SUBDIRS = digital_vndr fujitsu_vndr hp_vndr macintosh_vndr nec_vndr nokia_vndr sgi_vndr sony_vndr sun_vndr xfree68_vndr extras
+
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=symbols
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+dist_xkbdata_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
+
+DATA_FILES=$(dist_xkbdata_symbols_DATA:%=$(DESTDIR)\%)
+
+load_makefile $(SUBDIRS:%=%\makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+extrastuff: $(SUBDIRS:%=%\all)
+
+include ..\xkbrules.mak
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/nec_vndr/makefile b/xorg-server/xkeyboard-config/symbols/nec_vndr/makefile
new file mode 100644
index 000000000..6ab523a2b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nec_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\nec_vndr
+
+dist_symbols_DATA = \
+jp
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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/makefile b/xorg-server/xkeyboard-config/symbols/nokia_vndr/makefile
new file mode 100644
index 000000000..f3719bbac
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nokia_vndr/makefile
@@ -0,0 +1,14 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\nokia_vndr
+
+dist_symbols_DATA = \
+rx-44 \
+rx-51 \
+su-8w
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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/sgi_vndr/makefile b/xorg-server/xkeyboard-config/symbols/sgi_vndr/makefile
new file mode 100644
index 000000000..79a27fead
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sgi_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\sgi_vndr
+
+dist_symbols_DATA = \
+jp
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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/makefile b/xorg-server/xkeyboard-config/symbols/sony_vndr/makefile
new file mode 100644
index 000000000..c2c1fa757
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sony_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\sony_vndr
+
+dist_symbols_DATA = \
+us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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/makefile b/xorg-server/xkeyboard-config/symbols/sun_vndr/makefile
new file mode 100644
index 000000000..62b2f44a0
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/makefile
@@ -0,0 +1,18 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\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
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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/xfree68_vndr/makefile b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/makefile
new file mode 100644
index 000000000..c9c1b3ede
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\xfree68_vndr
+
+dist_symbols_DATA = \
+amiga ataritt
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
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)"
+};