break in to different files to satisfy the arcane monstrosity that is xorg, more specifically FUCKING XKB WHY IS IT LIKE THIS

This commit is contained in:
nat
2025-03-11 01:54:52 -07:00
parent eb9de07f55
commit 13f6729a1f
7 changed files with 1130 additions and 1937 deletions

121
compatibility.xkb Normal file
View File

@ -0,0 +1,121 @@
xkb_compatibility "custom" {
virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
interpret.useModMapMods= AnyLevel;
interpret.repeat= False;
interpret.locking= False;
//# Modifier keys
interpret Alt_L+AnyOf(all) {
virtualModifier= Alt;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Alt_R+AnyOf(all) {
virtualModifier= Alt;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Meta_L+AnyOf(all) {
virtualModifier= Meta;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Meta_R+AnyOf(all) {
virtualModifier= Meta;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Super_L+AnyOf(all) {
virtualModifier= Super;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Super_R+AnyOf(all) {
virtualModifier= Super;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Hyper_L+AnyOf(all) {
virtualModifier= Hyper;
action= SetMods(modifiers=Hyper,clearLocks);
};
interpret Hyper_R+AnyOfOrNone(all) {
virtualModifier= Hyper;
action= SetMods(modifiers=modMapMods,clearLocks);
};
interpret Shift_L+AnyOfOrNone(all) {
action= SetMods(modifiers=Shift,clearLocks);
}; //# set caps to ctrl
interpret Any+Exactly(Lock) {
action= SetMods(modifiers=Control,clearlocks);
};
//# Vertual terminal stuff
interpret XF86Switch_VT_1+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=1,!same);
};
interpret XF86Switch_VT_2+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=2,!same);
};
interpret XF86Switch_VT_3+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=3,!same);
};
interpret XF86Switch_VT_4+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=4,!same);
};
interpret XF86Switch_VT_5+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=5,!same);
};
interpret XF86Switch_VT_6+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=6,!same);
};
interpret XF86Switch_VT_7+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=7,!same);
};
interpret XF86Switch_VT_8+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=8,!same);
};
interpret XF86Switch_VT_9+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=9,!same);
};
interpret XF86Switch_VT_10+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=10,!same);
};
interpret XF86Switch_VT_11+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=11,!same);
};
interpret XF86Switch_VT_12+AnyOfOrNone(all) {
repeat= True;
action= SwitchScreen(screen=12,!same);
};
//# Keyboard mouse keys
interpret F27+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=0,y=1);
};
interpret F28+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=-1,y=0);
};
interpret F29+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=0,y=-1);
};
interpret F30+AnyOfOrNone(all) {
repeat= True;
action= MovePtr(x=+1,y=+1);
};
};

299
geometry.xkb Normal file
View File

