From 13f6729a1f904c2184a20c9b63f2a9fdf7efd038 Mon Sep 17 00:00:00 2001 From: nat Date: Tue, 11 Mar 2025 01:54:52 -0700 Subject: [PATCH] break in to different files to satisfy the arcane monstrosity that is xorg, more specifically FUCKING XKB WHY IS IT LIKE THIS --- compatibility.xkb | 121 +++ geometry.xkb | 299 +++++++ keycodes.xkb | 339 ++++++++ layout.xkb | 7 + programmerdvorak.xkb | 1937 ------------------------------------------ symbols.xkb | 309 +++++++ types.xkb | 55 ++ 7 files changed, 1130 insertions(+), 1937 deletions(-) create mode 100644 compatibility.xkb create mode 100644 geometry.xkb create mode 100644 keycodes.xkb create mode 100644 layout.xkb delete mode 100644 programmerdvorak.xkb create mode 100644 symbols.xkb create mode 100644 types.xkb diff --git a/compatibility.xkb b/compatibility.xkb new file mode 100644 index 0000000..bba1584 --- /dev/null +++ b/compatibility.xkb @@ -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); + }; + +}; + diff --git a/geometry.xkb b/geometry.xkb new file mode 100644 index 0000000..446350c --- /dev/null +++ b/geometry.xkb @@ -0,0 +1,299 @@ +xkb_geometry "pc(pc105)" { + + width= 372.8; + height= 245.1; + + alias = ; + alias = ; + + 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 { + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" } + }; + }; + row { + top = 1; + left = 77; + keys { + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" } + }; + }; + row { + top = 1; + left = 154; + keys { + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" }, + { , "FUNC", 1, color="black" }, + { , "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 { + { , "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 { + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "BKSP", 1, color="black" } + }; + }; + row { + top= 22; + left= 1; + keys { + { , "TABK", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "BKSL", 1, color="black" } + }; + }; + row { + top= 43; + left= 1; + keys { + { , "CAPS", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, + { , "RTRN", 1, color="black" } + }; + }; + row { + top= 64; + left= 1; + keys { + { , "LFSH", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "NORM", 1, color="black" }, { , "NORM", 1, color="black" }, + { , "RTSH", 1, color="black" } + }; + }; + row { + top= 85; + left= 1; + keys { + { , "SMOD", 1, color="black" }, + { , "MODK", 1, color="black" }, + { , "SMOD", 1, color="black" }, + { , "SMOD", 1, color="black" }, + { , "SPCE", 1, color="black" }, + { , "SMOD", 1, color="black" }, + { , "NORM", 1, color="black" }, + { , "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 { + { , "ARRW", 1 }, + { , "ARRW", 1 }, + { , "ARRW", 1 } + }; + }; + row { + top= 99; + left= -94; + keys { + { , "ARRW", 1 }, + { , "ARRW", 1 }, + { , "ARRW", 1 } + }; + }; + }; // End of "Editing" section +}; diff --git a/keycodes.xkb b/keycodes.xkb new file mode 100644 index 0000000..385fa82 --- /dev/null +++ b/keycodes.xkb @@ -0,0 +1,339 @@ +xkb_keycodes "evdev+aliases(dvorak)" { + minimum = 8; + maximum = 255; + = 9; + = 10; + = 11; + = 12; + = 13; + = 14; + = 15; + = 16; + = 17; + = 18; + = 19; + = 20; + = 21; + = 22; + = 23; + = 24; + = 25; + = 26; + = 27; + = 28; + = 29; + = 30; + = 31; + = 32; + = 33; + = 34; + = 35; + = 36; + = 37; + = 37; + = 38; + = 39; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + = 49; + = 50; + = 51; + = 52; + = 53; + = 54; + = 55; + = 56; + = 57; + = 58; + = 59; + = 60; + = 61; + = 62; + = 63; + = 64; + = 65; + = 66; + = 67; + = 68; + = 69; + = 70; + = 71; + = 72; + = 73; + = 74; + = 75; + = 76; + = 77; + = 78; + = 79; + = 80; + = 81; + = 82; + = 83; + = 84; + = 85; + = 86; + = 87; + = 88; + = 89; + = 90; + = 91; + = 92; + = 94; + = 95; + = 96; + = 97; + = 98; + = 99; + = 100; + = 101; + = 102; + = 103; + = 104; + = 105; + = 106; + = 107; + = 108; + = 109; + = 110; + = 111; + = 112; + = 113; + = 114; + = 115; + = 116; + = 117; + = 118; + = 119; + = 120; + = 121; + = 122; + = 123; + = 124; + = 125; + = 126; + = 127; + = 128; + = 129; + = 130; + = 131; + = 132; + = 133; + = 134; + = 135; + = 136; + = 137; + = 138; + = 139; + = 140; + = 141; + = 142; + = 143; + = 144; + = 145; + = 146; + = 147; + = 148; + = 149; + = 150; + = 151; + = 152; + = 153; + = 154; + = 155; + = 156; + = 157; + = 158; + = 159; + = 160; + = 161; + = 162; + = 163; + = 164; + = 165; + = 166; + = 167; + = 168; + = 169; + = 170; + = 171; + = 172; + = 173; + = 174; + = 175; + = 176; + = 177; + = 178; + = 179; + = 180; + = 181; + = 182; + = 183; + = 184; + = 185; + = 186; + = 187; + = 188; + = 189; + = 190; + = 191; + = 192; + = 193; + = 194; + = 195; + = 196; + = 197; + = 198; + = 199; + = 200; + = 201; + = 202; + = 203; + = 204; + = 205; + = 206; + = 207; + = 208; + = 209; + = 210; + = 211; + = 212; + = 213; + = 214; + = 215; + = 216; + = 217; + = 218; + = 219; + = 220; + = 221; + = 222; + = 223; + = 224; + = 225; + = 226; + = 227; + = 228; + = 229; + = 230; + = 231; + = 232; + = 233; + = 234; + = 235; + = 236; + = 237; + = 238; + = 239; + = 240; + = 241; + = 242; + = 243; + = 244; + = 245; + = 246; + = 247; + = 248; + = 249; + = 250; + = 251; + = 252; + = 253; + = 254; + = 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 = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; +}; + diff --git a/layout.xkb b/layout.xkb new file mode 100644 index 0000000..198322b --- /dev/null +++ b/layout.xkb @@ -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"}; +}; diff --git a/programmerdvorak.xkb b/programmerdvorak.xkb deleted file mode 100644 index 026e0be..0000000 --- a/programmerdvorak.xkb +++ /dev/null @@ -1,1937 +0,0 @@ -xkb_keymap { -xkb_keycodes "evdev+aliases(qwerty)" { - minimum = 8; - maximum = 255; - = 9; - = 10; - = 11; - = 12; - = 13; - = 14; - = 15; - = 16; - = 17; - = 18; - = 19; - = 20; - = 21; - = 22; - = 23; - = 24; - = 25; - = 26; - = 27; - = 28; - = 29; - = 30; - = 31; - = 32; - = 33; - = 34; - = 35; - = 36; - = 37; - = 38; - = 39; - = 40; - = 41; - = 42; - = 43; - = 44; - = 45; - = 46; - = 47; - = 48; - = 49; - = 50; - = 51; - = 52; - = 53; - = 54; - = 55; - = 56; - = 57; - = 58; - = 59; - = 60; - = 61; - = 62; - = 63; - = 64; - = 65; - = 66; - = 67; - = 68; - = 69; - = 70; - = 71; - = 72; - = 73; - = 74; - = 75; - = 76; - = 77; - = 78; - = 79; - = 80; - = 81; - = 82; - = 83; - = 84; - = 85; - = 86; - = 87; - = 88; - = 89; - = 90; - = 91; - = 92; - = 94; - = 95; - = 96; - = 97; - = 98; - = 99; - = 100; - = 101; - = 102; - = 103; - = 104; - = 105; - = 106; - = 107; - = 108; - = 109; - = 110; - = 111; - = 112; - = 113; - = 114; - = 115; - = 116; - = 117; - = 118; - = 119; - = 120; - = 121; - = 122; - = 123; - = 124; - = 125; - = 126; - = 127; - = 128; - = 129; - = 130; - = 131; - = 132; - = 133; - = 134; - = 135; - = 136; - = 137; - = 138; - = 139; - = 140; - = 141; - = 142; - = 143; - = 144; - = 145; - = 146; - = 147; - = 148; - = 149; - = 150; - = 151; - = 152; - = 153; - = 154; - = 155; - = 156; - = 157; - = 158; - = 159; - = 160; - = 161; - = 162; - = 163; - = 164; - = 165; - = 166; - = 167; - = 168; - = 169; - = 170; - = 171; - = 172; - = 173; - = 174; - = 175; - = 176; - = 177; - = 178; - = 179; - = 180; - = 181; - = 182; - = 183; - = 184; - = 185; - = 186; - = 187; - = 188; - = 189; - = 190; - = 191; - = 192; - = 193; - = 194; - = 195; - = 196; - = 197; - = 198; - = 199; - = 200; - = 201; - = 202; - = 203; - = 204; - = 205; - = 206; - = 207; - = 208; - = 209; - = 210; - = 211; - = 212; - = 213; - = 214; - = 215; - = 216; - = 217; - = 218; - = 219; - = 220; - = 221; - = 222; - = 223; - = 224; - = 225; - = 226; - = 227; - = 228; - = 229; - = 230; - = 231; - = 232; - = 233; - = 234; - = 235; - = 236; - = 237; - = 238; - = 239; - = 240; - = 241; - = 242; - = 243; - = 244; - = 245; - = 246; - = 247; - = 248; - = 249; - = 250; - = 251; - = 252; - = 253; - = 254; - = 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 = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; - alias = ; -}; - -xkb_types "complete" { - - virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper,Mode_switch; - - type "ONE_LEVEL" { - modifiers= none; - level_name[Level1]= "Any"; - }; - type "TWO_LEVEL" { - modifiers= Shift; - map[Shift]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - }; - type "ALPHABETIC" { - modifiers= Shift+Lock; - map[Shift]= Level2; - map[Lock]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Caps"; - }; - type "KEYPAD" { - modifiers= Shift+NumLock; - map[NumLock]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Number"; - }; - type "SHIFT+ALT" { - modifiers= Shift+Alt; - map[Shift+Alt]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift+Alt"; - }; - type "PC_SUPER_LEVEL2" { - modifiers= Mod4; - map[Mod4]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Super"; - }; - type "PC_CONTROL_LEVEL2" { - modifiers= Control; - map[Control]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Control"; - }; - type "PC_LCONTROL_LEVEL2" { - modifiers= LControl; - map[LControl]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "LControl"; - }; - type "PC_RCONTROL_LEVEL2" { - modifiers= RControl; - map[RControl]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "RControl"; - }; - type "PC_ALT_LEVEL2" { - modifiers= Alt; - map[Alt]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Alt"; - }; - type "PC_LALT_LEVEL2" { - modifiers= LAlt; - map[LAlt]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "LAlt"; - }; - type "PC_RALT_LEVEL2" { - modifiers= RAlt; - map[RAlt]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "RAlt"; - }; - type "CTRL+ALT" { - modifiers= Shift+Control+Alt+LevelThree; - map[Shift]= Level2; - preserve[Shift]= Shift; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - preserve[Shift+LevelThree]= Shift; - map[Control+Alt]= Level5; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "Ctrl+Alt"; - }; - type "LOCAL_EIGHT_LEVEL" { - modifiers= Shift+Lock+Control+LevelThree; - map[Shift+Lock]= Level1; - map[Shift]= Level2; - map[Lock]= Level2; - map[LevelThree]= Level3; - map[Shift+Lock+LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level4; - map[Control]= Level5; - map[Shift+Lock+Control]= Level5; - map[Shift+Control]= Level6; - map[Lock+Control]= Level6; - map[Control+LevelThree]= Level7; - map[Shift+Lock+Control+LevelThree]= Level7; - map[Shift+Control+LevelThree]= Level8; - map[Lock+Control+LevelThree]= Level8; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Level3"; - level_name[Level4]= "Shift Level3"; - level_name[Level5]= "Ctrl"; - level_name[Level6]= "Shift Ctrl"; - level_name[Level7]= "Level3 Ctrl"; - level_name[Level8]= "Shift Level3 Ctrl"; - }; - type "THREE_LEVEL" { - modifiers= Shift+LevelThree; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level3; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Level3"; - }; - type "EIGHT_LEVEL" { - modifiers= Shift+LevelThree+LevelFive; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[LevelFive]= Level5; - map[Shift+LevelFive]= Level6; - map[LevelThree+LevelFive]= Level7; - map[Shift+LevelThree+LevelFive]= Level8; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "X"; - level_name[Level6]= "X Shift"; - level_name[Level7]= "X Alt Base"; - level_name[Level8]= "X Shift Alt"; - }; - type "EIGHT_LEVEL_ALPHABETIC" { - modifiers= Shift+Lock+LevelThree+LevelFive; - map[Shift]= Level2; - map[Lock]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level4; - map[Shift+Lock+LevelThree]= Level3; - map[LevelFive]= Level5; - map[Shift+LevelFive]= Level6; - map[Lock+LevelFive]= Level6; - map[LevelThree+LevelFive]= Level7; - map[Shift+LevelThree+LevelFive]= Level8; - map[Lock+LevelThree+LevelFive]= Level8; - map[Shift+Lock+LevelThree+LevelFive]= Level7; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "X"; - level_name[Level6]= "X Shift"; - level_name[Level7]= "X Alt Base"; - level_name[Level8]= "X Shift Alt"; - }; - type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" { - modifiers= Shift+Lock+NumLock+LevelThree+LevelFive; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[LevelFive]= Level5; - map[Shift+LevelFive]= Level6; - preserve[Shift+LevelFive]= Shift; - map[LevelThree+LevelFive]= Level7; - map[Shift+LevelThree+LevelFive]= Level8; - map[NumLock]= Level5; - map[Shift+NumLock]= Level6; - preserve[Shift+NumLock]= Shift; - map[NumLock+LevelThree]= Level7; - map[Shift+NumLock+LevelThree]= Level8; - map[Shift+NumLock+LevelFive]= Level2; - map[NumLock+LevelThree+LevelFive]= Level3; - map[Shift+NumLock+LevelThree+LevelFive]= Level4; - map[Shift+Lock]= Level2; - map[Lock+LevelThree]= Level3; - map[Shift+Lock+LevelThree]= Level4; - map[Lock+LevelFive]= Level5; - map[Shift+Lock+LevelFive]= Level6; - preserve[Shift+Lock+LevelFive]= Shift; - map[Lock+LevelThree+LevelFive]= Level7; - map[Shift+Lock+LevelThree+LevelFive]= Level8; - map[Lock+NumLock]= Level5; - map[Shift+Lock+NumLock]= Level6; - preserve[Shift+Lock+NumLock]= Shift; - map[Lock+NumLock+LevelThree]= Level7; - map[Shift+Lock+NumLock+LevelThree]= Level8; - map[Shift+Lock+NumLock+LevelFive]= Level2; - map[Lock+NumLock+LevelThree+LevelFive]= Level3; - map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level4; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "X"; - level_name[Level6]= "X Shift"; - level_name[Level7]= "X Alt Base"; - level_name[Level8]= "X Shift Alt"; - }; - type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" { - modifiers= Shift+Lock+NumLock+LevelThree+LevelFive; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[LevelFive]= Level5; - map[Shift+LevelFive]= Level6; - preserve[Shift+LevelFive]= Shift; - map[LevelThree+LevelFive]= Level7; - map[Shift+LevelThree+LevelFive]= Level8; - map[NumLock]= Level5; - map[Shift+NumLock]= Level6; - preserve[Shift+NumLock]= Shift; - map[NumLock+LevelThree]= Level7; - map[Shift+NumLock+LevelThree]= Level8; - map[Shift+NumLock+LevelFive]= Level2; - map[NumLock+LevelThree+LevelFive]= Level3; - map[Shift+NumLock+LevelThree+LevelFive]= Level4; - map[Lock]= Level2; - map[Lock+LevelThree]= Level3; - map[Shift+Lock+LevelThree]= Level4; - map[Lock+LevelFive]= Level5; - map[Shift+Lock+LevelFive]= Level6; - map[Lock+LevelThree+LevelFive]= Level7; - map[Shift+Lock+LevelThree+LevelFive]= Level8; - map[Lock+NumLock]= Level5; - map[Shift+Lock+NumLock]= Level6; - map[Lock+NumLock+LevelThree]= Level7; - map[Shift+Lock+NumLock+LevelThree]= Level8; - map[Lock+NumLock+LevelFive]= Level2; - map[Lock+NumLock+LevelThree+LevelFive]= Level4; - map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level3; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "X"; - level_name[Level6]= "X Shift"; - level_name[Level7]= "X Alt Base"; - level_name[Level8]= "X Shift Alt"; - }; - type "EIGHT_LEVEL_SEMIALPHABETIC" { - modifiers= Shift+Lock+LevelThree+LevelFive; - map[Shift]= Level2; - map[Lock]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level3; - preserve[Lock+LevelThree]= Lock; - map[Shift+Lock+LevelThree]= Level4; - preserve[Shift+Lock+LevelThree]= Lock; - map[LevelFive]= Level5; - map[Shift+LevelFive]= Level6; - map[Lock+LevelFive]= Level6; - preserve[Lock+LevelFive]= Lock; - map[Shift+Lock+LevelFive]= Level6; - preserve[Shift+Lock+LevelFive]= Lock; - map[LevelThree+LevelFive]= Level7; - map[Shift+LevelThree+LevelFive]= Level8; - map[Lock+LevelThree+LevelFive]= Level7; - preserve[Lock+LevelThree+LevelFive]= Lock; - map[Shift+Lock+LevelThree+LevelFive]= Level8; - preserve[Shift+Lock+LevelThree+LevelFive]= Lock; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "X"; - level_name[Level6]= "X Shift"; - level_name[Level7]= "X Alt Base"; - level_name[Level8]= "X Shift Alt"; - }; - type "FOUR_LEVEL" { - modifiers= Shift+LevelThree; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - }; - type "FOUR_LEVEL_ALPHABETIC" { - modifiers= Shift+Lock+LevelThree; - map[Shift]= Level2; - map[Lock]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level4; - map[Shift+Lock+LevelThree]= Level3; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - }; - type "FOUR_LEVEL_SEMIALPHABETIC" { - modifiers= Shift+Lock+LevelThree; - map[Shift]= Level2; - map[Lock]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level3; - preserve[Lock+LevelThree]= Lock; - map[Shift+Lock+LevelThree]= Level4; - preserve[Shift+Lock+LevelThree]= Lock; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - }; - type "FOUR_LEVEL_MIXED_KEYPAD" { - modifiers= Shift+NumLock+LevelThree; - map[Shift+NumLock]= Level1; - map[NumLock]= Level2; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[NumLock+LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Shift+NumLock+LevelThree]= Level4; - level_name[Level1]= "Base"; - level_name[Level2]= "Number"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - }; - type "FOUR_LEVEL_X" { - modifiers= Shift+Control+Alt+LevelThree; - map[LevelThree]= Level2; - map[Shift+LevelThree]= Level3; - map[Control+Alt]= Level4; - level_name[Level1]= "Base"; - level_name[Level2]= "Alt Base"; - level_name[Level3]= "Shift Alt"; - level_name[Level4]= "Ctrl+Alt"; - }; - type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" { - modifiers= Shift+Lock+LevelThree; - map[Shift]= Level2; - map[Lock]= Level4; - preserve[Lock]= Lock; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level3; - preserve[Lock+LevelThree]= Lock; - map[Shift+Lock+LevelThree]= Level3; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "AltGr Base"; - level_name[Level4]= "Shift AltGr"; - }; - type "FOUR_LEVEL_PLUS_LOCK" { - modifiers= Shift+Lock+LevelThree; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock]= Level5; - map[Shift+Lock]= Level2; - map[Lock+LevelThree]= Level3; - map[Shift+Lock+LevelThree]= Level4; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "Lock"; - }; - type "FOUR_LEVEL_KEYPAD" { - modifiers= Shift+NumLock+LevelThree; - map[Shift]= Level2; - map[NumLock]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[NumLock+LevelThree]= Level4; - map[Shift+NumLock+LevelThree]= Level3; - level_name[Level1]= "Base"; - level_name[Level2]= "Number"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Alt Number"; - }; -}; - -xkb_compatibility "complete" { - - virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; - - interpret.useModMapMods= AnyLevel; - interpret.repeat= False; - interpret.locking= False; - interpret ISO_Level2_Latch+Exactly(Shift) { - useModMapMods=level1; - action= LatchMods(modifiers=Shift,clearLocks,latchToLock); - }; - interpret Shift_Lock+AnyOf(Shift+Lock) { - action= LockMods(modifiers=Shift); - }; - interpret Num_Lock+AnyOf(all) { - virtualModifier= NumLock; - action= LockMods(modifiers=NumLock); - }; - interpret Mode_switch+AnyOfOrNone(all) { - virtualModifier= AltGr; - useModMapMods= level1; - action= SetGroup(group=+1); - }; - interpret ISO_Level3_Shift+AnyOf(all) { - virtualModifier= LevelThree; - useModMapMods=level1; - action= SetMods(modifiers=LevelThree,clearLocks); - }; - interpret ISO_Level3_Latch+AnyOf(all) { - virtualModifier= LevelThree; - useModMapMods=level1; - action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); - }; - interpret ISO_Level3_Lock+AnyOf(all) { - virtualModifier= LevelThree; - useModMapMods=level1; - action= LockMods(modifiers=LevelThree); - }; - 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=modMapMods,clearLocks); - }; - interpret Hyper_R+AnyOf(all) { - virtualModifier= Hyper; - action= SetMods(modifiers=modMapMods,clearLocks); - }; - interpret Scroll_Lock+AnyOf(all) { - virtualModifier= ScrollLock; - action= LockMods(modifiers=modMapMods); - }; - interpret ISO_Level5_Shift+AnyOf(all) { - virtualModifier= LevelFive; - useModMapMods=level1; - action= SetMods(modifiers=LevelFive,clearLocks); - }; - interpret ISO_Level5_Latch+AnyOf(all) { - virtualModifier= LevelFive; - useModMapMods=level1; - action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); - }; - interpret ISO_Level5_Lock+AnyOf(all) { - virtualModifier= LevelFive; - useModMapMods=level1; - action= LockMods(modifiers=LevelFive); - }; - interpret ISO_Level3_Shift+AnyOfOrNone(all) { - virtualModifier= LevelThree; - action= SetMods(modifiers=LevelThree,clearLocks); - action= SetGroup(group+2); - useModMapMods= level1; - }; - interpret ISO_Level3_Latch+AnyOfOrNone(all) { - action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); - }; - interpret ISO_Level3_Lock+AnyOfOrNone(all) { - action= LockMods(modifiers=LevelThree); - }; - interpret ISO_Group_Latch+AnyOfOrNone(all) { - virtualModifier= AltGr; - useModMapMods=level1; - action= LatchGroup(group=2); - }; - interpret ISO_Next_Group+AnyOfOrNone(all) { - virtualModifier= AltGr; - useModMapMods=level1; - action= LockGroup(group=+1); - }; - interpret ISO_Prev_Group+AnyOfOrNone(all) { - virtualModifier= AltGr; - useModMapMods=level1; - action= LockGroup(group=-1); - }; - interpret ISO_First_Group+AnyOfOrNone(all) { - action= LockGroup(group=1); - }; - interpret ISO_Last_Group+AnyOfOrNone(all) { - action= LockGroup(group=2); - }; - interpret KP_1+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=+1); - }; - interpret KP_End+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=+1); - }; - interpret KP_2+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+0,y=+1); - }; - interpret KP_Down+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+0,y=+1); - }; - interpret KP_3+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=+1); - }; - interpret KP_Next+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=+1); - }; - interpret KP_4+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=+0); - }; - interpret KP_Left+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=+0); - }; - interpret KP_6+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=+0); - }; - interpret KP_Right+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=+0); - }; - interpret KP_7+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=-1); - }; - interpret KP_Home+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=-1); - }; - interpret KP_8+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+0,y=-1); - }; - interpret KP_Up+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+0,y=-1); - }; - interpret KP_9+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=-1); - }; - interpret KP_Prior+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=-1); - }; - interpret KP_5+AnyOfOrNone(all) { - repeat= True; - action= PtrBtn(button=default); - }; - interpret KP_Begin+AnyOfOrNone(all) { - repeat= True; - action= PtrBtn(button=default); - }; - interpret KP_F2+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=1); - }; - interpret KP_Divide+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=1); - }; - interpret KP_F3+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=2); - }; - interpret KP_Multiply+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=2); - }; - interpret KP_F4+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=3); - }; - interpret KP_Subtract+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=3); - }; - interpret KP_Separator+AnyOfOrNone(all) { - repeat= True; - action= PtrBtn(button=default,count=2); - }; - interpret KP_Add+AnyOfOrNone(all) { - repeat= True; - action= PtrBtn(button=default,count=2); - }; - interpret KP_0+AnyOfOrNone(all) { - repeat= True; - action= LockPtrBtn(button=default,affect=lock); - }; - interpret KP_Insert+AnyOfOrNone(all) { - repeat= True; - action= LockPtrBtn(button=default,affect=lock); - }; - interpret KP_Decimal+AnyOfOrNone(all) { - repeat= True; - action= LockPtrBtn(button=default,affect=unlock); - }; - interpret KP_Delete+AnyOfOrNone(all) { - repeat= True; - action= LockPtrBtn(button=default,affect=unlock); - }; - interpret F25+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=1); - }; - interpret F26+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=2); - }; - interpret F27+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=-1); - }; - interpret F29+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=-1); - }; - interpret F31+AnyOfOrNone(all) { - repeat= True; - action= PtrBtn(button=default); - }; - interpret F33+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=+1); - }; - interpret F35+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=+1); - }; - interpret Pointer_Button_Dflt+AnyOfOrNone(all) { - action= PtrBtn(button=default); - }; - interpret Pointer_Button1+AnyOfOrNone(all) { - action= PtrBtn(button=1); - }; - interpret Pointer_Button2+AnyOfOrNone(all) { - action= PtrBtn(button=2); - }; - interpret Pointer_Button3+AnyOfOrNone(all) { - action= PtrBtn(button=3); - }; - interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) { - action= PtrBtn(button=default,count=2); - }; - interpret Pointer_DblClick1+AnyOfOrNone(all) { - action= PtrBtn(button=1,count=2); - }; - interpret Pointer_DblClick2+AnyOfOrNone(all) { - action= PtrBtn(button=2,count=2); - }; - interpret Pointer_DblClick3+AnyOfOrNone(all) { - action= PtrBtn(button=3,count=2); - }; - interpret Pointer_Drag_Dflt+AnyOfOrNone(all) { - action= LockPtrBtn(button=default,affect=both); - }; - interpret Pointer_Drag1+AnyOfOrNone(all) { - action= LockPtrBtn(button=1,affect=both); - }; - interpret Pointer_Drag2+AnyOfOrNone(all) { - action= LockPtrBtn(button=2,affect=both); - }; - interpret Pointer_Drag3+AnyOfOrNone(all) { - action= LockPtrBtn(button=3,affect=both); - }; - interpret Pointer_EnableKeys+AnyOfOrNone(all) { - action= LockControls(controls=MouseKeys); - }; - interpret Pointer_Accelerate+AnyOfOrNone(all) { - action= LockControls(controls=MouseKeysAccel); - }; - interpret Pointer_DfltBtnNext+AnyOfOrNone(all) { - action= SetPtrDflt(affect=button,button=+1); - }; - interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) { - action= SetPtrDflt(affect=button,button=-1); - }; - interpret AccessX_Enable+AnyOfOrNone(all) { - action= LockControls(controls=AccessXKeys); - }; - interpret AccessX_Feedback_Enable+AnyOfOrNone(all) { - action= LockControls(controls=AccessXFeedback); - }; - interpret RepeatKeys_Enable+AnyOfOrNone(all) { - action= LockControls(controls=RepeatKeys); - }; - interpret SlowKeys_Enable+AnyOfOrNone(all) { - action= LockControls(controls=SlowKeys); - }; - interpret BounceKeys_Enable+AnyOfOrNone(all) { - action= LockControls(controls=BounceKeys); - }; - interpret StickyKeys_Enable+AnyOfOrNone(all) { - action= LockControls(controls=StickyKeys); - }; - interpret MouseKeys_Enable+AnyOfOrNone(all) { - action= LockControls(controls=MouseKeys); - }; - interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) { - action= LockControls(controls=MouseKeysAccel); - }; - interpret Overlay1_Enable+AnyOfOrNone(all) { - action= LockControls(controls=Overlay1); - }; - interpret Overlay2_Enable+AnyOfOrNone(all) { - action= LockControls(controls=Overlay2); - }; - interpret AudibleBell_Enable+AnyOfOrNone(all) { - action= LockControls(controls=AudibleBell); - }; - interpret Terminate_Server+AnyOfOrNone(all) { - action= Terminate(); - }; - interpret Alt_L+AnyOfOrNone(all) { - action= SetMods(modifiers=Alt,clearLocks); - }; - interpret Alt_R+AnyOfOrNone(all) { - action= SetMods(modifiers=Alt,clearLocks); - }; - interpret Meta_L+AnyOfOrNone(all) { - action= SetMods(modifiers=Meta,clearLocks); - }; - interpret Meta_R+AnyOfOrNone(all) { - action= SetMods(modifiers=Meta,clearLocks); - }; - interpret Super_L+AnyOfOrNone(all) { - action= SetMods(modifiers=Super,clearLocks); - }; - interpret Super_R+AnyOfOrNone(all) { - action= SetMods(modifiers=Super,clearLocks); - }; - interpret Hyper_L+AnyOfOrNone(all) { - action= SetMods(modifiers=Hyper,clearLocks); - }; - interpret Hyper_R+AnyOfOrNone(all) { - action= SetMods(modifiers=Hyper,clearLocks); - }; - interpret Shift_L+AnyOfOrNone(all) { - action= SetMods(modifiers=Shift,clearLocks); - }; - 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); - }; - interpret XF86LogGrabInfo+AnyOfOrNone(all) { - repeat= True; - action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00); - }; - interpret XF86LogWindowTree+AnyOfOrNone(all) { - repeat= True; - action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00); - }; - interpret XF86Next_VMode+AnyOfOrNone(all) { - repeat= True; - action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00); - }; - interpret XF86Prev_VMode+AnyOfOrNone(all) { - repeat= True; - action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00); - }; - interpret ISO_Level5_Shift+AnyOfOrNone(all) { - action= SetMods(modifiers=LevelFive,clearLocks); - }; - interpret ISO_Level5_Latch+AnyOfOrNone(all) { - action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); - }; - interpret ISO_Level5_Lock+AnyOfOrNone(all) { - action= LockMods(modifiers=LevelFive); - }; - interpret Caps_Lock+AnyOfOrNone(all) { - action= SetMods(modifiers=Control,clearlocks); - }; - interpret Any+Exactly(Lock) { - action= SetMods(modifiers=Control,clearlocks); - }; - interpret Any+AnyOf(all) { - action= SetMods(modifiers=modMapMods,clearLocks); - }; - group 2 = AltGr; - group 3 = AltGr; - group 4 = AltGr; - indicator "Caps Lock" { - !allowExplicit; - whichModState= locked; - modifiers= Lock; - }; - indicator "Num Lock" { - !allowExplicit; - whichModState= locked; - modifiers= NumLock; - }; - indicator "Scroll Lock" { - whichModState= locked; - modifiers= ScrollLock; - }; - indicator "Shift Lock" { - !allowExplicit; - whichModState= locked; - modifiers= Shift; - }; - indicator "Group 2" { - !allowExplicit; - groups= 0xfe; - }; - indicator "Mouse Keys" { - indicatorDrivesKeyboard; - controls= mouseKeys; - }; -}; - -xkb_symbols "pc+us(dvorak)+inet(evdev)+terminate(ctrl_alt_bksp)" { - - name[group1]="English (Dvorak)"; - - key { [ Escape ] }; - key { [ percent, ampersand ] }; - key { [ 9, bracketleft ] }; - key { [ 7, braceleft ] }; - key { [ 5, braceright ] }; - key { [ 3, parenleft ] }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ 1, equal, dead_circumflex, dead_circumflex ] - }; - key { [ 0, asterisk ] }; - key { [ 2, parenright ] }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ 4, plus, dead_grave, dead_breve ] - }; - key { [ 6, bracketright ] }; - key { [ 8, exclam ] }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ numbersign, grave, dead_tilde, NoSymbol ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ BackSpace, BackSpace, NoSymbol, NoSymbol, Terminate_Server ] - }; - key { [ Tab, ISO_Left_Tab ] }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ semicolon, colon, dead_acute, dead_diaeresis ] - }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ comma, less, dead_cedilla, dead_caron ] - }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ period, greater, dead_abovedot, periodcentered ] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ p, P ], - symbols[Group2]= [ U03C0, U03A0] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ y, Y ], - symbols[Group2]= [ U03C5, U03A5] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ f, F ], - symbols[Group2]= [ U03C4, U03A4] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ g, G ], - symbols[Group2]= [ U03B3, U0393] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ c, C ], - symbols[Group2]= [ U03C7, U03A7] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ r, R ], - symbols[Group2]= [ U03C1, U03A1] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ l, L ], - symbols[Group2]= [ U03BB, U039B] - }; - key { [ slash, question ] }; - key { [ at, asciicircum ] }; - key { [ Return ] }; - key { [ Mode_switch ] }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ a, A ], - symbols[Group2]= [ U03B1, U0391 ] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ o, O ], - symbols[Group2]= [ U03BF, U039F] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ e, E ], - symbols[Group2]= [ U03B5, U0395] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ u, U ], - symbols[Group2]= [ U03C5, U03A5] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ i, I ], - symbols[Group2]= [ U03B9, U0399] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ d, D ], - symbols[Group2]= [ U03B4, U0394] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ h, H ], - symbols[Group2]= [ U03B7, U0397] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ t, T ], - symbols[Group2]= [ U03B8, U0398] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ n, N ], - symbols[Group2]= [ U03BD, U039D] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ s, S ], - symbols[Group2]= [ U03C2, U03A3] - }; - key { [ minus, underscore ] }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ dollar, asciitilde, dead_grave, dead_tilde ] - }; - key { [ Shift_L ] }; - key { [ backslash, bar ] }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ apostrophe, quotedbl, dead_ogonek, dead_doubleacute ] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ q, Q ], - symbols[Group2]= [ U03C5, U03A5] - - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ j, J ], - symbols[Group2]= [ U03C6, U03A6] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ k, K ], - symbols[Group2]= [ U03BA, U039A] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ x, X ], - symbols[Group2]= [ U03C3, U03C3] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ b, B ], - symbols[Group2]= [ U03B2, U0392] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ m, M ], - symbols[Group2]= [ U03BC, U039C] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ w, W ], - symbols[Group2]= [ U03C8, U03A8] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ v, V ], - symbols[Group2]= [ U03C9, U03A9] - }; - key { - type= "ALPHABETIC", - symbols[Group1]= [ z, Z ], - symbols[Group2]= [ U03B6, U0396] - }; - key { [ Shift_R ] }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ] - }; - key { [ Alt_L, Meta_L ] }; - key { [ space ] }; - key { [ Control_L ] }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ] - }; - key { [ Num_Lock ] }; - key { [ Scroll_Lock ] }; - key { [ KP_Home, KP_7 ] }; - key { [ KP_Up, KP_8 ] }; - key { [ KP_Prior, KP_9 ] }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ] - }; - key { [ KP_Left, KP_4 ] }; - key { [ KP_Begin, KP_5 ] }; - key { [ KP_Right, KP_6 ] }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ] - }; - key { [ KP_End, KP_1 ] }; - key { [ KP_Down, KP_2 ] }; - key { [ KP_Next, KP_3 ] }; - key { [ KP_Insert, KP_0 ] }; - key { [ KP_Delete, KP_Decimal ] }; - key { [ ISO_Level3_Shift ] }; - key { - type= "FOUR_LEVEL", - symbols[Group1]= [ less, greater, bar, brokenbar ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ] - }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ] - }; - key { [ Katakana ] }; - key { [ Hiragana ] }; - key { [ Henkan_Mode ] }; - key { [ Hiragana_Katakana ] }; - key { [ Muhenkan ] }; - key { [ KP_Enter ] }; - key { [ Control_R ] }; - key { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ] - }; - key { - type= "PC_ALT_LEVEL2", - symbols[Group1]= [ Print, Sys_Req ] - }; - key { - type= "TWO_LEVEL", - symbols[Group1]= [ Alt_R, Meta_R ] - }; - key { [ Linefeed ] }; - key { [ Home ] }; - key { [ Up ] }; - key { [ Prior ] }; - key { [ Left ] }; - key { [ Right ] }; - key { [ End ] }; - key { [ Down ] }; - key { [ Next ] }; - key { [ Insert ] }; - key { [ Delete ] }; - key { [ XF86AudioMute ] }; - key { [ XF86AudioLowerVolume ] }; - key { [ XF86AudioRaiseVolume ] }; - key { [ XF86PowerOff ] }; - key { [ KP_Equal ] }; - key { [ plusminus ] }; - key { - type= "PC_CONTROL_LEVEL2", - symbols[Group1]= [ Pause, Break ] - }; - key { [ XF86LaunchA ] }; - key { [ KP_Decimal, KP_Decimal ] }; - key { [ Hangul ] }; - key { [ Hangul_Hanja ] }; - key { [ Super_L ] }; - key { [ Super_R ] }; - key { [ Menu ] }; - key { [ Cancel ] }; - key { [ Redo ] }; - key { [ SunProps ] }; - key { [ Undo ] }; - key { [ SunFront ] }; - key { [ XF86Copy ] }; - key { [ XF86Open ] }; - key { [ XF86Paste ] }; - key { [ Find ] }; - key { [ XF86Cut ] }; - key { [ Help ] }; - key { [ XF86MenuKB ] }; - key { [ XF86Calculator ] }; - key { [ XF86Sleep ] }; - key { [ XF86WakeUp ] }; - key { [ XF86Explorer ] }; - key { [ XF86Send ] }; - key { [ XF86Xfer ] }; - key { [ XF86Launch1 ] }; - key { [ XF86Launch2 ] }; - key { [ XF86WWW ] }; - key { [ XF86DOS ] }; - key { [ XF86ScreenSaver ] }; - key { [ XF86RotateWindows ] }; - key { [ XF86TaskPane ] }; - key { [ XF86Mail ] }; - key { [ XF86Favorites ] }; - key { [ XF86MyComputer ] }; - key { [ XF86Back ] }; - key { [ XF86Forward ] }; - key { [ XF86Eject ] }; - key { [ XF86Eject ] }; - key { [ XF86AudioNext ] }; - key { [ XF86AudioPlay, XF86AudioPause ] }; - key { [ XF86AudioPrev ] }; - key { [ XF86AudioStop, XF86Eject ] }; - key { [ XF86AudioRecord ] }; - key { [ XF86AudioRewind ] }; - key { [ XF86Phone ] }; - key { [ XF86Tools ] }; - key { [ XF86HomePage ] }; - key { [ XF86Reload ] }; - key { [ XF86Close ] }; - key { [ XF86ScrollUp ] }; - key { [ XF86ScrollDown ] }; - key { [ parenleft ] }; - key { [ parenright ] }; - key { [ XF86New ] }; - key { [ Redo ] }; - key { [ XF86Tools ] }; - key { [ XF86Launch5 ] }; - key { [ XF86Launch6 ] }; - key { [ XF86Launch7 ] }; - key { [ XF86Launch8 ] }; - key { [ XF86Launch9 ] }; - key { [ XF86AudioMicMute ] }; - key { [ XF86TouchpadToggle ] }; - key { [ XF86TouchpadOn ] }; - key { [ XF86TouchpadOff ] }; - key { [ Mode_switch ] }; - key { [ NoSymbol, Alt_L ] }; - key { [ NoSymbol, Meta_L ] }; - key { [ NoSymbol, Super_L ] }; - key { [ NoSymbol, Hyper_L ] }; - key { [ XF86AudioPlay ] }; - key { [ XF86AudioPause ] }; - key { [ XF86Launch3 ] }; - key { [ XF86Launch4 ] }; - key { [ XF86LaunchB ] }; - key { [ XF86Suspend ] }; - key { [ XF86Close ] }; - key { [ XF86AudioPlay ] }; - key { [ XF86AudioForward ] }; - key { [ Print ] }; - key { [ XF86WebCam ] }; - key { [ XF86AudioPreset ] }; - key { [ XF86Mail ] }; - key { [ XF86Messenger ] }; - key { [ XF86Search ] }; - key { [ XF86Go ] }; - key { [ XF86Finance ] }; - key { [ XF86Game ] }; - key { [ XF86Shop ] }; - key { [ Cancel ] }; - key { [ XF86MonBrightnessDown ] }; - key { [ XF86MonBrightnessUp ] }; - key { [ XF86AudioMedia ] }; - key { [ XF86Display ] }; - key { [ XF86KbdLightOnOff ] }; - key { [ XF86KbdBrightnessDown ] }; - key { [ XF86KbdBrightnessUp ] }; - key { [ XF86Send ] }; - key { [ XF86Reply ] }; - key { [ XF86MailForward ] }; - key { [ XF86Save ] }; - key { [ XF86Documents ] }; - key { [ XF86Battery ] }; - key { [ XF86Bluetooth ] }; - key { [ XF86WLAN ] }; - key { [ XF86UWB ] }; - key { [ XF86Next_VMode ] }; - key { [ XF86Prev_VMode ] }; - key { [ XF86MonBrightnessCycle ] }; - key { [ NoSymbol ] }; - key { [ NoSymbol ] }; - key { [ XF86WWAN ] }; - key { [ XF86RFKill ] }; - modifier_map Control { }; - modifier_map Shift { }; - modifier_map Shift { }; - modifier_map Mod1 { }; - modifier_map Lock { }; - modifier_map Mod2 { }; - modifier_map Mod5 { }; - //modifier_map Control { }; - modifier_map Mod1 { }; - modifier_map Mod4 { }; - modifier_map Mod4 { }; - modifier_map Mod5 { }; - modifier_map Mod1 { }; - modifier_map Mod4 { }; - modifier_map Mod4 { }; -}; - -xkb_geometry "pc(pc105)" { - - width= 352; - height= 180; - - alias = ; - alias = ; - - baseColor= "white"; - labelColor= "black"; - xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; - description= "Generic 105-key PC"; - - shape "NORM" { - corner=1, - { [ 18, 18 ] }, - { [ 0.5, 0.5 ], [ 17, 17 ] } - }; - shape "BKSP" { - corner= 1, - { [ 37, 18 ] }, - { [ 1, 1 ], [ 36, 17 ] } - }; - shape "TABK" { - corner= 1, - { [ 28, 18 ] }, - { [ 1, 1 ], [ 27, 17 ] } - }; - shape "BKSL" { - corner= 1, - { [ 27, 18 ] }, - { [ 1, 1 ], [ 26, 17 ] } - }; - shape "RTRN" { - corner= 1, - { [ 43, 18 ] }, - { [ 1, 1 ], [ 42, 17 ] } - }; - shape "CAPS" { - corner= 1, - { [ 33, 18 ] }, - { [ 1, 1 ], [ 32, 17 ] } - }; - shape "LFSH" { - corner= 1, - { [ 45, 18 ] }, - { [ 1, 1 ], [ 44, 17 ] } - }; - shape "RTSH" { - corner= 1, - { [ 52, 18 ] }, - { [ 1, 1 ], [ 51, 17 ] } - }; - shape "MODK" { - corner= 1, - { [ 24, 18 ] }, - { [ 1, 1 ], [ 23, 17 ] } - }; - shape "SMOD" { - corner= 1, - { [ 18, 18 ] }, - { [ 0.5, 0.5 ], [ 17, 17 ] } - }; - shape "SPCE" { - corner= 1, - { [ 103, 18 ] }, - { [ 1, 1 ], [ 103, 17 ] } - }; - shape "KP0" { - corner= 1, - { [ 37, 18 ] }, - { [ 2, 1 ], [ 35, 16 ] } - }; - shape "KPAD" { - corner= 1, - { [ 18, 37 ] }, - { [ 2, 1 ], [ 16, 35 ] } - }; - shape "FUNC" { - { [ 16.75, 11 ] }, - { [ 0.5, 0.5 ], [ 15.75, 10 ] } - }; - shape "DELE" { - { [ 22, 11 ] }, - { [ 0.5, 0.5 ], [ 21, 10 ] } - }; - shape "ESCP" { - { [ 16.75, 22 ] }, - { [ 1, 1 ], [ 15.75, 21 ] } - }; - 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= 19; - width= 351; - height= 19; - row { - top= 1; - left= 1; - keys { - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "FUNC", 1, color="white" }, - { , "DELE", 1, color="white" } - }; - }; - }; // End of "Function" section - - section "Alpha" { - key.color= "white"; - priority= 8; - top= 61; - left= 19; - width= 287; - height= 95; - row { - top= 1; - left= 1; - keys { - { , "NORM", 1 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, - { , "BKSP", 3, color="grey20" } - }; - }; - row { - top= 22; - left= 1; - keys { - { , "TABK", 1, color="grey20" }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "BKSL", 3 } - }; - }; - row { - top= 43; - left= 1; - keys { - { , "CAPS", 1, color="grey20" }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, - { , "RTRN", 3, color="grey20" } - }; - }; - row { - top= 64; - left= 1; - keys { - { , "LFSH", 1, color="grey20" }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "NORM", 3 }, { , "NORM", 3 }, - { , "RTSH", 3, color="grey20" } - }; - }; - row { - top= 85; - left= 1; - keys { - { , "SMOD", 1, color="grey20" }, - { , "MODK", 3, color="grey20" }, - { , "SMOD", 3, color="grey20" }, - { , "SMOD", 3, color="grey20" }, - { , "SPCE", 3 }, - { , "SMOD", 3, color="grey20" }, - { , "NORM", 3, color="grey20" }, - { , "SMOD", 3, color="grey20" } - }; - }; - }; // 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 { - { , "ARRW", 1 }, - { , "ARRW", 1 }, - { , "ARRW", 1 } - }; - }; - row { - top= 99; - left= -94; - keys { - { , "ARRW", 1 }, - { , "ARRW", 1 }, - { , "ARRW", 1 } - }; - }; - }; // End of "Editing" section - -}; - -}; diff --git a/symbols.xkb b/symbols.xkb new file mode 100644 index 0000000..998ccd3 --- /dev/null +++ b/symbols.xkb @@ -0,0 +1,309 @@ +xkb_symbols "pc+us(dvorak)+inet(evdev)+terminate(ctrl_alt_bksp)" { + + name[group1]="English (Dvorak)"; + + key {[ Escape ] }; + key {[ percent, ampersand ] }; + key {[ 9, bracketleft ] }; + key {[ 7, braceleft ] }; + key {[ 5, braceright ] }; + key {[ 3, parenleft ] }; + key {[ 1, equal ] }; + key {[ 0, asterisk ] }; + key {[ 2, parenright ] }; + key {[ 4, plus ] }; + key {[ 6, bracketright ] }; + key {[ 8, exclam ] }; + key {[ numbersign, grave ] }; + key {[ BackSpace ] }; + key {[ Tab, ISO_Left_Tab ] }; + key {[ semicolon, colon ] }; + key {type = "ALPHABETIC_WITH_MOUSE", symbols[Group1] = [ comma, less ], symbols[Group2] = [F27] }; + key {[ period, greater ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ p, P ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ y, Y ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ f, F ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ g, G ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ c, C ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ r, R ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ l, L ] }; + key {[ slash, question ] }; + key {[ at, asciicircum ] }; + key {[ Return ] }; + key {[ Hyper ] }; + key {type = "ALPHABETIC_WITH_MOUSE", symbols[Group1] = [ a, A, F28 ] }; + key {type = "ALPHABETIC_WITH_MOUSE", symbols[Group1] = [ o, O, F29 ] }; + key {type = "ALPHABETIC_WITH_MOUSE", symbols[Group1] = [ e, E, F30 ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ u, U ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ i, I ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ d, D ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ h, H ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ t, T ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ n, N ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ s, S ] }; + key {type = "SHIFTABEL_TWO_LEVEL", symbols[Group1] = [ minus, underscore ] }; + key {type = "SHIFTABEL_TWO_LEVEL", symbols[Group1] = [ dollar, asciitilde] }; + key {[ Shift_L ] }; + key {type = "SHIFTABEL_TWO_LEVEL", symbols[Group1] = [ backslash, bar ] }; + key {type = "SHIFTABEL_TWO_LEVEL", symbols[Group1] = [ apostrophe, quotedbl ] }; + key {type = "ALPHABETIC", symbols[Group1] = [ q, Q ] }; + key {type = "ALPHABETIC", symbols[Group1]= [ j, J ] }; + key {type = "ALPHABETIC", symbols[Group1]= [ k, K ] }; + key {type = "ALPHABETIC", symbols[Group1]= [ x, X ] }; + key {type = "ALPHABETIC", symbols[Group1]= [ b, B ] }; + key {type = "ALPHABETIC", symbols[Group1]= [ m, M ] }; + key {type = "ALPHABETIC", symbols[Group1]= [ w, W ] }; + key {type = "ALPHABETIC", symbols[Group1]= [ v, V ] }; + key {type = "ALPHABETIC", symbols[Group1]= [ z, Z ] }; + key {[ Shift_R ] }; + key { + type= "CTRL_ALT", + symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ] + }; + key {[ Alt_L, Meta_L ] }; + key {[ space ] }; + key {[ Control_L ] }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F1, XF86Switch_VT_1 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F2, XF86Switch_VT_2 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F3, XF86Switch_VT_3 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F4, XF86Switch_VT_4 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F5, XF86Switch_VT_5 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F6, XF86Switch_VT_6 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F7, XF86Switch_VT_7 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F8, XF86Switch_VT_8 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F9, XF86Switch_VT_9 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F10, XF86Switch_VT_10 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F11, XF86Switch_VT_11 ] + }; + key { + type = "CTRL_AND_ALT", + symbols[Group1]= [F12, XF86Switch_VT_12 ] + }; + key {[ Num_Lock ] }; + key {[ Scroll_Lock ] }; + key {[ KP_Home, KP_7 ] }; + key {[ KP_Up, KP_8 ] }; + key {[ KP_Prior, KP_9 ] }; + key { + type= "CTRL_ALT", + symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ] + }; + key {[ KP_Left, KP_4 ] }; + key {[ KP_Begin, KP_5 ] }; + key {[ KP_Right, KP_6 ] }; + key { + type= "CTRL_ALT", + symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ] + }; + key {[ KP_End, KP_1 ] }; + key {[ KP_Down, KP_2 ] }; + key {[ KP_Next, KP_3 ] }; + key {[ KP_Insert, KP_0 ] }; + key {[ KP_Delete, KP_Decimal ] }; + key {[ ISO_Level3_Shift ] }; + key { + type= "FOUR_LEVEL", + symbols[Group1]= [ less, greater, bar, brokenbar ] + }; + key {[ Katakana ] }; + key {[ Hiragana ] }; + key {[ Henkan_Mode ] }; + key {[ Hiragana_Katakana ] }; + key {[ Muhenkan ] }; + key {[ KP_Enter ] }; + key {[ Control_R ] }; + key { + type= "CTRL_ALT", + symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ] + }; + key { + type= "PC_ALT_LEVEL2", + symbols[Group1]= [ Print, Sys_Req ] + }; + key { + type= "TWO_LEVEL", + symbols[Group1]= [ Alt_R, Meta_R ] + }; + key {[ Linefeed ] }; + key {[ Home ] }; + key {[Up ] }; + key {[ Prior ] }; + key {[ Left ] }; + key {[ Right ] }; + key {[ End ] }; + key {[ Down ] }; + key {[ Next ] }; + key {[ Insert ] }; + key {[ Delete ] }; + key {[ XF86AudioMute ] }; + key {[ XF86AudioLowerVolume ] }; + key {[ XF86AudioRaiseVolume ] }; + key {[ XF86PowerOff ] }; + key {[ KP_Equal ] }; + key {[ plusminus ] }; + key { + type= "PC_CONTROL_LEVEL2", + symbols[Group1]= [ Pause, Break ] + }; + key {[ XF86LaunchA ] }; + key {[ KP_Decimal, KP_Decimal ] }; + key {[ Hangul ] }; + key {[ Hangul_Hanja ] }; + key {[ Super_L ] }; + key {[ Super_R ] }; + key {[ Menu ] }; + key {[ Cancel ] }; + key {[ Redo ] }; + key {[ SunProps ] }; + key {[ Undo ] }; + key {[ SunFront ] }; + key {[ XF86Copy ] }; + key {[ XF86Open ] }; + key {[ XF86Paste ] }; + key {[ Find ] }; + key {[ XF86Cut ] }; + key {[ Help ] }; + key {[ XF86MenuKB ] }; + key {[ XF86Calculator ] }; + key {[ XF86Sleep ] }; + key {[ XF86WakeUp ] }; + key {[ XF86Explorer ] }; + key {[ XF86Send ] }; + key {[ XF86Xfer ] }; + key {[ XF86Launch1 ] }; + key {[ XF86Launch2 ] }; + key {[ XF86WWW ] }; + key {[ XF86DOS ] }; + key {[ XF86ScreenSaver ] }; + key {[ XF86RotateWindows ] }; + key {[ XF86TaskPane ] }; + key {[ XF86Mail ] }; + key {[ XF86Favorites ] }; + key {[ XF86MyComputer ] }; + key {[ XF86Back ] }; + key {[ XF86Forward ] }; + key {[ XF86Eject ] }; + key {[ XF86Eject ] }; + key {[ XF86AudioNext ] }; + key {[ XF86AudioPlay, XF86AudioPause ] }; + key {[ XF86AudioPrev ] }; + key {[ XF86AudioStop, XF86Eject ] }; + key {[ XF86AudioRecord ] }; + key {[ XF86AudioRewind ] }; + key {[ XF86Phone ] }; + key {[ XF86Tools ] }; + key {[ XF86HomePage ] }; + key {[ XF86Reload ] }; + key {[ XF86Close ] }; + key {[ XF86ScrollUp ] }; + key {[ XF86ScrollDown ] }; + key {[ parenleft ] }; + key {[ parenright ] }; + key {[ XF86New ] }; + key {[ Redo ] }; + key {[ XF86Tools ] }; + key {[ XF86Launch5 ] }; + key {[ XF86Launch6 ] }; + key {[ XF86Launch7 ] }; + key {[ XF86Launch8 ] }; + key {[ XF86Launch9 ] }; + key {[ XF86AudioMicMute ] }; + key {[ XF86TouchpadToggle ] }; + key {[ XF86TouchpadOn ] }; + key {[ XF86TouchpadOff ] }; + key {[ Mode_switch ] }; + key {[ NoSymbol, Alt_L ] }; + key {[ NoSymbol, Meta_L ] }; + key {[ NoSymbol, Super_L ] }; + key {[ Hyper_L, Hyper_L ] }; + key {[ XF86AudioPlay ] }; + key {[ XF86AudioPause ] }; + key {[ XF86Launch3 ] }; + key {[ XF86Launch4 ] }; + key {[ XF86LaunchB ] }; + key {[ XF86Suspend ] }; + key {[ XF86Close ] }; + key {[ XF86AudioPlay ] }; + key {[ XF86AudioForward ] }; + key {[ Print ] }; + key {[ XF86WebCam ] }; + key {[ XF86AudioPreset ] }; + key {[ XF86Mail ] }; + key {[ XF86Messenger ] }; + key {[ XF86Search ] }; + key {[ XF86Go ] }; + key {[ XF86Finance ] }; + key {[ XF86Game ] }; + key {[ XF86Shop ] }; + key {[ Cancel ] }; + key {[ XF86MonBrightnessDown ] }; + key {[ XF86MonBrightnessUp ] }; + key {[ XF86AudioMedia ] }; + key {[ XF86Display ] }; + key {[ XF86KbdLightOnOff ] }; + key {[ XF86KbdBrightnessDown ] }; + key {[ XF86KbdBrightnessUp ] }; + key {[ XF86Send ] }; + key {[ XF86Reply ] }; + key {[ XF86MailForward ] }; + key {[ XF86Save ] }; + key {[ XF86Documents ] }; + key {[ XF86Battery ] }; + key {[ XF86Bluetooth ] }; + key {[ XF86WLAN ] }; + key {[ XF86UWB ] }; + key {[ XF86Next_VMode ] }; + key {[ XF86Prev_VMode ] }; + key {[ XF86MonBrightnessCycle ] }; + key {[ NoSymbol ] }; + key {[ NoSymbol ] }; + key {[ XF86WWAN ] }; + key {[ XF86RFKill ] }; + // key {[ Hyper_L ] }; + modifier_map Shift { }; + modifier_map Shift { }; + modifier_map Mod1 { }; + modifier_map Lock { }; +// modifier_map Mod2 { }; + modifier_map Mod5 { }; + modifier_map Mod1 { }; + modifier_map Mod4 { }; + modifier_map Mod4 { }; +// modifier_map Mod5 { }; + // modifier_map Hyper { }; + // modifier_map Mod1 { }; + modifier_map Mod4 { }; + modifier_map Mod4 { }; +}; diff --git a/types.xkb b/types.xkb new file mode 100644 index 0000000..b081574 --- /dev/null +++ b/types.xkb @@ -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"; + }; +};