xkb_keymap { xkb_keycodes "" { minimum = 8; maximum = 255; = 9; = 10; = 11; = 12; = 13; = 14; = 15; = 16; = 17; = 18; = 19; = 20; = 21; = 22; = 23; = 24; = 25; = 26; = 28; = 29; = 30; = 31; = 32; = 33; = 34; = 35; = 36; = 37; = 38; = 39; = 40; = 41; = 42; = 43; = 44; = 45; = 46; = 47; = 51; = 52; = 53; = 54; = 55; = 56; = 57; = 58; = 59; = 60; = 61; = 62; = 63; = 64; = 65; = 68; = 69; = 70; = 71; = 72; = 73; = 74; = 75; = 76; = 77; = 78; = 79; = 80; = 81; = 82; = 83; = 84; = 85; = 86; = 87; = 88; = 89; = 93; = 94; = 95; = 96; = 97; = 98; = 99; = 100; = 101; = 102; = 103; = 104; = 105; = 106; = 107; = 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; = 158; = 161; = 164; = 167; = 170; = 173; = 176; = 179; = 182; = 185; = 188; = 191; = 194; = 197; = 200; = 212; = 215; = 218; <1> = 241; <3> = 243; <2> = 244; indicator 1 = "Caps Lock"; indicator 2 = "Kana"; indicator 4 = "XXXX"; indicator 5 = "Scroll Lock"; indicator 6 = "Num Lock"; indicator 7 = "Suspend"; alias = <1>; alias = <3>; alias = <3>; }; xkb_types "" { virtual_modifiers NumLock=Mod2,LevelThree=Mod5,LevelFive=Mod3,U1=0x800,U2=none,U3=0x300000,Z1=none,Z2=none,Z3=0x310000,M1=0x1000,M2=none,M3=0x320000,U7=0x100000,Z7=none,M7=0x700000; type "ONE_LEVEL" { modifiers= none; level_name[1]= "New"; }; type "TWO_LEVEL" { modifiers= Shift+M1; map[Shift]= 2; map[M1]= 2; level_name[1]= "Base"; level_name[2]= "Shift"; }; type "ALPHABETIC" { modifiers= Lock; map[none]= 2; level_name[1]= "Base"; level_name[2]= "Caps"; }; type "KEYPAD" { modifiers= Shift+NumLock; map[Shift]= 2; map[NumLock]= 2; level_name[1]= "Base"; level_name[2]= "Number"; }; type "FOUR_LEVEL" { modifiers= Shift+LevelThree; map[Shift]= 2; map[LevelThree]= 3; map[Shift+LevelThree]= 4; level_name[1]= "Base"; level_name[2]= "Shift"; level_name[3]= "Alt Base"; level_name[4]= "Shift Alt"; }; type "FOUR_LEVEL_ALPHABETIC" { modifiers= Shift+Lock+LevelThree; map[Shift]= 2; map[Lock]= 2; map[LevelThree]= 3; map[Shift+LevelThree]= 4; map[Lock+LevelThree]= 4; map[Shift+Lock+LevelThree]= 3; level_name[1]= "Base"; level_name[2]= "Shift"; level_name[3]= "Alt Base"; level_name[4]= "Shift Alt"; }; type "FOUR_LEVEL_SEMIALPHABETIC" { modifiers= Shift+Lock+LevelThree; map[Shift]= 2; map[Lock]= 2; map[LevelThree]= 3; map[Shift+LevelThree]= 4; map[Lock+LevelThree]= 3; preserve[Lock+LevelThree]= Lock; map[Shift+Lock+LevelThree]= 4; preserve[Shift+Lock+LevelThree]= Lock; level_name[1]= "Base"; level_name[2]= "Shift"; level_name[3]= "Alt Base"; level_name[4]= "Shift Alt"; }; type "XXX" { modifiers= Shift+Lock+LevelThree; map[Shift]= 2; map[Shift+LevelThree]= 4; level_name[1]= "A"; level_name[2]= "2"; level_name[3]= "3"; level_name[4]= "4"; }; type "YYY" { modifiers= none; level_name[1]= "New"; }; }; xkb_compatibility "" { virtual_modifiers NumLock=Mod2,LevelThree=Mod5,LevelFive=Mod3,U1=0x800,U2=none,U3=0x300000,Z1=none,Z2=none,Z3=0x310000,M1=0x1000,M2=none,M3=0x320000,U7=0x100000,Z7=none,M7=0x700000; interpret.useModMapMods= AnyLevel; interpret.repeat= False; interpret Caps_Lock+AnyOfOrNone(all) { action= LockMods(modifiers=NumLock); }; interpret Any+AnyOf(all) { action= SetMods(modifiers=modMapMods); }; indicator "Caps Lock" { whichModState= locked; modifiers= Lock; }; indicator "Kana" { whichModState= locked; modifiers= Control; }; indicator "Num Lock" { whichModState= base; modifiers= Lock; }; }; xkb_symbols "" { key { [ Greek_alpha ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha ], actions[1]= [ SetGroup(group=3) ] }; key { [ a ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=2) ] }; key { repeat= No, symbols[1]= [ a ], actions[1]= [ SetGroup(group=2) ] }; key { [ a, { A, Y } ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=2), { SetGroup(group=2), SetMods(modifiers=Control) } ] }; key { repeat= No, symbols[1]= [ a, { A, Y } ], actions[1]= [ SetGroup(group=2), { SetGroup(group=2), SetMods(modifiers=Control) } ] }; key { [ Greek_alpha ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha ], actions[1]= [ SetGroup(group=3) ] }; key { [ Greek_alpha ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha ], actions[1]= [ SetGroup(group=3) ] }; key { [ Greek_alpha, Greek_ALPHA, Greek_alpha, NoSymbol ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3), SetGroup(group=3), NoAction() ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_ALPHA, Greek_alpha, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3), SetGroup(group=3), NoAction() ] }; key { [ Greek_alpha, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_ALPHA ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { [ Greek_alpha ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha ], actions[1]= [ SetGroup(group=3) ] }; key { [ NoSymbol, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, Greek_ALPHA ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { [ Greek_alpha, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_ALPHA ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { [ Greek_alpha ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha ], actions[1]= [ SetGroup(group=3) ] }; key { [ NoSymbol, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, Greek_ALPHA ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { [ Greek_alpha, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_ALPHA ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, X ], actions[1]= [ SetGroup(group=3), NoAction() ] }; key { [ Greek_alpha ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha ], actions[1]= [ SetGroup(group=3) ] }; key { [ Greek_alpha ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha ], actions[1]= [ SetGroup(group=3) ] }; key { [ NoSymbol, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, Greek_ALPHA ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { [ NoSymbol, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, Greek_ALPHA ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { [ Greek_alpha, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_ALPHA ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { [ { Greek_alpha, Greek_upsilon }, { Greek_ALPHA, Greek_UPSILON } ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { repeat= No, symbols[1]= [ { Greek_alpha, Greek_upsilon }, { Greek_ALPHA, Greek_UPSILON } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { [ Greek_alpha ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha ], actions[1]= [ SetGroup(group=3) ] }; key { [ Greek_alpha ] }; key { repeat= No, symbols[1]= [ NoSymbol ], actions[1]= [ SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha ], actions[1]= [ SetGroup(group=3) ] }; key { [ NoSymbol, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, Greek_ALPHA ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { [ NoSymbol, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, Greek_ALPHA ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { [ Greek_alpha, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_ALPHA ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { [ { Greek_alpha, Greek_upsilon }, { Greek_ALPHA, Greek_UPSILON } ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { repeat= No, symbols[1]= [ { Greek_alpha, Greek_upsilon }, { Greek_ALPHA, Greek_UPSILON } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { [ NoSymbol, { Greek_ALPHA, Greek_UPSILON } ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ NoAction(), { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { repeat= No, symbols[1]= [ NoSymbol, { Greek_ALPHA, Greek_UPSILON } ], actions[1]= [ NoAction(), { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { [ Greek_alpha, Greek_BETA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_BETA ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { [ { Greek_alpha, Greek_upsilon }, { Greek_ALPHA, Greek_UPSILON } ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { repeat= No, symbols[1]= [ { Greek_alpha, Greek_upsilon }, { Greek_ALPHA, Greek_UPSILON } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { [ Greek_alpha, Greek_BETA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_BETA ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { [ { Greek_alpha, Greek_upsilon }, { Greek_XI, Greek_BETA } ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetMods(modifiers=Mod5), SetGroup(group=3) } ] }; key { repeat= No, symbols[1]= [ { Greek_alpha, Greek_upsilon }, { Greek_XI, Greek_BETA } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetMods(modifiers=Mod5), SetGroup(group=3) } ] }; key { [ NoSymbol, { Greek_ALPHA, Greek_UPSILON } ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ NoAction(), { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { repeat= No, symbols[1]= [ NoSymbol, { Greek_ALPHA, Greek_UPSILON } ], actions[1]= [ NoAction(), { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { [ Greek_alpha, Greek_BETA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_BETA ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { [ { Greek_alpha, Greek_xi }, { Greek_XI, Greek_BETA } ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetMods(modifiers=Mod5), SetGroup(group=3) } ] }; key { repeat= No, symbols[1]= [ { Greek_alpha, Greek_xi }, { Greek_XI, Greek_BETA } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetMods(modifiers=Mod5), SetGroup(group=3) } ] }; key { [ { Greek_alpha, Greek_xi }, { Greek_XI, Greek_BETA } ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetMods(modifiers=Mod5), SetGroup(group=3) } ] }; key { repeat= No, symbols[1]= [ { Greek_alpha, Greek_xi }, { Greek_XI, Greek_BETA } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetMods(modifiers=Mod5), SetGroup(group=3) } ] }; key { [ Greek_alpha, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_ALPHA ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { [ Greek_alpha, Greek_ALPHA ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ Greek_alpha, Greek_ALPHA ], actions[1]= [ SetGroup(group=3), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, { X, Y } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, NoAction() ] }; key { repeat= No, symbols[1]= [ NoSymbol, X ], actions[1]= [ SetGroup(group=3), NoAction() ] }; key { repeat= No, symbols[1]= [ NoSymbol, { X, Y } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, NoAction() ] }; key { repeat= No, symbols[1]= [ { x, y }, { X, Y } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { repeat= No, symbols[1]= [ x, { X, Y } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ x, NoSymbol ], actions[1]= [ NoAction(), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ { x, y }, NoSymbol ], actions[1]= [ NoAction(), { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { repeat= No, symbols[1]= [ y, { X, Y } ], actions[1]= [ SetGroup(group=3), { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { repeat= No, symbols[1]= [ y, X ], actions[1]= [ SetMods(modifiers=Mod5), SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ NoSymbol, NoSymbol ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, SetGroup(group=3) ] }; key { [ { A, B }, a ] }; key { repeat= No, symbols[1]= [ { x, y }, X ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) }, SetGroup(group=3) ] }; key { repeat= No, symbols[1]= [ { A, A } ], actions[1]= [ { SetGroup(group=3), SetMods(modifiers=Mod5) } ] }; key { repeat= No, symbols[1]= [ Y ], actions[1]= [ SetGroup(group=3) ] }; }; };