@ -0,0 +1,299 @@
xkb_geometry "pc(pc105)" {
width= 372.8;
height= 245.1;
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
baseColor= "white";
labelColor= "white";
xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
description= "Generic 105-key PC";
shape "NORM" {
corner=1,
{ [ 19.5, 19.5 ] },
{ [ 2.5, 1 ], [ 17, 16.38 ] }
};
shape "BKSP" {
corner= 1,
{ [ 37, 18 ] },
{ [ 0.5, 0.5 ], [ 36, 17 ] }
};
shape "TABK" {
corner= 1,
{ [ 28, 18 ] },
{ [ 0.5, 0.5 ], [ 27, 17 ] }
};
shape "BKSL" {
corner= 1,
{ [ 27, 18 ] },
{ [ 0.5, 0.5 ], [ 26, 17 ] }
};
shape "RTRN" {
corner= 1,
{ [ 43, 18 ] },
{ [ 0.5, 0.5 ], [ 42, 17 ] }
};
shape "CAPS" {
corner= 1,
{ [ 33, 18 ] },
{ [ 0.5, 0.5 ], [ 32, 17 ] }
};
shape "LFSH" {
corner= 1,
{ [ 45, 18 ] },
{ [ 0.5, 0.5 ], [ 44, 17 ] }
};
shape "RTSH" {
corner= 1,
{ [ 52, 18 ] },
{ [ 0.5, 0.5 ], [ 51, 17 ] }
};
shape "MODK" {
corner= 1,
{ [ 24, 18 ] },
{ [ 0.5, 0.5 ], [ 23, 17 ] }
};
shape "SMOD" {
corner= 1,
{ [ 18, 18 ] },
{ [ 0.5, 0.5 ], [ 17, 17 ] }
};
shape "SPCE" {
corner= 1,
{ [ 103, 18 ] },
{ [ 0.5, 0.5 ], [ 103, 17 ] }
};
shape "KP0" {
corner= 1,
{ [ 37, 18 ] },
{ [ 2, 1 ], [ 35, 16 ] }
};
shape "KPAD" {
corner= 1,
{ [ 18, 37 ] },
{ [ 2, 1 ], [ 16, 35 ] }
};
shape "FUNC" {
corner = 1.5,
{ [ 16.17, 11 ] },
{ [ 0.75, 0 ], [ 15.42, 10 ] }
};
shape "DELE" {
{ [ 22, 11 ] },
{ [ 0.5, 0.5 ], [ 21, 10 ] }
};
shape "ESCP" {
{ [ 16.38, 23 ] },
{ [ 16.38, 23 ], [ 0, 0 ] }
};
shape "ARRW" {
{ [ 16.75, 14 ] },
{ [ 0.5, 0.5 ], [ 15.75, 13 ] }
};
shape "CLIT" {
corner=4,
{ [ 8, 8 ] },
{ [ 0, 0 ], [ 0, 0] }
};
solid "CLIT" {
priority = 255;
color = "red";
shape = "CLIT";
top = 118;
left = 156;
};
shape "BTN1" {corner=2, { [ 30, 18] } };
shape "BTN2" {corner=2, { [ 20, 18] } };
solid "BTN1" { // RMB
priority = 254;
color = "grey";
shape = "BTN1";
top = 167;
left = 120;
};
solid "BTN2" { // LMB
priority = 127;
color = "grey";
shape = "BTN1";
top = 167;
left = 174;
};
solid "BTN3" { // MMB
priority = 253;
color = "grey";
shape = "BTN2";
top = 167;
left = 152;
};
section "Function" {
key.color= "grey20";
priority= 7;
top= 47;
left= 43;
width= 351;
height= 19;
row {
top= 1;
left= 1;
keys {
{ <FK01>, "FUNC", 1, color="black" },
{ <FK02>, "FUNC", 1, color="black" },
{ <FK03>, "FUNC", 1, color="black" },
{ <FK04>, "FUNC", 1, color="black" }
};
};
row {
top = 1;
left = 77;
keys {
{ <FK05>, "FUNC", 1, color="black" },
{ <FK06>, "FUNC", 1, color="black" },
{ <FK07>, "FUNC", 1, color="black" },
{ <FK08>, "FUNC", 1, color="black" }
};
};
row {
top = 1;
left = 154;
keys {
{ <FK09>, "FUNC", 1, color="black" },
{ <FK10>, "FUNC", 1, color="black" },
{ <FK11>, "FUNC", 1, color="black" },
{ <FK12>, "FUNC", 1, color="black" },
{ <HOME>, "FUNC", 1, color="black" },
{ <END>, "FUNC", 1, color="black" },
{ <INS>, "FUNC", 1, color="black" },
{ <DELE>, "DELE", 1, color="black" }
};
};
}; // End of "Function" section
section "ESCP" { // it is a little goofy
key.color = "white";
priority= 8;
top= 36.5;
left= 19;
width= 287;
height= 95;
row {
top= 1;
left= 1;
keys {
{ <ESC>, "ESCP", 1, color="black"}
};
};
};
section "Alpha" {
key.color= "white";
priority= 8;
top= 61;
left= 19;
width= 287;
height= 95;
row {
top= 1;
left= 1;
keys {
{ <TLDE>, "NORM", 1, color="black" }, { <AE01>, "NORM", 1, color="black" },
{ <AE02>, "NORM", 1, color="black" }, { <AE03>, "NORM", 1, color="black" },
{ <AE04>, "NORM", 1, color="black" }, { <AE05>, "NORM", 1, color="black" },
{ <AE06>, "NORM", 1, color="black" }, { <AE07>, "NORM", 1, color="black" },
{ <AE08>, "NORM", 1, color="black" }, { <AE09>, "NORM", 1, color="black" },
{ <AE10>, "NORM", 1, color="black" }, { <AE11>, "NORM", 1, color="black" },
{ <AE12>, "NORM", 1, color="black" }, { <BKSP>, "BKSP", 1, color="black" }
};
};
row {
top= 22;
left= 1;
keys {
{ <TAB>, "TABK", 1, color="black" },
{ <AD01>, "NORM", 1, color="black" }, { <AD02>, "NORM", 1, color="black" },
{ <AD03>, "NORM", 1, color="black" }, { <AD04>, "NORM", 1, color="black" },
{ <AD05>, "NORM", 1, color="black" }, { <AD06>, "NORM", 1, color="black" },
{ <AD07>, "NORM", 1, color="black" }, { <AD08>, "NORM", 1, color="black" },
{ <AD09>, "NORM", 1, color="black" }, { <AD10>, "NORM", 1, color="black" },
{ <AD11>, "NORM", 1, color="black" }, { <AD12>, "NORM", 1, color="black" },
{ <BKSL>, "BKSL", 1, color="black" }
};
};
row {
top= 43;
left= 1;
keys {
{ <CAPS>, "CAPS", 1, color="black" },
{ <AC01>, "NORM", 1, color="black" }, { <AC02>, "NORM", 1, color="black" },
{ <AC03>, "NORM", 1, color="black" }, { <AC04>, "NORM", 1, color="black" },
{ <AC05>, "NORM", 1, color="black" }, { <AC06>, "NORM", 1, color="black" },
{ <AC07>, "NORM", 1, color="black" }, { <AC08>, "NORM", 1, color="black" },
{ <AC09>, "NORM", 1, color="black" }, { <AC10>, "NORM", 1, color="black" },
{ <AC11>, "NORM", 1, color="black" },
{ <RTRN>, "RTRN", 1, color="black" }
};
};
row {
top= 64;
left= 1;
keys {
{ <LFSH>, "LFSH", 1, color="black" },
{ <AB01>, "NORM", 1, color="black" }, { <AB02>, "NORM", 1, color="black" },
{ <AB03>, "NORM", 1, color="black" }, { <AB04>, "NORM", 1, color="black" },
{ <AB05>, "NORM", 1, color="black" }, { <AB06>, "NORM", 1, color="black" },
{ <AB07>, "NORM", 1, color="black" }, { <AB08>, "NORM", 1, color="black" },
{ <AB09>, "NORM", 1, color="black" }, { <AB10>, "NORM", 1, color="black" },
{ <RTSH>, "RTSH", 1, color="black" }
};
};
row {
top= 85;
left= 1;
keys {
{ <I151>, "SMOD", 1, color="black" },
{ <LCTL>, "MODK", 1, color="black" },
{ <LWIN>, "SMOD", 1, color="black" },
{ <LALT>, "SMOD", 1, color="black" },
{ <SPCE>, "SPCE", 1, color="black" },
{ <RALT>, "SMOD", 1, color="black" },
{ <SCLK>, "NORM", 1, color="black" },
{ <RCTL>, "SMOD", 1, color="black" }
};
};
}; // End of "Alpha" section
section "Editing" {
key.color= "grey20";
priority= 9;
top= 61;
left= 372;
width= 58;
height= 95;
row {
top= 85;
left= -94;
keys {
{ <PGUP>, "ARRW", 1 },
{ <UP>, "ARRW", 1 },
{ <PGDN>, "ARRW", 1 }
};
};
row {
top= 99;
left= -94;
keys {
{ <LEFT>, "ARRW", 1 },
{ <DOWN>, "ARRW", 1 },
{ <RGHT>, "ARRW", 1 }
};
};
}; // End of "Editing" section
};

