From 848e836713a2207748d2c4d7ab207267b15d282e Mon Sep 17 00:00:00 2001 From: Maarten van Gompel Date: Tue, 29 Aug 2023 00:00:46 +0200 Subject: [PATCH] added hebrew layout (based on initial work by Schimon Jehudah) --- keymap.mobintl.h | 1466 +++++++++++++++++++++++++++++++++++++++++++++- layout.mobintl.h | 55 +- 2 files changed, 1517 insertions(+), 4 deletions(-) diff --git a/keymap.mobintl.h b/keymap.mobintl.h index 6508eb1..aae951d 100644 --- a/keymap.mobintl.h +++ b/keymap.mobintl.h @@ -1,7 +1,7 @@ -#define NUMKEYMAPS 6 +#define NUMKEYMAPS 7 static const char *keymap_names[] = {"latin", "cyrillic", "arabic", - "georgian", "greek", "persian"}; + "georgian", "greek", "persian", "hebrew" }; static const char *keymaps[NUMKEYMAPS] = { @@ -8781,5 +8781,1465 @@ xkb_symbols \"(unnamed)\" {\ modifier_map Mod2 { };\ modifier_map Mod4 { , , , };\ modifier_map Mod5 { , };\ +};};", +//HEBREW +"xkb_keymap {\ +xkb_keycodes \"(unnamed)\" {\ + 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\";\ + indicator 12 = \"Shift Lock\";\ + indicator 13 = \"Group 2\";\ + 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 = ;\ };\ -};"}; +\ +xkb_types \"(unnamed)\" {\ + virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;\ +\ + 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 \"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]= 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[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 \"KEYPAD\" {\ + modifiers= Shift+NumLock;\ + map[Shift]= Level2;\ + map[NumLock]= Level2;\ + level_name[Level1]= \"Base\";\ + level_name[Level2]= \"Number\";\ + };\ + 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 \"(unnamed)\" {\ + virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;\ +\ + interpret.useModMapMods= AnyLevel;\ + interpret.repeat= 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) {\ + virtualModifier= AltGr;\ + useModMapMods=level1;\ + 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) {\ + 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);\ + };\ + interpret Pointer_Drag1+AnyOfOrNone(all) {\ + action= LockPtrBtn(button=1);\ + };\ + interpret Pointer_Drag2+AnyOfOrNone(all) {\ + action= LockPtrBtn(button=2);\ + };\ + interpret Pointer_Drag3+AnyOfOrNone(all) {\ + action= LockPtrBtn(button=3);\ + };\ + 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=none);\ + };\ + interpret Overlay2_Enable+AnyOfOrNone(all) {\ + action= LockControls(controls=none);\ + };\ + 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);\ + };\ + indicator \"Caps Lock\" {\ + whichModState= locked;\ + modifiers= Lock;\ + };\ + indicator \"Num Lock\" {\ + whichModState= locked;\ + modifiers= NumLock;\ + };\ + indicator \"Scroll Lock\" {\ + whichModState= locked;\ + modifiers= ScrollLock;\ + };\ + indicator \"Shift Lock\" {\ + whichModState= locked;\ + modifiers= Shift;\ + };\ + indicator \"Group 2\" {\ + groups= 0xfe;\ + };\ + indicator \"Mouse Keys\" {\ + controls= MouseKeys;\ + };\ +};\ +\ +xkb_symbols \"(unnamed)\" {\ + name[group1]=\"wvkbd hebrew\";\ +\ + key { [ Escape ] };\ + key { [ 1, exclam ] };\ + key { [ 2, at ] };\ + key { [ 3, numbersign ] };\ + key { [ 4, NewSheqelSign ] };\ + key { [ 5, percent ] };\ + key { [ 6, asciicircum ] };\ + key { [ 7, ampersand ] };\ + key { [ 8, asterisk ] };\ + key { [ 9, parenleft ] };\ + key { [ 0, parenright ] };\ + key { [ minus, underscore ] };\ + key { [ equal, plus ] };\ + key { [ BackSpace, BackSpace ] };\ + key { [ Tab, ISO_Left_Tab ] };\ + key { [ semicolon, asciitilde ] };\ + key { [ slash, slash ] };\ + key { [ apostrophe, apostrophe ] };\ + key { [ hebrew_qoph, hebrew_qoph ] };\ + key { [ hebrew_resh, hebrew_resh ] };\ + key { [ hebrew_aleph, hebrew_aleph ] };\ + key { [ hebrew_tet, hebrew_tet ] };\ + key { [ hebrew_waw, hebrew_waw ] };\ + key { [ hebrew_finalnun, hebrew_finalnun ] };\ + key { [ hebrew_finalmem, hebrew_finalmem ] };\ + key { [ hebrew_pe, hebrew_pe ] };\ + key { [ bracketright, bracketright ] };\ + key { [ bracketleft, bracketleft ] };\ + key { [ Return ] };\ + key { [ Control_L ] };\ + key { [ hebrew_shin, hebrew_shin ] };\ + key { [ hebrew_dalet, hebrew_dalet ] };\ + key { [ hebrew_gimel, hebrew_gimel ] };\ + key { [ hebrew_kaph, hebrew_kaph ] };\ + key { [ hebrew_ayin, hebrew_ayin ] };\ + key { [ hebrew_yod, hebrew_yod ] };\ + key { [ hebrew_chet, hebrew_chet ] };\ + key { [ hebrew_lamed, hebrew_lamed ] };\ + key { [hebrew_finalkaph, hebrew_finalkaph ] };\ + key { [ hebrew_finalpe, hebrew_finalpe ] };\ + key { [ comma, quotedbl ] };\ + key { [ Shift_L ] };\ + key { [ hebrew_zain, hebrew_zain ] };\ + key { [ hebrew_samech, hebrew_samech ] };\ + key { [ hebrew_bet, hebrew_bet ] };\ + key { [ hebrew_he, hebrew_he ] };\ + key { [ hebrew_nun, hebrew_nun ] };\ + key { [ hebrew_mem, hebrew_mem ] };\ + key { [ hebrew_zade, hebrew_zade ] };\ + key { [ hebrew_taw, hebrew_taw ] };\ + key { [hebrew_finalzade, hebrew_finalzade ] };\ + key { [ period, question ] };\ + key { [ exclamdown, questiondown, exclamdown ] };\ + 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 { [ Caps_Lock ] };\ + 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 { [ 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 { [ U%08X, U%08X ] };\ + 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, 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 { [ XF86WWAN ] };\ + key { [ XF86RFKill ] };\ + modifier_map Shift { , };\ + modifier_map Lock { };\ + modifier_map Control { , };\ + modifier_map Mod1 { , , };\ + modifier_map Mod2 { };\ + modifier_map Mod4 { , , , };\ + modifier_map Mod5 { , };\ +};};" +}; diff --git a/layout.mobintl.h b/layout.mobintl.h index d0929c0..3d8bc71 100644 --- a/layout.mobintl.h +++ b/layout.mobintl.h @@ -21,6 +21,7 @@ enum layout_id { Persian, Greek, Georgian, + Hebrew, Emoji, Nav, Landscape, @@ -67,7 +68,7 @@ enum layout_id { }; static struct key keys_full[], keys_special[], keys_specialpad[], keys_simple[], keys_simplegrid[], - keys_cyrillic[], keys_arabic[], keys_persian[], keys_georgian[], keys_greek[], + keys_cyrillic[], keys_arabic[], keys_persian[], keys_georgian[], keys_greek[], keys_hebrew[], keys_emoji[], keys_nav[], keys_landscape[], keys_compose_a[], keys_compose_e[], keys_compose_y[], keys_compose_u[], keys_compose_i[], keys_compose_o[], keys_compose_w[], keys_compose_r[], keys_compose_t[], @@ -95,6 +96,7 @@ static struct layout layouts[NumLayouts] = { [Georgian] = {keys_georgian, "georgian", "georgian", true}, [Persian] = {keys_persian, "persian", "persian", true}, [Greek] = {keys_greek, "greek", "greek", true}, + [Hebrew] = {keys_hebrew, "hebrew", "hebrew", true}, [Emoji] = {keys_emoji, "latin", "emoji", false}, [Nav] = {keys_nav, "latin", "nav", false}, [Landscape] = {keys_landscape, "latin", "landscape", true}, @@ -795,6 +797,56 @@ static struct key keys_greek[] = { {"", "", 0.0, Last}, }; +static struct key keys_hebrew[] = { + {"/", "/", 1.0, Code, KEY_Q}, + {"'", "'", 1.0, Code, KEY_W, &layouts[ComposeBracket]}, + {"ק", "ק", 1.0, Code, KEY_E}, + {"ר", "ר", 1.0, Code, KEY_R}, + {"א", "א", 1.0, Code, KEY_T}, + {"ט", "ט", 1.0, Code, KEY_Y}, + {"ו", "ו", 1.0, Code, KEY_U}, + {"ן", "ן", 1.0, Code, KEY_I}, + {"ם", "ם", 1.0, Code, KEY_O}, + {"פ", "פ", 1.0, Code, KEY_P}, + {"", "", 0.0, EndRow}, + + {"ש", "ש", 1.0, Code, KEY_A}, + {"ד", "ד", 1.0, Code, KEY_S}, + {"ג", "ג", 1.0, Code, KEY_D}, + {"כ", "כ", 1.0, Code, KEY_F}, + {"ע", "ע", 1.0, Code, KEY_G}, + {"י", "י", 1.0, Code, KEY_H}, + {"ח", "ח", 1.0, Code, KEY_J}, + {"ל", "ל", 1.0, Code, KEY_K}, + {"ך", "ך", 1.0, Code, KEY_L}, + {"ף", "ף", 1.0, Code, KEY_SEMICOLON}, + {"", "", 0.0, EndRow}, + + {"ז", "ז", 1.0, Code, KEY_Z}, + {"ס", "ס", 1.0, Code, KEY_X}, + {"ב", "ב", 1.0, Code, KEY_C}, + {"ה", "ה", 1.0, Code, KEY_V}, + {"נ", "נ", 1.0, Code, KEY_B}, + {"מ", "מ", 1.0, Code, KEY_N}, + {"צ", "צ", 1.0, Code, KEY_M}, + {"ת", "ת", 1.0, Code, KEY_COMMA}, + {"ץ", "ץ", 1.0, Code, KEY_DOT}, + {"⌫", "⌫", 1.0, Code, KEY_BACKSPACE, .scheme = 1}, + + {"", "", 0.0, EndRow}, + + {"⌨→", "←⌨", 1.0, NextLayer, .scheme = 1}, + {"Cmp", "Cmp", 1.0, Compose, .scheme = 1}, + {",", "\"", 1.0, Code, KEY_APOSTROPHE, &layouts[ComposeMath]}, + {"", "", 3.5, Code, KEY_SPACE}, + {".", "?", 1.0, Code, KEY_SLASH, &layouts[ComposePunctuation]}, + {"?", "?", 1.0, Code, KEY_SLASH, &layouts[ComposePunctuation], Shift}, + {"Enter", "Enter", 1.5, Code, KEY_ENTER, .scheme = 1}, + + /* end of layout */ + {"", "", 0.0, Last}, +}; + static struct key keys_compose_a[] = { {"à", "À", 1.0, Copy, 0x00E0, 0, 0x00C0}, {"á", "Á", 1.0, Copy, 0x00E1, 0, 0x00C1}, @@ -1044,6 +1096,7 @@ static struct key keys_index[] = { {"ابج", "ابج", 1.0, Layout, 0, &layouts[Arabic]}, {"فر", "فر", 1.0, Layout, 0, &layouts[Persian]}, {"აბგ", "აბგ", 1.0, Layout, 0, &layouts[Georgian]}, + {"א", "א", 1.0, Layout, 0, &layouts[Hebrew]}, {"", "", 0.0, Last}, };