From f4d2eb9133ba668130669df725540b8314159491 Mon Sep 17 00:00:00 2001 From: "martin f. krafft" Date: Sat, 18 Apr 2009 14:25:58 +0200 Subject: [PATCH 1/1] load xkb modifications from xsession --- .xkb/rules/evdev | 925 +++++++++++++++++++++++++++++++++++++++++++ .xkb/rules/evdev.lst | 717 +++++++++++++++++++++++++++++++++ .xkb/symbols/madduck | 185 +++++++++ .xsession.d/01-xkb | 44 +- 4 files changed, 1867 insertions(+), 4 deletions(-) create mode 100644 .xkb/rules/evdev create mode 100644 .xkb/rules/evdev.lst create mode 100644 .xkb/symbols/madduck diff --git a/.xkb/rules/evdev b/.xkb/rules/evdev new file mode 100644 index 0000000..c920bda --- /dev/null +++ b/.xkb/rules/evdev @@ -0,0 +1,925 @@ +// DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY merge.sh FROM rules/*.part +// $Xorg: xfree86,v 1.3 2000/08/17 19:54:42 cpqbld Exp $ + +// +// Rules for resolving XKB components for use with XFree86 +// Copyright 1996 by Joseph Moss +// +// 2002 Modifier: Ivan Pascal The XFree86 Project +// $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.79 2004/01/09 00:16:01 dawes Exp $ +// + +// If you want non-latin layouts implicitly include the en_US layout +// uncomment lines below +//! $nonlatin = am ara ben bd bg bt by cs deva ge gh gr guj guru il \ +// in ir iku jp kan kh kr la lao lk mk mm mn mv mal ori pk \ +// ru scc sy syr tel th tj tam ua uz + +// PC models +! $pcmodels = pc101 pc102 pc104 pc105 + +// Microsoft models (using MS geometry) +! $msmodels = microsoft microsoft7000 microsoftpro microsoftprousb microsoftprose + +// PC geometries - they have special geometry but symbols are mostly pc105 +! $pcgeometries = abnt2 latitude jp106 kr106 + +// 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 + +! $macbooks = macbook78 macbook79 +! $maclaptop = ibook powerbook macbook78 macbook79 +! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79 + +! $macvendorlayouts = ch de dk es fi fr gb is it latam nl no pt se us + +! $azerty = be fr +! $qwertz = al cz de hr hu ro si sk + +! $inetkbds = acer_c300 acer_ferrari4k acer_laptop \ + airkey \ + apple armada azonaRF2300 \ + benqx brother \ + btc5113rf btc9000 btc9000a btc9001ah btc5090 btc9019u \ + cherryblue cherrybluea cherryblueb \ + cherrycyboard cherrycmexpert \ + chicony chicony0108 chicony0420 chicony9885 \ + compalfl90 \ + compaqeak8 compaqik7 compaqik13 compaqik18 \ + cymotionlinux \ + dell dellm65 inspiron dellusbmm \ + emachines ennyah_dkb1008 evdev \ + genius geniuscomfy2 \ + gyration honeywell_euroboard \ + hp250x hp5xx hp500fa hpdv5 \ + hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx \ + ibm_spacesaver ipaq inspiron intel \ + logiaccess logicda logicink \ + logiex110 logiclx300 \ + logiinkse logiinkseusb logiitc logiik \ + logitech_base itouch logiultrax \ + logitech_g15 \ + logidinovo logidinovoedge \ + microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \ + microsoftoffice microsoftmult \ + mx1998 mx2500 mx2750 \ + oretec \ + presario propeller \ + qtronix \ + rapidaccess rapidaccess2 thinkpad60 \ + samsung4500 samsung4510 \ + silvercrest \ + sk1300 sk2500 sk6200 sk7100 \ + sven sven303 symplon \ + toshiba_s3000 trust trustda \ + unitekkb1925 yahoo + +// all layouts with 3rd and 4th groups +! $threelevellayouts = al az \ + be br bt \ + ca ch cs cz \ + de dk \ + ee es \ + fi fo fr \ + gb gr \ + hu \ + ie ir is it \ + kg \ + latam \ + lk lt \ + mn mt \ + nl no \ + pl pt \ + ro \ + se sk \ + tr \ + us \ + vn \ + za + + +! $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 + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! layout = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! option = keycodes + +! model layout = geometry + thinkpad us = thinkpad(us) + +! model = geometry + microsoftelite = microsoft(elite) + $msmodels = microsoft(natural) + dell101 = dell(dell101) + dellm65 = dell(dellm65) + flexpro = keytronic(FlexPro) + hp6000 = hp(omnibook) + omnikey101 = northgate(omnikey101) + $pcmodels = pc(%m) + $pcgeometries = pc(%m) + everex = everex(STEPnote) + thinkpad = thinkpad(intl) + thinkpad60 = thinkpad(60) + thinkpadz60 = thinkpad(60) + winbook = winbook(XP5) + pc98 = nec(pc98) + $macbooks = macintosh(%m) + $macs = macintosh(macintosh) + hhk = hhk(basic) + kinesis = kinesis(model100) + * = pc(pc104) + +! model layout variant = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * il si1452 = pc+ie(basic) + * in urd = pc+in(urd-phonetic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * pk urd = pc+pk(urd-phonetic) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + classmate us intl = pc+us(classmate-intl) + classmate us alt-intl = pc+us(classmate-alt-intl) + classmate us altgr-intl = pc+us(classmate-altgr-intl) + +! model layout = symbols + * ar = pc+ara + * ben = pc+in(ben) + * bs = pc+ba + * cs = pc+rs + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) + * dzdwi = pc+bt + * el = pc+gr + * en_US = pc+latin + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) + * 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) + * sr = pc+srp + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) + * yu = pc+srp + * 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) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * il(si1452) = pc+ie(basic) + * in(urd) = pc+in(urd-phonetic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * pk(urd) = pc+pk(urd-phonetic) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + ataritt $nonlatin = xfree68_vndr/ataritt(us)+%l%(v):2 + ataritt * = xfree68_vndr/ataritt(us)+%l%(v) + 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) + sun6 us = sun_vndr/us(type6) + sun6 en_US = sun_vndr/us(type6)+iso9995-3(basic) + sun6 * = sun_vndr/us(type6)+%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) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v) + macintosh_old $nonlatin = macintosh_vndr/us(oldmac)+%l%(v):2 + macintosh_old * = macintosh_vndr/us(oldmac)+%l%(v) + $macs en_US = pc+macintosh_vndr/us(extended) + $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) + olpc $olpclayouts = olpc+%l%(m) + olpc * = olpc+%l%(v) + thinkpad br = pc+br(thinkpad) + * $nonlatin = pc+us+%l%(v):2 + * * = pc+%l%(v) + +! model layout[1] = symbols + * ar = pc+ara%(v[1]) + * bs = pc+ba%(v[1]) + * cs = pc+rs%(v[1]) + * dzdwi = pc+bt%(v[1]) + * el = pc+gr%(v[1]) + * en_US = pc+latin%(v[1]) + * lo = pc+la%(v[1]) + * mi = pc+mao%(v[1]) + * sr = pc+srp%(v[1]) + * yu = pc+srp%(v[1]) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * il(si1452) = pc+ie(basic) + * in(urd) = pc+in(urd-phonetic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * pk(urd) = pc+pk(urd-phonetic) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * 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(sun4)+%l[1]%(v[1]) + sun5 * = latin+sun_vndr/us(sun5)+%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]) + $macs $macvendorlayouts = pc+macintosh_vndr/%l[1]%(v[1]) + thinkpad br = pc+%l[1](thinkpad) + * * = pc+%l[1]%(v[1]) + +! model layout[1] variant[1] = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * il si1452 = pc+ie(basic) + * in urd = pc+in(urd-phonetic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * pk urd = pc+pk(urd-phonetic) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + +! layout[2] = symbols + ar = +ara%(v[2]):2 + bs = +ba%(v[2]):2 + cs = +rs%(v[2]):2 + dzdwi = +bt%(v[2]):2 + el = +gr%(v[2]):2 + en_US = +latin%(v[2]):2 + lo = +la%(v[2]):2 + mi = +mao%(v[2]):2 + sr = +srp%(v[2]):2 + yu = +srp%(v[2]):2 + ben(basic) = +in(ben):2 + ben(probhat) = +in(ben_probhat):2 + dev(basic) = +in(deva):2 + dvorak($dvoraklayouts) = +%v(dvorak):2 + dvorak(basic) = +us(dvorak):2 + dvorak(pl_basic) = +pl(dvorak):2 + dvorak(pl) = +pl(dvorak_quotes):2 + dvorak(pl_altquotes) = +pl(dvorak_altquotes):2 + dzdwi(basic) = +bt(basic):2 + fi(basic) = +fi(classic):2 + ge(azerty_tskapo) = +fr(geo):2 + guj(basic) = +in(guj):2 + gur(basic) = +in(guru):2 + ie(laptop) = +ie(basic):2 + ie(CloGaelachLaptop) = +ie(CloGaelach):2 + il(si1452) = +ie(basic):2 + in(urd) = +in(urd-phonetic):2 + iu(basic) = +ca(ike):2 + lo(basic) = +la(basic):2 + kan(basic) = +in(kan):2 + mal(basic) = +in(mal):2 + mal(mlplusnum) = +in(mal):2 + ogham(basic) = +ie(ogam):2 + ogham(laptop) = +ie(ogam):2 + ogham(is434) = +ie(ogam_is434):2 + ogham(is434laptop) = +ie(ogam_is434):2 + ori(basic) = +in(ori):2 + ro(de) = +ro(winkeys):2 + ro(us) = +ro(std):2 + ro(academic) = +ro(std):2 + ro(std_comma) = +ro(std):2 + ro(comma) = +ro(basic):2 + ru(os) = +ru(os_legacy):2 + pk(urd) = +pk(urd-phonetic):2 + sapmi(basic) = +no(smi):2 + sapmi(nodeadkeys) = +no(smi_nodeadkeys):2 + sapmi(sefi) = +fi(smi):2 + sin(phonetic-static) = +in(sin_phonetic):2 + syr(basic) = +sy(syc):2 + syr(phonetic) = +sy(syc_phonetic):2 + tam(INSCRIPT) = +in(tam):2 + tam(UNI) = +in(tam_unicode):2 + tam(TAB) = +in(tam_TAB):2 + tam(TSCII) = +in(tam_TSCII):2 + tel(basic) = +in(tel):2 + yu(basic) = +srp(latin):2 + yu(unicode) = +srp(latinunicode):2 + yu(yz) = +srp(latinyz):2 + yu(unicodeyz) = +srp(latinunicodeyz):2 + * = +%l[2]%(v[2]):2 + +! layout[3] = symbols + ar = +ara%(v[3]):3 + bs = +ba%(v[3]):3 + cs = +rs%(v[3]):3 + dzdwi = +bt%(v[3]):3 + el = +gr%(v[3]):3 + en_US = +latin%(v[3]):3 + lo = +la%(v[3]):3 + mi = +mao%(v[3]):3 + sr = +srp%(v[3]):3 + yu = +srp%(v[3]):3 + ben(basic) = +in(ben):3 + ben(probhat) = +in(ben_probhat):3 + dev(basic) = +in(deva):3 + dvorak($dvoraklayouts) = +%v(dvorak):3 + dvorak(basic) = +us(dvorak):3 + dvorak(pl_basic) = +pl(dvorak):3 + dvorak(pl) = +pl(dvorak_quotes):3 + dvorak(pl_altquotes) = +pl(dvorak_altquotes):3 + dzdwi(basic) = +bt(basic):3 + fi(basic) = +fi(classic):3 + ge(azerty_tskapo) = +fr(geo):3 + guj(basic) = +in(guj):3 + gur(basic) = +in(guru):3 + ie(laptop) = +ie(basic):3 + ie(CloGaelachLaptop) = +ie(CloGaelach):3 + il(si1452) = +ie(basic):3 + in(urd) = +in(urd-phonetic):3 + iu(basic) = +ca(ike):3 + lo(basic) = +la(basic):3 + kan(basic) = +in(kan):3 + mal(basic) = +in(mal):3 + mal(mlplusnum) = +in(mal):3 + ogham(basic) = +ie(ogam):3 + ogham(laptop) = +ie(ogam):3 + ogham(is434) = +ie(ogam_is434):3 + ogham(is434laptop) = +ie(ogam_is434):3 + ori(basic) = +in(ori):3 + ro(de) = +ro(winkeys):3 + ro(us) = +ro(std):3 + ro(academic) = +ro(std):3 + ro(std_comma) = +ro(std):3 + ro(comma) = +ro(basic):3 + ru(os) = +ru(os_legacy):3 + pk(urd) = +pk(urd-phonetic):3 + sapmi(basic) = +no(smi):3 + sapmi(nodeadkeys) = +no(smi_nodeadkeys):3 + sapmi(sefi) = +fi(smi):3 + sin(phonetic-static) = +in(sin_phonetic):3 + syr(basic) = +sy(syc):3 + syr(phonetic) = +sy(syc_phonetic):3 + tam(INSCRIPT) = +in(tam):3 + tam(UNI) = +in(tam_unicode):3 + tam(TAB) = +in(tam_TAB):3 + tam(TSCII) = +in(tam_TSCII):3 + tel(basic) = +in(tel):3 + yu(basic) = +srp(latin):3 + yu(unicode) = +srp(latinunicode):3 + yu(yz) = +srp(latinyz):3 + yu(unicodeyz) = +srp(latinunicodeyz):3 + * = +%l[3]%(v[3]):3 + +! layout[4] = symbols + ar = +ara%(v[4]):4 + bs = +ba%(v[4]):4 + cs = +rs%(v[4]):4 + dzdwi = +bt%(v[4]):4 + el = +gr%(v[4]):4 + en_US = +latin%(v[4]):4 + lo = +la%(v[4]):4 + mi = +mao%(v[4]):4 + sr = +srp%(v[4]):4 + yu = +srp%(v[4]):4 + ben(basic) = +in(ben):4 + ben(probhat) = +in(ben_probhat):4 + dev(basic) = +in(deva):4 + dvorak($dvoraklayouts) = +%v(dvorak):4 + dvorak(basic) = +us(dvorak):4 + dvorak(pl_basic) = +pl(dvorak):4 + dvorak(pl) = +pl(dvorak_quotes):4 + dvorak(pl_altquotes) = +pl(dvorak_altquotes):4 + dzdwi(basic) = +bt(basic):4 + fi(basic) = +fi(classic):4 + ge(azerty_tskapo) = +fr(geo):4 + guj(basic) = +in(guj):4 + gur(basic) = +in(guru):4 + ie(laptop) = +ie(basic):4 + ie(CloGaelachLaptop) = +ie(CloGaelach):4 + il(si1452) = +ie(basic):4 + in(urd) = +in(urd-phonetic):4 + iu(basic) = +ca(ike):4 + lo(basic) = +la(basic):4 + kan(basic) = +in(kan):4 + mal(basic) = +in(mal):4 + mal(mlplusnum) = +in(mal):4 + ogham(basic) = +ie(ogam):4 + ogham(laptop) = +ie(ogam):4 + ogham(is434) = +ie(ogam_is434):4 + ogham(is434laptop) = +ie(ogam_is434):4 + ori(basic) = +in(ori):4 + ro(de) = +ro(winkeys):4 + ro(us) = +ro(std):4 + ro(academic) = +ro(std):4 + ro(std_comma) = +ro(std):4 + ro(comma) = +ro(basic):4 + ru(os) = +ru(os_legacy):4 + pk(urd) = +pk(urd-phonetic):4 + sapmi(basic) = +no(smi):4 + sapmi(nodeadkeys) = +no(smi_nodeadkeys):4 + sapmi(sefi) = +fi(smi):4 + sin(phonetic-static) = +in(sin_phonetic):4 + syr(basic) = +sy(syc):4 + syr(phonetic) = +sy(syc_phonetic):4 + tam(INSCRIPT) = +in(tam):4 + tam(UNI) = +in(tam_unicode):4 + tam(TAB) = +in(tam_TAB):4 + tam(TSCII) = +in(tam_TSCII):4 + tel(basic) = +in(tel):4 + yu(basic) = +srp(latin):4 + yu(unicode) = +srp(latinunicode):4 + yu(yz) = +srp(latinyz):4 + yu(unicodeyz) = +srp(latinunicodeyz):4 + * = +%l[4]%(v[4]):4 + +! layout[2] variant[2] = symbols + ben basic = +in(ben):2 + ben probhat = +in(ben_probhat):2 + dev basic = +in(deva):2 + dvorak $dvoraklayouts = +%v(dvorak):2 + dvorak basic = +us(dvorak):2 + dvorak pl_basic = +pl(dvorak):2 + dvorak pl = +pl(dvorak_quotes):2 + dvorak pl_altquotes = +pl(dvorak_altquotes):2 + dzdwi basic = +bt(basic):2 + fi basic = +fi(classic):2 + ge azerty_tskapo = +fr(geo):2 + guj basic = +in(guj):2 + gur basic = +in(guru):2 + ie laptop = +ie(basic):2 + ie CloGaelachLaptop = +ie(CloGaelach):2 + il si1452 = +ie(basic):2 + in urd = +in(urd-phonetic):2 + iu basic = +ca(ike):2 + lo basic = +la(basic):2 + kan basic = +in(kan):2 + mal basic = +in(mal):2 + mal mlplusnum = +in(mal):2 + ogham basic = +ie(ogam):2 + ogham laptop = +ie(ogam):2 + ogham is434 = +ie(ogam_is434):2 + ogham is434laptop = +ie(ogam_is434):2 + ori basic = +in(ori):2 + ro de = +ro(winkeys):2 + ro us = +ro(std):2 + ro academic = +ro(std):2 + ro std_comma = +ro(std):2 + ro comma = +ro(basic):2 + ru os = +ru(os_legacy):2 + pk urd = +pk(urd-phonetic):2 + sapmi basic = +no(smi):2 + sapmi nodeadkeys = +no(smi_nodeadkeys):2 + sapmi sefi = +fi(smi):2 + sin phonetic-static = +in(sin_phonetic):2 + syr basic = +sy(syc):2 + syr phonetic = +sy(syc_phonetic):2 + tam INSCRIPT = +in(tam):2 + tam UNI = +in(tam_unicode):2 + tam TAB = +in(tam_TAB):2 + tam TSCII = +in(tam_TSCII):2 + tel basic = +in(tel):2 + yu basic = +srp(latin):2 + yu unicode = +srp(latinunicode):2 + yu yz = +srp(latinyz):2 + yu unicodeyz = +srp(latinunicodeyz):2 + +! layout[3] variant[3] = symbols + ben basic = +in(ben):3 + ben probhat = +in(ben_probhat):3 + dev basic = +in(deva):3 + dvorak $dvoraklayouts = +%v(dvorak):3 + dvorak basic = +us(dvorak):3 + dvorak pl_basic = +pl(dvorak):3 + dvorak pl = +pl(dvorak_quotes):3 + dvorak pl_altquotes = +pl(dvorak_altquotes):3 + dzdwi basic = +bt(basic):3 + fi basic = +fi(classic):3 + ge azerty_tskapo = +fr(geo):3 + guj basic = +in(guj):3 + gur basic = +in(guru):3 + ie laptop = +ie(basic):3 + ie CloGaelachLaptop = +ie(CloGaelach):3 + il si1452 = +ie(basic):3 + in urd = +in(urd-phonetic):3 + iu basic = +ca(ike):3 + lo basic = +la(basic):3 + kan basic = +in(kan):3 + mal basic = +in(mal):3 + mal mlplusnum = +in(mal):3 + ogham basic = +ie(ogam):3 + ogham laptop = +ie(ogam):3 + ogham is434 = +ie(ogam_is434):3 + ogham is434laptop = +ie(ogam_is434):3 + ori basic = +in(ori):3 + ro de = +ro(winkeys):3 + ro us = +ro(std):3 + ro academic = +ro(std):3 + ro std_comma = +ro(std):3 + ro comma = +ro(basic):3 + ru os = +ru(os_legacy):3 + pk urd = +pk(urd-phonetic):3 + sapmi basic = +no(smi):3 + sapmi nodeadkeys = +no(smi_nodeadkeys):3 + sapmi sefi = +fi(smi):3 + sin phonetic-static = +in(sin_phonetic):3 + syr basic = +sy(syc):3 + syr phonetic = +sy(syc_phonetic):3 + tam INSCRIPT = +in(tam):3 + tam UNI = +in(tam_unicode):3 + tam TAB = +in(tam_TAB):3 + tam TSCII = +in(tam_TSCII):3 + tel basic = +in(tel):3 + yu basic = +srp(latin):3 + yu unicode = +srp(latinunicode):3 + yu yz = +srp(latinyz):3 + yu unicodeyz = +srp(latinunicodeyz):3 + +! layout[4] variant[4] = symbols + ben basic = +in(ben):4 + ben probhat = +in(ben_probhat):4 + dev basic = +in(deva):4 + dvorak $dvoraklayouts = +%v(dvorak):4 + dvorak basic = +us(dvorak):4 + dvorak pl_basic = +pl(dvorak):4 + dvorak pl = +pl(dvorak_quotes):4 + dvorak pl_altquotes = +pl(dvorak_altquotes):4 + dzdwi basic = +bt(basic):4 + fi basic = +fi(classic):4 + ge azerty_tskapo = +fr(geo):4 + guj basic = +in(guj):4 + gur basic = +in(guru):4 + ie laptop = +ie(basic):4 + ie CloGaelachLaptop = +ie(CloGaelach):4 + il si1452 = +ie(basic):4 + in urd = +in(urd-phonetic):4 + iu basic = +ca(ike):4 + lo basic = +la(basic):4 + kan basic = +in(kan):4 + mal basic = +in(mal):4 + mal mlplusnum = +in(mal):4 + ogham basic = +ie(ogam):4 + ogham laptop = +ie(ogam):4 + ogham is434 = +ie(ogam_is434):4 + ogham is434laptop = +ie(ogam_is434):4 + ori basic = +in(ori):4 + ro de = +ro(winkeys):4 + ro us = +ro(std):4 + ro academic = +ro(std):4 + ro std_comma = +ro(std):4 + ro comma = +ro(basic):4 + ru os = +ru(os_legacy):4 + pk urd = +pk(urd-phonetic):4 + sapmi basic = +no(smi):4 + sapmi nodeadkeys = +no(smi_nodeadkeys):4 + sapmi sefi = +fi(smi):4 + sin phonetic-static = +in(sin_phonetic):4 + syr basic = +sy(syc):4 + syr phonetic = +sy(syc_phonetic):4 + tam INSCRIPT = +in(tam):4 + tam UNI = +in(tam_unicode):4 + tam TAB = +in(tam_TAB):4 + tam TSCII = +in(tam_TSCII):4 + tel basic = +in(tel):4 + yu basic = +srp(latin):4 + yu unicode = +srp(latinunicode):4 + yu yz = +srp(latinyz):4 + yu unicodeyz = +srp(latinunicodeyz):4 + +! model = symbols + thinkpad = +inet(evdev)+madduck(thinkpad_switch) + * = +inet(evdev)+madduck(default_switch) + +! model layout = compat + pc98 nec_vndr/jp = pc98(basic) + * jp = complete+japan + olpc * = olpc + * * = complete + +! model layout[1] = compat + * * = complete + +! model = types + $macs = complete+numpad(mac) + * = complete + +! layout option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle) + * misc:typo = +typo(base) + +! layout[1] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1 + * misc:typo = +typo(base):1 + +! layout[2] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2 + * misc:typo = +typo(base):2 + +! layout[3] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3 + * misc:typo = +typo(base):3 + +! layout[4] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4 + * misc:typo = +typo(base):4 + +! option = symbols + grp:shift_toggle = +group(shifts_toggle) + altwin:menu = +altwin(menu) + altwin:meta_alt = +altwin(meta_alt) + altwin:ctrl_win = +altwin(ctrl_win) + 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) + grp:switch = +group(switch) + grp:lswitch = +group(lswitch) + grp:win_switch = +group(win_switch) + grp:lwin_switch = +group(lwin_switch) + grp:rwin_switch = +group(rwin_switch) + grp:toggle = +group(toggle) + grp:shifts_toggle = +group(shifts_toggle) + grp:ctrls_toggle = +group(ctrls_toggle) + grp:alts_toggle = +group(alts_toggle) + grp:ctrl_shift_toggle = +group(ctrl_shift_toggle) + grp:lctrl_lshift_toggle = +group(lctrl_lshift_toggle) + grp:caps_toggle = +capslock(grouplock) + grp:caps_switch = +capslock(groupshift) + grp:shift_caps_toggle = +group(shift_caps_toggle) + grp:shift_caps_switch = +group(shift_caps_switch) + grp:win_menu_switch = +group(win_menu_switch) + grp:alt_caps_toggle = +group(alt_caps_toggle) + grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) + grp:alt_shift_toggle = +group(alt_shift_toggle) + grp:alt_space_toggle = +group(alt_space_toggle) + grp:menu_toggle = +group(menu_toggle) + grp:lwin_toggle = +group(lwin_toggle) + grp:rwin_toggle = +group(rwin_toggle) + grp:lshift_toggle = +group(lshift_toggle) + grp:rshift_toggle = +group(rshift_toggle) + grp:rctrl_switch = +group(rctrl_switch) + 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) + lv3:ralt_alt = +level3(ralt_alt) + lv3:lalt_switch = +level3(lalt_switch) + lv3:alt_switch = +level3(alt_switch) + lv3:menu_switch = +level3(menu_switch) + 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) + caps:escape = +capslock(escape) + caps:backspace = +capslock(backspace) + ctrl:nocaps = +ctrl(nocaps) + ctrl:swapcaps = +ctrl(swapcaps) + ctrl:ctrl_ac = +ctrl(ctrl_ac) + ctrl:ctrl_aa = +ctrl(ctrl_aa) + ctrl:ctrl_ra = +ctrl(ctrl_ra) + compose:ralt = +compose(ralt) + compose:lwin = +compose(lwin) + compose:rwin = +compose(rwin) + compose:menu = +compose(menu) + compose:rctrl = +compose(rctrl) + compose:caps = +compose(caps) + compose:102 = +compose(102) + srvrkeys:none = +srvr_ctrl(no_srvr_keys) + eurosign:e = +eurosign(e) + eurosign:2 = +eurosign(2) + eurosign:4 = +eurosign(4) + eurosign:5 = +eurosign(5) + keypad:oss = +keypad(oss) + keypad:legacy = +keypad(legacy) + keypad:legacy_wang = +keypad(legacy_wang) + keypad:oss_wang = +keypad(oss_wang) + keypad:future = +keypad(future) + keypad:future_wang = +keypad(future_wang) + keypad:hex = +keypad(ops)+keypad(hex) + keypad:atm = +keypad(ops)+keypad(hex)+keypad(atm) + nbsp:none = +nbsp(none) + nbsp:level2 = +nbsp(level2) + nbsp:level3 = +nbsp(level3) + nbsp:level3s = +nbsp(level3s) + nbsp:level3n = +nbsp(level3n) + nbsp:level4 = +nbsp(level4) + nbsp:level4n = +nbsp(level4n) + nbsp:level4nl = +nbsp(level4nl) + japan:nicola_f_bs = +jp(nicola_f_bs) + kpdl:dot = +kpdl(dot) + kpdl:comma = +kpdl(comma) + kpdl:dotoss = +kpdl(dotoss) + kpdl:dotoss_latin9 = +kpdl(dotoss_latin9) + kpdl:commaoss = +kpdl(commaoss) + kpdl:momayyezoss = +kpdl(momayyezoss) + kpdl:kposs = +kpdl(kposs) + kpdl:semi = +kpdl(semi) + shift:breaks_caps = +shift(breaks_caps) + esperanto:qwerty = +epo(qwerty) + esperanto:dvorak = +epo(dvorak) + madduck:caps_mod4 = +madduck(caps_mod4) + madduck:group2_intl = +madduck(group2_intl) + + +! option = compat + grp_led:num = +lednum(group_lock) + grp_led:caps = +ledcaps(group_lock) + grp_led:scroll = +ledscroll(group_lock) + grp:caps_toggle = +ledcaps(group_lock) + japan:kana_lock = +japan(kana_lock) + caps:shiftlock = +ledcaps(shift_lock) + + +! 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/.xkb/rules/evdev.lst b/.xkb/rules/evdev.lst new file mode 100644 index 0000000..9c1ef15 --- /dev/null +++ b/.xkb/rules/evdev.lst @@ -0,0 +1,717 @@ +! model + pc101 Generic 101-key PC + pc102 Generic 102-key (Intl) PC + pc104 Generic 104-key PC + pc105 Generic 105-key (Intl) PC + dell101 Dell 101-key PC + latitude Dell Latitude series laptop + dellm65 Dell Precision M65 + everex Everex STEPnote + flexpro Keytronic FlexPro + microsoft Microsoft Natural + omnikey101 Northgate OmniKey 101 + winbook Winbook Model XP5 + jp106 Japanese 106-key + pc98 PC-98xx Series + a4techKB21 A4Tech KB-21 + a4techKBS8 A4Tech KBS-8 + a4_rfkb23 A4Tech Wireless Desktop RFKB-23 + abnt2 Brazilian ABNT2 + airkey Acer AirKey V + acpi ACPI Standard + azonaRF2300 Azona RF2300 wireless Internet Keyboard + scorpius Advance Scorpius KI + brother Brother Internet Keyboard + btc5113rf BTC 5113RF Multimedia + btc5126t BTC 5126T + btc6301urf BTC 6301URF + btc9000 BTC 9000 + btc9000a BTC 9000A + btc9001ah BTC 9001AH + btc5090 BTC 5090 + btc9019u BTC 9019U + btc9116u BTC 9116U Mini Wireless Internet and Gaming + cherryblue Cherry Blue Line CyBo@rd + cherryblueb Cherry CyMotion Master XPress + cherrybluea Cherry Blue Line CyBo@rd (alternate option) + cherrycyboard Cherry CyBo@rd USB-Hub + cherrycmexpert Cherry CyMotion Expert + chicony Chicony Internet Keyboard + chicony0108 Chicony KU-0108 + chicony0420 Chicony KU-0420 + chicony9885 Chicony KB-9885 + compaqeak8 Compaq Easy Access Keyboard + compaqik7 Compaq Internet Keyboard (7 keys) + compaqik13 Compaq Internet Keyboard (13 keys) + compaqik18 Compaq Internet Keyboard (18 keys) + cymotionlinux Cherry CyMotion Master Linux + armada Laptop/notebook Compaq (eg. Armada) Laptop Keyboard + presario Laptop/notebook Compaq (eg. Presario) Internet Keyboard + ipaq Compaq iPaq Keyboard + dell Dell + dellsk8125 Dell SK-8125 + dellsk8135 Dell SK-8135 + dellusbmm Dell USB Multimedia Keyboard + inspiron Dell Laptop/notebook Inspiron 6xxx/8xxx + precision_m Dell Laptop/notebook Precision M series + dexxa Dexxa Wireless Desktop Keyboard + diamond Diamond 9801 / 9802 series + dtk2000 DTK2000 + ennyah_dkb1008 Ennyah DKB-1008 + fscaa1667g Fujitsu-Siemens Computers AMILO laptop + genius Genius Comfy KB-16M / Genius MM Keyboard KWD-910 + geniuscomfy Genius Comfy KB-12e + geniuscomfy2 Genius Comfy KB-21e-Scroll + geniuskb19e Genius KB-19e NB + gyration Gyration + logitech_base Logitech Generic Keyboard + logitech_g15 Logitech G15 extra keys via G15daemon + hpi6 Hewlett-Packard Internet Keyboard + hp250x Hewlett-Packard SK-250x Multimedia Keyboard + hpxe3gc Hewlett-Packard Omnibook XE3 GC + hpxe3gf Hewlett-Packard Omnibook XE3 GF + hpxt1000 Hewlett-Packard Omnibook XT1000 + hpdv5 Hewlett-Packard Pavilion dv5 + hpzt11xx Hewlett-Packard Pavilion ZT11xx + hp500fa Hewlett-Packard Omnibook 500 FA + hp5xx Hewlett-Packard Omnibook 5xx + hpnx9020 Hewlett-Packard nx9020 + hp6000 Hewlett-Packard Omnibook 6000/6100 + honeywell_euroboard Honeywell Euroboard + rapidaccess IBM Rapid Access + rapidaccess2 IBM Rapid Access II + thinkpad IBM ThinkPad 560Z/600/600E/A22E + thinkpadintl IBM ThinkPad 560Z/600/600E/A22E, Intl + thinkpad60 IBM ThinkPad R60/T60/R61/T61 + thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t + ibm_spacesaver IBM Space Saver + logiaccess Logitech Access Keyboard + logiclx300 Logitech Cordless Desktop LX-300 + logii350 Logitech Internet 350 Keyboard + logimel Logitech Media Elite Keyboard + logicd Logitech Cordless Desktop + logicd_it Logitech Cordless Desktop iTouch + logicd_nav Logitech Cordless Desktop Navigator + logicd_opt Logitech Cordless Desktop Optical + logicda Logitech Cordless Desktop (alternate option) + logicdpa2 Logitech Cordless Desktop Pro (alternate option2) + logicfn Logitech Cordless Freedom/Desktop Navigator + logicdn Logitech Cordless Desktop Navigator + logiitc Logitech iTouch Cordless Keyboard (model Y-RB6) + logiik Logitech Internet Keyboard + itouch Logitech iTouch + logicink Logitech Internet Navigator Keyboard + logiex110 Logitech Cordless Desktop EX110 + logiinkse Logitech iTouch Internet Navigator Keyboard SE + logiinkseusb Logitech iTouch Internet Navigator Keyboard SE (USB) + logiultrax Logitech Ultra-X Keyboard + logiultraxc Logitech Ultra-X Cordless Media Desktop Keyboard + logidinovo Logitech diNovo Keyboard + logidinovoedge Logitech diNovo Edge Keyboard + mx1998 Memorex MX1998 + mx2500 Memorex MX2500 EZ-Access Keyboard + mx2750 Memorex MX2750 + microsoft7000 Microsoft Natural Wireless Ergonomic Keyboard 7000 + microsoftinet Microsoft Internet Keyboard + microsoftpro Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro + microsoftprousb Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro + microsoftprooem Microsoft Natural Keyboard Pro OEM + vsonku306 ViewSonic KU-306 Internet Keyboard + microsoftprose Microsoft Internet Keyboard Pro, Swedish + microsoftoffice Microsoft Office Keyboard + microsoftmult Microsoft Wireless Multimedia Keyboard 1.0A + microsoftelite Microsoft Natural Keyboard Elite + microsoftccurve2k Microsoft Comfort Curve Keyboard 2000 + oretec Ortek MCK-800 MM/Internet keyboard + propeller Propeller Voyager (KTEZ-1000) + qtronix QTronix Scorpius 98N+ + samsung4500 Samsung SDM 4500P + samsung4510 Samsung SDM 4510P + sk1300 SK-1300 + sk2500 SK-2500 + sk6200 SK-6200 + sk7100 SK-7100 + sp_inet Super Power Multimedia Keyboard + sven SVEN Ergonomic 2500 + sven303 SVEN Slim 303 + symplon Symplon PaceBook (tablet PC) + toshiba_s3000 Toshiba Satellite S3000 + trust Trust Wireless Keyboard Classic + trustda Trust Direct Access Keyboard + yahoo Yahoo! Internet Keyboard + macbook78 MacBook/MacBook Pro + macbook79 MacBook/MacBook Pro (Intl) + macintosh Macintosh + macintosh_old Macintosh Old + macintosh_hhk Happy Hacking Keyboard for Mac + acer_c300 Acer C300 + acer_ferrari4k Acer Ferrari 4000 + acer_laptop Acer Laptop + asus_laptop Asus Laptop + apple Apple + apple_laptop Apple Laptop + silvercrest SILVERCREST Multimedia Wireless Keyboard + emachines Laptop/notebook eMachines m68xx + kr106 Korean 106-key + evdev Evdev-managed keyboard + benqx BenQ X-Touch + benqx730 BenQ X-Touch 730 + benqx800 BenQ X-Touch 800 + hhk Happy Hacking Keyboard + classmate Classmate PC + olpc OLPC + sun6 Sun Type 5/6 + targa_v811 Targa Visionary 811 + unitekkb1925 Unitek KB-1925 + compalfl90 FL90 + +! layout + us USA + ad Andorra + af Afghanistan + ara Arabic + al Albania + am Armenia + az Azerbaijan + by Belarus + be Belgium + bd Bangladesh + in India + ba Bosnia and Herzegovina + br Brazil + bg Bulgaria + ma Morocco + mm Myanmar + ca Canada + cd Congo, Democratic Republic of the + cn China + hr Croatia + cz Czechia + dk Denmark + nl Netherlands + bt Bhutan + ee Estonia + ir Iran + iq Iraq + fo Faroe Islands + fi Finland + fr France + gh Ghana + gn Guinea + ge Georgia + de Germany + gr Greece + hu Hungary + is Iceland + il Israel + it Italy + jp Japan + kg Kyrgyzstan + kh Cambodia + kz Kazakhstan + la Laos + latam Latin American + lt Lithuania + lv Latvia + mao Maori + me Montenegro + mk Macedonia + mt Malta + mn Mongolia + no Norway + pl Poland + pt Portugal + ro Romania + ru Russia + rs Serbia + si Slovenia + sk Slovakia + es Spain + se Sweden + ch Switzerland + sy Syria + tj Tajikistan + lk Sri Lanka + th Thailand + tr Turkey + ua Ukraine + gb United Kingdom + uz Uzbekistan + vn Vietnam + kr Korea, Republic of + nec_vndr/jp Japan (PC-98xx Series) + ie Ireland + pk Pakistan + mv Maldives + za South Africa + epo Esperanto + np Nepal + ng Nigeria + et Ethiopia + braille Braille + +! variant + chr us: Cherokee + euro us: With EuroSign on 5 + intl us: International (with dead keys) + alt-intl us: Alternative international (former us_intl) + colemak us: Colemak + dvorak us: Dvorak + dvorak-intl us: Dvorak international + dvorak-l us: Left handed Dvorak + dvorak-r us: Right handed Dvorak + dvorak-classic us: Classic Dvorak + dvp us: Programmer Dvorak + rus us: Russian phonetic + mac us: Macintosh + altgr-intl us: International (AltGr dead keys) + olpc2 us: Group toggle on multiply/divide key + ps af: Pashto + uz af: Southern Uzbek + olpc-ps af: OLPC Pashto + olpc-fa af: OLPC Dari + olpc-uz af: OLPC Southern Uzbek + azerty ara: azerty + azerty_digits ara: azerty/digits + digits ara: digits + qwerty ara: qwerty + qwerty_digits ara: qwerty/digits + buckwalter ara: Buckwalter + phonetic am: Phonetic + phonetic-alt am: Alternative Phonetic + eastern am: Eastern + western am: Western + eastern-alt am: Alternative Eastern + cyrillic az: Cyrillic + winkeys by: Winkeys + latin by: Latin + oss be: Alternative + oss_latin9 be: Alternative, latin-9 only + oss_sundeadkeys be: Alternative, Sun dead keys + iso-alternate be: ISO Alternate + nodeadkeys be: Eliminate dead keys + sundeadkeys be: Sun dead keys + wang be: Wang model 724 azerty + probhat bd: Probhat + ben in: Bengali + ben_probhat in: Bengali Probhat + guj in: Gujarati + guru in: Gurmukhi + jhelum in: Gurmukhi Jhelum + kan in: Kannada + mal in: Malayalam + mal_lalitha in: Malayalam Lalitha + ori in: Oriya + tam_unicode in: Tamil Unicode + tam_TAB in: Tamil TAB Typewriter + tam_TSCII in: Tamil TSCII Typewriter + tam in: Tamil + tel in: Telugu + urd-phonetic in: Urdu, Phonetic + urd-phonetic3 in: Urdu, Alternative phonetic + urd-winkeys in: Urdu, Winkeys + bolnagri in: Hindi Bolnagri + alternatequotes ba: Use guillemets for quotes + unicode ba: Use Bosnian digraphs + unicodeus ba: US keyboard with Bosnian digraphs + us ba: US keyboard with Bosnian letters + nodeadkeys br: Eliminate dead keys + dvorak br: Dvorak + nativo br: Nativo + nativo-us br: Nativo for USA keyboards + nativo-epo br: Nativo for Esperanto + phonetic bg: Phonetic + french ma: French + tifinagh ma: Tifinagh + tifinagh-alt ma: Tifinagh Alternative + tifinagh-alt-phonetic ma: Tifinagh Alternative Phonetic + tifinagh-extended ma: Tifinagh Extended + tifinagh-phonetic ma: Tifinagh Phonetic + tifinagh-extended-phonetic ma: Tifinagh Extended Phonetic + fr-dvorak ca: French Dvorak + fr-legacy ca: French (legacy) + multix ca: Multilingual + multi ca: Multilingual, first part + multi-2gr ca: Multilingual, second part + ike ca: Inuktitut + shs ca: Secwepemctsin + kut ca: Ktunaxa + eng ca: English + tib cn: Tibetan + tib_asciinum cn: Tibetan (with ASCII numerals) + alternatequotes hr: Use guillemets for quotes + unicode hr: Use Croatian digraphs + unicodeus hr: US keyboard with Croatian digraphs + us hr: US keyboard with Croatian letters + bksl cz: With <\|> key + qwerty cz: qwerty + qwerty_bksl cz: qwerty, extended Backslash + ucw cz: UCW layout (accented letters only) + nodeadkeys dk: Eliminate dead keys + mac dk: Macintosh + mac_nodeadkeys dk: Macintosh, eliminate dead keys + dvorak dk: Dvorak + sundeadkeys nl: Sun dead keys + mac nl: Macintosh + std nl: Standard + nodeadkeys ee: Eliminate dead keys + dvorak ee: Dvorak + us ee: US keyboard with Estonian letters + pro ir: Pro + keypad ir: Keypad + pro_keypad ir: Pro Keypad + ku ir: Kurdish, Latin Q + ku_f ir: Kurdish, (F) + ku_alt ir: Kurdish, Latin Alt-Q + ku_ara ir: Kurdish, Arabic-Latin + ku iq: Kurdish, Latin Q + ku_f iq: Kurdish, (F) + ku_alt iq: Kurdish, Latin Alt-Q + ku_ara iq: Kurdish, Arabic-Latin + nodeadkeys fo: Eliminate dead keys + nodeadkeys fi: Eliminate dead keys + smi fi: Northern Saami + classic fi: Classic + mac fi: Macintosh + nodeadkeys fr: Eliminate dead keys + sundeadkeys fr: Sun dead keys + oss fr: Alternative + oss_latin9 fr: Alternative, latin-9 only + oss_nodeadkeys fr: Alternative, eliminate dead keys + oss_sundeadkeys fr: Alternative, Sun dead keys + latin9 fr: (Legacy) Alternative + latin9_nodeadkeys fr: (Legacy) Alternative, eliminate dead keys + latin9_sundeadkeys fr: (Legacy) Alternative, Sun dead keys + bepo fr: Bepo, ergonomic, Dvorak way + bepo_latin9 fr: Bepo, ergonomic, Dvorak way, latin-9 only + dvorak fr: Dvorak + mac fr: Macintosh + bre fr: Breton + geo fr: Georgian AZERTY Tskapo + generic gh: Multilingual + akan gh: Akan + ewe gh: Ewe + fula gh: Fula + ga gh: Ga + hausa gh: Hausa + ergonomic ge: Ergonomic + mess ge: MESS + ru ge: Russian + os ge: Ossetian + deadacute de: Dead acute + deadgraveacute de: Dead grave acute + nodeadkeys de: Eliminate dead keys + ro de: Romanian keyboard with German letters + ro_nodeadkeys de: Romanian keyboard with German letters, eliminate dead keys + dvorak de: Dvorak + sundeadkeys de: Sun dead keys + neo de: Neo 2 + mac de: Macintosh + mac_nodeadkeys de: Macintosh, eliminate dead keys + dsb de: Lower Sorbian + dsb_qwertz de: Lower Sorbian (qwertz) + qwerty de: qwerty + simple gr: Simple + extended gr: Extended + nodeadkeys gr: Eliminate dead keys + polytonic gr: Polytonic + standard hu: Standard + nodeadkeys hu: Eliminate dead keys + qwerty hu: qwerty + 101_qwertz_comma_dead hu: 101/qwertz/comma/Dead keys + 101_qwertz_comma_nodead hu: 101/qwertz/comma/Eliminate dead keys + 101_qwertz_dot_dead hu: 101/qwertz/dot/Dead keys + 101_qwertz_dot_nodead hu: 101/qwertz/dot/Eliminate dead keys + 101_qwerty_comma_dead hu: 101/qwerty/comma/Dead keys + 101_qwerty_comma_nodead hu: 101/qwerty/comma/Eliminate dead keys + 101_qwerty_dot_dead hu: 101/qwerty/dot/Dead keys + 101_qwerty_dot_nodead hu: 101/qwerty/dot/Eliminate dead keys + 102_qwertz_comma_dead hu: 102/qwertz/comma/Dead keys + 102_qwertz_comma_nodead hu: 102/qwertz/comma/Eliminate dead keys + 102_qwertz_dot_dead hu: 102/qwertz/dot/Dead keys + 102_qwertz_dot_nodead hu: 102/qwertz/dot/Eliminate dead keys + 102_qwerty_comma_dead hu: 102/qwerty/comma/Dead keys + 102_qwerty_comma_nodead hu: 102/qwerty/comma/Eliminate dead keys + 102_qwerty_dot_dead hu: 102/qwerty/dot/Dead keys + 102_qwerty_dot_nodead hu: 102/qwerty/dot/Eliminate dead keys + Sundeadkeys is: Sun dead keys + nodeadkeys is: Eliminate dead keys + mac is: Macintosh + dvorak is: Dvorak + lyx il: lyx + phonetic il: Phonetic + biblical il: Biblical Hebrew (Tiro) + nodeadkeys it: Eliminate dead keys + mac it: Macintosh + geo it: Georgian + kana jp: Kana + OADG109A jp: OADG 109A + ruskaz kz: Russian with Kazakh + kazrus kz: Kazakh with Russian + nodeadkeys latam: Eliminate dead keys + deadtilde latam: Include dead tilde + sundeadkeys latam: Sun dead keys + std lt: Standard + us lt: US keyboard with Lithuanian letters + ibm lt: IBM (LST 1205-92) + lekp lt: LEKP + lekpa lt: LEKPa + apostrophe lv: Apostrophe (') variant + tilde lv: Tilde (~) variant + fkey lv: F-letter (F) variant + cyrillic me: Cyrillic + cyrillicyz me: Cyrillic, Z and ZHE swapped + latinunicode me: Latin unicode + latinyz me: Latin qwerty + latinunicodeyz me: Latin unicode qwerty + cyrillicalternatequotes me: Cyrillic with guillemets + latinalternatequotes me: Latin with guillemets + nodeadkeys mk: Eliminate dead keys + us mt: Maltese keyboard with US layout + nodeadkeys no: Eliminate dead keys + dvorak no: Dvorak + smi no: Northern Saami + smi_nodeadkeys no: Northern Saami, eliminate dead keys + mac no: Macintosh + mac_nodeadkeys no: Macintosh, eliminate dead keys + qwertz pl: qwertz + dvorak pl: Dvorak + dvorak_quotes pl: Dvorak, Polish quotes on quotemark key + dvorak_altquotes pl: Dvorak, Polish quotes on key "1/!" + csb pl: Kashubian + ru_phonetic_dvorak pl: Russian phonetic Dvorak + nodeadkeys pt: Eliminate dead keys + sundeadkeys pt: Sun dead keys + mac pt: Macintosh + mac_nodeadkeys pt: Macintosh, eliminate dead keys + mac_sundeadkeys pt: Macintosh, Sun dead keys + nativo pt: Nativo + nativo-us pt: Nativo for USA keyboards + nativo-epo pt: Nativo for Esperanto + cedilla ro: Cedilla + std ro: Standard + std_cedilla ro: Standard (Cedilla) + winkeys ro: Winkeys + phonetic ru: Phonetic + typewriter ru: Typewriter + legacy ru: Legacy + tt ru: Tatar + os_legacy ru: Ossetian, legacy + os_winkeys ru: Ossetian, Winkeys + cv ru: Chuvash + cv_latin ru: Chuvash Latin + udm ru: Udmurt + kom ru: Komi + sah ru: Yakut + xal ru: Kalmyk + yz rs: Z and ZHE swapped + latin rs: Latin + latinunicode rs: Latin Unicode + latinyz rs: Latin qwerty + latinunicodeyz rs: Latin Unicode qwerty + alternatequotes rs: With guillemets + latinalternatequotes rs: Latin with guillemets + alternatequotes si: Use guillemets for quotes + unicode si: Use Slovenian digraphs + unicodeus si: US keyboard with Slovenian digraphs + us si: US keyboard with Slovenian letters + bksl sk: Extended Backslash + qwerty sk: qwerty + qwerty_bksl sk: qwerty, extended Backslash + nodeadkeys es: Eliminate dead keys + deadtilde es: Include dead tilde + sundeadkeys es: Sun dead keys + dvorak es: Dvorak + ast es: Asturian variant with bottom-dot H and bottom-dot L + cat es: Catalan variant with middle-dot L + mac es: Macintosh + nodeadkeys se: Eliminate dead keys + dvorak se: Dvorak + rus se: Russian phonetic + rus_nodeadkeys se: Russian phonetic, eliminate dead keys + smi se: Northern Saami + mac se: Macintosh + svdvorak se: Svdvorak + de_nodeadkeys ch: German, eliminate dead keys + de_sundeadkeys ch: German, Sun dead keys + fr ch: French + fr_nodeadkeys ch: French, eliminate dead keys + fr_sundeadkeys ch: French, Sun dead keys + fr_mac ch: French (Macintosh) + de_mac ch: German (Macintosh) + syc sy: Syriac + syc_phonetic sy: Syriac phonetic + ku sy: Kurdish, Latin Q + ku_f sy: Kurdish, (F) + ku_alt sy: Kurdish, Latin Alt-Q + legacy tj: Legacy + tam_unicode lk: Tamil Unicode + tam_TAB lk: Tamil TAB Typewriter + tis th: TIS-820.2538 + pat th: Pattachote + f tr: (F) + alt tr: Alt-Q + sundeadkeys tr: Sun dead keys + ku tr: Kurdish, Latin Q + ku_f tr: Kurdish, (F) + ku_alt tr: Kurdish, Latin Alt-Q + intl tr: International (with dead keys) + phonetic ua: Phonetic + typewriter ua: Typewriter + winkeys ua: Winkeys + unicode ua: Unicode + rstu ua: Standard RSTU + rstu_ru ua: Standard RSTU on Russian layout + homophonic ua: Homophonic + intl gb: International (with dead keys) + dvorak gb: Dvorak + dvorakukp gb: Dvorak (UK Punctuation) + mac gb: Macintosh + colemak gb: Colemak + latin uz: Latin + kr104 kr: 101/104 key Compatible + CloGaelach ie: CloGaelach + UnicodeExpert ie: UnicodeExpert + ogam ie: Ogham + ogam_is434 ie: Ogham IS434 + urd-crulp pk: CRULP + urd-nla pk: NLA + ara pk: Arabic + legacy epo: displaced semicolon and quote (obsolete) + igbo ng: Igbo + yoruba ng: Yoruba + hausa ng: Hausa + left_hand braille: Left hand + right_hand braille: Right hand + +! option + grp Key(s) to change layout + grp:switch Right Alt (while pressed) + grp:lswitch Left Alt (while pressed) + grp:lwin_switch Left Win (while pressed) + grp:rwin_switch Right Win (while pressed) + grp:win_switch Any Win key (while pressed) + grp:caps_switch CapsLock (while pressed), Alt+CapsLock does the original capslock action + grp:rctrl_switch Right Ctrl (while pressed) + grp:toggle Right Alt + grp:lalt_toggle Left Alt + grp:caps_toggle CapsLock + grp:shift_caps_toggle Shift+CapsLock + grp:shift_caps_switch CapsLock (to first layout), Shift+CapsLock (to last layout) + grp:win_menu_switch Left Win (to first layout), Right Win/Menu (to last layout) + grp:alt_caps_toggle Alt+CapsLock + grp:shifts_toggle Both Shift keys together + grp:alts_toggle Both Alt keys together + grp:ctrls_toggle Both Ctrl keys together + grp:ctrl_shift_toggle Ctrl+Shift + grp:lctrl_lshift_toggle Left Ctrl+Left Shift + grp:ctrl_alt_toggle Alt+Ctrl + grp:alt_shift_toggle Alt+Shift + grp:alt_space_toggle Alt+Space + grp:menu_toggle Menu + grp:lwin_toggle Left Win + grp:rwin_toggle Right Win + grp:lshift_toggle Left Shift + grp:rshift_toggle Right Shift + grp:lctrl_toggle Left Ctrl + grp:rctrl_toggle Right Ctrl + grp:sclk_toggle Scroll Lock + lv3 Key to choose 3rd level + lv3:switch Right Ctrl + lv3:menu_switch Menu + lv3:win_switch Any Win key + lv3:lwin_switch Left Win + lv3:rwin_switch Right Win + lv3:alt_switch Any Alt key + lv3:lalt_switch Left Alt + lv3:ralt_switch Right Alt + lv3:ralt_switch_multikey Right Alt, Shift+Right Alt key is Multi_Key + lv3:ralt_alt Right Alt key never chooses 3rd level + lv3:enter_switch Press Enter key on keypad to choose 3rd level. + ctrl Ctrl key position + ctrl:nocaps Make CapsLock an additional Ctrl + ctrl:swapcaps Swap Ctrl and CapsLock + ctrl:ctrl_ac At left of 'A' + ctrl:ctrl_aa At bottom left + ctrl:ctrl_ra Right Ctrl as Right Alt + grp_led Use keyboard LED to show alternative layout + grp_led:num NumLock + grp_led:caps CapsLock + grp_led:scroll ScrollLock + keypad Numeric keypad layout selection + keypad:legacy Legacy + keypad:oss Unicode additions (arrows and math operators) + keypad:future Unicode additions (arrows and math operators). Math operators on default level + keypad:legacy_wang Legacy Wang 724 + keypad:oss_wang Wang 724 keypad with unicode additions (arrows and math operators) + keypad:future_wang Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level + keypad:hex Hexadecimal + keypad:atm ATM/phone-style + kpdl Numeric keypad delete key behaviour + kpdl:dot Legacy key with dot + kpdl:comma Legacy key with comma + kpdl:dotoss Four-level key with dot + kpdl:dotoss_latin9 Four-level key with dot, latin-9 restriction + kpdl:commaoss Four-level key with comma + kpdl:momayyezoss Four-level key with momayyez + kpdl:kposs Four-level key with abstract separators + kpdl:semi Semi-colon on third level + caps CapsLock key behavior + caps:internal CapsLock uses internal capitalization. Shift "pauses" CapsLock + caps:internal_nocancel CapsLock uses internal capitalization. Shift doesn't affect CapsLock + caps:shift CapsLock acts as Shift with locking. Shift "pauses" CapsLock + caps:shift_nocancel CapsLock acts as Shift with locking. Shift doesn't affect CapsLock + caps:capslock CapsLock toggles normal capitalization of alphabetic characters + caps:swapescape Swap ESC and CapsLock + caps:escape Make CapsLock an additional ESC + caps:backspace Make CapsLock an additional Backspace + caps:shiftlock CapsLock toggles Shift so all keys are affected + altwin Alt/Win key behavior + altwin:menu Add the standard behavior to Menu key + altwin:meta_alt Alt and Meta are on Alt keys + altwin:ctrl_win Control is mapped to Win keys (and the usual Ctrl keys) + altwin:ctrl_alt_win Control is mapped to Alt keys, Alt is mapped to Win keys + altwin:meta_win Meta is mapped to Win keys + altwin:left_meta_win Meta is mapped to Left Win + altwin:super_win Super is mapped to Win keys + altwin:hyper_win Hyper is mapped to Win-keys + altwin:alt_super_win Alt is mapped to Right Win, Super to Menu + altwin:swap_lalt_lwin Left Alt is swapped with Left Win + Compose key Compose key position + compose:ralt Right Alt + compose:lwin Left Win + compose:rwin Right Win + compose:menu Menu + compose:rctrl Right Ctrl + compose:caps Caps Lock + compose:102 Less-than/Greater-than + compat Miscellaneous compatibility options + numpad:pc Default numeric keypad keys + numpad:mac Numeric keypad keys work as with Mac + numpad:microsoft Shift with numeric keypad keys works as in MS Windows + numpad:shift3 Shift does not cancel NumLock, chooses 3d level instead + srvrkeys:none Special keys (Ctrl+Alt+<key>) handled in a server + shift:breaks_caps Shift cancels CapsLock + misc:typo Enable extra typographic characters + eurosign Adding EuroSign to certain keys + eurosign:e E + eurosign:2 2 + eurosign:4 4 + eurosign:5 5 + nbsp Using space key to input non-breakable space character + nbsp:none Usual space at any level + nbsp:level2 Non-breakable space character at second level + nbsp:level3 Non-breakable space character at third level + nbsp:level3s Non-breakable space character at third level, nothing at fourth level + nbsp:level3n Non-breakable space character at third level, thin non-breakable space character at fourth level + nbsp:level4 Non-breakable space character at fourth level + nbsp:level4n Non-breakable space character at fourth level, thin non-breakable space character at sixth level + nbsp:level4nl Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift) + japan Japanese keyboard options + japan:kana_lock Kana Lock key is locking + japan:nicola_f_bs NICOLA-F style Backspace + esperanto Adding Esperanto circumflexes (supersigno) + esperanto:qwerty To the corresponding key in a Qwerty keyboard. + esperanto:dvorak To the corresponding key in a Dvorak keyboard. + madduck:caps_mod4 make caps lock key generate mod4 + madduck:group2_intl populate group2 with international and other symbols diff --git a/.xkb/symbols/madduck b/.xkb/symbols/madduck new file mode 100644 index 0000000..b18628f --- /dev/null +++ b/.xkb/symbols/madduck @@ -0,0 +1,185 @@ +// default_switch: set up windows keys for mode switching and the menu keys +// to generate mod3 +partial modifier_keys +xkb_symbols "default_switch" { + include "group(win_switch)" + replace key { + [ Super_L, Super_R ] + }; + modifier_map Mod3 { }; +}; + +// thinkpad_switch: on thinkpads, use the right control and alt keys as +// substitute for the missing menu and windows keys +partial modifier_keys +xkb_symbols "thinkpad_switch" { + include "group(switch)" + replace key { + [ Super_L, Super_R ] + }; + modifier_map Mod3 { }; +}; + +// caps_mod4: make capslock generate the mod4 modifier +partial modifier_keys +xkb_symbols "caps_mod4" { + replace key { + [ Hyper_L, Hyper_R ] + }; + modifier_map Mod4 { }; +}; + +// group2_intl: my group2 map of international and other symbols +partial modifier_keys alphanumeric_keys +xkb_symbols "group2_intl" { + key { + symbols[Group2] = [ degree, infinity ] + }; + key { + symbols[Group2] = [ onequarter, oneeighth ] + }; + key { + symbols[Group2] = [ twosuperior, onehalf ] + }; + key { + symbols[Group2] = [ threesuperior, threequarters ] + }; + key { + symbols[Group2] = [ eacute, Eacute ] + }; + key { + symbols[Group2] = [ EuroSign, cent ] + }; + key { + symbols[Group2] = [ copyright, trademark ] + }; + key { + symbols[Group2] = [ yacute, Yacute ] + }; + key { + symbols[Group2] = [ uacute, Uacute ] + }; + key { + symbols[Group2] = [ iacute, Iacute ] + }; + key { + symbols[Group2] = [ oacute, Oacute ] + }; + key { + symbols[Group2] = [ endash, emdash ] + }; + key { + symbols[Group2] = [ approximate, plusminus ] + }; + key { + symbols[Group2] = [ BackSpace, BackSpace ] + }; + key { + symbols[Group2] = [ Tab, Tab ] + }; + key { + symbols[Group2] = [ acircumflex, Acircumflex ] + }; + key { + symbols[Group2] = [ aacute, Aacute ] + }; + key { + symbols[Group2] = [ ediaeresis, Ediaeresis ] + }; + key { + symbols[Group2] = [ ecircumflex, Ecircumflex ] + }; + key { + symbols[Group2] = [ icircumflex, Icircumflex ] + }; + key { + symbols[Group2] = [ ydiaeresis, Ydiaeresis ] + }; + key { + symbols[Group2] = [ udiaeresis, Udiaeresis ] + }; + key { + symbols[Group2] = [ idiaeresis, Idiaeresis ] + }; + key { + symbols[Group2] = [ odiaeresis, Odiaeresis ] + }; + key { + symbols[Group2] = [ ocircumflex, Ocircumflex ] + }; + key { + symbols[Group2] = [ ae, AE ] + }; + key { + symbols[Group2] = [ oslash, Oslash ] + }; + key { + symbols[Group2] = [ aring, Aring ] + }; + key { + symbols[Group2] = [ adiaeresis, Adiaeresis ] + }; + key { + symbols[Group2] = [ ssharp, section ] + }; + key { + symbols[Group2] = [ egrave, Egrave ] + }; + key { + symbols[Group2] = [ eth, Eth ] + }; + key { + symbols[Group2] = [ thorn, Thorn ] + }; + key { + symbols[Group2] = [ ucircumflex, Ucircumflex ] + }; + key { + symbols[Group2] = [ ugrave, Ugrave ] + }; + key { + symbols[Group2] = [ igrave, Igrave ] + }; + key { + symbols[Group2] = [ ograve, Ograve ] + }; + key { + symbols[Group2] = [ leftdoublequotemark, leftarrow ] + }; + key { + symbols[Group2] = [ rightdoublequotemark, rightarrow ] + }; + key { + symbols[Group2] = [ Return, Return ] + }; + key { + symbols[Group2] = [ agrave, Agrave ] + }; + key { + symbols[Group2] = [ multiply, division ] + }; + key { + symbols[Group2] = [ ccedilla, Ccedilla ] + }; + key { + symbols[Group2] = [ atilde, Atilde ] + }; + key { + symbols[Group2] = [ otilde, Otilde ] + }; + key { + symbols[Group2] = [ ntilde, Ntilde ] + }; + key { + symbols[Group2] = [ mu, heart ] + }; + key { + symbols[Group2] = [ notsign, guillemotleft ] + }; + key { + symbols[Group2] = [ ellipsis, guillemotright ] + }; + key { + symbols[Group2] = [ exclamdown, questiondown ] + }; +}; diff --git a/.xsession.d/01-xkb b/.xsession.d/01-xkb index 7ff8667..1569982 100644 --- a/.xsession.d/01-xkb +++ b/.xsession.d/01-xkb @@ -1,5 +1,41 @@ # load the keyboard definitions -# DISABLED in favour of 01-xmodmap for now, until -# http://lists.freedesktop.org/archives/xorg/2008-June/036340.html -# is answered -#xkbcomp $HOME/.xkb ${DISPLAY%%.*} + +LAYOUT=us +OPTS=(madduck:group2_intl madduck:caps_mod4) + +is_thinkpad() { + case "${(%):-%m}" in + lapse) return 0;; + *) return 1;; + esac +} + +load_keymap() { + local xkbdir; xkbdir=$HOME/.xkb + local model; model="$1"; shift + local layout; layout="$1"; shift + + local args; args="-I -I$xkbdir -model $model -layout $layout -option" + args="$args -option ${(j: -option :)@}" + + info "running setxkbmap with args: $args" + local tmpfile; tmpfile="$(tempfile -p kbmap)" + trap "rm -f $tmpfile" EXIT + eval setxkbmap $args -print >| "$tmpfile" + info keymap setting follows: + cat "$tmpfile" >&2 + xkbcomp -I$HOME/.xkb "$tmpfile" ${DISPLAY%%.*} +} + +if is_thinkpad; then + info "loading keymap for thinkpad…" + load_keymap thinkpad us ${(z)OPTS} +else + info "loading pc104 keymap…" + load_keymap pc104 us ${(z)OPTS} +fi + +unset OPTS +unset LAYOUT + +# vim:ft=zsh -- 2.39.5