339
keycodes.xkb Normal file
View File

@ -0,0 +1,339 @@
xkb_keycodes "evdev+aliases(dvorak)" {
minimum = 8;
maximum = 255;
<ESC> = 9;
<AE01> = 10;
<AE02> = 11;
<AE03> = 12;
<AE04> = 13;
<AE05> = 14;
<AE06> = 15;
<AE07> = 16;
<AE08> = 17;
<AE09> = 18;
<AE10> = 19;
<AE11> = 20;
<AE12> = 21;
<BKSP> = 22;
<TAB> = 23;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 36;
<LCTL> = 37;
<HYPR> = 37;
<AC01> = 38;
<AC02> = 39;
<AC03> = 40;
<AC04> = 41;
<AC05> = 42;
<AC06> = 43;
<AC07> = 44;
<AC08> = 45;
<AC09> = 46;
<AC10> = 47;
<AC11> = 48;
<TLDE> = 49;
<LFSH> = 50;
<BKSL> = 51;
<AB01> = 52;
<AB02> = 53;
<AB03> = 54;
<AB04> = 55;
<AB05> = 56;
<AB06> = 57;
<AB07> = 58;
<AB08> = 59;
<AB09> = 60;
<AB10> = 61;
<RTSH> = 62;
<KPMU> = 63;
<LALT> = 64;
<SPCE> = 65;
<CAPS> = 66;
<FK01> = 67;
<FK02> = 68;
<FK03> = 69;
<FK04> = 70;
<FK05> = 71;
<FK06> = 72;
<FK07> = 73;
<FK08> = 74;
<FK09> = 75;
<FK10> = 76;
<NMLK> = 77;
<SCLK> = 78;
<KP7> = 79;
<KP8> = 80;
<KP9> = 81;
<KPSU> = 82;
<KP4> = 83;
<KP5> = 84;
<KP6> = 85;
<KPAD> = 86;
<KP1> = 87;
<KP2> = 88;
<KP3> = 89;
<KP0> = 90;
<KPDL> = 91;
<LVL3> = 92;
<LSGT> = 94;
<FK11> = 95;
<FK12> = 96;
<AB11> = 97;
<KATA> = 98;
<HIRA> = 99;
<HENK> = 100;
<HKTG> = 101;
<MUHE> = 102;
<JPCM> = 103;
<KPEN> = 104;
<RCTL> = 105;
<KPDV> = 106;
<PRSC> = 107;
<RALT> = 108;
<LNFD> = 109;
<HOME> = 110;
<UP> = 111;
<PGUP> = 112;
<LEFT> = 113;
<RGHT> = 114;
<END> = 115;
<DOWN> = 116;
<PGDN> = 117;
<INS> = 118;
<DELE> = 119;
<I120> = 120;
<MUTE> = 121;
<VOL-> = 122;
<VOL+> = 123;
<POWR> = 124;
<KPEQ> = 125;
<I126> = 126;
<PAUS> = 127;
<I128> = 128;
<I129> = 129;
<HNGL> = 130;
<HJCV> = 131;
<AE13> = 132;
<LWIN> = 133;
<RWIN> = 134;
<COMP> = 135;
<STOP> = 136;
<AGAI> = 137;
<PROP> = 138;
<UNDO> = 139;
<FRNT> = 140;
<COPY> = 141;
<OPEN> = 142;
<PAST> = 143;
<FIND> = 144;
<CUT> = 145;
<HELP> = 146;
<I147> = 147;
<I148> = 148;
<I149> = 149;
<I150> = 150;
<I151> = 151;
<I152> = 152;
<I153> = 153;
<I154> = 154;
<I155> = 155;
<I156> = 156;
<I157> = 157;
<I158> = 158;
<I159> = 159;
<I160> = 160;
<I161> = 161;
<I162> = 162;
<I163> = 163;
<I164> = 164;
<I165> = 165;
<I166> = 166;
<I167> = 167;
<I168> = 168;
<I169> = 169;
<I170> = 170;
<I171> = 171;
<I172> = 172;
<I173> = 173;
<I174> = 174;
<I175> = 175;
<I176> = 176;
<I177> = 177;
<I178> = 178;
<I179> = 179;
<I180> = 180;
<I181> = 181;
<I182> = 182;
<I183> = 183;
<I184> = 184;
<I185> = 185;
<I186> = 186;
<I187> = 187;
<I188> = 188;
<I189> = 189;
<I190> = 190;
<FK13> = 191;
<FK14> = 192;
<FK15> = 193;
<FK16> = 194;
<FK17> = 195;
<FK18> = 196;
<FK19> = 197;
<FK20> = 198;
<FK21> = 199;
<FK22> = 200;
<FK23> = 201;
<FK24> = 202;
<MDSW> = 203;
<ALT> = 204;
<META> = 205;
<SUPR> = 206;
<HYPR> = 207;
<I208> = 208;
<I209> = 209;
<I210> = 210;
<I211> = 211;
<I212> = 212;
<I213> = 213;
<I214> = 214;
<I215> = 215;
<I216> = 216;
<I217> = 217;
<I218> = 218;
<I219> = 219;
<I220> = 220;
<I221> = 221;
<I222> = 222;
<I223> = 223;
<I224> = 224;
<I225> = 225;
<I226> = 226;
<I227> = 227;
<I228> = 228;
<I229> = 229;
<I230> = 230;
<I231> = 231;
<I232> = 232;
<I233> = 233;
<I234> = 234;
<I235> = 235;
<I236> = 236;
<I237> = 237;
<I238> = 238;
<I239> = 239;
<I240> = 240;
<I241> = 241;
<I242> = 242;
<I243> = 243;
<I244> = 244;
<I245> = 245;
<I246> = 246;
<I247> = 247;
<I248> = 248;
<I249> = 249;
<I250> = 250;
<I251> = 251;
<I252> = 252;
<I253> = 253;
<I254> = 254;
<I255> = 255;
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Scroll Lock";
indicator 4 = "Compose";
indicator 5 = "Kana";
indicator 6 = "Sleep";
indicator 7 = "Suspend";
indicator 8 = "Mute";
indicator 9 = "Misc";
indicator 10 = "Mail";
indicator 11 = "Charging";
virtual indicator 12 = "Shift Lock";
virtual indicator 13 = "Group 2";
virtual indicator 14 = "Mouse Keys";
alias <AC12> = <BKSL>;
alias <MENU> = <COMP>;
alias <HZTG> = <TLDE>;
alias <LMTA> = <LWIN>;
alias <RMTA> = <RWIN>;
alias <OUTP> = <I235>;
alias <KITG> = <I236>;
alias <KIDN> = <I237>;
alias <KIUP> = <I238>;
alias <I121> = <MUTE>;
alias <I122> = <VOL->;
alias <I123> = <VOL+>;
alias <I124> = <POWR>;
alias <I125> = <KPEQ>;
alias <I127> = <PAUS>;
alias <I130> = <HNGL>;
alias <I131> = <HJCV>;
alias <I132> = <AE13>;
alias <I133> = <LWIN>;
alias <I134> = <RWIN>;
alias <I135> = <COMP>;
alias <I136> = <STOP>;
alias <I137> = <AGAI>;
alias <I138> = <PROP>;
alias <I139> = <UNDO>;
alias <I140> = <FRNT>;
alias <I141> = <COPY>;
alias <I142> = <OPEN>;
alias <I143> = <PAST>;
alias <I144> = <FIND>;
alias <I145> = <CUT>;
alias <I146> = <HELP>;
alias <I191> = <FK13>;
alias <I192> = <FK14>;
alias <I193> = <FK15>;
alias <I194> = <FK16>;
alias <I195> = <FK17>;
alias <I196> = <FK18>;
alias <I197> = <FK19>;
alias <I198> = <FK20>;
alias <I199> = <FK21>;
alias <I200> = <FK22>;
alias <I201> = <FK23>;
alias <I202> = <FK24>;
alias <ALGR> = <RALT>;
alias <KPPT> = <I129>;
alias <LatQ> = <AD01>;
alias <LatW> = <AD02>;
alias <LatE> = <AD03>;
alias <LatR> = <AD04>;
alias <LatT> = <AD05>;
alias <LatY> = <AD06>;
alias <LatU> = <AD07>;
alias <LatI> = <AD08>;
alias <LatO> = <AD09>;
alias <LatP> = <AD10>;
alias <LatA> = <AC01>;
alias <LatS> = <AC02>;
alias <LatD> = <AC03>;
alias <LatF> = <AC04>;
alias <LatG> = <AC05>;
alias <LatH> = <AC06>;
alias <LatJ> = <AC07>;
alias <LatK> = <AC08>;
alias <LatL> = <AC09>;
alias <LatZ> = <AB01>;
alias <LatX> = <AB02>;
alias <LatC> = <AB03>;
alias <LatV> = <AB04>;
alias <LatB> = <AB05>;
alias <LatN> = <AB06>;
alias <LatM> = <AB07>;
alias <HYPR> = <LCTL>;
};

