Sync test data from xkeyboard-config

Sync the files again from xkeyboard-config 2.8, since there have been
some changes we should test against.

Also added a script test/data/sync.sh if we want to do it again in the
future.

Signed-off-by: Ran Benita <ran234@gmail.com>
master
Ran Benita 2013-02-17 11:22:41 +02:00 committed by Daniel Stone
parent 3d731eba5c
commit 4058110676
21 changed files with 573 additions and 146 deletions

View File

@ -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)"
};

View File

@ -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);

View File

@ -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)

View File

@ -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)

View File

@ -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 ] };
};

View File

@ -528,3 +528,8 @@ xkb_symbols "shs" {
include "compose(rctrl)"
};
partial alphanumeric_keys
xkb_symbols "sun_type6" {
include "sun_vndr/ca(sun_type6)"
};

View File

@ -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 ] };
@ -49,6 +49,16 @@ xkb_symbols "basic" {
include "level3(ralt_switch)"
};
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" {
@ -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)"
};

View File

@ -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
};

View File

@ -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

View File

@ -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 ] };

View File

@ -267,13 +267,12 @@ xkb_symbols "legacymath" {
partial keypad_keys
xkb_symbols "ossmath" {
key.type[Group1]="FOUR_LEVEL_X" ;
key.type[Group1]="CTRL+ALT" ;
key <KPDV> { [ KP_Divide, 0x1002215, 0x10000F7, XF86_Ungrab ] }; // / ÷ <XF86_Ungrab>
key <KPMU> { [ KP_Multiply, 0x10022C5, 0x10000D7, XF86_ClearGrab ] }; // * ⋅ × <XF86_ClearGrab>
key <KPSU> { [ KP_Subtract, 0x1002212, 0x1002212, XF86_Prev_VMode ] }; // - <XF86_Prev_VMode>
key <KPAD> { [ KP_Add, 0x100002B, 0x100002B, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode>
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>
};

View File

@ -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 ] };

View File

@ -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)"
};

View File

@ -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,

View File

@ -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 };

View File

@ -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)"
};

View File

@ -0,0 +1,5 @@
// keyboards having the RupeeSign on the 4 key
partial
xkb_symbols "4" {
key <AE04> { [ NoSymbol, NoSymbol, U20B9 ] };
};

View File

@ -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)"
};

63
test/data/sync.sh Executable file
View File

@ -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

View File

@ -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;

View File

@ -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