summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/data/compat/default12
-rw-r--r--test/data/compat/iso99954
-rw-r--r--test/data/rules/base75
-rw-r--r--test/data/rules/evdev81
-rw-r--r--test/data/symbols/altwin13
-rw-r--r--test/data/symbols/ca5
-rw-r--r--test/data/symbols/de36
-rw-r--r--test/data/symbols/il80
-rw-r--r--test/data/symbols/in75
-rw-r--r--test/data/symbols/inet2
-rw-r--r--test/data/symbols/keypad11
-rw-r--r--test/data/symbols/latin2
-rw-r--r--test/data/symbols/level342
-rw-r--r--test/data/symbols/level526
-rw-r--r--test/data/symbols/pc2
-rw-r--r--test/data/symbols/ru13
-rw-r--r--test/data/symbols/rupeesign5
-rw-r--r--test/data/symbols/us163
-rwxr-xr-xtest/data/sync.sh63
-rw-r--r--test/data/types/level51
-rw-r--r--test/data/types/pc8
21 files changed, 573 insertions, 146 deletions
diff --git a/test/data/compat/default b/test/data/compat/default
deleted file mode 100644
index 4c4461f..0000000
--- a/test/data/compat/default
+++ /dev/null
@@ -1,12 +0,0 @@
-default xkb_compatibility "default" {
- include "basic"
- augment "mousekeys"
- augment "accessx(basic)"
- augment "misc"
- augment "iso9995"
- augment "level5"
-// ??should be changed/renamed/removed
-// augment "xfree86"
- augment "japan"
- augment "caps(caps_lock)"
-};
diff --git a/test/data/compat/iso9995 b/test/data/compat/iso9995
index eee104d..76188d1 100644
--- a/test/data/compat/iso9995
+++ b/test/data/compat/iso9995
@@ -9,10 +9,6 @@ default partial xkb_compatibility "default" {
latchMods.clearLocks= True;
latchMods.latchToLock= True;
- interpret ISO_Lock+Any {
- action= ISOLock(affect= all,modifiers=modMapMods);
- };
-
interpret ISO_Level2_Latch+Shift {
useModMapMods= level1;
action= LatchMods(modifiers=Shift);
diff --git a/test/data/rules/base b/test/data/rules/base
index 44fa866..d629596 100644
--- a/test/data/rules/base
+++ b/test/data/rules/base
@@ -106,10 +106,22 @@
! $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
@@ -119,10 +131,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)
@@ -173,6 +183,15 @@
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)
! model layout variant = symbols
@@ -229,6 +248,7 @@
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)
! model layout = symbols
* ar = pc+ara
@@ -247,7 +267,6 @@
* lo = pc+la
* kan = pc+in(kan)
* mi = pc+mao
- * ml = pc+in(mal)
* ogham = pc+ie(ogam)
* ori = pc+ie(ori)
* sapmi = pc+no(smi)
@@ -314,18 +333,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)
@@ -345,6 +353,11 @@
olpc $olpclayouts = olpc+%l%(m)
olpc * = olpc+%l%(v)
$thinkpads br = pc+br(thinkpad)
+ sl-c3x00 * = pc+sharp_vndr/sl-c3x00(basic)
+ ws003sh * = pc+sharp_vndr/ws003sh(basic)
+ ws007sh * = pc+sharp_vndr/ws007sh(basic)
+ ws011sh * = pc+sharp_vndr/ws011sh(basic)
+ ws020sh * = pc+sharp_vndr/ws020sh(basic)
htcdream $htcdreamlayouts = %l(htcdream)
* $nonlatin = pc+us+%l%(v):2
* * = pc+%l%(v)
@@ -366,7 +379,6 @@
* lo = pc+la%(v[1])
* kan = pc+in(kan)
* mi = pc+mao%(v[1])
- * ml = pc+in(mal)
* ogham = pc+ie(ogam)
* ori = pc+ie(ori)
* sapmi = pc+no(smi)
@@ -428,8 +440,7 @@
* yu(unicodeyz) = pc+srp(latinunicodeyz)
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])
@@ -510,7 +521,6 @@
* lo = +la%(v[2]):2
* kan = +in(kan):2
* mi = +mao%(v[2]):2
- * ml = +in(mal):2
* ogham = +ie(ogam):2
* ori = +ie(ori):2
* sapmi = +no(smi):2
@@ -572,6 +582,7 @@
* yu(unicodeyz) = +srp(latinunicodeyz):2
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
! model layout[3] = symbols
@@ -591,7 +602,6 @@
* lo = +la%(v[3]):3
* kan = +in(kan):3
* mi = +mao%(v[3]):3
- * ml = +in(mal):3
* ogham = +ie(ogam):3
* ori = +ie(ori):3
* sapmi = +no(smi):3
@@ -653,6 +663,7 @@
* yu(unicodeyz) = +srp(latinunicodeyz):3
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
! model layout[4] = symbols
@@ -672,7 +683,6 @@
* lo = +la%(v[4]):4
* kan = +in(kan):4
* mi = +mao%(v[4]):4
- * ml = +in(mal):4
* ogham = +ie(ogam):4
* ori = +ie(ori):4
* sapmi = +no(smi):4
@@ -734,6 +744,7 @@
* yu(unicodeyz) = +srp(latinunicodeyz):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
! model layout[2] variant[2] = symbols
@@ -941,21 +952,28 @@
$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)
! layout variant = compat
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
+ jp $sun_compat = complete+japan(kana_lock)
! layout[1] variant[1] = compat
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
+ jp $sun_compat = complete+japan(kana_lock)
! layout[2] variant[2] = compat
de neo = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
+ jp $sun_compat = +complete+japan(kana_lock):2
! layout[3] variant[3] = compat
de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
+ jp $sun_compat = +complete+japan(kana_lock):3
! layout[4] variant[4] = compat
de neo = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
+ jp $sun_compat = +complete+japan(kana_lock):4
! model layout = compat
pc98 nec_vndr/jp = pc98(basic)
@@ -1002,7 +1020,7 @@
altwin:left_meta_win = +altwin(left_meta_win)
altwin:hyper_win = +altwin(hyper_win)
altwin:alt_super_win = +altwin(alt_super_win)
- altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin)
+ altwin:swap_alt_win = +altwin(swap_alt_win)
grp:switch = +group(switch)
grp:lswitch = +group(lswitch)
grp:win_switch = +group(win_switch)
@@ -1130,6 +1148,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/test/data/rules/evdev b/test/data/rules/evdev
index 874dce2..905a210 100644
--- a/test/data/rules/evdev
+++ b/test/data/rules/evdev
@@ -106,10 +106,22 @@
! $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
@@ -131,8 +143,6 @@
* = +aliases(qwerty)
! option = keycodes
- apple:badmap = +macintosh(badmap)
- apple:goodmap = +macintosh(goodmap)
! model layout = geometry
thinkpad us = thinkpad(us)
@@ -164,6 +174,15 @@
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)
! model layout variant = symbols
@@ -220,6 +239,7 @@
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)
! model layout = symbols
* ar = pc+ara
@@ -238,7 +258,6 @@
* lo = pc+la
* kan = pc+in(kan)
* mi = pc+mao
- * ml = pc+in(mal)
* ogham = pc+ie(ogam)
* ori = pc+ie(ori)
* sapmi = pc+no(smi)
@@ -305,18 +324,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)
@@ -336,6 +344,11 @@
olpc $olpclayouts = olpc+%l%(m)
olpc * = olpc+%l%(v)
$thinkpads br = pc+br(thinkpad)
+ sl-c3x00 * = pc+sharp_vndr/sl-c3x00(basic)
+ ws003sh * = pc+sharp_vndr/ws003sh(basic)
+ ws007sh * = pc+sharp_vndr/ws007sh(basic)
+ ws011sh * = pc+sharp_vndr/ws011sh(basic)
+ ws020sh * = pc+sharp_vndr/ws020sh(basic)
htcdream $htcdreamlayouts = %l(htcdream)
* $nonlatin = pc+us+%l%(v):2
* * = pc+%l%(v)
@@ -357,7 +370,6 @@
* lo = pc+la%(v[1])
* kan = pc+in(kan)
* mi = pc+mao%(v[1])
- * ml = pc+in(mal)
* ogham = pc+ie(ogam)
* ori = pc+ie(ori)
* sapmi = pc+no(smi)
@@ -419,8 +431,7 @@
* yu(unicodeyz) = pc+srp(latinunicodeyz)
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])
@@ -501,7 +512,6 @@
* lo = +la%(v[2]):2
* kan = +in(kan):2
* mi = +mao%(v[2]):2
- * ml = +in(mal):2
* ogham = +ie(ogam):2
* ori = +ie(ori):2
* sapmi = +no(smi):2
@@ -563,6 +573,7 @@
* yu(unicodeyz) = +srp(latinunicodeyz):2
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
! model layout[3] = symbols
@@ -582,7 +593,6 @@
* lo = +la%(v[3]):3
* kan = +in(kan):3
* mi = +mao%(v[3]):3
- * ml = +in(mal):3
* ogham = +ie(ogam):3
* ori = +ie(ori):3
* sapmi = +no(smi):3
@@ -644,6 +654,7 @@
* yu(unicodeyz) = +srp(latinunicodeyz):3
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
! model layout[4] = symbols
@@ -663,7 +674,6 @@
* lo = +la%(v[4]):4
* kan = +in(kan):4
* mi = +mao%(v[4]):4
- * ml = +in(mal):4
* ogham = +ie(ogam):4
* ori = +ie(ori):4
* sapmi = +no(smi):4
@@ -725,6 +735,7 @@
* yu(unicodeyz) = +srp(latinunicodeyz):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
! model layout[2] variant[2] = symbols
@@ -887,18 +898,23 @@
! layout variant = compat
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
+ jp $sun_compat = complete+japan(kana_lock)
! layout[1] variant[1] = compat
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
+ jp $sun_compat = complete+japan(kana_lock)
! layout[2] variant[2] = compat
de neo = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
+ jp $sun_compat = +complete+japan(kana_lock):2
! layout[3] variant[3] = compat
de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
+ jp $sun_compat = +complete+japan(kana_lock):3
! layout[4] variant[4] = compat
de neo = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
+ jp $sun_compat = +complete+japan(kana_lock):4
! model layout = compat
pc98 nec_vndr/jp = pc98(basic)
@@ -945,7 +961,7 @@
altwin:left_meta_win = +altwin(left_meta_win)
altwin:hyper_win = +altwin(hyper_win)
altwin:alt_super_win = +altwin(alt_super_win)
- altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin)
+ altwin:swap_alt_win = +altwin(swap_alt_win)
grp:switch = +group(switch)
grp:lswitch = +group(lswitch)
grp:win_switch = +group(win_switch)
@@ -1073,6 +1089,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)
@@ -1094,5 +1111,17 @@
grp_led:num = +lednum(group_lock)
grp_led:caps = +ledcaps(group_lock)
grp_led:scroll = +ledscroll(group_lock)
+ japan:kana_lock = +japan(kana_lock)
caps:shiftlock = +ledcaps(shift_lock)
grab:break_actions = +xfree86(grab_break)
+
+
+! option = types
+ caps:internal = +caps(internal)
+ caps:internal_nocancel = +caps(internal_nocancel)
+ caps:shift = +caps(shift)
+ caps:shift_nocancel = +caps(shift_nocancel)
+ numpad:pc = +numpad(pc)
+ numpad:mac = +numpad(mac)
+ numpad:microsoft = +numpad(microsoft)
+ numpad:shift3 = +numpad(shift3)
diff --git a/test/data/symbols/altwin b/test/data/symbols/altwin
index 9259912..f7578b4 100644
--- a/test/data/symbols/altwin
+++ b/test/data/symbols/altwin
@@ -72,8 +72,21 @@ xkb_symbols "alt_super_win" {
};
partial modifier_keys
+xkb_symbols "swap_alt_win" {
+ include "altwin(swap_lalt_lwin)"
+ include "altwin(swap_ralt_rwin)"
+};
+
+partial hidden modifier_keys
xkb_symbols "swap_lalt_lwin" {
key <LALT> { type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Super_L ] };
key <LWIN> { [ Alt_L, Meta_L ] };
};
+
+partial hidden modifier_keys
+xkb_symbols "swap_ralt_rwin" {
+ key <RALT> { type[Group1] = "ONE_LEVEL",
+ symbols[Group1] = [ Super_R ] };
+ key <RWIN> { [ Alt_R, Meta_R ] };
+};
diff --git a/test/data/symbols/ca b/test/data/symbols/ca
index ab9cef1..e939953 100644
--- a/test/data/symbols/ca
+++ b/test/data/symbols/ca
@@ -528,3 +528,8 @@ xkb_symbols "shs" {
include "compose(rctrl)"
};
+
+partial alphanumeric_keys
+ xkb_symbols "sun_type6" {
+ include "sun_vndr/ca(sun_type6)"
+};
diff --git a/test/data/symbols/de b/test/data/symbols/de
index 13f5c87..6872f46 100644
--- a/test/data/symbols/de
+++ b/test/data/symbols/de
@@ -26,7 +26,7 @@ xkb_symbols "basic" {
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 <AD12> { [ plus, asterisk, asciitilde, macron ] };
key <AC02> { [ s, S, U017F, U1E9E ] };
key <AC07> { [ j, J, dead_belowdot, dead_abovedot ] };
@@ -50,6 +50,16 @@ xkb_symbols "basic" {
};
partial alphanumeric_keys
+xkb_symbols "legacy" {
+ // previous standard German layout with tilde as dead key
+
+ include "de(basic)"
+ name[Group1]="German (legacy)";
+
+ key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
+};
+
+partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
// modify the basic German layout to not have any dead keys
@@ -319,7 +329,7 @@ xkb_symbols "neo_base" {
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 <AB05> { [ z, Z, grave, Greek_zeta, Undo, Redo, 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 ] };
@@ -344,7 +354,7 @@ xkb_symbols "neo_base" {
// 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 <KPMU> { [ KP_Multiply, KP_Multiply, U22C5, U2299, multiply, NoSymbol, U2297, NoSymbol ] };
key <KPSU> { [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238, NoSymbol ] };
// Top row
@@ -484,6 +494,21 @@ xkb_symbols "dsb_qwertz"
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] = "German (qwerty)";
+
+ key <AB01> { [ z, Z, leftarrow, yen ] };
+ key <AD06> { [ y, Y, guillemotleft, less ] };
+};
+
// layout for Russian letters on an german keyboard
// based on US-RU layout by Ivan Popov <pin@konvalo.org> 2005-07-17
// adopted for german layout by Alexey Fisher <bug-track@fisher-privat.net> 2010-08-19
@@ -625,3 +650,8 @@ xkb_symbols "hu" {
};
+
+partial alphanumeric_keys
+ xkb_symbols "sun_type6" {
+ include "sun_vndr/de(sun_type6)"
+};
diff --git a/test/data/symbols/il b/test/data/symbols/il
index 8bbeaaa..7842533 100644
--- a/test/data/symbols/il
+++ b/test/data/symbols/il
@@ -126,8 +126,16 @@ xkb_symbols "lyx" {
// Note the parens mirroring below:
key <AD11> { [ bracketright, braceright ] };
key <AD12> { [ bracketleft, braceleft ] };
- key <AE09> { [ 9 , parenright ] };
- key <AE10> { [ 0 , parenleft ] };
+ 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 , 0x10005be ] }; // H. Hiphen
key <AE12> { [ equal , plus ] };
@@ -249,3 +257,71 @@ xkb_symbols "biblical" {
key <SPCE> { [ space, space, thinspace, nobreakspace ] };
};
+
+// EXTRAS
+
+// Biblical hebrew (SIL) US Standard layout version 1.5
+// This map is based closely on v 1.5 of the standard. The only deviation being the replacement of the composite characters sin and shin
+// by their more recent Unicodev6 counterparts
+// this map contains all the characters found in Biblical annotation, masoretic and Dead Sea Scroll related work.
+// The layout corresponds phonetically to a US standard layout or similar (Qwerty).
+// If you are using an actual Hebrew keyboard, you are probably better off using a Tiro compliant scholarly layout
+// This linux port created and maintained by Dennis Meulensteen, dennis@meulensteen.nl
+partial alphanumeric_keys
+xkb_symbols "biblicalSIL" {
+ name[Group1]= "Hebrew (Biblical, SIL phonetic)";
+ key.type = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ key <TLDE> { [ U20AC, U20AA, U0024 ] }; //Euro, Shekel, Dollar -
+ key <AE01> { [ 1, U0021, U05BD, U0597 ] }; //1, exclamation meteg revia
+ key <AE02> { [ 2, U0598, U05A2, U05AE ] }; //2, zarqa atn. hafukh zinor
+ key <AE03> { [ 3, U05A8, U0596, U0599 ] }; //3, qadma tipeha pashta
+ key <AE04> { [ 4, U059C, U05A5, U05A0 ] }; //4, geresh merkha tel. gedola
+ key <AE05> { [ 5, U059E, U05A6, U05A9 ] }; //5, gershayim mer. kefula tel qetana
+ key <AE06> { [ 6, VoidSymbol, U05AD, U059F ] }; //6, - dehi qar. para
+ key <AE07> { [ 7, U05AC, U05A3, U05A1 ] }; //7, iluy munah pazer
+ key <AE08> { [ 8, U059D, U059B, U0595 ] }; //8, g. muqdam tevir zaq. gadol
+ key <AE09> { [ 9, U0029, U05A7, U0593 ] }; //9, parenth.R darqa shalshelet
+ key <AE10> { [ 0, U0028, U05AA, U05AF ] }; //0, paren.L yer. ben yomo masora c.
+ key <AE11> { [ U05BE, U2013, U2014, U05BF ] }; //Maqaf, en dash em dash rafe
+ key <AE12> { [ U05BC, VoidSymbol, U0591, U25CC ] }; //Dagesh - etnahta mark base
+
+ key <AD01> { [ hebrew_qoph, U0597 ] }; //Qof revia - -
+ key <AD02> { [ hebrew_waw] }; //waw - - -
+ key <AD03> { [ U05B6, U05B5, VoidSymbol, U05B1 ] }; //segol tsere - hat. segol
+ key <AD04> { [ hebrew_resh ] }; //resh - - -
+ key <AD05> { [ hebrew_taw ] }; //taw - - -
+ key <AD06> { [ hebrew_yod, U059F ] }; //jod qar. para - -
+ key <AD07> { [ U05BB] }; //quibuts - - -
+ key <AD08> { [ U05B4 ] }; //hiriq, - - -
+ key <AD09> { [ U05B9, U05BA, U05C7, U05B3 ] }; //holam, holam(wav) qam. qatan hat. Qamats
+ key <AD10> { [ hebrew_pe, hebrew_finalpe, VoidSymbol, U034F ] }; //pe final pe - c. grapheme joiner
+ key <AD11> { [ bracketright, braceright, VoidSymbol, U0594 ] }; //Bracket R brace R - zaq. qatan
+ key <AD12> { [ bracketleft, braceleft, U059A, U0592 ] }; //Brachket L brace L yetiv segolta
+ key <BKSL> { [ U05C0, U05C0, U05A4, U05AB ] };//Paseq Paseq mahapakh ole
+
+ key <AC01> { [ U05B7, U05B8, U05C7, U05B2 ] }; //patah Qamats Qam. Qatan hat. patah
+ key <AC02> { [ hebrew_samech, U05E9 ] }; //Samech, shin no dot - -
+ key <AC03> { [ hebrew_dalet ] }; //dalet - - -
+ key <AC04> { [ UFB2B, hebrew_sin, U05C2 ] }; //UCSv6 Sin sin (nodot) sindot -
+ key <AC05> { [ hebrew_gimel, VoidSymbol, U25E6, U2022 ] }; //gimel - bullet(DSS) bulletfill (DSS)
+ key <AC06> { [ hebrew_he, VoidSymbol, U0336, U030A ] };//he - strikeout(DSS) Ring Above(DSS)
+ key <AC07> { [ UFB2A, hebrew_shin, U05C1] }; //UCSv6 Shin shin (nodot) shindot -
+ key <AC08> { [ hebrew_kaph, hebrew_finalkaph ] }; //kaph Final kaph -
+ key <AC09> { [ hebrew_lamed, VoidSymbol ] }; //lamed - -
+ key <AC10> { [ U05B0, U05F4, semicolon, U05C3 ] }; //sva gers. p semicolon sof pasuq
+ key <AC11> { [ U2019, U201D, U0323, U05C4 ] };//QuoteRight double R Quote punctum punctum Above
+
+ key <AB01> { [ hebrew_zain ] }; //Zayin - -
+ key <AB02> { [ hebrew_chet ] }; //chet - -
+ key <AB03> { [ hebrew_zade, U05E5 ] }; // tzade, final tzade -
+ key <AB04> { [ hebrew_tet ] }; //tet - -
+ key <AB05> { [ hebrew_bet ] }; //bet - -
+ key <AB06> { [ hebrew_nun, hebrew_finalnun ] }; //nun, final nun
+ key <AB07> { [ hebrew_mem, hebrew_finalmem, U200C, U200D ] }; //mem, final mem 0.wid.non.join. 0.wid.joiner
+ key <AB08> { [ U002C, U05E2, U00AB, U0307 ] }; //comma, ayin guillemetsR masora dot
+ key <AB09> { [ U0002E, U05D0, U00BB, U0308 ] }; //period, alef guillemetsL thousands
+ key <AB10> { [ slash, question, U05F3 ] }; //slash question geresh P
+
+ key <SPCE> { [ space, space, thinspace, nobreakspace ] };//space space thin space, nbsp
+};
diff --git a/test/data/symbols/in b/test/data/symbols/in
index 84d9b06..b995fbb 100644
--- a/test/data/symbols/in
+++ b/test/data/symbols/in
@@ -38,7 +38,7 @@ xkb_symbols "deva" {
// 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 <AE04> { [ U096a, dollar, 4 ] };
key <AE05> { [ U096b, percent, 5, percent ] };
key <AE06> { [ U096c, asciicircum, 6, asciicircum ] };
key <AE07> { [ U096d, ampersand, 7, ampersand ] };
@@ -89,6 +89,8 @@ xkb_symbols "deva" {
// space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ):
include "nbsp(zwnj3zwj4)"
+ include "rupeesign(4)"
+ include "level3(ralt_switch)"
};
//Name : Bolnagri (Combined)
@@ -98,7 +100,7 @@ xkb_symbols "deva" {
//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>
+//Current Main. : G Karunakar <karunakar@indlinux.org>
partial alphanumeric_keys
xkb_symbols "bolnagri" {
@@ -110,7 +112,7 @@ xkb_symbols "bolnagri" {
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 <AE04> { [ 4, dollar, U096A ] }; // Rupee symbol on AltGr+4
key <AE05> { [ 5, percent, U096B, percent ] };
key <AE06> { [ 6, asciicircum, U096C, asciicircum ] };
key <AE07> { [ 7, ampersand, U096D, ampersand ] };
@@ -125,7 +127,7 @@ xkb_symbols "bolnagri" {
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 <AD04> { [ U0930, U0943, U0931, U090B ] }; // 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
@@ -136,7 +138,7 @@ xkb_symbols "bolnagri" {
key <AD12> { [ bracketright, braceright ] };
//A Row
- key <AC01> { [ U093E, U0906, U0905, U0906 ] }; // A: aa
+ key <AC01> { [ U093E, U0906, U0905, U0906 ] }; // A: aa, full A, AA
key <AC02> { [ U0938, U0937 ] }; // S: sa, ssa
key <AC03> { [ U0926, U0927 ] }; // D: da, dha
key <AC04> { [ U091F, U0920 ] }; // F: TA, THA
@@ -144,18 +146,18 @@ xkb_symbols "bolnagri" {
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 <AC09> { [ U0932, U0933, U0962, U090C ] }; // 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 <AB01> { [ U0936, U0945, U0936, U090D ] }; // Z: sha, akaar candra
+ key <AB02> { [ U094D, U0949, U094D, U0911 ] }; // X: halant, aakaar candra, chandra A
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 <AB06> { [ U0928, U0923 ] }; // N: na, nna
+ key <AB07> { [ U092E, U0919, U092E, U093D ] }; // M: ma, nga, avagraha
key <AB08> { [ comma, U0970 ] };// comma: comma, dev abbreviation sign
key <AB09> { [ period, U093C ] }; // period: period, nukta
key <AB10> { [ slash, question ] };
@@ -165,7 +167,9 @@ xkb_symbols "bolnagri" {
// modifier_map Lock { Caps_Lock };
// modifier_map Control{ Control_L };
// modifier_map Mod3 { Mode_switch };
+
include "level3(ralt_switch)"
+ include "rupeesign(4)"
};
// based on a keyboard map from an 'xkb/symbols/ben' file
@@ -234,6 +238,9 @@ xkb_symbols "ben" {
key <AB08> { [ comma, U09B7 ] };
key <AB09> { [ period, U0964 ] };
key <AB10> { [ U09DF, U09AF ] };
+
+ include "level3(ralt_switch)"
+ include "rupeesign(4)"
};
xkb_symbols "ben_probhat" {
@@ -307,6 +314,8 @@ xkb_symbols "ben_probhat" {
// modifier_map Lock { Caps_Lock };
// modifier_map Control{ Control_L };
+ include "level3(ralt_switch)"
+ include "rupeesign(4)"
};
// Bengali Baishakhi, Bengali Baishakhi Inscript, Bengali Bornona, Uni Gitanjali Layouts are added by Promathesh Mandal <promathesh812004@gmail.com>
@@ -670,6 +679,8 @@ xkb_symbols "guj" {
key <AB08> { [ comma, U0AB7 ] };
key <AB09> { [ period, U0964 ] };
key <AB10> { [ U0AAF, question ] };
+ include "rupeesign(4)"
+ include "level3(ralt_switch)"
};
partial alphanumeric_keys
@@ -736,7 +747,8 @@ xkb_symbols "kan" {
symbols[Group1] = [ Mode_switch, Multi_key ],
virtualMods = AltGr
};
-
+ include "rupeesign(4)"
+ include "level3(ralt_switch)"
};
// Description : A keymap for Malayalam
@@ -828,6 +840,9 @@ xkb_symbols "mal" {
key <AB09> { [ period , U0200d ] };
key <AB10> { [ U0d2f , question ] };
+ include "rupeesign(4)"
+ include "level3(ralt_switch)"
+
};
//Name : Lalitha
@@ -845,7 +860,7 @@ xkb_symbols "mal_lalitha" {
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 <AE04> { [ 4, dollar, U0D6A ] };
key <AE05> { [ 5, percent, U0D6B, percent ] };
key <AE06> { [ 6, asciicircum, U0D6C, asciicircum ] };
key <AE07> { [ 7, ampersand, U0D6D, ampersand ] };
@@ -901,6 +916,7 @@ xkb_symbols "mal_lalitha" {
// modifier_map Control{ Control_L };
// modifier_map Mod3 { Mode_switch };
include "level3(ralt_switch)"
+ include "rupeesign(4)"
};
@@ -964,6 +980,8 @@ xkb_symbols "ori" {
symbols[Group1] = [ Mode_switch, Multi_key ],
virtualMods = AltGr
};
+ include "rupeesign(4)"
+ include "level3(ralt_switch)"
};
// based on a keyboard map from an 'xkb/symbols/tml' file
@@ -1029,6 +1047,9 @@ xkb_symbols "tam" {
key <AB08> { [ comma, U0BB7 ] };
key <AB09> { [ period, U0964 ] };
key <AB10> { [ U0BAF, question ] };
+
+ include "level3(ralt_switch)"
+ include "rupeesign(4)"
};
partial alphanumeric_keys
@@ -1340,6 +1361,8 @@ xkb_symbols "tel" {
symbols[Group1] = [ Mode_switch, Multi_key ],
virtualMods = AltGr
};
+ include "rupeesign(4)"
+ include "level3(ralt_switch)"
};
partial alphanumeric_keys
@@ -1425,6 +1448,9 @@ xkb_symbols "guru" {
key <AB08> { [ comma, less ] };
key <AB09> { [ period, U0964 ] };
key <AB10> { [ U0A2F, question ] };
+
+ include "rupeesign(4)"
+ include "level3(ralt_switch)"
};
//Name : Jhelum (Refind Inscript)
@@ -1443,10 +1469,10 @@ xkb_symbols "jhelum" {
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 <AE04> { [ 4,dollar, U0A6A ] };
key <AE05> { [ 5,percent,U0A6B, percent ] };
- key <AE06> { [ 6,asciicircum, U0A6C,asciicircum ] };
- key <AE07> { [ 7,ampersand,U0A6D,ampersand ] };
+ key <AE06> { [ 6,U0A73, U0A6C,asciicircum ] };
+ key <AE07> { [ 7,U0A72,U0A6D,ampersand ] };
key <AE08> { [ 8,asterisk,U0A6E, asterisk ] };
key <AE09> { [ 9,parenleft,U0A6F,parenleft ] };
key <AE10> { [ 0,parenright,U0A66,parenright ] };
@@ -1458,27 +1484,27 @@ xkb_symbols "jhelum" {
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 <AD04> { [ U0A40, U0A08, U20B9 ] }; // R: ee, ai, rupeesign
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 <AD08> { [ U0A17, U0A18, U0A5A ] }; // I:ga, gha
key <AD09> { [ U0A24, U0A1F ] }; // O: ta, tha
- key <AD10> { [ U0A2A, U0A5E ] }; // P: pa, pha
+ key <AD10> { [ U0A2A, U0A5E, VoidSymbol,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 <AC02> { [ U0A47, 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 <AC07> { [ U0A1C, U0A1D, U0A5B ] }; // J: ja, jha
+ key <AC08> { [ U0A15, U0A16,VoidSymbol ,U0A59 ] }; // K: ka, kha
+ key <AC09> { [ U0A32, U0A25, U0A33 ] }; // L: la, tha
+ key <AC10> { [ U0A38, colon, U0A36 ] }; //; sa
key <AC11> { [apostrophe, quotedbl ] };
//Z Row
@@ -1563,6 +1589,8 @@ xkb_symbols "olpc" {
include "nbsp(zwnj3zwj4)"
include "group(olpc)"
+ include "rupeesign(4)"
+ include "level3(ralt_switch)"
};
partial alphanumeric_keys
@@ -1628,6 +1656,7 @@ xkb_symbols "hin-wx" {
key <AB10> { [ slash, question ] };
include "level3(ralt_switch)"
+ include "rupeesign(4)"
};
partial alphanumeric_keys
diff --git a/test/data/symbols/inet b/test/data/symbols/inet
index b8f4d19..4c172fa 100644
--- a/test/data/symbols/inet
+++ b/test/data/symbols/inet
@@ -97,7 +97,7 @@ xkb_symbols "evdev" {
key <UNDO> { [ Undo ] };
key <FRNT> { [ SunFront ] };
key <COPY> { [ XF86Copy ] };
- key <OPEN> { [ SunOpen ] };
+ key <OPEN> { [ XF86Open ] };
key <PAST> { [ XF86Paste ] };
key <FIND> { [ Find ] };
key <CUT> { [ XF86Cut ] };
diff --git a/test/data/symbols/keypad b/test/data/symbols/keypad
index d82c87c..85d4d6e 100644
--- a/test/data/symbols/keypad
+++ b/test/data/symbols/keypad
@@ -267,13 +267,12 @@ xkb_symbols "legacymath" {
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.type[Group1]="CTRL+ALT" ;
- key <KPAD> { [ KP_Add, 0x100002B, 0x100002B, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode>
+ key <KPDV> { [ KP_Divide, 0x1002215, 0x10000F7, VoidSymbol, XF86_Ungrab ] }; // / ∕ ÷ <XF86_Ungrab>
+ key <KPMU> { [ KP_Multiply, 0x10022C5, 0x10000D7, VoidSymbol, XF86_ClearGrab ] }; // * ⋅ × <XF86_ClearGrab>
+ key <KPSU> { [ KP_Subtract, 0x1002212, 0x1002212, VoidSymbol, XF86_Prev_VMode ] }; // - − − <XF86_Prev_VMode>
+ key <KPAD> { [ KP_Add, 0x100002B, 0x100002B, VoidSymbol, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode>
};
diff --git a/test/data/symbols/latin b/test/data/symbols/latin
index 77b99d4..424768e 100644
--- a/test/data/symbols/latin
+++ b/test/data/symbols/latin
@@ -35,7 +35,7 @@ xkb_symbols "basic" {
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 <AC07> { [ j, J, dead_hook, dead_horn ] };
key <AC08> { [ k, K, kra, ampersand ] };
key <AC09> { [ l, L, lstroke, Lstroke ] };
key <AC10> { [ semicolon, colon, dead_acute, dead_doubleacute ] };
diff --git a/test/data/symbols/level3 b/test/data/symbols/level3
index 9d49555..8bf83bb 100644
--- a/test/data/symbols/level3
+++ b/test/data/symbols/level3
@@ -2,6 +2,19 @@
// the third shift level can be reached
//
+// Ensure a mapping to a real modifier for LevelThree
+partial modifier_keys
+xkb_symbols "modifier_mapping" {
+ key.type[Group1] = "ONE_LEVEL";
+
+ replace key <LVL3> {
+ vmods = LevelThree,
+ symbols[Group1] = [ ISO_Level3_Shift ],
+ actions[Group1] = [ SetMods(modifiers=LevelThree) ]
+ };
+ modifier_map Mod5 { <LVL3> };
+};
+
// the default behavior is for the right Alt key (AltGr) to generate the
// third engraved symbol
default partial modifier_keys
@@ -10,7 +23,7 @@ xkb_symbols "ralt_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
// Right Alt key never chooses 3rd level.
@@ -38,6 +51,7 @@ xkb_symbols "ralt_switch_multikey" {
type[Group1]="TWO_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
};
+ include "level3(modifier_mapping)"
};
// special case or right Alt switch - for use with grp:alts_toggle
@@ -55,7 +69,7 @@ xkb_symbols "ralt_switch_for_alts_toggle" {
symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
virtualMods= AltGr
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
// using the level(alt_switch) map, either Alt key temporarily chooses
@@ -72,7 +86,7 @@ xkb_symbols "lalt_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { <LALT> };
+ include "level3(modifier_mapping)"
};
// using the level(switch) map, the right Control key temporarily
@@ -83,7 +97,7 @@ xkb_symbols "switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
// using the level(menu_switch) map, the Menu key temporarily
@@ -94,7 +108,7 @@ xkb_symbols "menu_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
// using the level3(win_switch) map, the either Windows' logo key
@@ -113,7 +127,7 @@ xkb_symbols "lwin_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
// using the level(rwin_switch) map, the right Windows' logo key
@@ -126,7 +140,7 @@ xkb_symbols "rwin_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
// using the level3(enter_switch) map, the Enter key on the keypad
@@ -138,7 +152,7 @@ xkb_symbols "enter_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
partial modifier_keys
@@ -147,7 +161,7 @@ xkb_symbols "caps_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
partial modifier_keys
@@ -156,7 +170,7 @@ xkb_symbols "bksl_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
partial modifier_keys
@@ -165,7 +179,7 @@ xkb_symbols "lsgt_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
partial modifier_keys
@@ -174,7 +188,7 @@ xkb_symbols "caps_switch_latch" {
type[Group1]="THREE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
partial modifier_keys
@@ -183,7 +197,7 @@ xkb_symbols "bksl_switch_latch" {
type[Group1]="THREE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
partial modifier_keys
@@ -192,5 +206,5 @@ xkb_symbols "lsgt_switch_latch" {
type[Group1]="THREE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
};
- modifier_map Mod5 { ISO_Level3_Shift };
+ include "level3(modifier_mapping)"
};
diff --git a/test/data/symbols/level5 b/test/data/symbols/level5
index ce219b5..f5ecb62 100644
--- a/test/data/symbols/level5
+++ b/test/data/symbols/level5
@@ -2,6 +2,19 @@
// the third shift level can be reached
//
+// Ensure a mapping to a real modifier for LevelFive
+partial modifier_keys
+xkb_symbols "modifier_mapping" {
+ key.type[Group1] = "ONE_LEVEL";
+
+ replace key <MDSW> {
+ vmods = LevelFive,
+ symbols[Group1] = [ ISO_Level5_Shift ],
+ actions[Group1] = [ SetMods(modifiers=LevelFive) ]
+ };
+ modifier_map Mod3 { <MDSW> };
+};
+
// using the level(switch) map, the right Control key temporarily
// chooses the fifth shift level (until it is released).
partial modifier_keys
@@ -10,7 +23,7 @@ xkb_symbols "rctrl_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level5_Shift ]
};
- modifier_map Mod3 { ISO_Level5_Shift };
+ include "level5(modifier_mapping)"
};
partial modifier_keys
@@ -19,7 +32,7 @@ xkb_symbols "lsgt_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level5_Shift ]
};
- modifier_map Mod3 { ISO_Level5_Shift };
+ include "level5(modifier_mapping)"
};
partial modifier_keys
@@ -28,7 +41,7 @@ xkb_symbols "ralt_switch" {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level5_Shift ]
};
- modifier_map Mod3 { ISO_Level5_Shift };
+ include "level5(modifier_mapping)"
};
@@ -43,12 +56,7 @@ xkb_symbols "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> };
+ include "level5(modifier_mapping)"
replace key <HYPR> {
vmods = NumLock,
diff --git a/test/data/symbols/pc b/test/data/symbols/pc
index 7e13ecb..d259709 100644
--- a/test/data/symbols/pc
+++ b/test/data/symbols/pc
@@ -37,7 +37,7 @@ xkb_symbols "pc105" {
// begin modifier mappings
modifier_map Shift { Shift_L, Shift_R };
- modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Lock { Caps_Lock };
modifier_map Control{ Control_L, Control_R };
modifier_map Mod2 { Num_Lock };
modifier_map Mod4 { Super_L, Super_R };
diff --git a/test/data/symbols/ru b/test/data/symbols/ru
index 408e408..0248dc6 100644
--- a/test/data/symbols/ru
+++ b/test/data/symbols/ru
@@ -273,13 +273,13 @@ xkb_symbols "cv" {
key.type[group1]="FOUR_LEVEL";
key <AD03> { [ Cyrillic_u, Cyrillic_U,
- 0x010004f3, 0x010004f2 ] };
+ U04F3, U04F2 ] };
key <AD05> { [ Cyrillic_ie, Cyrillic_IE,
- 0x01000115, 0x01000114 ] };
+ U04D7, U04D6 ] };
key <AC04> { [ Cyrillic_a, Cyrillic_A,
- abreve, Abreve ] };
+ U04D1, U04D0 ] };
key <AB03> { [ Cyrillic_es, Cyrillic_ES,
- ccedilla, Ccedilla ] };
+ U04AB, U04AA ] };
include "level3(ralt_switch)"
};
@@ -651,3 +651,8 @@ xkb_symbols "ruu" {
include "level3(ralt_switch)"
};
+
+partial alphanumeric_keys
+ xkb_symbols "sun_type6" {
+ include "sun_vndr/ru(sun_type6)"
+};
diff --git a/test/data/symbols/rupeesign b/test/data/symbols/rupeesign
new file mode 100644
index 0000000..efde69c
--- /dev/null
+++ b/test/data/symbols/rupeesign
@@ -0,0 +1,5 @@
+// keyboards having the RupeeSign on the 4 key
+partial
+xkb_symbols "4" {
+ key <AE04> { [ NoSymbol, NoSymbol, U20B9 ] };
+};
diff --git a/test/data/symbols/us b/test/data/symbols/us
index 49f8d2d..d4bac06 100644
--- a/test/data/symbols/us
+++ b/test/data/symbols/us
@@ -11,8 +11,8 @@ xkb_symbols "basic" {
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
- key <AE06> { [ { H, E, L, L, O }, asciicircum ] };
- key <AE07> { [ { Y, E, S, space, T, H, I, S, space, I, S, space, D, O, G }, ampersand ] };
+ key <AE06> { [ { H, E, L, L, O }, asciicircum ] };
+ key <AE07> { [ { Y, E, S, space, T, H, I, S, space, I, S, space, D, O, G }, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright ] };
@@ -259,7 +259,7 @@ xkb_symbols "dvorak" {
partial alphanumeric_keys
xkb_symbols "dvorak-intl" {
- name[Group1]= "English (Dvorak international with dead keys)";
+ name[Group1]= "English (Dvorak, international with dead keys)";
include "us(dvorak)"
@@ -729,7 +729,7 @@ xkb_symbols "mac" {
};
// Colemak symbols for xkb on X.Org Server 7.x
-// 2006-01-01 Shai Coleman, http://colemak.com/ . Public domain.
+// 2006-01-01 Shai Coleman, http://colemak.com/
partial alphanumeric_keys
xkb_symbols "colemak" {
@@ -1129,6 +1129,8 @@ xkb_symbols "hbs" {
key <TLDE> { [ grave, asciitilde ] };
key <AE06> { [ 6, dead_caron, asciicircum, asciicircum ] };
+ key <AE08> { [ 8, asterisk, multiply, division ] };
+ key <AE11> { [ minus, underscore, endash, emdash ] };
key <AC09> { [ l, L, U1C9, U1C8 ] };
key <AB06> { [ n, N, U1CC, U1CB ] };
key <AB01> { [ z, Z, U1C6, U1C5 ] };
@@ -1136,8 +1138,8 @@ xkb_symbols "hbs" {
key <AC03> { [ d, D, dstroke, Dstroke ] };
key <AC11> { [ dead_acute, quotedbl, apostrophe, apostrophe ] };
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
- key <AB08> { [ comma, less, NoSymbol, guillemotright ] };
- key <AB09> { [ period, greater, NoSymbol, guillemotleft ] };
+ key <AB08> { [ comma, less, U3003, guillemotright ] };
+ key <AB09> { [ period, greater, ellipsis, guillemotleft ] };
include "level3(ralt_switch)"
};
@@ -1187,8 +1189,146 @@ xkb_symbols "htcdream" {
include "level3(alt_switch)"
};
+// Workman Keyboard Layout symbols for xkb on X.Org Server 7.x
+// 09-06-2010 OJ Bucao. http://www.workmanlayout.com
+
+partial alphanumeric_keys
+xkb_symbols "workman" {
+
+ name[Group1]= "English (Workman)";
+
+ include "us(basic)"
+
+ // Alphanumeric section
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ d, D ] };
+ key <AD03> { [ r, R ] };
+ key <AD04> { [ w, W ] };
+ key <AD05> { [ b, B ] };
+ key <AD06> { [ j, J ] };
+ key <AD07> { [ f, F ] };
+ key <AD08> { [ u, U ] };
+ key <AD09> { [ p, P ] };
+ key <AD10> { [ semicolon, colon ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ h, H ] };
+ key <AC04> { [ t, T ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ y, Y ] };
+ key <AC07> { [ n, N ] };
+ key <AC08> { [ e, E ] };
+ key <AC09> { [ o, O ] };
+ key <AC10> { [ i, I ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ m, M ] };
+ key <AB04> { [ c, C ] };
+ key <AB05> { [ v, V ] };
+ key <AB06> { [ k, K ] };
+ key <AB07> { [ l, L ] };
+ // End alphanumeric section
+
+ key <CAPS> { [ BackSpace, Escape, BackSpace, BackSpace ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "workman-intl" {
+
+ name[Group1]= "English (Workman, international with dead keys)";
+
+ include "us(intl)"
+
+ // Alphanumeric section
+ key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
+ key <AD02> { [ d, D, eth, ETH ] };
+ key <AD03> { [ r, R, registered, registered ] };
+ key <AD04> { [ w, W, aring, Aring ] };
+ key <AD05> { [ b, B, b, B ] };
+ key <AD06> { [ j, J, j, J ] };
+ key <AD07> { [ f, F, f, F ] };
+ key <AD08> { [ u, U, uacute, Uacute ] };
+ key <AD09> { [ p, P, odiaeresis, Odiaeresis ] };
+ key <AD10> { [ semicolon, colon, paragraph, degree ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ s, S, ssharp, section ] };
+ key <AC03> { [ h, H, h, H ] };
+ key <AC04> { [ t, T, thorn, THORN ] };
+ key <AC05> { [ g, G, g, G ] };
+ key <AC06> { [ y, Y, udiaeresis, Udiaeresis ] };
+ key <AC07> { [ n, N, ntilde, Ntilde ] };
+ key <AC08> { [ e, E, eacute, Eacute ] };
+ key <AC09> { [ o, O, oacute, Oacute ] };
+ key <AC10> { [ i, I, iacute, Iacute ] };
+
+ key <AB01> { [ z, Z, ae, AE ] };
+ key <AB02> { [ x, X, x, X ] };
+ key <AB03> { [ m, M, mu, mu ] };
+ key <AB04> { [ c, C, copyright, cent ] };
+ key <AB05> { [ v, V, v, V ] };
+ key <AB06> { [ k, K, oe, OE ] };
+ key <AB07> { [ l, L, oslash, Ooblique ] };
+ // End alphanumeric section
+
+ key <CAPS> { [ BackSpace, Escape, BackSpace, BackSpace ] };
+
+ include "level3(ralt_switch)"
+};
+
// EXTRAS:
+// Czech, Slovak and German charecters added as third level symbols to US keyboard layout.
+partial alphanumeric_keys
+xkb_symbols "cz_sk_de" {
+ include "us"
+ name[Group1]="Czech Slovak and German (US)";
+
+ key <TLDE> { [grave, asciitilde, uring, Uring ] };
+ key <AE01> { [ 1, exclam, uacute, Uacute ] };
+ key <AE02> { [ 2, at, ecaron, Ecaron ] };
+ key <AE03> { [ 3, numbersign, scaron, Scaron ] };
+ key <AE04> { [ 4, dollar, ccaron, Ccaron ] };
+ key <AE05> { [ 5, percent, rcaron, Rcaron ] };
+ key <AE06> { [ 6, asciicircum, zcaron, Zcaron ] };
+ key <AE07> { [ 7, ampersand, yacute, Yacute ] };
+ key <AE08> { [ 8, asterisk, aacute, Aacute ] };
+ key <AE09> { [ 9, parenleft, iacute, Iacute ] };
+ key <AE10> { [ 0, parenright, eacute, Eacute ] };
+ key <AE11> { [minus, underscore, ssharp, 0x1001E9E ] };
+ key <AE12> { [equal, plus, dead_acute, dead_caron ] };
+
+ key <AD03> { [ e, E, EuroSign, Eacute ] };
+
+ key <AD11> { [bracketleft, braceleft, udiaeresis, Udiaeresis ] };
+ key <AC10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
+ key <AC11> { [apostrophe, quotedbl,adiaeresis, Adiaeresis ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD06> { [ y, Y, yacute, Yacute ] };
+ key <AD07> { [ u, U, uring, Uring ] };
+
+ key <AC02> { [ s, S, scaron, Scaron ] };
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ key <AB03> { [ c, C, ccaron, Ccaron ] };
+ key <AD04> { [ r, R, rcaron, Rcaron ] };
+ key <AD05> { [ t, T, tcaron, Tcaron ] };
+ key <AC03> { [ d, D, dcaron, Dcaron ] };
+ key <AB06> { [ n, N, ncaron, Ncaron ] };
+ key <AC09> { [ l, L, lcaron, Lcaron ] };
+ key <AD10> { [ p, P,ocircumflex, Ocircumflex ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace] };
+
+ include "level3(ralt_switch)"
+};
+
// 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
@@ -1241,7 +1381,7 @@ xkb_symbols "intl-unicode" {
// abovedot, caron
key <AB09> { [ period, greater, U0307, U030C ] };
// hook
- key <AB10> { [ slash, question, questiondown, 0309 ] };
+ key <AB10> { [ slash, question, questiondown, U0309 ] };
// alt-intl compatibility
// cedilla, caron
@@ -1264,8 +1404,7 @@ xkb_symbols "alt-intl-unicode" {
name[Group1]= "English (US, international AltGr Unicode combining, alternative)";
- include "extras/us(intl-unicode)"
- include "level3(ralt_switch)"
+ include "us(intl-unicode)"
// easier macron; em-dash.
// em-dash is available via compose, but I added here since it's such
@@ -1335,3 +1474,9 @@ xkb_symbols "crd" {
// End alphanumeric section
};
+
+
+partial alphanumeric_keys
+ xkb_symbols "sun_type6" {
+ include "sun_vndr/us(sun_type6)"
+};
diff --git a/test/data/sync.sh b/test/data/sync.sh
new file mode 100755
index 0000000..7f2538a
--- /dev/null
+++ b/test/data/sync.sh
@@ -0,0 +1,63 @@
+#/bin/sh
+
+XKBCONFIGROOT='/usr/share/X11/xkb'
+
+if [ ! -d test/data ]; then
+ echo "Run this from the top source dir"
+ exit 1
+fi
+
+for file in \
+ symbols/terminate \
+ symbols/in \
+ symbols/keypad \
+ symbols/altwin \
+ symbols/ctrl \
+ symbols/eurosign \
+ symbols/inet \
+ symbols/shift \
+ symbols/pc \
+ symbols/ca \
+ symbols/srvr_ctrl \
+ symbols/capslock \
+ symbols/latin \
+ symbols/level5 \
+ symbols/us \
+ symbols/nbsp \
+ symbols/il \
+ symbols/group \
+ symbols/compose \
+ symbols/level3 \
+ symbols/ru \
+ symbols/rupeesign \
+ symbols/kpdl \
+ symbols/de \
+ keycodes/xfree86 \
+ keycodes/aliases \
+ keycodes/evdev \
+ types/complete \
+ types/pc \
+ types/basic \
+ types/iso9995 \
+ types/level5 \
+ types/numpad \
+ types/extra \
+ types/mousekeys \
+ compat/complete \
+ compat/lednum \
+ compat/pc \
+ compat/ledscroll \
+ compat/basic \
+ compat/misc \
+ compat/iso9995 \
+ compat/accessx \
+ compat/xfree86 \
+ compat/level5 \
+ compat/caps \
+ compat/ledcaps \
+ compat/mousekeys \
+ rules/base \
+ rules/evdev \
+; do
+ cp "$XKBCONFIGROOT/$file" "test/data/$file"
+done
diff --git a/test/data/types/level5 b/test/data/types/level5
index f9ba5b2..672f0a1 100644
--- a/test/data/types/level5
+++ b/test/data/types/level5
@@ -188,6 +188,7 @@ partial default xkb_types "default" {
map[LevelFive] = Level5;
map[Shift+LevelFive] = Level6;
map[Lock+LevelFive] = Level6;
+ map[Lock+Shift+LevelFive] = Level6;
map[LevelThree+LevelFive] = Level7;
map[Shift+LevelThree+LevelFive] = Level8;
map[Lock+LevelThree+LevelFive] = Level7;
diff --git a/test/data/types/pc b/test/data/types/pc
index 01a5634..daebe74 100644
--- a/test/data/types/pc
+++ b/test/data/types/pc
@@ -59,17 +59,19 @@ partial default xkb_types "default" {
};
type "CTRL+ALT" {
- modifiers = Control+Alt+Shift+LevelThree;
+ modifiers = Control+Alt+Shift+LevelThree;
map[None] = Level1;
map[Shift] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
- map[Control+Alt] = Level5;
+ map[Control+Alt] = Level5;
+ preserve[Shift] = Shift;
+ preserve[Shift+LevelThree] = Shift;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
- level_name[Level5] = "Ctrl+Alt";
+ level_name[Level5] = "Ctrl+Alt";
};
// Local eight level