« Utilisateur:Thyle » : différence entre les versions
Aucun résumé des modifications |
mAucun résumé des modifications |
||
(4 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 26 : | Ligne 26 : | ||
https://wiki.archlinux.org/index.php/X_KeyBoard_extension | https://wiki.archlinux.org/index.php/X_KeyBoard_extension | ||
http://www.charvolant.org/~doug/xkb/html/node1.html | http://www.charvolant.org/~doug/xkb/html/node1.html | ||
Je ferais quelque chose de propre quand ma disposition sera stable. | |||
Il est possible de trouver la version la plus à jours sur mon profil GitHub, dans .xkb : https://github.com/BriceSD/dotfiles | |||
Mon layout à été conçu pour être utilisé avec xcape, les touches espace et tab sont inutilisable sans. | |||
Tout en vrac : | |||
//╔═════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦════╗ | |||
//║esc. ║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ del ║ F6 ║ F7 ║ F8 ║ F9 ║ F10 ║ F11 ║ F12 ║num.║ | |||
//╚═════╩══════════╩══════════╩══════════╩══════════╩══════════╣ ins ╠══════════╩══════════╩══════════╩══════════╩══════════╩══════════╩══════════╬════╣ | |||
//│ │ § │ W ‑ │ » │ ” │ ¿ ╠══════════╣ _ ¡ _ │ Ç │ : : : : │ ; ; ; ; │ ″ │ ® © │ ․ ̛ ║calc║ | |||
//│Comp.│ × º │ w │ " « " │ ' “ ' │ ` ‘ ` ║ ⌫ ║ _ _ │ ç │ : : : : │ ; ; ; ; │ ′ │ ° ™ │ µ ̆ ‰ ║ ║ | |||
//╔═════╗──────────┼──────────┼──────────┼──────────┼──────────║ ║──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────╠════╣ | |||
//║ ║ J ± += │ É ˝ │ O > │ P ≥ >= │ È ˚ ║ ║ ˆ ! != ! │ V │ D │ L │ B ¬ && │ Z Ə │ → ║mail║ | |||
//║ @ ║ j · + │ é ´ % │ o œ < │ p ≤ <= │ è ` ║ ║ ˆ ! ! ! │ v 7 │ d 8 │ l 9 │ b ˜ & │ z ə │ ⇒ ║ ⇤║ | |||
//╠═════╣──────────┼──────────┼──────────┼──────────┼──────────╠══════════╣──────────┼──────────┼──────────┼──────────┼──────────┼──────────╔══════════╬════╣ | |||
//║ ║ A Â -= │ U Ù = │ E Ê ) │ I ˙ } │ , ̛ , ║ ║ C \ / │ T │ S ß │ R │ N │ Alt ║ ║ ⇪ ║ | |||
//║Alt ║ a â - │ u ù = │ e ê ( │ i ̈ { │ , , ║ ║ c / / │ t $ 0 ^ │ s # 1 # │ r ~ 2 ~ │ n * 3 * │ Gr ║ Unlock ║ AC║ | |||
//║ gr ║──────────┼──────────┼──────────┼──────────┼──────────║ ⏎ esc ║──────────┼──────────┼──────────┼──────────┼──────────┼──────────║ ╠════╣ | |||
//║ ║ À – *= │ Y ≠ │ X • ] │ . . │ K ║ ║ ’ ? ? ? │ Q │ G │ H │ M ‡ || │ F ║ ║www ║ | |||
//║ ║ à – * │ y ≃ │ x — [ │ . … . │ k ║ ║ ’ ? ? ? │ q ¤ 4 │ g µ 5 │ h 6 │ m † | ¦ │ f ║ ║ ⌫ ║ | |||
//╠═════╬══════════╦══════════╦══════════╦══════════╧══════════╩══════════╩══════════╧══════════╦══════════╦══════════╦══════════╦══════════╬══════════╬════╣ | |||
//║Over-║ Ctrl ║ ║ Level5 ║ Espace insécable ║ Level5 ║ Ctrl ║ Ctrl ║ Overlay ║ ║ ⇞ ║ | |||
//║ lay ║ ║ ║ Tab ║ ║ Tab ║ ║ ║ ║ Lock ║ bk║ | |||
//╠═════╬══════════╩═════╦════╩══════════╣ ╠══════════╬══════════╬══════════╬══════════╣ Overlay╠════╣ | |||
//║fn ║ Alt ║ ⇧ ╠══════════════════════════════════════════════════════╣ ⇧ ║ Alt ║ Alt ║ Start ║ ║ ⇟ ║ | |||
//║ ║ ║ Esc ║ ║ Esc ║ ║ ║ ║ ║ fw║ | |||
//╚═════╩════════════════╩═══════════════╝ ╚══════════╩══════════╩══════════╩══════════╩══════════╩════╝ | |||
Fichier ~/.xkb/jeopPETM.xkb | |||
xkb_keymap { | |||
xkb_keycodes { include "evdev+aliases(azerty)" }; | |||
xkb_types { include "complete" }; | |||
xkb_geometry { include "typematrix(tm2030USB-106)" }; | |||
xkb_compatibility { | |||
include "complete" | |||
interpret F20 { | |||
action = Redirect(Key=<I215>, modifiers=Control); // ctrl-x | |||
}; | |||
interpret F21 { | |||
action = Redirect(Key=<I217>, modifiers=Control); // ctrl-c | |||
}; | |||
interpret F22 { | |||
action = Redirect(Key=<I219>, modifiers=Control); // ctrl-v | |||
}; | |||
}; | |||
xkb_symbols { include "pc(pc105)+jeopPETM(jeop)" }; | |||
}; | |||
Fichier ~/.xkb/symbols/jeopPETM | |||
partial alphanumeric_keys | |||
xkb_symbols "jeop" { | |||
include "keypad(oss)" | |||
include "fr(basic)" | |||
include "jeopPETM(jeopPETM_Modifiers)" | |||
include "jeopPETM(overlay)" | |||
name[Group1]="French jeop Typematrix"; | |||
key.type[Group1] = "EIGHT_LEVEL"; | |||
//First row | |||
key <AE01> { [ multiply, section, masculine, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // § | |||
key <AE02> { [ w, W, VoidSymbol, U2011, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // w W ‑ | |||
key <AE03> { [ quotedbl, VoidSymbol, guillemotleft, guillemotright, quotedbl, VoidSymbol, VoidSymbol, VoidSymbol ] }; // « « | |||
key <AE04> { [ apostrophe, VoidSymbol, leftdoublequotemark, rightdoublequotemark, apostrophe, VoidSymbol, VoidSymbol, VoidSymbol ] }; // » » | |||
key <AE05> { [ grave, VoidSymbol, leftsinglequotemark, questiondown, grave, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AE06> { [ underscore, underscore, VoidSymbol, exclamdown, underscore, underscore, VoidSymbol, VoidSymbol ] }; // | |||
key <AE07> { [ ccedilla, Ccedilla, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // @ ” ¡ | |||
key <AE08> { [ colon, colon, colon, colon, colon, colon, colon, colon ] }; // | |||
key <AE09> { [ semicolon, semicolon, semicolon, semicolon, semicolon, semicolon, semicolon, semicolon ] }; // | |||
key <AE10> { [ VoidSymbol, VoidSymbol, seconds, minutes, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // — | |||
key <AE11> { [ degree, registered, trademark, copyright, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ® ™ © | |||
key <AE12> { [ dead_greek, dead_belowdot, dead_breve, dead_horn, U2030, VoidSymbol, VoidSymbol, VoidSymbol ] }; // µ ˘ ¯ ‰ | |||
//Second row | |||
key <TAB> { [ at, at, at, at, at, at, at, at ] }; | |||
key <AD01> { [ j, J, periodcentered, plusminus, plus, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AD02> { [ eacute, Eacute, dead_acute, dead_doubleacute , percent, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AD03> { [ o, O, oe, VoidSymbol, less, greater, VoidSymbol, VoidSymbol ] }; | |||
key <AD04> { [ p, P, lessthanequal, greaterthanequal, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AD05> { [ egrave, Egrave, dead_grave, dead_abovering, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AD06> { [ dead_circumflex, dead_circumflex, exclam, exclam, exclam, VoidSymbol, exclam, exclam ] }; | |||
key <AD07> { [ v, V, VoidSymbol, VoidSymbol, 7, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AD08> { [ d, D, eth, ETH, 8, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AD09> { [ l, L, VoidSymbol, VoidSymbol, 9, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AD10> { [ b, B, dead_tilde, notsign, ampersand, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AD11> { [ z, Z, schwa, SCHWA, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AD12> { [ U21D2, VoidSymbol, rightarrow, lefttarrow, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
//Third row | |||
key <AC01> { [ a, A, acircumflex, Acircumflex, minus, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AC02> { [ u, U, ugrave, Ugrave, equal, equal, VoidSymbol, VoidSymbol ] }; | |||
key <AC03> { [ e, E, ecircumflex, Ecircumflex, parenleft, parenright, VoidSymbol, VoidSymbol ] }; | |||
key <AC04> { [ i, I, dead_diaeresis, dead_abovedot, braceleft, braceright, VoidSymbol, VoidSymbol ] }; | |||
key <AC05> { [ comma, comma, comma, dead_breve, comma, comma, comma, comma ] }; | |||
key <AC06> { [ c, C, slash, backslash, slash, slash, VoidSymbol, VoidSymbol ] }; | |||
key <AC07> { [ t, T, dollar, VoidSymbol, 0, VoidSymbol, asciicircum, VoidSymbol ] }; | |||
key <AC08> { [ s, S, numbersign, ssharp, 1, VoidSymbol, numbersign, VoidSymbol ] }; | |||
key <AC09> { [ r, R, asciitilde, VoidSymbol, 2, VoidSymbol, asciitilde, VoidSymbol ] }; | |||
key <AC10> { [ n, N, asterisk, VoidSymbol, 3, VoidSymbol, asterisk, VoidSymbol ] }; | |||
//Fourth row | |||
key <AB01> { [ agrave, Agrave, endash, endash, asterisk, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AB02> { [ y, Y, U2243, notequal, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AB03> { [ x, X, emdash, U2022, bracketleft, bracketright, VoidSymbol, VoidSymbol ] }; | |||
key <AB04> { [ period, period, ellipsis, VoidSymbol, period, period, period, period ] }; | |||
key <AB05> { [ k, K, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AB06> { [ rightsinglequotemark, rightsinglequotemark, question, question, question, question, question, question ] }; | |||
key <AB07> { [ q, Q, dead_currency, VoidSymbol, 4, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AB08> { [ g, G, mu, VoidSymbol, 5, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AB09> { [ h, H, VoidSymbol, VoidSymbol, 6, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
key <AB10> { [ m, M, dagger, doubledagger, bar, VoidSymbol, VoidSymbol, brokenbar] }; | |||
key <AB11> { [ f, F, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; | |||
// key <MUTE> { [ XF86AudioMute ] }; | |||
// key <VOL-> { [ XF86AudioLowerVolume] }; | |||
// key <VOL+> { [ XF86AudioRaiseVolume ] }; | |||
key <I253> { type[group1] = "ONE_LEVEL", [ Tab ] }; | |||
key <I252> { type[group1] = "ONE_LEVEL", [ space ] }; | |||
key <I251> { type[group1] = "ONE_LEVEL", [ Return ] }; | |||
key <RCTL> { [Return] }; | |||
}; | |||
partial alphanumeric_keys | |||
xkb_symbols "overlay" { | |||
key <LCTL> { type[group1] = "ONE_LEVEL", [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] }; | |||
key <END> { type[group1] = "ONE_LEVEL", [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] }; | |||
// key <RCTL> { type[group1] = "ONE_LEVEL", [ VoidSymbol ], actions = [ LockControls(controls=Overlay1)] }; | |||
key <RTSH> { type[group1] = "ONE_LEVEL", [ VoidSymbol ], actions = [ LockControls(controls=Overlay1)] }; | |||
key <I210> { type[group1] = "ONE_LEVEL", [ Left ] }; | |||
key <I211> { type[group1] = "ONE_LEVEL", [ Down ] }; | |||
key <I212> { type[group1] = "ONE_LEVEL", [ Up ] }; | |||
key <I214> { type[group1] = "ONE_LEVEL", [ Right ] }; | |||
key <AC06> {overlay1=<I210>}; | |||
key <AC07> {overlay1=<I211>}; | |||
key <AC08> {overlay1=<I212>}; | |||
key <AC09> {overlay1=<I214>}; | |||
// ctrl-x | |||
key <I215> { [ x ] }; | |||
key <I216> { [ F20 ] }; | |||
key <AB02> {overlay1=<I216>}; | |||
// ctrl-c | |||
key <I217> { [ c ] }; | |||
key <I218> { [ F21 ] }; | |||
key <AB03> {overlay1=<I218>}; | |||
// ctrl-v | |||
key <I219> { [ v ] }; | |||
key <I220> { [ F22 ] }; | |||
key <AB04> {overlay1=<I220>}; | |||
}; | |||
partial modifier_keys | |||
xkb_symbols "jeopPETM_Modifiers" { | |||
modifier_map Mod1 { Alt_L, Alt_R, <LWIN>, <LEFT> }; //Mod1 = Alt | |||
modifier_map Shift { Shift_L, Shift_R, <LALT>, <RALT> }; //Shift = Level2 = Shift | |||
modifier_map Control { Control_L, Control_R, <MENU>, <HOME>, <UP>, <I172> }; //Control = Control | |||
modifier_map Mod5 { ISO_Level3_Shift, <LFSH>, <AC11>}; //Mod5 = Level3 = AltGr | |||
modifier_map Mod3 { ISO_Level5_Shift, <HENK>, <MUHE>, <RTSH> }; //Mod3 = Level5 = Level5 | |||
key.type[Group1] = "ONE_LEVEL"; | |||
key <HOME> { [Control_R] }; | |||
key <UP> { [Control_R] }; | |||
key <MENU> { [Control_L] }; | |||
key <LWIN> { [Alt_L] }; | |||
key <LEFT> { [Alt_R] }; | |||
key <DOWN> { [Alt_R] }; | |||
key <RGHT> { [Super_L] }; | |||
key <SPCE> { [Super_L] }; | |||
key <I172> { [Control_R] }; | |||
key.type[Group1] = "TWO_LEVEL"; | |||
key <LALT> { [Shift_L, Shift_Lock] }; | |||
key <RALT> { [Shift_R, Shift_Lock] }; | |||
key.type[Group1] = "FOUR_LEVEL"; | |||
key <LFSH> { [ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Lock, ISO_Level3_Lock] }; | |||
key <AC11> { [ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Lock, ISO_Level3_Lock] }; | |||
key.type[Group1] = "EIGHT_LEVEL"; | |||
key <HENK> { [ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock] }; | |||
key <MUHE> { [ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock] }; | |||
}; |
Dernière version du 23 juin 2015 à 14:55
En cours d'édition.
Je suis actuellement en tain de créer un layout personnel qui sera optimisé pour le français, la programmation, l'anglais et surtout le clavier TypeMatrix 2030.
Je m'inspire très largement de configurations faite par d'autres membres, voici une liste de ceux qui m’ont le plus aidé :
— le Béop de laurent ; — le Jéop de Robin ; — Lawrent ; — Legrostdg ; — Nbrodu ; — Damien_thiriet.
Ressources utiles
Utiliser un modificateur comme une autre touche quand elle n'est pas utilisée de manière combinée avec une autre touche :
https://github.com/alols/xcape
Trouver facilement un keycode :
xev | grep "keycode"
Liste des symboles (keysym):
/usr/include/X11/keysymdef.h
Documentation concernant Xkb :
https://wiki.archlinux.org/index.php/X_KeyBoard_extension http://www.charvolant.org/~doug/xkb/html/node1.html
Je ferais quelque chose de propre quand ma disposition sera stable.
Il est possible de trouver la version la plus à jours sur mon profil GitHub, dans .xkb : https://github.com/BriceSD/dotfiles
Mon layout à été conçu pour être utilisé avec xcape, les touches espace et tab sont inutilisable sans.
Tout en vrac :
//╔═════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦══════════╦════╗ //║esc. ║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ del ║ F6 ║ F7 ║ F8 ║ F9 ║ F10 ║ F11 ║ F12 ║num.║ //╚═════╩══════════╩══════════╩══════════╩══════════╩══════════╣ ins ╠══════════╩══════════╩══════════╩══════════╩══════════╩══════════╩══════════╬════╣ //│ │ § │ W ‑ │ » │ ” │ ¿ ╠══════════╣ _ ¡ _ │ Ç │ : : : : │ ; ; ; ; │ ″ │ ® © │ ․ ̛ ║calc║ //│Comp.│ × º │ w │ " « " │ ' “ ' │ ` ‘ ` ║ ⌫ ║ _ _ │ ç │ : : : : │ ; ; ; ; │ ′ │ ° ™ │ µ ̆ ‰ ║ ║ //╔═════╗──────────┼──────────┼──────────┼──────────┼──────────║ ║──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────╠════╣ //║ ║ J ± += │ É ˝ │ O > │ P ≥ >= │ È ˚ ║ ║ ˆ ! != ! │ V │ D │ L │ B ¬ && │ Z Ə │ → ║mail║ //║ @ ║ j · + │ é ´ % │ o œ < │ p ≤ <= │ è ` ║ ║ ˆ ! ! ! │ v 7 │ d 8 │ l 9 │ b ˜ & │ z ə │ ⇒ ║ ⇤║ //╠═════╣──────────┼──────────┼──────────┼──────────┼──────────╠══════════╣──────────┼──────────┼──────────┼──────────┼──────────┼──────────╔══════════╬════╣ //║ ║ A  -= │ U Ù = │ E Ê ) │ I ˙ } │ , ̛ , ║ ║ C \ / │ T │ S ß │ R │ N │ Alt ║ ║ ⇪ ║ //║Alt ║ a â - │ u ù = │ e ê ( │ i ̈ { │ , , ║ ║ c / / │ t $ 0 ^ │ s # 1 # │ r ~ 2 ~ │ n * 3 * │ Gr ║ Unlock ║ AC║ //║ gr ║──────────┼──────────┼──────────┼──────────┼──────────║ ⏎ esc ║──────────┼──────────┼──────────┼──────────┼──────────┼──────────║ ╠════╣ //║ ║ À – *= │ Y ≠ │ X • ] │ . . │ K ║ ║ ’ ? ? ? │ Q │ G │ H │ M ‡ || │ F ║ ║www ║ //║ ║ à – * │ y ≃ │ x — [ │ . … . │ k ║ ║ ’ ? ? ? │ q ¤ 4 │ g µ 5 │ h 6 │ m † | ¦ │ f ║ ║ ⌫ ║ //╠═════╬══════════╦══════════╦══════════╦══════════╧══════════╩══════════╩══════════╧══════════╦══════════╦══════════╦══════════╦══════════╬══════════╬════╣ //║Over-║ Ctrl ║ ║ Level5 ║ Espace insécable ║ Level5 ║ Ctrl ║ Ctrl ║ Overlay ║ ║ ⇞ ║ //║ lay ║ ║ ║ Tab ║ ║ Tab ║ ║ ║ ║ Lock ║ bk║ //╠═════╬══════════╩═════╦════╩══════════╣ ╠══════════╬══════════╬══════════╬══════════╣ Overlay╠════╣ //║fn ║ Alt ║ ⇧ ╠══════════════════════════════════════════════════════╣ ⇧ ║ Alt ║ Alt ║ Start ║ ║ ⇟ ║ //║ ║ ║ Esc ║ ║ Esc ║ ║ ║ ║ ║ fw║ //╚═════╩════════════════╩═══════════════╝ ╚══════════╩══════════╩══════════╩══════════╩══════════╩════╝
Fichier ~/.xkb/jeopPETM.xkb
xkb_keymap { xkb_keycodes { include "evdev+aliases(azerty)" }; xkb_types { include "complete" }; xkb_geometry { include "typematrix(tm2030USB-106)" }; xkb_compatibility { include "complete" interpret F20 { action = Redirect(Key=<I215>, modifiers=Control); // ctrl-x }; interpret F21 { action = Redirect(Key=<I217>, modifiers=Control); // ctrl-c }; interpret F22 { action = Redirect(Key=<I219>, modifiers=Control); // ctrl-v }; }; xkb_symbols { include "pc(pc105)+jeopPETM(jeop)" }; };
Fichier ~/.xkb/symbols/jeopPETM
partial alphanumeric_keys xkb_symbols "jeop" { include "keypad(oss)" include "fr(basic)" include "jeopPETM(jeopPETM_Modifiers)" include "jeopPETM(overlay)" name[Group1]="French jeop Typematrix"; key.type[Group1] = "EIGHT_LEVEL"; //First row key <AE01> { [ multiply, section, masculine, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // § key <AE02> { [ w, W, VoidSymbol, U2011, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // w W ‑ key <AE03> { [ quotedbl, VoidSymbol, guillemotleft, guillemotright, quotedbl, VoidSymbol, VoidSymbol, VoidSymbol ] }; // « « key <AE04> { [ apostrophe, VoidSymbol, leftdoublequotemark, rightdoublequotemark, apostrophe, VoidSymbol, VoidSymbol, VoidSymbol ] }; // » » key <AE05> { [ grave, VoidSymbol, leftsinglequotemark, questiondown, grave, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AE06> { [ underscore, underscore, VoidSymbol, exclamdown, underscore, underscore, VoidSymbol, VoidSymbol ] }; // key <AE07> { [ ccedilla, Ccedilla, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // @ ” ¡ key <AE08> { [ colon, colon, colon, colon, colon, colon, colon, colon ] }; // key <AE09> { [ semicolon, semicolon, semicolon, semicolon, semicolon, semicolon, semicolon, semicolon ] }; // key <AE10> { [ VoidSymbol, VoidSymbol, seconds, minutes, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // — key <AE11> { [ degree, registered, trademark, copyright, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ® ™ © key <AE12> { [ dead_greek, dead_belowdot, dead_breve, dead_horn, U2030, VoidSymbol, VoidSymbol, VoidSymbol ] }; // µ ˘ ¯ ‰ //Second row key <TAB> { [ at, at, at, at, at, at, at, at ] }; key <AD01> { [ j, J, periodcentered, plusminus, plus, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AD02> { [ eacute, Eacute, dead_acute, dead_doubleacute , percent, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AD03> { [ o, O, oe, VoidSymbol, less, greater, VoidSymbol, VoidSymbol ] }; key <AD04> { [ p, P, lessthanequal, greaterthanequal, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AD05> { [ egrave, Egrave, dead_grave, dead_abovering, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AD06> { [ dead_circumflex, dead_circumflex, exclam, exclam, exclam, VoidSymbol, exclam, exclam ] }; key <AD07> { [ v, V, VoidSymbol, VoidSymbol, 7, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AD08> { [ d, D, eth, ETH, 8, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AD09> { [ l, L, VoidSymbol, VoidSymbol, 9, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AD10> { [ b, B, dead_tilde, notsign, ampersand, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AD11> { [ z, Z, schwa, SCHWA, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AD12> { [ U21D2, VoidSymbol, rightarrow, lefttarrow, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; //Third row key <AC01> { [ a, A, acircumflex, Acircumflex, minus, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AC02> { [ u, U, ugrave, Ugrave, equal, equal, VoidSymbol, VoidSymbol ] }; key <AC03> { [ e, E, ecircumflex, Ecircumflex, parenleft, parenright, VoidSymbol, VoidSymbol ] }; key <AC04> { [ i, I, dead_diaeresis, dead_abovedot, braceleft, braceright, VoidSymbol, VoidSymbol ] }; key <AC05> { [ comma, comma, comma, dead_breve, comma, comma, comma, comma ] }; key <AC06> { [ c, C, slash, backslash, slash, slash, VoidSymbol, VoidSymbol ] }; key <AC07> { [ t, T, dollar, VoidSymbol, 0, VoidSymbol, asciicircum, VoidSymbol ] }; key <AC08> { [ s, S, numbersign, ssharp, 1, VoidSymbol, numbersign, VoidSymbol ] }; key <AC09> { [ r, R, asciitilde, VoidSymbol, 2, VoidSymbol, asciitilde, VoidSymbol ] }; key <AC10> { [ n, N, asterisk, VoidSymbol, 3, VoidSymbol, asterisk, VoidSymbol ] }; //Fourth row key <AB01> { [ agrave, Agrave, endash, endash, asterisk, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AB02> { [ y, Y, U2243, notequal, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AB03> { [ x, X, emdash, U2022, bracketleft, bracketright, VoidSymbol, VoidSymbol ] }; key <AB04> { [ period, period, ellipsis, VoidSymbol, period, period, period, period ] }; key <AB05> { [ k, K, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AB06> { [ rightsinglequotemark, rightsinglequotemark, question, question, question, question, question, question ] }; key <AB07> { [ q, Q, dead_currency, VoidSymbol, 4, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AB08> { [ g, G, mu, VoidSymbol, 5, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AB09> { [ h, H, VoidSymbol, VoidSymbol, 6, VoidSymbol, VoidSymbol, VoidSymbol ] }; key <AB10> { [ m, M, dagger, doubledagger, bar, VoidSymbol, VoidSymbol, brokenbar] }; key <AB11> { [ f, F, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // key <MUTE> { [ XF86AudioMute ] }; // key <VOL-> { [ XF86AudioLowerVolume] }; // key <VOL+> { [ XF86AudioRaiseVolume ] }; key <I253> { type[group1] = "ONE_LEVEL", [ Tab ] }; key <I252> { type[group1] = "ONE_LEVEL", [ space ] }; key <I251> { type[group1] = "ONE_LEVEL", [ Return ] }; key <RCTL> { [Return] }; };
partial alphanumeric_keys xkb_symbols "overlay" { key <LCTL> { type[group1] = "ONE_LEVEL", [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] }; key <END> { type[group1] = "ONE_LEVEL", [ VoidSymbol ], actions = [ SetControls(controls=Overlay1) ] }; // key <RCTL> { type[group1] = "ONE_LEVEL", [ VoidSymbol ], actions = [ LockControls(controls=Overlay1)] }; key <RTSH> { type[group1] = "ONE_LEVEL", [ VoidSymbol ], actions = [ LockControls(controls=Overlay1)] }; key <I210> { type[group1] = "ONE_LEVEL", [ Left ] }; key <I211> { type[group1] = "ONE_LEVEL", [ Down ] }; key <I212> { type[group1] = "ONE_LEVEL", [ Up ] }; key <I214> { type[group1] = "ONE_LEVEL", [ Right ] }; key <AC06> {overlay1=<I210>}; key <AC07> {overlay1=<I211>}; key <AC08> {overlay1=<I212>}; key <AC09> {overlay1=<I214>}; // ctrl-x key <I215> { [ x ] }; key <I216> { [ F20 ] }; key <AB02> {overlay1=<I216>}; // ctrl-c key <I217> { [ c ] }; key <I218> { [ F21 ] }; key <AB03> {overlay1=<I218>}; // ctrl-v key <I219> { [ v ] }; key <I220> { [ F22 ] }; key <AB04> {overlay1=<I220>}; }; partial modifier_keys xkb_symbols "jeopPETM_Modifiers" { modifier_map Mod1 { Alt_L, Alt_R, <LWIN>, <LEFT> }; //Mod1 = Alt modifier_map Shift { Shift_L, Shift_R, <LALT>, <RALT> }; //Shift = Level2 = Shift modifier_map Control { Control_L, Control_R, <MENU>, <HOME>, <UP>, <I172> }; //Control = Control modifier_map Mod5 { ISO_Level3_Shift, <LFSH>, <AC11>}; //Mod5 = Level3 = AltGr modifier_map Mod3 { ISO_Level5_Shift, <HENK>, <MUHE>, <RTSH> }; //Mod3 = Level5 = Level5 key.type[Group1] = "ONE_LEVEL"; key <HOME> { [Control_R] }; key <UP> { [Control_R] }; key <MENU> { [Control_L] }; key <LWIN> { [Alt_L] }; key <LEFT> { [Alt_R] }; key <DOWN> { [Alt_R] }; key <RGHT> { [Super_L] }; key <SPCE> { [Super_L] }; key <I172> { [Control_R] }; key.type[Group1] = "TWO_LEVEL"; key <LALT> { [Shift_L, Shift_Lock] }; key <RALT> { [Shift_R, Shift_Lock] }; key.type[Group1] = "FOUR_LEVEL"; key <LFSH> { [ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Lock, ISO_Level3_Lock] }; key <AC11> { [ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Lock, ISO_Level3_Lock] }; key.type[Group1] = "EIGHT_LEVEL"; key <HENK> { [ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock] }; key <MUHE> { [ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock] }; };