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 = ; alias = ; }; xkb_types "complete" { virtual_modifiers NumLock,Alt,LevelThree,LevelFive,Meta,Super,Hyper,ScrollLock; 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_ALT_LEVEL2" { modifiers= Alt; map[Alt]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Alt"; }; 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[Shift+Lock+LevelFive]= Level5; 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_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; map[Shift+Lock+LevelFive]= Level5; 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 "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 "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,LevelFive,Meta,Super,Hyper,ScrollLock; 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 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 Mode_switch+AnyOfOrNone(all) { action= SetGroup(group=+1); }; interpret ISO_Level3_Shift+AnyOfOrNone(all) { action= SetMods(modifiers=LevelThree,clearLocks); }; 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) { action= LatchGroup(group=2); }; interpret ISO_Next_Group+AnyOfOrNone(all) { action= LockGroup(group=+1); }; interpret ISO_Prev_Group+AnyOfOrNone(all) { 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= LockMods(modifiers=Lock); }; interpret Any+Exactly(Lock) { action= LockMods(modifiers=Lock); }; interpret Any+AnyOf(all) { action= SetMods(modifiers=modMapMods,clearLocks); }; group 2 = Mod5; group 3 = Mod5; group 4 = Mod5; 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+custom(dvorak)+inet(evdev)+capslock(super)" { name[group1]="English (Dvorak, Custom)"; key { // type= "ONE_LEVEL", symbols[Group1]= [ Escape ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ 1, exclam ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ 2, at ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ 3, numbersign ] }; key { type= "FOUR_LEVEL", symbols[Group1]= [ 4, dollar, EuroSign, NoSymbol ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ 5, percent ] }; key { type= "FOUR_LEVEL", symbols[Group1]= [ 6, asciicircum, dead_circumflex, dead_circumflex ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ 7, ampersand ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ 8, asterisk ] }; key { type= "FOUR_LEVEL", symbols[Group1]= [ 9, parenleft, dead_grave, dead_breve ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ 0, parenright ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ bracketleft, braceleft ] }; key { type= "FOUR_LEVEL", symbols[Group1]= [ bracketright, braceright, dead_tilde, NoSymbol ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ BackSpace, BackSpace ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ Tab, ISO_Left_Tab ] }; key { type= "FOUR_LEVEL", symbols[Group1]= [ apostrophe, quotedbl, 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 ] }; 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 { // type= "TWO_LEVEL", symbols[Group1]= [ slash, question ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ equal, plus ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Return ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Control_L ] }; key { type= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ a, A, adiaeresis, Adiaeresis ] }; key { type= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ o, O, odiaeresis, Odiaeresis ] }; key { type= "ALPHABETIC", symbols[Group1]= [ e, E ] }; key { type= "FOUR_LEVEL_ALPHABETIC", symbols[Group1]= [ u, U, udiaeresis, Udiaeresis ] }; 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= "FOUR_LEVEL_SEMIALPHABETIC", symbols[Group1]= [ s, S, ssharp, NoSymbol ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ minus, underscore ] }; key { type= "FOUR_LEVEL", symbols[Group1]= [ grave, asciitilde, degree, dead_tilde ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Shift_L ] }; key { type= "FOUR_LEVEL", symbols[Group1]= [ backslash, bar, notsign, brokenbar ] }; key { type= "FOUR_LEVEL", symbols[Group1]= [ semicolon, colon, dead_ogonek, dead_doubleacute ] }; 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 { // type= "ONE_LEVEL", symbols[Group1]= [ Shift_R ] }; key { type= "CTRL+ALT", symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ Alt_L, Meta_L ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ space ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Super_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 { // type= "ONE_LEVEL", symbols[Group1]= [ Num_Lock ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Scroll_Lock ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Home, KP_7 ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Up, KP_8 ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Prior, KP_9 ] }; key { type= "CTRL+ALT", symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Left, KP_4 ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Begin, KP_5 ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Right, KP_6 ] }; key { type= "CTRL+ALT", symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_End, KP_1 ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Down, KP_2 ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Next, KP_3 ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Insert, KP_0 ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Delete, KP_Decimal ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ 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 { // type= "ONE_LEVEL", symbols[Group1]= [ Katakana ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Hiragana ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Henkan_Mode ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Hiragana_Katakana ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Muhenkan ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ KP_Enter ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ 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= "ONE_LEVEL", symbols[Group1]= [ ISO_Level3_Shift ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Linefeed ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Home ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Up ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Prior ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Left ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Right ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ End ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Down ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Next ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Insert ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Delete ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioMute ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioLowerVolume ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioRaiseVolume ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86PowerOff ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ KP_Equal ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ plusminus ] }; key { type= "PC_CONTROL_LEVEL2", symbols[Group1]= [ Pause, Break ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86LaunchA ] }; key { // type= "KEYPAD", symbols[Group1]= [ KP_Decimal, KP_Decimal ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Hangul ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Hangul_Hanja ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Super_L ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Super_R ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Menu ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Cancel ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Redo ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ SunProps ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Undo ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ SunFront ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Copy ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Open ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Paste ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Find ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Cut ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Help ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86MenuKB ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Calculator ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Sleep ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86WakeUp ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Explorer ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Send ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Xfer ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Launch1 ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Launch2 ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86WWW ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86DOS ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86ScreenSaver ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86RotateWindows ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86TaskPane ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Mail ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Favorites ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86MyComputer ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Back ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Forward ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Eject ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Eject ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioNext ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ XF86AudioPlay, XF86AudioPause ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioPrev ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ XF86AudioStop, XF86Eject ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioRecord ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioRewind ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Phone ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Tools ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86HomePage ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Reload ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Close ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86ScrollUp ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86ScrollDown ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ parenleft ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ parenright ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86New ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Redo ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Tools ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Launch5 ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Launch6 ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Launch7 ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Launch8 ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Launch9 ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioMicMute ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86TouchpadToggle ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86TouchpadOn ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86TouchpadOff ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ ISO_Level5_Shift ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ NoSymbol, Alt_L ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ NoSymbol, Meta_L ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ NoSymbol, Super_L ] }; key { // type= "TWO_LEVEL", symbols[Group1]= [ NoSymbol, Hyper_L ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioPlay ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioPause ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Launch3 ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Launch4 ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86LaunchB ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Suspend ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Close ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioPlay ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioForward ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Print ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86WebCam ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioPreset ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Mail ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Messenger ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Search ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Go ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Finance ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Game ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Shop ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ Cancel ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86MonBrightnessDown ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86MonBrightnessUp ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86AudioMedia ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Display ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86KbdLightOnOff ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86KbdBrightnessDown ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86KbdBrightnessUp ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Send ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Reply ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86MailForward ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Save ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Documents ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Battery ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Bluetooth ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86WLAN ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86UWB ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Next_VMode ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86Prev_VMode ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86MonBrightnessCycle ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86BrightnessAuto ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86DisplayOff ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86WWAN ] }; key { // type= "ONE_LEVEL", symbols[Group1]= [ XF86RFKill ] }; modifier_map Control { }; modifier_map Shift { }; modifier_map Shift { }; modifier_map Mod1 { }; modifier_map Mod4 { }; modifier_map Mod2 { }; modifier_map Mod5 { }; modifier_map Control { }; modifier_map Mod4 { }; modifier_map Mod3 { }; modifier_map Mod1 { }; modifier_map Mod1 { }; modifier_map Mod4 { }; modifier_map Mod4 { }; }; xkb_geometry "pc(pc105)" { width= 470; height= 180; alias = ; alias = ; baseColor= "white"; labelColor= "black"; xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; // color[0]= "black" // color[1]= "white" // color[2]= "grey20" // color[3]= "grey10" // color[4]= "green" // color[5]= "green30" description= "Generic 105-key PC"; shape "NORM" { corner= 1, { [ 18, 18 ] }, { [ 2, 1 ], [ 16, 16 ] } }; shape "BKSP" { corner= 1, { [ 38, 18 ] }, { [ 2, 1 ], [ 36, 16 ] } }; shape "TABK" { corner= 1, { [ 28, 18 ] }, { [ 2, 1 ], [ 26, 16 ] } }; shape "BKSL" { corner= 1, { [ 28, 18 ] }, { [ 2, 1 ], [ 26, 16 ] } }; shape "RTRN" { corner= 1, { [ 0, 0 ], [ 28, 0 ], [ 28, 37 ], [ 5, 37 ], [ 5, 18 ], [ 0, 18 ] }, { [ 2, 1 ], [ 26, 1 ], [ 26, 35 ], [ 7, 35 ], [ 7, 16 ], [ 2, 16 ] }, approx= { [ 5, 0 ], [ 28, 37 ] } }; shape "CAPS" { corner= 1, { [ 33, 18 ] }, { [ 2, 1 ], [ 31, 16 ] } }; shape "LFSH" { corner= 1, { [ 25, 18 ] }, { [ 2, 1 ], [ 23, 16 ] } }; shape "RTSH" { corner= 1, { [ 50, 18 ] }, { [ 2, 1 ], [ 48, 16 ] } }; shape "MODK" { corner= 1, { [ 27, 18 ] }, { [ 2, 1 ], [ 25, 16 ] } }; shape "SMOD" { corner= 1, { [ 23, 18 ] }, { [ 2, 1 ], [ 21, 16 ] } }; shape "SPCE" { corner= 1, { [ 113, 18 ] }, { [ 2, 1 ], [ 111, 16 ] } }; shape "KP0" { corner= 1, { [ 37, 18 ] }, { [ 2, 1 ], [ 35, 16 ] } }; shape "KPAD" { corner= 1, { [ 18, 37 ] }, { [ 2, 1 ], [ 16, 35 ] } }; shape "LEDS" { { [ 75, 20 ] } }; shape "LED" { { [ 5, 1 ] } }; section "Function" { key.color= "grey20"; priority= 7; top= 22; left= 19; width= 351; height= 19; row { top= 1; left= 1; keys { { , "NORM", 1 }, { , "NORM", 20, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 11, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 11, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 8, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 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", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "BKSP", 1, color="grey20" } }; }; row { top= 20; left= 1; keys { { , "TABK", 1, color="grey20" }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "RTRN", 1, color="grey20" } }; }; row { top= 39; left= 1; keys { { , "CAPS", 1, color="grey20" }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 } }; }; row { top= 58; left= 1; keys { { , "LFSH", 1, color="grey20" }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "RTSH", 1, color="grey20" } }; }; row { top= 77; left= 1; keys { { , "MODK", 1, color="grey20" }, { , "SMOD", 1, color="grey20" }, { , "SMOD", 1, color="grey20" }, { , "SPCE", 1 }, { , "SMOD", 1, color="grey20" }, { , "SMOD", 1, color="grey20" }, { , "SMOD", 1, color="grey20" }, { , "SMOD", 1, color="grey20" } }; }; }; // End of "Alpha" section section "Editing" { key.color= "grey20"; priority= 9; top= 61; left= 312; width= 58; height= 95; row { top= 1; left= 1; keys { { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 } }; }; row { top= 20; left= 1; keys { { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 } }; }; row { top= 58; left= 20; keys { { , "NORM", 1 } }; }; row { top= 77; left= 1; keys { { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 } }; }; }; // End of "Editing" section section "Keypad" { key.color= "grey20"; priority= 10; top= 61; left= 376; width= 77; height= 95; row { top= 1; left= 1; keys { { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 }, { , "NORM", 1 } }; }; row { top= 20; left= 1; keys { { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "KPAD", 1 } }; }; row { top= 39; left= 1; keys { { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" } }; }; row { top= 58; left= 1; keys { { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "NORM", 1, color="white" }, { , "KPAD", 1 } }; }; row { top= 77; left= 1; keys { { , "KP0", 1, color="white" }, { , "NORM", 1, color="white" } }; }; }; // End of "Keypad" section solid "LedPanel" { top= 22; left= 377; priority= 0; color= "grey10"; shape= "LEDS"; }; indicator "Num Lock" { top= 37; left= 382; priority= 1; onColor= "green"; offColor= "green30"; shape= "LED"; }; indicator "Caps Lock" { top= 37; left= 407; priority= 2; onColor= "green"; offColor= "green30"; shape= "LED"; }; indicator "Scroll Lock" { top= 37; left= 433; priority= 3; onColor= "green"; offColor= "green30"; shape= "LED"; }; text "NumLockLabel" { top= 25; left= 378; priority= 4; width= 19.8; height= 10; XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; text= "Num\nLock"; }; text "CapsLockLabel" { top= 25; left= 403; priority= 5; width= 26.4; height= 10; XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; text= "Caps\nLock"; }; text "ScrollLockLabel" { top= 25; left= 428; priority= 6; width= 39.6; height= 10; XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; text= "Scroll\nLock"; }; }; };