7
layout.xkb Normal file
View File

@ -0,0 +1,7 @@
xkb_keymap {
xkb_keycodes {include "keycodes.xkb"};
xkb_types {include "types.xkb"};
xkb_compatibility {include "compatibility.xkb"};
xkb_symbols {include "symbols.xkb"};
// xkb_geometry {include "geometry.xkb"};
};

File diff suppressed because it is too large Load Diff

309
symbols.xkb Normal file
View File

@ -0,0 +1,309 @@
xkb_symbols "pc+us(dvorak)+inet(evdev)+terminate(ctrl_alt_bksp)" {
name[group1]="English (Dvorak)";
key <ESC> {[ Escape ] };
key <AE01> {[ percent, ampersand ] };
key <AE02> {[ 9, bracketleft ] };
key <AE03> {[ 7, braceleft ] };
key <AE04> {[ 5, braceright ] };
key <AE05> {[ 3, parenleft ] };
key <AE06> {[ 1, equal ] };
key <AE07> {[ 0, asterisk ] };
key <AE08> {[ 2, parenright ] };
key <AE09> {[ 4, plus ] };
key <AE10> {[ 6, bracketright ] };
key <AE11> {[ 8, exclam ] };
key <AE12> {[ numbersign, grave ] };
key <BKSP> {[ BackSpace ] };
key <TAB> {[ Tab, ISO_Left_Tab ] };
key <AD01> {[ semicolon, colon ] };
key <AD02> {type = "ALPHABETIC_WITH_MOUSE", symbols[Group1] = [ comma, less ], symbols[Group2] = [F27] };
key <AD03> {[ period, greater ] };
key <AD04> {type = "ALPHABETIC", symbols[Group1] = [ p, P ] };
key <AD05> {type = "ALPHABETIC", symbols[Group1] = [ y, Y ] };
key <AD06> {type = "ALPHABETIC", symbols[Group1] = [ f, F ] };
key <AD07> {type = "ALPHABETIC", symbols[Group1] = [ g, G ] };
key <AD08> {type = "ALPHABETIC", symbols[Group1] = [ c, C ] };
key <AD09> {type = "ALPHABETIC", symbols[Group1] = [ r, R ] };
key <AD10> {type = "ALPHABETIC", symbols[Group1] = [ l, L ] };
key <AD11> {[ slash, question ] };
key <AD12> {[ at, asciicircum ] };
key <RTRN> {[ Return ] };
key <LCTL> {[ Hyper ] };
key <AC01> {type = "ALPHABETIC_WITH_MOUSE", symbols[Group1] = [ a, A, F28 ] };
key <AC02> {type = "ALPHABETIC_WITH_MOUSE", symbols[Group1] = [ o, O, F29 ] };
key <AC03> {type = "ALPHABETIC_WITH_MOUSE", symbols[Group1] = [ e, E, F30 ] };
key <AC04> {type = "ALPHABETIC", symbols[Group1] = [ u, U ] };
key <AC05> {type = "ALPHABETIC", symbols[Group1] = [ i, I ] };
key <AC06> {type = "ALPHABETIC", symbols[Group1] = [ d, D ] };
key <AC07> {type = "ALPHABETIC", symbols[Group1] = [ h, H ] };
key <AC08> {type = "ALPHABETIC", symbols[Group1] = [ t, T ] };
key <AC09> {type = "ALPHABETIC", symbols[Group1] = [ n, N ] };
key <AC10> {type = "ALPHABETIC", symbols[Group1] = [ s, S ] };
key <AC11> {type = "SHIFTABEL_TWO_LEVEL", symbols[Group1] = [ minus, underscore ] };
key <TLDE> {type = "SHIFTABEL_TWO_LEVEL", symbols[Group1] = [ dollar, asciitilde] };
key <LFSH> {[ Shift_L ] };
key <BKSL> {type = "SHIFTABEL_TWO_LEVEL", symbols[Group1] = [ backslash, bar ] };
key <AB01> {type = "SHIFTABEL_TWO_LEVEL", symbols[Group1] = [ apostrophe, quotedbl ] };
key <AB02> {type = "ALPHABETIC", symbols[Group1] = [ q, Q ] };
key <AB03> {type = "ALPHABETIC", symbols[Group1]= [ j, J ] };
key <AB04> {type = "ALPHABETIC", symbols[Group1]= [ k, K ] };
key <AB05> {type = "ALPHABETIC", symbols[Group1]= [ x, X ] };
key <AB06> {type = "ALPHABETIC", symbols[Group1]= [ b, B ] };
key <AB07> {type = "ALPHABETIC", symbols[Group1]= [ m, M ] };
key <AB08> {type = "ALPHABETIC", symbols[Group1]= [ w, W ] };
key <AB09> {type = "ALPHABETIC", symbols[Group1]= [ v, V ] };
key <AB10> {type = "ALPHABETIC", symbols[Group1]= [ z, Z ] };
key <RTSH> {[ Shift_R ] };
key <KPMU> {
type= "CTRL_ALT",
symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ]
};
key <LALT> {[ Alt_L, Meta_L ] };
key <SPCE> {[ space ] };
key <CAPS> {[ Control_L ] };
key <FK01> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F1, XF86Switch_VT_1 ]
};
key <FK02> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F2, XF86Switch_VT_2 ]
};
key <FK03> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F3, XF86Switch_VT_3 ]
};
key <FK04> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F4, XF86Switch_VT_4 ]
};
key <FK05> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F5, XF86Switch_VT_5 ]
};
key <FK06> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F6, XF86Switch_VT_6 ]
};
key <FK07> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F7, XF86Switch_VT_7 ]
};
key <FK08> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F8, XF86Switch_VT_8 ]
};
key <FK09> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F9, XF86Switch_VT_9 ]
};
key <FK10> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F10, XF86Switch_VT_10 ]
};
key <FK11> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F11, XF86Switch_VT_11 ]
};
key <FK12> {
type = "CTRL_AND_ALT",
symbols[Group1]= [F12, XF86Switch_VT_12 ]
};
key <NMLK> {[ Num_Lock ] };
key <SCLK> {[ Scroll_Lock ] };
key <KP7> {[ KP_Home, KP_7 ] };
key <KP8> {[ KP_Up, KP_8 ] };
key <KP9> {[ KP_Prior, KP_9 ] };
key <KPSU> {
type= "CTRL_ALT",
symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ]
};
key <KP4> {[ KP_Left, KP_4 ] };
key <KP5> {[ KP_Begin, KP_5 ] };
key <KP6> {[ KP_Right, KP_6 ] };
key <KPAD> {
type= "CTRL_ALT",
symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ]
};
key <KP1> {[ KP_End, KP_1 ] };
key <KP2> {[ KP_Down, KP_2 ] };
key <KP3> {[ KP_Next, KP_3 ] };
key <KP0> {[ KP_Insert, KP_0 ] };
key <KPDL> {[ KP_Delete, KP_Decimal ] };
key <LVL3> {[ ISO_Level3_Shift ] };
key <LSGT> {
type= "FOUR_LEVEL",
symbols[Group1]= [ less, greater, bar, brokenbar ]
};
key <KATA> {[ Katakana ] };
key <HIRA> {[ Hiragana ] };
key <HENK> {[ Henkan_Mode ] };
key <HKTG> {[ Hiragana_Katakana ] };
key <MUHE> {[ Muhenkan ] };
key <KPEN> {[ KP_Enter ] };
key <RCTL> {[ Control_R ] };
key <KPDV> {
type= "CTRL_ALT",
symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ]
};
key <PRSC> {
type= "PC_ALT_LEVEL2",
symbols[Group1]= [ Print, Sys_Req ]
};
key <RALT> {
type= "TWO_LEVEL",
symbols[Group1]= [ Alt_R, Meta_R ]
};
key <LNFD> {[ Linefeed ] };
key <HOME> {[ Home ] };
key <UP> {[Up ] };
key <PGUP> {[ Prior ] };
key <LEFT> {[ Left ] };
key <RGHT> {[ Right ] };
key <END> {[ End ] };
key <DOWN> {[ Down ] };
key <PGDN> {[ Next ] };
key <INS> {[ Insert ] };
key <DELE> {[ Delete ] };
key <MUTE> {[ XF86AudioMute ] };
key <VOL-> {[ XF86AudioLowerVolume ] };
key <VOL+> {[ XF86AudioRaiseVolume ] };
key <POWR> {[ XF86PowerOff ] };
key <KPEQ> {[ KP_Equal ] };
key <I126> {[ plusminus ] };
key <PAUS> {
type= "PC_CONTROL_LEVEL2",
symbols[Group1]= [ Pause, Break ]
};
key <I128> {[ XF86LaunchA ] };
key <I129> {[ KP_Decimal, KP_Decimal ] };
key <HNGL> {[ Hangul ] };
key <HJCV> {[ Hangul_Hanja ] };
key <LWIN> {[ Super_L ] };
key <RWIN> {[ Super_R ] };
key <COMP> {[ Menu ] };
key <STOP> {[ Cancel ] };
key <AGAI> {[ Redo ] };
key <PROP> {[ SunProps ] };
key <UNDO> {[ Undo ] };
key <FRNT> {[ SunFront ] };
key <COPY> {[ XF86Copy ] };
key <OPEN> {[ XF86Open ] };
key <PAST> {[ XF86Paste ] };
key <FIND> {[ Find ] };
key <CUT> {[ XF86Cut ] };
key <HELP> {[ Help ] };
key <I147> {[ XF86MenuKB ] };
key <I148> {[ XF86Calculator ] };
key <I150> {[ XF86Sleep ] };
key <I151> {[ XF86WakeUp ] };
key <I152> {[ XF86Explorer ] };
key <I153> {[ XF86Send ] };
key <I155> {[ XF86Xfer ] };
key <I156> {[ XF86Launch1 ] };
key <I157> {[ XF86Launch2 ] };
key <I158> {[ XF86WWW ] };
key <I159> {[ XF86DOS ] };
key <I160> {[ XF86ScreenSaver ] };
key <I161> {[ XF86RotateWindows ] };
key <I162> {[ XF86TaskPane ] };
key <I163> {[ XF86Mail ] };
key <I164> {[ XF86Favorites ] };
key <I165> {[ XF86MyComputer ] };
key <I166> {[ XF86Back ] };
key <I167> {[ XF86Forward ] };
key <I169> {[ XF86Eject ] };
key <I170> {[ XF86Eject ] };
key <I171> {[ XF86AudioNext ] };
key <I172> {[ XF86AudioPlay, XF86AudioPause ] };
key <I173> {[ XF86AudioPrev ] };
key <I174> {[ XF86AudioStop, XF86Eject ] };
key <I175> {[ XF86AudioRecord ] };
key <I176> {[ XF86AudioRewind ] };
key <I177> {[ XF86Phone ] };
key <I179> {[ XF86Tools ] };
key <I180> {[ XF86HomePage ] };
key <I181> {[ XF86Reload ] };
key <I182> {[ XF86Close ] };
key <I185> {[ XF86ScrollUp ] };
key <I186> {[ XF86ScrollDown ] };
key <I187> {[ parenleft ] };
key <I188> {[ parenright ] };
key <I189> {[ XF86New ] };
key <I190> {[ Redo ] };
key <FK13> {[ XF86Tools ] };
key <FK14> {[ XF86Launch5 ] };
key <FK15> {[ XF86Launch6 ] };
key <FK16> {[ XF86Launch7 ] };
key <FK17> {[ XF86Launch8 ] };
key <FK18> {[ XF86Launch9 ] };
key <FK20> {[ XF86AudioMicMute ] };
key <FK21> {[ XF86TouchpadToggle ] };
key <FK22> {[ XF86TouchpadOn ] };
key <FK23> {[ XF86TouchpadOff ] };
key <MDSW> {[ Mode_switch ] };
key <ALT> {[ NoSymbol, Alt_L ] };
key <META> {[ NoSymbol, Meta_L ] };
key <SUPR> {[ NoSymbol, Super_L ] };
key <HYPR> {[ Hyper_L, Hyper_L ] };
key <I208> {[ XF86AudioPlay ] };
key <I209> {[ XF86AudioPause ] };
key <I210> {[ XF86Launch3 ] };
key <I211> {[ XF86Launch4 ] };
key <I212> {[ XF86LaunchB ] };
key <I213> {[ XF86Suspend ] };
key <I214> {[ XF86Close ] };
key <I215> {[ XF86AudioPlay ] };
key <I216> {[ XF86AudioForward ] };
key <I218> {[ Print ] };
key <I220> {[ XF86WebCam ] };
key <I221> {[ XF86AudioPreset ] };
key <I223> {[ XF86Mail ] };
key <I224> {[ XF86Messenger ] };
key <I225> {[ XF86Search ] };
key <I226> {[ XF86Go ] };
key <I227> {[ XF86Finance ] };
key <I228> {[ XF86Game ] };
key <I229> {[ XF86Shop ] };
key <I231> {[ Cancel ] };
key <I232> {[ XF86MonBrightnessDown ] };
key <I233> {[ XF86MonBrightnessUp ] };
key <I234> {[ XF86AudioMedia ] };
key <I235> {[ XF86Display ] };
key <I236> {[ XF86KbdLightOnOff ] };
key <I237> {[ XF86KbdBrightnessDown ] };
key <I238> {[ XF86KbdBrightnessUp ] };
key <I239> {[ XF86Send ] };
key <I240> {[ XF86Reply ] };
key <I241> {[ XF86MailForward ] };
key <I242> {[ XF86Save ] };
key <I243> {[ XF86Documents ] };
key <I244> {[ XF86Battery ] };
key <I245> {[ XF86Bluetooth ] };
key <I246> {[ XF86WLAN ] };
key <I247> {[ XF86UWB ] };
key <I249> {[ XF86Next_VMode ] };
key <I250> {[ XF86Prev_VMode ] };
key <I251> {[ XF86MonBrightnessCycle ] };
key <I252> {[ NoSymbol ] };
key <I253> {[ NoSymbol ] };
key <I254> {[ XF86WWAN ] };
key <I255> {[ XF86RFKill ] };
// key <LCTL> {[ Hyper_L ] };
modifier_map Shift { <LFSH> };
modifier_map Shift { <RTSH> };
modifier_map Mod1 { <LALT> };
modifier_map Lock { <CAPS> };
// modifier_map Mod2 { <NMLK> };
modifier_map Mod5 { <LVL3> };
modifier_map Mod1 { <RALT> };
modifier_map Mod4 { <LWIN> };
modifier_map Mod4 { <RWIN> };
// modifier_map Mod5 { <MDSW> };
// modifier_map Hyper { <LCTL> };
// modifier_map Mod1 { <META> };
modifier_map Mod4 { <SUPR> };
modifier_map Mod4 { <LCTL> };
};

