diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/data/compat/default | 12 | ||||
-rw-r--r-- | test/data/compat/iso9995 | 4 | ||||
-rw-r--r-- | test/data/rules/base | 75 | ||||
-rw-r--r-- | test/data/rules/evdev | 81 | ||||
-rw-r--r-- | test/data/symbols/altwin | 13 | ||||
-rw-r--r-- | test/data/symbols/ca | 5 | ||||
-rw-r--r-- | test/data/symbols/de | 36 | ||||
-rw-r--r-- | test/data/symbols/il | 80 | ||||
-rw-r--r-- | test/data/symbols/in | 75 | ||||
-rw-r--r-- | test/data/symbols/inet | 2 | ||||
-rw-r--r-- | test/data/symbols/keypad | 11 | ||||
-rw-r--r-- | test/data/symbols/latin | 2 | ||||
-rw-r--r-- | test/data/symbols/level3 | 42 | ||||
-rw-r--r-- | test/data/symbols/level5 | 26 | ||||
-rw-r--r-- | test/data/symbols/pc | 2 | ||||
-rw-r--r-- | test/data/symbols/ru | 13 | ||||
-rw-r--r-- | test/data/symbols/rupeesign | 5 | ||||
-rw-r--r-- | test/data/symbols/us | 163 | ||||
-rwxr-xr-x | test/data/sync.sh | 63 | ||||
-rw-r--r-- | test/data/types/level5 | 1 | ||||
-rw-r--r-- | test/data/types/pc | 8 |
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 |