aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkeyboard-config/rules
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/xkeyboard-config/rules')
-rw-r--r--xorg-server/xkeyboard-config/rules/base.extras.xml.in398
-rw-r--r--xorg-server/xkeyboard-config/rules/base.lists.part20
-rw-r--r--xorg-server/xkeyboard-config/rules/base.m_g.part9
-rw-r--r--xorg-server/xkeyboard-config/rules/base.m_k.part6
-rw-r--r--xorg-server/xkeyboard-config/rules/base.m_s.part2
-rw-r--r--xorg-server/xkeyboard-config/rules/base.ml1_s.part3
-rw-r--r--xorg-server/xkeyboard-config/rules/base.ml2_s.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.ml3_s.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.ml4_s.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.ml_s.part13
-rw-r--r--xorg-server/xkeyboard-config/rules/base.mlv_s.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.o_s.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/base.xml.in72
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/base.l1v1_c.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/base.l2v2_c.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/base.l3v3_c.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/base.l4v4_c.part1
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/base.lv_c.part1
18 files changed, 508 insertions, 25 deletions
diff --git a/xorg-server/xkeyboard-config/rules/base.extras.xml.in b/xorg-server/xkeyboard-config/rules/base.extras.xml.in
index 05732af2a..1614eec96 100644
--- a/xorg-server/xkeyboard-config/rules/base.extras.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.extras.xml.in
@@ -77,6 +77,12 @@
<_description>Secwepemctsin</_description>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Multilingual (Canada, Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
@@ -108,6 +114,12 @@
</languageList>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>German (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
@@ -141,6 +153,12 @@
<_description>Lithuanian (US Dvorak with Lithuanian letters)</_description>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Lithuanian (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
@@ -201,6 +219,12 @@
<_description>Latvian (US Colemak, apostrophe variant)</_description>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Latvian (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
@@ -247,6 +271,12 @@
<iso639Id>ger</iso639Id> </languageList>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>English (US, Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
@@ -269,7 +299,13 @@
<_description>Polish (Colemak)</_description>
</configItem>
</variant>
- </variantList>
+ <variant>
+ <configItem>
+ <name>type6</name>
+ <_description>Polish (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
</layout>
<layout>
<configItem>
@@ -295,6 +331,12 @@
<_description>Romanian (ergonomic Touchtype)</_description>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>type6</name>
+ <_description>Romanian (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
@@ -337,6 +379,12 @@
<iso639Id>bel</iso639Id></languageList>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>type6</name>
+ <_description>Russian (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
@@ -374,6 +422,354 @@
</variant>
</variantList>
</layout>
+ <layout>
+ <configItem>
+ <name>ara</name>
+ <_shortDescription>ar</_shortDescription>
+ <_description>Arabic</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Arabic (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>be</name>
+ <_shortDescription>be</_shortDescription>
+ <_description>Belgian</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Belgian (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>br</name>
+ <_shortDescription>pt</_shortDescription>
+ <_description>Portuguese (Brazil)</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Portuguese (Brazil,Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>cz</name>
+ <_shortDescription>cs</_shortDescription>
+ <_description>Czech</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Czech (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>dk</name>
+ <_shortDescription>da</_shortDescription>
+ <_description>Danish</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Danish (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>nl</name>
+ <_shortDescription>nl</_shortDescription>
+ <_description>Dutch</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Dutch (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ee</name>
+ <_shortDescription>et</_shortDescription>
+ <_description>Estonian</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Estonian (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>fi</name>
+ <_shortDescription>fi</_shortDescription>
+ <_description>Finnish</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Finnish (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>fr</name>
+ <_shortDescription>fr</_shortDescription>
+ <_description>French</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>French (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>gr</name>
+ <_shortDescription>gr</_shortDescription>
+ <_description>Greek</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Greek (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>it</name>
+ <_shortDescription>it</_shortDescription>
+ <_description>Italian</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Italian (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>jp</name>
+ <_shortDescription>ja</_shortDescription>
+ <_description>Japanese</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Japanese (Sun Type 6)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sun_type7</name>
+ <_description>Japanese (Sun Type 7 - pc compatible)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sun_type7_suncompat</name>
+ <_description>Japanese (Sun Type 7 - sun compatible)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>no</name>
+ <_shortDescription>no</_shortDescription>
+ <_description>Norwegian</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Norwegian (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>pt</name>
+ <_shortDescription>pt</_shortDescription>
+ <_description>Portuguese</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Portuguese (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>sk</name>
+ <_shortDescription>sk</_shortDescription>
+ <_description>Slovak</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Slovak (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>es</name>
+ <_shortDescription>es</_shortDescription>
+ <_description>Spanish</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Spanish (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>se</name>
+ <_shortDescription>sv</_shortDescription>
+ <_description>Swedish</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Swedish (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ch</name>
+ <_shortDescription>de</_shortDescription>
+ <_description>>German (Switzerland)</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6_de</name>
+ <_description>German (Switzerland, Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sun_type6_fr</name>
+ <_description>French (Switzerland, Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>tr</name>
+ <_shortDescription>tr</_shortDescription>
+ <_description>Turkish</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Turkish (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ua</name>
+ <_shortDescription>uk</_shortDescription>
+ <_description>Ukrainian</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Ukrainian (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>gb</name>
+ <_shortDescription>en</_shortDescription>
+ <_description>English (UK)</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>English (UK, Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>kr</name>
+ <_shortDescription>ko</_shortDescription>
+ <_description>Korean</_description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>sun_type6</name>
+ <_description>Korean (Sun Type 6/7)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
</layoutList>
<optionList/>
</xkbConfigRegistry>
diff --git a/xorg-server/xkeyboard-config/rules/base.lists.part b/xorg-server/xkeyboard-config/rules/base.lists.part
index c7983df87..97b3b907f 100644
--- a/xorg-server/xkeyboard-config/rules/base.lists.part
+++ b/xorg-server/xkeyboard-config/rules/base.lists.part
@@ -99,9 +99,21 @@
! $thinkpads = thinkpad thinkpad60 thinkpadz60
-! $sun_t6_custom = ara be br ca ch cz de dk \
- ee es fi fr gb gr it kr \
- lt lv nl no pl pt ro ru \
- se sk tr tw ua
+! $sun = sun_type6_jp sun_type6_usb sun_type6_euro_usb \
+ sun_type6_jp_usb sun_type6_unix_usb sun_type7_jp_usb \
+ sun_type7_usb sun_type7_euro_usb sun_type7_unix_usb
+
+! $sun_jp = sun_type6_jp sun_type6_jp_usb sun_type7_jp_usb
+
+// Sun Type_6_7 keyboards with custom layouts
+! $sun_custom = 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 tr tw ua us
+
+! $sun_var = sun_type6 sun_type6_suncompat sun_type6_de sun_type6_fr \
+ sun_type7 sun_type7_suncompat suncompat
+
+! $sun_compat = sun_type6 sun_type6_suncompat sun_type7_suncompat suncompat
! $htcdreamlayouts = us it de
diff --git a/xorg-server/xkeyboard-config/rules/base.m_g.part b/xorg-server/xkeyboard-config/rules/base.m_g.part
index 753f2ed75..eb0512d58 100644
--- a/xorg-server/xkeyboard-config/rules/base.m_g.part
+++ b/xorg-server/xkeyboard-config/rules/base.m_g.part
@@ -24,4 +24,13 @@
hhk = hhk(basic)
kinesis = kinesis(model100)
$nokiamodels = nokia(%m)
+ sun_type6_jp = sun(type6jp)
+ sun_type6_usb = sun(type6)
+ sun_type6_euro_usb = sun(type6tuv)
+ sun_type6_jp_usb = sun(type6jp)
+ sun_type6_unix_usb = sun(type6unix)
+ sun_type7_jp_usb = sun(type6jp)
+ sun_type7_usb = sun(type7)
+ sun_type7_euro_usb = sun(type7tuv)
+ sun_type7_unix_usb = sun(type7unix)
* = pc(pc104)
diff --git a/xorg-server/xkeyboard-config/rules/base.m_k.part b/xorg-server/xkeyboard-config/rules/base.m_k.part
index 2c621208f..ebccd3ea5 100644
--- a/xorg-server/xkeyboard-config/rules/base.m_k.part
+++ b/xorg-server/xkeyboard-config/rules/base.m_k.part
@@ -1,10 +1,8 @@
amiga = amiga(de)
ataritt = ataritt(de)
empty = empty
- sun4 = sun(type4_euro)
- sun5 = sun(type5_euro)
- sun6 = sun(type6_usb)
- sun6euro = sun(type6tuv_usb)
+ $sun_jp = sun(type6_jp_usb)
+ $sun = sun(type6_usb)
pc98 = xfree98(pc98)
$applealu = macintosh(alukbd)
macintosh_hhk = macintosh(hhk)
diff --git a/xorg-server/xkeyboard-config/rules/base.m_s.part b/xorg-server/xkeyboard-config/rules/base.m_s.part
index 4bbbcce31..e5d32a2a9 100644
--- a/xorg-server/xkeyboard-config/rules/base.m_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.m_s.part
@@ -49,3 +49,5 @@
$maclaptop = +inet(apple)+level3(enter_switch)
$applealu = +inet(apple)
$macs = +inet(apple)
+ sun_type7_jp_usb = +sun_vndr/solaris(defaults_type7jp)
+ $sun = +sun_vndr/solaris(defaults)
diff --git a/xorg-server/xkeyboard-config/rules/base.ml1_s.part b/xorg-server/xkeyboard-config/rules/base.ml1_s.part
index 20b4276ed..1a990b0ae 100644
--- a/xorg-server/xkeyboard-config/rules/base.ml1_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.ml1_s.part
@@ -1,7 +1,6 @@
ataritt * = xfree68_vndr/ataritt(us)+%l[1]%(v[1])
amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1])
- sun4 * = latin+sun_vndr/us(type4)+%l[1]%(v[1])
- sun5 * = latin+sun_vndr/us(type5)+%l[1]%(v[1])
+ $sun $sun_custom = pc+sun_vndr/%l[1]%(v[1])
macintosh_old us = macintosh_vndr/us(oldmac)
macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1])
macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1])
diff --git a/xorg-server/xkeyboard-config/rules/base.ml2_s.part b/xorg-server/xkeyboard-config/rules/base.ml2_s.part
index 27f997529..e80d7cf86 100644
--- a/xorg-server/xkeyboard-config/rules/base.ml2_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.ml2_s.part
@@ -1,3 +1,4 @@
nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):2
nokiarx51 * = +nokia_vndr/rx-51(%l[2]%_v[2]):2
+ $sun $sun_custom = +sun_vndr/%l[2]%(v[2]):2
* * = +%l[2]%(v[2]):2
diff --git a/xorg-server/xkeyboard-config/rules/base.ml3_s.part b/xorg-server/xkeyboard-config/rules/base.ml3_s.part
index 607752509..efe7cf17b 100644
--- a/xorg-server/xkeyboard-config/rules/base.ml3_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.ml3_s.part
@@ -1,3 +1,4 @@
nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):3
nokiarx51 * = +nokia_vndr/rx-51(%l[3]%_v[3]):3
+ $sun $sun_custom = +sun_vndr/%l[3]%(v[3]):3
* * = +%l[3]%(v[3]):3
diff --git a/xorg-server/xkeyboard-config/rules/base.ml4_s.part b/xorg-server/xkeyboard-config/rules/base.ml4_s.part
index 8d92f393c..00ba445da 100644
--- a/xorg-server/xkeyboard-config/rules/base.ml4_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.ml4_s.part
@@ -1,3 +1,4 @@
nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):4
nokiarx51 * = +nokia_vndr/rx-51(%l[4]%_v[4]):4
+ $sun $sun_custom = +sun_vndr/%l[4]%(v[4]):4
* * = +%l[4]%(v[4]):4
diff --git a/xorg-server/xkeyboard-config/rules/base.ml_s.part b/xorg-server/xkeyboard-config/rules/base.ml_s.part
index 7e0148672..552693dbf 100644
--- a/xorg-server/xkeyboard-config/rules/base.ml_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.ml_s.part
@@ -5,18 +5,7 @@
classmate us = pc+%l(classmate)
empty * = empty(basic)
* empty = empty(basic)
- sun4 $nonlatin = latin+sun_vndr/us(type4)+%l%(v):2
- sun4 * = latin+sun_vndr/us(type4)+%l%(v)
- sun5 $nonlatin = latin+sun_vndr/us(type5)+%l%(v):2
- sun5 * = latin+sun_vndr/us(type5)+%l%(v)
- sun6 us = pc+sun_vndr/us(type6)
- sun6 en_US = pc+sun_vndr/us(type6)+iso9995-3(basic)
- sun6 $sun_t6_custom = pc+sun_vndr/us(type6)+sun_vndr/%l%(v)
- sun6 * = pc+sun_vndr/us(type6)+%l%(v)
- sun6euro us = pc+sun_vndr/us(type6)
- sun6euro en_US = pc+sun_vndr/us(type6)+iso9995-3(basic)
- sun6euro $sun_t6_custom = pc+sun_vndr/us(type6)+sun_vndr/%l%(v)
- sun6euro * = pc+sun_vndr/us(type6)+%l%(v)
+ $sun $sun_custom = pc+sun_vndr/%l%(v)
pc98 nec_vndr/jp = nec_vndr/jp(pc98)
macintosh_old us = macintosh_vndr/us(oldmac)
macintosh_old en_US = macintosh_vndr/us(oldmac)
diff --git a/xorg-server/xkeyboard-config/rules/base.mlv_s.part b/xorg-server/xkeyboard-config/rules/base.mlv_s.part
index 1eecc55c0..1ae117173 100644
--- a/xorg-server/xkeyboard-config/rules/base.mlv_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.mlv_s.part
@@ -2,3 +2,4 @@
classmate us alt-intl = pc+us(classmate-alt-intl)
classmate us altgr-intl = pc+us(classmate-altgr-intl)
nokiarx51 cz qwerty = nokia_vndr/rx-51(cz_qwerty)
+ * $sun_custom $sun_var = pc+sun_vndr/%l%(v)
diff --git a/xorg-server/xkeyboard-config/rules/base.o_s.part b/xorg-server/xkeyboard-config/rules/base.o_s.part
index 7d880f438..253effded 100644
--- a/xorg-server/xkeyboard-config/rules/base.o_s.part
+++ b/xorg-server/xkeyboard-config/rules/base.o_s.part
@@ -134,6 +134,7 @@
shift:both_shiftlock = +shift(both_shiftlock)
shift:lshift_both_shiftlock = +shift(lshift_both_shiftlock)
shift:rshift_both_shiftlock = +shift(rshift_both_shiftlock)
+ solaris:sun_compat = +sun_vndr/solaris(sun_compat)
lv3:caps_switch = +level3(caps_switch)
lv3:bksl_switch = +level3(bksl_switch)
lv3:lsgt_switch = +level3(lsgt_switch)
diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in
index d21891db2..fd9cc274f 100644
--- a/xorg-server/xkeyboard-config/rules/base.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.xml.in
@@ -1199,8 +1199,64 @@
</model>
<model>
<configItem>
- <name>sun6</name>
- <_description>Sun Type 5/6</_description>
+ <name>sun_type7_usb</name>
+ <_description>Sun Type 7 USB</_description>
+ <vendor>Sun Microsystems</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sun_type7_euro_usb</name>
+ <_description>Sun Type 7 USB (European layout)</_description>
+ <vendor>Sun Microsystems</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sun_type7_unix_usb</name>
+ <_description>Sun Type 7 USB (Unix layout)</_description>
+ <vendor>Sun Microsystems</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sun_type7_jp_usb</name>
+ <_description>Sun Type 7 USB (Japanese layout) / Japanese 106-key</_description>
+ <vendor>Sun Microsystems</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sun_type6_usb</name>
+ <_description>Sun Type 6/7 USB</_description>
+ <vendor>Sun Microsystems</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sun_type6_euro_usb</name>
+ <_description>Sun Type 6/7 USB (European layout)</_description>
+ <vendor>Sun Microsystems</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sun_type6_unix_usb</name>
+ <_description>Sun Type 6 USB (Unix layout)</_description>
+ <vendor>Sun Microsystems</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sun_type6_jp_usb</name>
+ <_description>Sun Type 6 USB (Japanese layout)</_description>
+ <vendor>Sun Microsystems</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sun_type6_jp</name>
+ <_description>Sun Type 6 (Japanese layout)</_description>
<vendor>Sun Microsystems</vendor>
</configItem>
</model>
@@ -6598,6 +6654,18 @@
</group>
<group allowMultipleSelection="true">
<configItem>
+ <name>solaris</name>
+ <_description>Maintain key compatibility with old Solaris keycodes</_description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>solaris:sun_compat</name>
+ <_description>Sun Key compatibility</_description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <configItem>
<name>terminate</name>
<_description>Key sequence to kill the X server</_description>
</configItem>
diff --git a/xorg-server/xkeyboard-config/rules/compat/base.l1v1_c.part b/xorg-server/xkeyboard-config/rules/compat/base.l1v1_c.part
index 64ff0f2f5..9d274dff1 100644
--- a/xorg-server/xkeyboard-config/rules/compat/base.l1v1_c.part
+++ b/xorg-server/xkeyboard-config/rules/compat/base.l1v1_c.part
@@ -1 +1,2 @@
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
+ jp $sun_compat = complete+japan(kana_lock)
diff --git a/xorg-server/xkeyboard-config/rules/compat/base.l2v2_c.part b/xorg-server/xkeyboard-config/rules/compat/base.l2v2_c.part
index fea61be76..b7d6e309a 100644
--- a/xorg-server/xkeyboard-config/rules/compat/base.l2v2_c.part
+++ b/xorg-server/xkeyboard-config/rules/compat/base.l2v2_c.part
@@ -1 +1,2 @@
de neo = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
+ jp $sun_compat = +complete+japan(kana_lock):2
diff --git a/xorg-server/xkeyboard-config/rules/compat/base.l3v3_c.part b/xorg-server/xkeyboard-config/rules/compat/base.l3v3_c.part
index 5a1fb2f8a..360b4c425 100644
--- a/xorg-server/xkeyboard-config/rules/compat/base.l3v3_c.part
+++ b/xorg-server/xkeyboard-config/rules/compat/base.l3v3_c.part
@@ -1 +1,2 @@
de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
+ jp $sun_compat = +complete+japan(kana_lock):3
diff --git a/xorg-server/xkeyboard-config/rules/compat/base.l4v4_c.part b/xorg-server/xkeyboard-config/rules/compat/base.l4v4_c.part
index ac8a91102..6633312c2 100644
--- a/xorg-server/xkeyboard-config/rules/compat/base.l4v4_c.part
+++ b/xorg-server/xkeyboard-config/rules/compat/base.l4v4_c.part
@@ -1 +1,2 @@
de neo = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
+ jp $sun_compat = +complete+japan(kana_lock):4
diff --git a/xorg-server/xkeyboard-config/rules/compat/base.lv_c.part b/xorg-server/xkeyboard-config/rules/compat/base.lv_c.part
index 64ff0f2f5..927ff06b2 100644
--- a/xorg-server/xkeyboard-config/rules/compat/base.lv_c.part
+++ b/xorg-server/xkeyboard-config/rules/compat/base.lv_c.part
@@ -1 +1,2 @@
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
+ jp $sun_compat = complete+japan(kana_lock)