55
types.xkb Normal file
View File

@ -0,0 +1,55 @@
xkb_types "custom" {
virtual_modifiers Hyper,NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Mode_switch;
type "ALPHABETIC" {
modifiers= Shift;
map[Shift]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Caps";
};
type "ONE_LEVEL" {
modifiers = none;
level_name[Level1] = "Any";
};
type "SHIFTABLE_TWO_LEVEL" {
modifiers = Shift;
map[Shift] = Level2;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
};
type "CTRL_ALT" {
modifiers = Control+Alt;
map[Control] = Level2;
preserve[Control] = Control;
map[Alt] = Level3;
preserve[Alt] = Alt;
map[Control+Alt] = Level4;
level_name[Level1] = "Base";
level_name[Level2] = "Ctrl";
level_name[Level3] = "Alt";
level_name[Level4] = "Ctrl_Alt";
};
//# For F keys and virtual terminals
type "CTRL_AND_ALT" {
modifiers = Control+Alt;
map[Control+Alt] = Level2;
level_name[Level1] = "Base";
level_name[Level2] = "Ctrl+Alt";
};
//# Keyboard mouse keys
type "ALPHABETIC_WITH_MOUSE" {
modifiers = Shift+Mode_switch;
map[Shift] = Level2;
map[Mode_switch] = Level3;
level_name[Level1] = "Base";
level_name[Level2] = "Caps";
level_name[Level3] = "Mouse";
};
};