From aa1558e403c7d626fe38d8ec452557c5f2037dc4 Mon Sep 17 00:00:00 2001 From: stephan Date: Thu, 28 May 2009 18:22:07 +0000 Subject: Alles auf xkeyboard-config Version 1.6 angeglichen. Modifier mit Hilfe von compat-Regeln definiert. Damit sollten alle Multi-Layout-Bugs behoben sein. Allerdings tritt wahrscheinlich #135 wieder auf. git-svn-id: https://svn.neo-layout.org@1879 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- linux/Makefile | 6 +- linux/X/compat/neo_mods | 30 ++++++++++ linux/X/rules/base | 110 +++++++++++++++++++++++++++++++++---- linux/X/rules/base.xml | 130 ++++++++++++++++++++++++++++++++------------ linux/X/rules/evdev | 108 ++++++++++++++++++++++++++++++++---- linux/X/rules/evdev.xml | 130 ++++++++++++++++++++++++++++++++------------ linux/X/symbols/de | 32 ++++++----- linux/X/symbols/level5 | 142 ++++++++++++++++++------------------------------ linux/X/symbols/shift | 18 ++---- linux/X/types/level5 | 16 +++--- 10 files changed, 504 insertions(+), 218 deletions(-) create mode 100644 linux/X/compat/neo_mods diff --git a/linux/Makefile b/linux/Makefile index 3f4a343..5a371f4 100644 --- a/linux/Makefile +++ b/linux/Makefile @@ -32,11 +32,11 @@ xmodmap/neo_de_alternative.xmodmap:xmodmap/neo_de.xmodmap xmodmap/neo_de.xmodmap.referenz:xmodmap/neo_de.xmodmap cd xmodmap; ./erzeuge_neo_de_referenz > neo_de.xmodmap.referenz -X/xkb.tgz:X/rules/* X/symbols/* X/types/* +X/xkb.tgz:X/compat/* X/rules/* X/symbols/* X/types/* cd X; \ - chmod u=rw,g=r,o=r rules/* symbols/* types/*; \ + chmod u=rw,g=r,o=r compat/* rules/* symbols/* types/*; \ tar -cz --transform='s,^,xkb/,' \ - -f xkb.tgz rules/base rules/base.xml rules/evdev rules/evdev.xml symbols/de symbols/level3 symbols/level5 symbols/shift types/level5 + -f xkb.tgz compat/neo_mods rules/base rules/base.xml rules/evdev rules/evdev.xml symbols/de symbols/level3 symbols/level5 symbols/shift types/level5 clean: rm -f ${FILES} diff --git a/linux/X/compat/neo_mods b/linux/X/compat/neo_mods new file mode 100644 index 0000000..b45f576 --- /dev/null +++ b/linux/X/compat/neo_mods @@ -0,0 +1,30 @@ +// Neo special modifiers +default partial xkb_compatibility "default" { + include "neo_mods(caps_lock)" + include "neo_mods(shift_fix)" + include "neo_mods(level5_lock)" +}; + +partial xkb_compatibility "caps_lock" { + // Keysym Caps_Lock locks Lock modifier + // No need for modifier-mapping + interpret Caps_Lock { + action = LockMods(modifiers = Lock); + }; +}; + +partial xkb_compatibility "shift_fix" { + // Seems like symbols/level3(caps_switch) does something evil to the left shift-key. + // This should do the trick: + interpret Shift_L { + action = SetMods(modifiers = Shift); + }; +}; + +partial xkb_compatibility "level5_lock" { + virtual_modifiers NumLock; + // NumLock is misused for level5-lock-indication + interpret ISO_Level5_Lock { + action = LockMods(modifiers = NumLock); + }; +}; diff --git a/linux/X/rules/base b/linux/X/rules/base index 70be19c..7f74c37 100644 --- a/linux/X/rules/base +++ b/linux/X/rules/base @@ -22,7 +22,7 @@ ! $msmodels = microsoft microsoft7000 microsoftpro microsoftprousb microsoftprose // PC geometries - they have special geometry but symbols are mostly pc105 -! $pcgeometries = abnt2 latitude jp106 kr106 +! $pcgeometries = latitude // Layouts that provide further specializations for the OLPC ! $olpclayouts = af am ara br ca es et it kh kz in mn np ru th tr us @@ -85,7 +85,6 @@ gb gr \ hu \ ie ir is it \ - kg \ latam \ lk lt \ mn mt \ @@ -100,6 +99,9 @@ ! $evdevkbds = ibm_spacesaver +! $thinkpads = thinkpad thinkpad60 thinkpadz60 + + ! $dvoraklayouts = br ca de ee es fr gb no pl se us ! model = keycodes @@ -109,8 +111,6 @@ sun5 = sun(type5_euro) sun6 = sun(type6_usb) pc98 = xfree98(pc98) - abnt2 = xfree86(abnt2) - jp106 = xfree86(jp106) evdev = evdev olpc = evdev macintosh_hhk = macintosh(hhk) @@ -139,6 +139,7 @@ $msmodels = microsoft(natural) dell101 = dell(dell101) dellm65 = dell(dellm65) + latitude = dell(latitude) flexpro = keytronic(FlexPro) hp6000 = hp(omnibook) omnikey101 = northgate(omnikey101) @@ -292,10 +293,10 @@ amiga $nonlatin = xfree68_vndr/amiga(usa1)+%l%(v):2 amiga * = xfree68_vndr/amiga(usa1)+%l%(v) classmate us = pc+%l(classmate) - sun4 $nonlatin = latin+sun_vndr/us(sun4)+%l%(v):2 - sun4 * = latin+sun_vndr/us(sun4)+%l%(v) - sun5 $nonlatin = latin+sun_vndr/us(sun5)+%l%(v):2 - sun5 * = latin+sun_vndr/us(sun5)+%l%(v) + 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 = sun_vndr/us(type6) sun6 en_US = sun_vndr/us(type6)+iso9995-3(basic) sun6 * = sun_vndr/us(type6)+%l%(v) @@ -309,21 +310,38 @@ $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) olpc $olpclayouts = olpc+%l%(m) olpc * = olpc+%l%(v) - thinkpad br = pc+br(thinkpad) + $thinkpads br = pc+br(thinkpad) * $nonlatin = pc+us+%l%(v):2 * * = pc+%l%(v) ! model layout[1] = symbols * ar = pc+ara%(v[1]) + * ben = pc+in(ben) * bs = pc+ba%(v[1]) * cs = pc+rs%(v[1]) + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) * dzdwi = pc+bt%(v[1]) * el = pc+gr%(v[1]) * en_US = pc+latin%(v[1]) + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) * 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) * sr = pc+srp%(v[1]) + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) * yu = pc+srp%(v[1]) + * fr-latin9 = pc+fr(latin9) + * us_intl = pc+us(alt-intl) * ben(basic) = pc+in(ben) * ben(probhat) = pc+in(ben_probhat) * dev(basic) = pc+in(deva) @@ -381,7 +399,7 @@ macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1]) macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1]) $macs $macvendorlayouts = pc+macintosh_vndr/%l[1]%(v[1]) - thinkpad br = pc+%l[1](thinkpad) + $thinkpads br = pc+%l[1](thinkpad) * * = pc+%l[1]%(v[1]) ! model layout[1] variant[1] = symbols @@ -437,15 +455,32 @@ ! layout[2] = symbols ar = +ara%(v[2]):2 + ben = +in(ben):2 bs = +ba%(v[2]):2 cs = +rs%(v[2]):2 + cz_qwerty = +cz(qwerty):2 + dev = +in(deva):2 + dvorak = +us(dvorak):2 dzdwi = +bt%(v[2]):2 el = +gr%(v[2]):2 en_US = +latin%(v[2]):2 + guj = +in(guj):2 + gur = +in(guru):2 + iu = +ca(ike):2 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 sr = +srp%(v[2]):2 + syr = +sy(syc):2 + tel = +in(tel):2 + tml = +in(tam):2 yu = +srp%(v[2]):2 + fr-latin9 = +fr(latin9):2 + us_intl = +us(alt-intl):2 ben(basic) = +in(ben):2 ben(probhat) = +in(ben_probhat):2 dev(basic) = +in(deva):2 @@ -499,15 +534,32 @@ ! layout[3] = symbols ar = +ara%(v[3]):3 + ben = +in(ben):3 bs = +ba%(v[3]):3 cs = +rs%(v[3]):3 + cz_qwerty = +cz(qwerty):3 + dev = +in(deva):3 + dvorak = +us(dvorak):3 dzdwi = +bt%(v[3]):3 el = +gr%(v[3]):3 en_US = +latin%(v[3]):3 + guj = +in(guj):3 + gur = +in(guru):3 + iu = +ca(ike):3 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 sr = +srp%(v[3]):3 + syr = +sy(syc):3 + tel = +in(tel):3 + tml = +in(tam):3 yu = +srp%(v[3]):3 + fr-latin9 = +fr(latin9):3 + us_intl = +us(alt-intl):3 ben(basic) = +in(ben):3 ben(probhat) = +in(ben_probhat):3 dev(basic) = +in(deva):3 @@ -561,15 +613,32 @@ ! layout[4] = symbols ar = +ara%(v[4]):4 + ben = +in(ben):4 bs = +ba%(v[4]):4 cs = +rs%(v[4]):4 + cz_qwerty = +cz(qwerty):4 + dev = +in(deva):4 + dvorak = +us(dvorak):4 dzdwi = +bt%(v[4]):4 el = +gr%(v[4]):4 en_US = +latin%(v[4]):4 + guj = +in(guj):4 + gur = +in(guru):4 + iu = +ca(ike):4 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 sr = +srp%(v[4]):4 + syr = +sy(syc):4 + tel = +in(tel):4 + tml = +in(tam):4 yu = +srp%(v[4]):4 + fr-latin9 = +fr(latin9):4 + us_intl = +us(alt-intl):4 ben(basic) = +in(ben):4 ben(probhat) = +in(ben_probhat):4 dev(basic) = +in(deva):4 @@ -788,11 +857,13 @@ btc6301urf = +inet(media_nav_acpi_common) dellsk8125 = +inet(dell) dellsk8135 = +inet(dell) + cherrybunlim = +inet(nav_common) dexxa = +inet(media_nav_common) dtk2000 = +inet(media_nav_acpi_common) fscaa1667g = +inet(media_nav_common) geniuskb19e = +inet(media_nav_acpi_common) geniuscomfy = +inet(media_nav_acpi_common) + geniuskkb2050hs = +inet(dellusbmm) hpnx9020 = +inet(hpi6) latitude = +inet(media_common) logicd = +inet(logitech_base) @@ -817,11 +888,24 @@ targa_v811 = +inet(media_nav_acpi_common) thinkpad = +inet(media_nav_common) thinkpadz60 = +inet(thinkpad60) + trust_slimline = +inet(media_nav_acpi_common) vsonku306 = +inet(microsoftprooem) $inetkbds = +inet(%m) $maclaptop = +inet(apple)+level3(enter_switch) $macs = +inet(apple) +// Neo special modifier-keys +! layout variant = compat + de neo = +neo_mods +! layout[1] variant[1] = compat + de neo = +neo_mods +! layout[2] variant[2] = compat + de neo = +neo_mods:2 +! layout[3] variant[3] = compat + de neo = +neo_mods:3 +! layout[4] variant[4] = compat + de neo = +neo_mods:4 + ! model layout = compat pc98 nec_vndr/jp = pc98(basic) * jp = complete+japan @@ -863,7 +947,6 @@ altwin:ctrl_alt_win = +altwin(ctrl_alt_win) altwin:meta_win = +altwin(meta_win) altwin:left_meta_win = +altwin(left_meta_win) - altwin:super_win = +altwin(super_win) altwin:hyper_win = +altwin(hyper_win) altwin:alt_super_win = +altwin(alt_super_win) altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin) @@ -896,6 +979,7 @@ grp:lctrl_toggle = +group(lctrl_toggle) grp:rctrl_toggle = +group(rctrl_toggle) grp:lalt_toggle = +group(lalt_toggle) + grp:sclk_toggle = +group(sclk_toggle) lv3:switch = +level3(switch) lv3:ralt_switch = +level3(ralt_switch) lv3:ralt_switch_multikey = +level3(ralt_switch_multikey) @@ -906,6 +990,7 @@ lv3:win_switch = +level3(win_switch) lv3:lwin_switch = +level3(lwin_switch) lv3:rwin_switch = +level3(rwin_switch) + lv3:enter_switch = +level3(enter_switch) caps:capslock = +capslock(capslock) caps:shiftlock = +capslock(shiftlock) caps:swapescape = +capslock(swapescape) @@ -956,7 +1041,7 @@ shift:breaks_caps = +shift(breaks_caps) esperanto:qwerty = +epo(qwerty) esperanto:dvorak = +epo(dvorak) - terminate:ctrl_alt_bksp = +srvr_ctrl(terminate_ctrl_alt_bksp) + terminate:ctrl_alt_bksp = +terminate(ctrl_alt_bksp) shift:both_capslock = +shift(both_capslock) shift:lshift_both_capslock = +shift(lshift_both_capslock) shift:rshift_both_capslock = +shift(rshift_both_capslock) @@ -982,6 +1067,7 @@ lv5:rwin_switch_numlock_cancel = +level5(rwin_switch_numlock_cancel) + ! option = compat grp_led:num = +lednum(group_lock) grp_led:caps = +ledcaps(group_lock) diff --git a/linux/X/rules/base.xml b/linux/X/rules/base.xml index d5868e7..f6fc72d 100644 --- a/linux/X/rules/base.xml +++ b/linux/X/rules/base.xml @@ -86,13 +86,6 @@ Generic - - - jp106 - Japanese 106-key - Generic - - pc98 @@ -121,13 +114,6 @@ A4Tech - - - abnt2 - Brazilian ABNT2 - Generic - - airkey @@ -259,6 +245,13 @@ Cherry + + + cherrybunlim + Cherry B.UNLIMITED + Cherry + + chicony @@ -447,6 +440,13 @@ Genius + + + geniuskkb2050hs + Genius KKB-2050HS + Genius + + gyration @@ -667,7 +667,7 @@ logicdpa2 - Logitech Cordless Desktop Pro (alternate option2) + Logitech Cordless Desktop Pro (alternate option 2) Logitech @@ -972,6 +972,13 @@ Trust + + + trust_slimline + Trust Slimline + Trust + + yahoo @@ -1070,13 +1077,6 @@ eMachines - - - kr106 - Korean 106-key - Generic - - evdev @@ -2348,6 +2348,13 @@ Breton + + + oci + Occitan + oci + + geo @@ -2822,7 +2829,7 @@ kg - Kir + Kgz Kyrgyzstan kir @@ -2968,6 +2975,12 @@ LEKPa + + + balticplus + Baltic+ + + @@ -3177,7 +3190,7 @@ dvorak_altquotes - Dvorak, Polish quotes on key "1/!" + Dvorak, Polish quotes on key 1 @@ -3331,6 +3344,12 @@ Phonetic + + + phonetic_winkeys + Phonetic Winkeys + + typewriter @@ -3406,6 +3425,12 @@ xal + + + dos + DOS + + @@ -3885,8 +3910,8 @@ - unicode - Unicode + legacy + Legacy @@ -3940,6 +3965,12 @@ eng + + + extd + Extended - Winkeys + + intl @@ -4195,7 +4226,16 @@ - braille + sn + Sen + Senegal + wol + + + + + + brai Brl Braille @@ -4214,6 +4254,22 @@ + + + tm + Tkm + Turkmenistan + tuk + + + + + alt + Alt-Q + + + + @@ -4472,7 +4528,7 @@ - + + + terminate + Key sequence to kill the X server + + + diff --git a/linux/X/rules/evdev b/linux/X/rules/evdev index 8ca0bb5..ac65687 100644 --- a/linux/X/rules/evdev +++ b/linux/X/rules/evdev @@ -22,7 +22,7 @@ ! $msmodels = microsoft microsoft7000 microsoftpro microsoftprousb microsoftprose // PC geometries - they have special geometry but symbols are mostly pc105 -! $pcgeometries = abnt2 latitude jp106 kr106 +! $pcgeometries = latitude // Layouts that provide further specializations for the OLPC ! $olpclayouts = af am ara br ca es et it kh kz in mn np ru th tr us @@ -64,6 +64,7 @@ microsoftoffice microsoftmult \ mx1998 mx2500 mx2750 \ oretec \ + pc105 \ presario propeller \ qtronix \ rapidaccess rapidaccess2 thinkpad60 \ @@ -96,13 +97,15 @@ vn \ za +! $evdevkbds = ibm_spacesaver + +! $thinkpads = thinkpad thinkpad60 thinkpadz60 + ! $dvoraklayouts = br ca de ee es fr gb no pl se us ! model = keycodes pc98 = evdev(pc98) - abnt2 = evdev(abnt2) - jp106 = evdev(jp106) * = evdev ! layout[1] = keycodes @@ -125,6 +128,7 @@ $msmodels = microsoft(natural) dell101 = dell(dell101) dellm65 = dell(dellm65) + latitude = dell(latitude) flexpro = keytronic(FlexPro) hp6000 = hp(omnibook) omnikey101 = northgate(omnikey101) @@ -278,10 +282,10 @@ amiga $nonlatin = xfree68_vndr/amiga(usa1)+%l%(v):2 amiga * = xfree68_vndr/amiga(usa1)+%l%(v) classmate us = pc+%l(classmate) - sun4 $nonlatin = latin+sun_vndr/us(sun4)+%l%(v):2 - sun4 * = latin+sun_vndr/us(sun4)+%l%(v) - sun5 $nonlatin = latin+sun_vndr/us(sun5)+%l%(v):2 - sun5 * = latin+sun_vndr/us(sun5)+%l%(v) + 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 = sun_vndr/us(type6) sun6 en_US = sun_vndr/us(type6)+iso9995-3(basic) sun6 * = sun_vndr/us(type6)+%l%(v) @@ -295,21 +299,38 @@ $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) olpc $olpclayouts = olpc+%l%(m) olpc * = olpc+%l%(v) - thinkpad br = pc+br(thinkpad) + $thinkpads br = pc+br(thinkpad) * $nonlatin = pc+us+%l%(v):2 * * = pc+%l%(v) ! model layout[1] = symbols * ar = pc+ara%(v[1]) + * ben = pc+in(ben) * bs = pc+ba%(v[1]) * cs = pc+rs%(v[1]) + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) * dzdwi = pc+bt%(v[1]) * el = pc+gr%(v[1]) * en_US = pc+latin%(v[1]) + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) * 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) * sr = pc+srp%(v[1]) + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) * yu = pc+srp%(v[1]) + * fr-latin9 = pc+fr(latin9) + * us_intl = pc+us(alt-intl) * ben(basic) = pc+in(ben) * ben(probhat) = pc+in(ben_probhat) * dev(basic) = pc+in(deva) @@ -367,7 +388,7 @@ macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1]) macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1]) $macs $macvendorlayouts = pc+macintosh_vndr/%l[1]%(v[1]) - thinkpad br = pc+%l[1](thinkpad) + $thinkpads br = pc+%l[1](thinkpad) * * = pc+%l[1]%(v[1]) ! model layout[1] variant[1] = symbols @@ -423,15 +444,32 @@ ! layout[2] = symbols ar = +ara%(v[2]):2 + ben = +in(ben):2 bs = +ba%(v[2]):2 cs = +rs%(v[2]):2 + cz_qwerty = +cz(qwerty):2 + dev = +in(deva):2 + dvorak = +us(dvorak):2 dzdwi = +bt%(v[2]):2 el = +gr%(v[2]):2 en_US = +latin%(v[2]):2 + guj = +in(guj):2 + gur = +in(guru):2 + iu = +ca(ike):2 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 sr = +srp%(v[2]):2 + syr = +sy(syc):2 + tel = +in(tel):2 + tml = +in(tam):2 yu = +srp%(v[2]):2 + fr-latin9 = +fr(latin9):2 + us_intl = +us(alt-intl):2 ben(basic) = +in(ben):2 ben(probhat) = +in(ben_probhat):2 dev(basic) = +in(deva):2 @@ -485,15 +523,32 @@ ! layout[3] = symbols ar = +ara%(v[3]):3 + ben = +in(ben):3 bs = +ba%(v[3]):3 cs = +rs%(v[3]):3 + cz_qwerty = +cz(qwerty):3 + dev = +in(deva):3 + dvorak = +us(dvorak):3 dzdwi = +bt%(v[3]):3 el = +gr%(v[3]):3 en_US = +latin%(v[3]):3 + guj = +in(guj):3 + gur = +in(guru):3 + iu = +ca(ike):3 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 sr = +srp%(v[3]):3 + syr = +sy(syc):3 + tel = +in(tel):3 + tml = +in(tam):3 yu = +srp%(v[3]):3 + fr-latin9 = +fr(latin9):3 + us_intl = +us(alt-intl):3 ben(basic) = +in(ben):3 ben(probhat) = +in(ben_probhat):3 dev(basic) = +in(deva):3 @@ -547,15 +602,32 @@ ! layout[4] = symbols ar = +ara%(v[4]):4 + ben = +in(ben):4 bs = +ba%(v[4]):4 cs = +rs%(v[4]):4 + cz_qwerty = +cz(qwerty):4 + dev = +in(deva):4 + dvorak = +us(dvorak):4 dzdwi = +bt%(v[4]):4 el = +gr%(v[4]):4 en_US = +latin%(v[4]):4 + guj = +in(guj):4 + gur = +in(guru):4 + iu = +ca(ike):4 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 sr = +srp%(v[4]):4 + syr = +sy(syc):4 + tel = +in(tel):4 + tml = +in(tam):4 yu = +srp%(v[4]):4 + fr-latin9 = +fr(latin9):4 + us_intl = +us(alt-intl):4 ben(basic) = +in(ben):4 ben(probhat) = +in(ben_probhat):4 dev(basic) = +in(deva):4 @@ -761,7 +833,20 @@ yu unicodeyz = +srp(latinunicodeyz):4 ! model = symbols - * = +inet(evdev) + $evdevkbds = +inet(evdev)+inet(%m) + * = +inet(evdev) + +// Neo special modifier-keys +! layout variant = compat + de neo = +neo_mods +! layout[1] variant[1] = compat + de neo = +neo_mods +! layout[2] variant[2] = compat + de neo = +neo_mods:2 +! layout[3] variant[3] = compat + de neo = +neo_mods:3 +! layout[4] variant[4] = compat + de neo = +neo_mods:4 ! model layout = compat pc98 nec_vndr/jp = pc98(basic) @@ -804,7 +889,6 @@ altwin:ctrl_alt_win = +altwin(ctrl_alt_win) altwin:meta_win = +altwin(meta_win) altwin:left_meta_win = +altwin(left_meta_win) - altwin:super_win = +altwin(super_win) altwin:hyper_win = +altwin(hyper_win) altwin:alt_super_win = +altwin(alt_super_win) altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin) @@ -899,6 +983,7 @@ shift:breaks_caps = +shift(breaks_caps) esperanto:qwerty = +epo(qwerty) esperanto:dvorak = +epo(dvorak) + terminate:ctrl_alt_bksp = +terminate(ctrl_alt_bksp) shift:both_capslock = +shift(both_capslock) shift:lshift_both_capslock = +shift(lshift_both_capslock) shift:rshift_both_capslock = +shift(rshift_both_capslock) @@ -924,6 +1009,7 @@ lv5:rwin_switch_numlock_cancel = +level5(rwin_switch_numlock_cancel) + ! option = compat grp_led:num = +lednum(group_lock) grp_led:caps = +ledcaps(group_lock) diff --git a/linux/X/rules/evdev.xml b/linux/X/rules/evdev.xml index d5868e7..f6fc72d 100644 --- a/linux/X/rules/evdev.xml +++ b/linux/X/rules/evdev.xml @@ -86,13 +86,6 @@ Generic - - - jp106 - Japanese 106-key - Generic - - pc98 @@ -121,13 +114,6 @@ A4Tech - - - abnt2 - Brazilian ABNT2 - Generic - - airkey @@ -259,6 +245,13 @@ Cherry + + + cherrybunlim + Cherry B.UNLIMITED + Cherry + + chicony @@ -447,6 +440,13 @@ Genius + + + geniuskkb2050hs + Genius KKB-2050HS + Genius + + gyration @@ -667,7 +667,7 @@ logicdpa2 - Logitech Cordless Desktop Pro (alternate option2) + Logitech Cordless Desktop Pro (alternate option 2) Logitech @@ -972,6 +972,13 @@ Trust + + + trust_slimline + Trust Slimline + Trust + + yahoo @@ -1070,13 +1077,6 @@ eMachines - - - kr106 - Korean 106-key - Generic - - evdev @@ -2348,6 +2348,13 @@ Breton + + + oci + Occitan + oci + + geo @@ -2822,7 +2829,7 @@ kg - Kir + Kgz Kyrgyzstan kir @@ -2968,6 +2975,12 @@ LEKPa + + + balticplus + Baltic+ + + @@ -3177,7 +3190,7 @@ dvorak_altquotes - Dvorak, Polish quotes on key "1/!" + Dvorak, Polish quotes on key 1 @@ -3331,6 +3344,12 @@ Phonetic + + + phonetic_winkeys + Phonetic Winkeys + + typewriter @@ -3406,6 +3425,12 @@ xal + + + dos + DOS + + @@ -3885,8 +3910,8 @@ - unicode - Unicode + legacy + Legacy @@ -3940,6 +3965,12 @@ eng + + + extd + Extended - Winkeys + + intl @@ -4195,7 +4226,16 @@ - braille + sn + Sen + Senegal + wol + + + + + + brai Brl Braille @@ -4214,6 +4254,22 @@ + + + tm + Tkm + Turkmenistan + tuk + + + + + alt + Alt-Q + + + + @@ -4472,7 +4528,7 @@ - + + + terminate + Key sequence to kill the X server + + + diff --git a/linux/X/symbols/de b/linux/X/symbols/de index 32d57bc..cd998b9 100644 --- a/linux/X/symbols/de +++ b/linux/X/symbols/de @@ -62,7 +62,7 @@ xkb_symbols "nodeadkeys" { name[Group1]="Germany - Eliminate dead keys"; key { [asciicircum, degree, notsign, notsign ] }; - key { [apostrophe, grave, cedilla, cedilla ] }; + key { [ acute, grave, cedilla, cedilla ] }; key { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] }; key { [ plus, asterisk, asciitilde, macron ] }; key { [odiaeresis, Odiaeresis, doubleacute, doubleacute ] }; @@ -211,6 +211,7 @@ xkb_symbols "sundeadkeys" { name[Group1]="Germany - Sun dead keys"; }; + // German NEO-Layout Version 2 // adopted 2004 by Hanno Behrens // inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/ @@ -227,13 +228,7 @@ xkb_symbols "sundeadkeys" { // $Revision$, $Date$ partial alphanumeric_keys modifier_keys keypad_keys -xkb_symbols "neo" { - - include "shift(both_capslock)" - include "level3(caps_switch)" - include "level3(bksl_switch)" - include "level5(lsgt_switch_numlock)" - include "level5(ralt_switch_numlock)" +xkb_symbols "neo_base" { name[Group1]= "Germany - Neo 2"; @@ -248,7 +243,7 @@ xkb_symbols "neo" { // Compose (not a level): Mod3 + Tab // Feststelltaste (Capslock): Shift + Shift // Mod4-Lock: Mod4 + Mod4 - // + // Mod4-Lock: Shift + Mod3 + Tab // Legend // =============== @@ -266,11 +261,8 @@ xkb_symbols "neo" { // Tab as Multi_key (Compose) // -------------------------------------------------------------- - key { - symbols[Group1]= [ Tab, ISO_Left_Tab, Multi_key, Num_Lock, NoSymbol, NoSymbol, NoSymbol, Num_Lock ], - actions[Group1]= [ NoAction(), NoAction(), NoAction(), LockMods(modifiers=NumLock), NoAction(), NoAction(), NoAction(), LockMods(modifiers=NumLock) ] - }; - modifier_map Mod2 { }; + key { [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ] }; + // Number row // -------------------------------------------------------------- @@ -389,6 +381,18 @@ xkb_symbols "neo" { key { [ KP_Separator, KP_Decimal, period, apostrophe, KP_Delete, KP_Delete, quotedbl, NoSymbol ] }; }; +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "neo" { + + include "de(neo_base)" + + include "shift(both_capslock)" + include "level3(caps_switch)" + include "level3(bksl_switch)" + include "level5(lsgt_switch_numlock)" + include "level5(ralt_switch_numlock)" +}; + // Copied from macintosh_vndr/de // olh@suse.de very close to MacOS map diff --git a/linux/X/symbols/level5 b/linux/X/symbols/level5 index 35b8186..c722d87 100644 --- a/linux/X/symbols/level5 +++ b/linux/X/symbols/level5 @@ -22,7 +22,7 @@ xkb_symbols "rctrl_switch" { // as some applications get confused by it. partial modifier_keys -xkb_symbols "lsgt_switch_numlock" { +xkb_symbols "neomod_map" { key { type[Group1] = "ONE_LEVEL", vmods[Group1] = LevelFive, @@ -30,137 +30,99 @@ xkb_symbols "lsgt_switch_numlock" { actions[Group1] = [ SetMods(modifiers=LevelFive) ] }; modifier_map Mod3 { }; + key { + type[Group1] = "ONE_LEVEL", + vmods[Group1] = NumLock, + symbols[Group1] = [ NoSymbol ], + actions[Group1] = [ SetMods(modifiers=NumLock) ] + }; + modifier_map Mod2 { }; +}; + +partial modifier_keys +xkb_symbols "lsgt_switch_numlock" { + + include "level5(neomod_map)" + key { - vmods= NumLock, - key.type[Group1] = "EIGHT_LEVEL", - symbols[Group1] = [ Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock ], - actions[Group1] = [ SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock) ] + type[Group1] = "EIGHT_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] }; - modifier_map Mod2 { }; }; partial modifier_keys xkb_symbols "lwin_switch_numlock" { - key { - type[Group1] = "ONE_LEVEL", - vmods[Group1] = LevelFive, - symbols[Group1] = [ NoSymbol ], - actions[Group1] = [ SetMods(modifiers=LevelFive) ] - }; - modifier_map Mod3 { }; + + include "level5(neomod_map)" + key { - vmods= NumLock, - key.type[Group1] = "EIGHT_LEVEL", - symbols[Group1] = [ Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock ], - actions[Group1] = [ SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock) ] + type[Group1] = "EIGHT_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] }; - modifier_map Mod2 { }; }; partial modifier_keys xkb_symbols "ralt_switch_numlock" { - key { - type[Group1] = "ONE_LEVEL", - vmods[Group1] = LevelFive, - symbols[Group1] = [ NoSymbol ], - actions[Group1] = [ SetMods(modifiers=LevelFive) ] - }; - modifier_map Mod3 { }; + + include "level5(neomod_map)" + key { - vmods= NumLock, - key.type[Group1] = "EIGHT_LEVEL", - symbols[Group1] = [ Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock ], - actions[Group1] = [ SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock) ] + type[Group1] = "EIGHT_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] }; - modifier_map Mod2 { }; }; partial modifier_keys xkb_symbols "rwin_switch_numlock" { - key { - type[Group1] = "ONE_LEVEL", - vmods[Group1] = LevelFive, - symbols[Group1] = [ NoSymbol ], - actions[Group1] = [ SetMods(modifiers=LevelFive) ] - }; - modifier_map Mod3 { }; + + include "level5(neomod_map)" + key { - vmods= NumLock, - key.type[Group1] = "EIGHT_LEVEL", - symbols[Group1] = [ Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock ], - actions[Group1] = [ SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock) ] + type[Group1] = "EIGHT_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] }; - modifier_map Mod2 { }; }; partial modifier_keys xkb_symbols "lsgt_switch_numlock_cancel" { - key { - type[Group1] = "ONE_LEVEL", - vmods[Group1] = LevelFive, - symbols[Group1] = [ NoSymbol ], - actions[Group1] = [ SetMods(modifiers=LevelFive) ] - }; - modifier_map Mod3 { }; + + include "level5(neomod_map)" + key { - vmods= NumLock, - key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS", - symbols[Group1] = [ Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock ], - actions[Group1] = [ SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock) ] + type[Group1] = "EIGHT_LEVEL_NEO_LOCKS", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] }; - modifier_map Mod2 { }; }; partial modifier_keys xkb_symbols "lwin_switch_numlock_cancel" { - key { - type[Group1] = "ONE_LEVEL", - vmods[Group1] = LevelFive, - symbols[Group1] = [ NoSymbol ], - actions[Group1] = [ SetMods(modifiers=LevelFive) ] - }; - modifier_map Mod3 { }; + + include "level5(neomod_map)" + key { - vmods= NumLock, - key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS", - symbols[Group1] = [ Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock ], - actions[Group1] = [ SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock) ] + type[Group1] = "EIGHT_LEVEL_NEO_LOCKS", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] }; - modifier_map Mod2 { }; }; partial modifier_keys xkb_symbols "ralt_switch_numlock_cancel" { - key { - type[Group1] = "ONE_LEVEL", - vmods[Group1] = LevelFive, - symbols[Group1] = [ NoSymbol ], - actions[Group1] = [ SetMods(modifiers=LevelFive) ] - }; - modifier_map Mod3 { }; + + include "level5(neomod_map)" + key { - vmods= NumLock, - key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS", - symbols[Group1] = [ Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock ], - actions[Group1] = [ SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock) ] + type[Group1] = "EIGHT_LEVEL_NEO_LOCKS", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] }; - modifier_map Mod2 { }; }; partial modifier_keys xkb_symbols "rwin_switch_numlock_cancel" { - key { - type[Group1] = "ONE_LEVEL", - vmods[Group1] = LevelFive, - symbols[Group1] = [ NoSymbol ], - actions[Group1] = [ SetMods(modifiers=LevelFive) ] - }; - modifier_map Mod3 { }; + + include "level5(neomod_map)" + key { - vmods= NumLock, - key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS", - symbols[Group1] = [ Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock, Num_Lock ], - actions[Group1] = [ SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), SetMods(modifiers=LevelFive), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock), LockMods(modifiers=NumLock) ] + type[Group1] = "EIGHT_LEVEL_NEO_LOCKS", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] }; - modifier_map Mod2 { }; }; diff --git a/linux/X/symbols/shift b/linux/X/symbols/shift index ac39f34..ccb4ae1 100644 --- a/linux/X/symbols/shift +++ b/linux/X/symbols/shift @@ -23,8 +23,7 @@ partial modifier_keys xkb_symbols "lshift_both_capslock" { key { type[Group1]="TWO_LEVEL", - symbols[Group1] = [ Shift_L, Caps_Lock ], - actions[Group1] = [ SetMods(modifiers=Shift), LockMods(modifiers=Lock) ] + symbols[Group1] = [ Shift_L, Caps_Lock ] }; }; // When pressed together with another Shift key, set or unset Lock. @@ -32,8 +31,7 @@ partial modifier_keys xkb_symbols "rshift_both_capslock" { key { type[Group1]="TWO_LEVEL", - symbols[Group1] = [ Shift_R, Caps_Lock ], - actions[Group1] = [ SetMods(modifiers=Shift), LockMods(modifiers=Lock) ] + symbols[Group1] = [ Shift_R, Caps_Lock ] }; }; partial modifier_keys @@ -47,8 +45,7 @@ partial modifier_keys xkb_symbols "lshift_both_capslock_cancel" { key { type[Group1]="ALPHABETIC", - symbols[Group1] = [ Shift_L, Caps_Lock ], - actions[Group1] = [ SetMods(modifiers=Shift), LockMods(modifiers=Lock) ] + symbols[Group1] = [ Shift_L, Caps_Lock ] }; }; // When pressed alone, release Lock, whan pressed with another Shift key, set Lock. @@ -56,8 +53,7 @@ partial modifier_keys xkb_symbols "rshift_both_capslock_cancel" { key { type[Group1]="ALPHABETIC", - symbols[Group1] = [ Shift_R, Caps_Lock ], - actions[Group1] = [ SetMods(modifiers=Shift), LockMods(modifiers=Lock) ] + symbols[Group1] = [ Shift_R, Caps_Lock ] }; }; partial modifier_keys @@ -72,8 +68,7 @@ partial modifier_keys xkb_symbols "lshift_both_shiftlock" { key { type[Group1]="TWO_LEVEL", - symbols[Group1] = [ Shift_L, Shift_Lock ], - actions[Group1] = [ SetMods(modifiers=Shift), LockMods(modifiers=Shift) ] + symbols[Group1] = [ Shift_L, Shift_Lock ] }; }; // When pressed together with another Shift key, lock/unlock Shift. @@ -81,8 +76,7 @@ partial modifier_keys xkb_symbols "rshift_both_shiftlock" { key { type[Group1]="TWO_LEVEL", - symbols[Group1] = [ Shift_R, Shift_Lock ], - actions[Group1] = [ SetMods(modifiers=Shift), LockMods(modifiers=Shift) ] + symbols[Group1] = [ Shift_R, Shift_Lock ] }; }; partial modifier_keys diff --git a/linux/X/types/level5 b/linux/X/types/level5 index 631564a..b361644 100644 --- a/linux/X/types/level5 +++ b/linux/X/types/level5 @@ -60,11 +60,6 @@ partial default xkb_types "default" { // 'NumLock' is used for the (Neo-)Mod4-Lock. modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; - preserve[LevelFive+Shift] = Shift; - preserve[NumLock+Shift] = Shift; - preserve[Lock+LevelFive+Shift] = Shift; - preserve[Lock+NumLock+Shift] = Shift; - map[None] = Level1; map[Shift] = Level2; map[LevelThree] = Level3; @@ -106,6 +101,11 @@ partial default xkb_types "default" { map[Lock+NumLock+LevelFive+LevelThree] = Level3; map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4; + preserve[LevelFive+Shift] = Shift; + preserve[NumLock+Shift] = Shift; + preserve[Lock+LevelFive+Shift] = Shift; + preserve[Lock+NumLock+Shift] = Shift; + level_name[Level1] = "Base"; level_name[Level2] = "Shift"; level_name[Level3] = "Alt Base"; @@ -119,9 +119,6 @@ partial default xkb_types "default" { type "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC" { // 'NumLock' is used for the (Neo-)Mod4-Lock. modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; - - preserve[LevelFive+Shift] = Shift; - preserve[NumLock+Shift] = Shift; map[None] = Level1; map[Shift] = Level2; @@ -164,6 +161,9 @@ partial default xkb_types "default" { map[Lock+NumLock+LevelFive+LevelThree] = Level3; map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4; + preserve[LevelFive+Shift] = Shift; + preserve[NumLock+Shift] = Shift; + level_name[Level1] = "Base"; level_name[Level2] = "Shift"; level_name[Level3] = "Alt Base"; -- cgit v1.2.3