Key types local to the group, b.fd.o#8121
[xorg/xkeyboard-config] / symbols / il
1 // $XKeyboardConfig$
2
3 // based on a keyboard map from an 'xkb/symbols/il' file
4 //
5 // $XFree86: xc/programs/xkbcomp/symbols/il,v 1.3 2003/01/07 02:03:44 dawes Exp $
6
7 // This is a partial implemetation of the Israeli standard SI-1452
8 // It does not implement changes to the English layout ("Alt-English"), 
9 // as I believe that it is not the job of this layout to modify the English
10 // layout.
11 partial default alphanumeric_keys 
12 xkb_symbols "basic" {
13     // uses the kbd layout in use in Israel.
14
15     name[Group1]= "Israel";
16
17     key <AD01> { [ slash,       Q               ]       };
18     key <AD02> { [ apostrophe,  W               ]       };
19     key <AD03> { [ hebrew_qoph, E               ]       };
20     key <AD04> { [ hebrew_resh, R               ]       };
21     key <AD05> { [ hebrew_aleph,T               ]       };
22     key <AD06> { [ hebrew_tet,  Y               ]       };
23     key <AD07> { [ hebrew_waw,  U               ]       };
24     key <AD08> { [ hebrew_finalnun,     I       ]       };
25     key <AD09> { [ hebrew_finalmem,     O       ]       };
26     key <AD10> { [ hebrew_pe,   P               ]       };
27
28     key <AC01> { [ hebrew_shin, A               ]       };
29     key <AC02> { [ hebrew_dalet,S               ]       };
30     key <AC03> { [ hebrew_gimel,D               ]       };
31     key <AC04> { [ hebrew_kaph, F               ]       };
32     key <AC05> { [ hebrew_ayin, G               ]       };
33     key <AC06> { [ hebrew_yod,  H               ]       };
34     key <AC07> { [ hebrew_chet, J               ]       };
35     key <AC08> { [ hebrew_lamed, K              ]       };
36     key <AC09> { [ hebrew_finalkaph,    L       ]       };
37     key <AC10> { [ hebrew_finalpe,      colon   ]       };
38     key <AC11> { [ comma,       quotedbl        ]       };
39
40     key <AB01> { [ hebrew_zain, Z               ]       };
41     key <AB02> { [ hebrew_samech, X             ]       };
42     key <AB03> { [ hebrew_bet,  C               ]       };
43     key <AB04> { [ hebrew_he,   V               ]       };
44     key <AB05> { [ hebrew_nun,  B               ]       };
45     key <AB06> { [ hebrew_mem,  N               ]       };
46     key <AB07> { [ hebrew_zade, M               ]       };
47     // Mirrored:
48     key <AB08> { [ hebrew_taw,  greater         ]       };
49     key <AB09> { [ hebrew_finalzade,    less    ]       };
50
51     key.type[Group1] = "THREE_LEVEL";
52     
53     key <TLDE> { [ semicolon,   asciitilde,0x10005b0    ]}; // Sheva
54     key <AB10> { [ period,      question,  0x10005c3    ]}; // Sof Pasuq
55   
56     // The following may get overriden by the iso9995-3(basic101) symbols.
57     // therefore they are included here. 
58     // Including them isn't a great idea (for instance: what if group 1 uses
59     // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't
60     // preserve that, and I'm not sure that this is a good feature.
61     key <AE01> { [     1, exclam      , 0x10005b1       ]}; // H. Segol
62     key <AE02> { [     2, at          , 0x10005b2       ]}; // H. Patah
63     key <AE03> { [     3, numbersign  , 0x10005b3       ]}; // H.  Qamats
64     key <AE04> { [     4, dollar      , 0x10005b4       ]}; // Hiriq
65     key <AE05> { [     5, percent     , 0x10005b5       ]}; // Tsere
66     key <AE06> { [     6, asciicircum , 0x10005b6       ]}; // Segol
67     key <AE07> { [     7, ampersand   , 0x10005b7       ]}; // Patah
68     key <AE08> { [     8, asterisk    , 0x10005b8       ]}; // Qamats
69     // Mirrored: 
70     key <AE09> { [     9, parenright   , 0x10005c2      ]}; // Sin dot
71     key <AE10> { [     0, parenleft  , 0x10005c1        ]}; // Shin dot
72     key <AE11> { [ minus, underscore  , 0x10005b9       ]}; // Holam
73     key <AE12> { [ equal, plus        , 0x10005bc       ]}; // Dagesh/Shuruq
74   
75     // Mirrored: 
76     key <AD11> { [ bracketright, braceright, 0x10005bf  ]}; // Rafe
77     key <AD12> { [ bracketleft,  braceleft,  0x10005bd  ]}; // Meteg
78                                       
79     key <BKSL> { [ backslash,    backslash,  0x10005bb  ]}; // Qubuts    
80 };
81
82
83 // nikud patter based on Dekel Tsur's Hebrew mapping for LyX
84 partial alphanumeric_keys 
85 xkb_symbols "lyx" {
86     name[Group1]= "Israel - lyx";
87
88     key <TLDE> { [ semicolon,   asciitilde      ]       };
89     // On some key (e.g. AD01, right below) there is not yet mapping for the
90     // second shift level. Since I could not figure a simple way to map this
91     // to "emit nothing", it is currently mapped to the same letter of the
92     // first shift level (avoiding mapping may risk it be used by a character
93     // from a different group).
94     key <AD01> { [ slash,       slash           ]       };
95     key <AD02> { [ apostrophe,  apostrophe      ]       };
96     key <AD03> { [ hebrew_qoph, 0x10005b8       ]       }; // Qamats
97     key <AD04> { [ hebrew_resh, 0x10005bc       ]       }; // Dagesh/Shuruq
98     key <AD05> { [ hebrew_aleph,        0x100200e       ]       }; // LRM
99     key <AD06> { [ hebrew_tet,  0x100200f       ]       }; // RLM
100     key <AD07> { [ hebrew_waw,  0x10005b9       ]       }; // Holam
101     key <AD08> { [ hebrew_finalnun,hebrew_finalnun]      };
102     key <AD09> { [ hebrew_finalmem,hebrew_finalmem]      };
103     key <AD10> { [ hebrew_pe,   0x10005b7       ]       }; // Patah
104
105     key <AC01> { [ hebrew_shin, 0x10005b0       ]       }; // Sheva
106     key <AC02> { [ hebrew_dalet,        0x10005bc       ]       }; // Dagesh/Shuruq
107     key <AC03> { [ hebrew_gimel,        hebrew_gimel    ]       };
108     key <AC04> { [ hebrew_kaph, hebrew_kaph     ]       }; 
109     key <AC05> { [ hebrew_ayin, 0x10005c2       ]       }; // Sin dot
110     key <AC06> { [ hebrew_yod,  0x10005c1       ]       }; // Shin dot
111     key <AC07> { [ hebrew_chet, 0x10005b4       ]       }; // Hiriq
112     key <AC08> { [ hebrew_lamed, 0x10020aa      ]       }; // NIS
113     key <AC09> { [ hebrew_finalkaph,hebrew_finalkaph]    };
114     key <AC10> { [ hebrew_finalpe,      colon   ]       };
115     key <AC11> { [ comma,       quotedbl        ]       };
116
117     key <AB01> { [ hebrew_zain, hebrew_zain     ]       };
118     key <AB02> { [ hebrew_samech,0x10005b6      ]       }; // Segol
119     key <AB03> { [ hebrew_bet,  0x10005bb       ]       }; // Qubuts
120     key <AB04> { [ hebrew_he,   0x10005b1       ]       }; // H. Segol
121     key <AB05> { [ hebrew_nun,  0x10005b2       ]       }; // H. Patah
122     key <AB06> { [ hebrew_mem,  0x10005b3       ]       }; // H.  Qamats
123     key <AB07> { [ hebrew_zade, 0x10005b5       ]       }; // Tsere
124     key <AB08> { [ hebrew_taw,  greater         ]       };
125     key <AB09> { [ hebrew_finalzade,    less    ]       };
126     key <AB10> { [ period,      question        ]       };
127
128     // Note the parens mirroring below:
129     key <AD11> { [ bracketright,        braceright      ]       };
130     key <AD12> { [ bracketleft, braceleft       ]       };
131     key <AE09> { [ 9         ,  parenright      ]       };
132     key <AE10> { [ 0         ,  parenleft       ]       };
133     
134     key <AE11> { [     minus,   0x10005be       ]       }; // H. Hiphen
135 };
136
137
138 partial alphanumeric_keys 
139 xkb_symbols "phonetic" {
140
141     // uses the phonetic layout from old Slackware 'il.map' file
142
143     name[Group1]= "Israel - Phonetic";
144
145     key <AE12> {        [     equal,    plus, hebrew_doublelowline, hebrew_doublelowline ]};
146
147     key <LatQ> {        [ hebrew_qoph, hebrew_qoph      ]       };
148     key <LatW> {        [ hebrew_waw, hebrew_waw        ]       };
149     key <LatE> {        [ hebrew_aleph, hebrew_aleph    ]       };
150     key <LatR> {        [ hebrew_resh, hebrew_resh      ]       };
151     key <LatT> {        [ hebrew_taw, hebrew_tet        ]       };
152     key <LatY> {        [ hebrew_ayin, hebrew_ayin      ]       };
153     key <LatU> {        [ hebrew_waw, hebrew_waw        ]       };
154     key <LatI> {        [ hebrew_yod, hebrew_yod        ]       };
155     key <LatO> {        [ hebrew_samech, hebrew_samech  ]       };
156     key <LatP> {        [ hebrew_pe, hebrew_finalpe     ]       };
157
158     key <LatA> {        [ hebrew_aleph, hebrew_aleph    ]       };
159     key <LatS> {        [ hebrew_shin, hebrew_shin      ]       };
160     key <LatD> {        [ hebrew_dalet, hebrew_dalet    ]       };
161     key <LatF> {        [ hebrew_pe, hebrew_finalpe     ]       };
162     key <LatG> {        [ hebrew_gimel, hebrew_gimel    ]       };
163     key <LatH> {        [ hebrew_he, hebrew_he          ]       };
164     key <LatJ> {        [ hebrew_yod, hebrew_yod        ]       };
165     key <LatK> {        [ hebrew_kaph, hebrew_finalkaph ]       };
166     key <LatL> {        [ hebrew_lamed, hebrew_lamed    ]       };
167
168     key <LatZ> {        [ hebrew_zain, hebrew_zain      ]       };
169     key <LatX> {        [ hebrew_chet, hebrew_chet      ]       };
170     key <LatC> {        [ hebrew_zade, hebrew_finalzade ]       };
171     key <LatV> {        [ hebrew_waw, hebrew_waw        ]       };
172     key <LatB> {        [ hebrew_bet, hebrew_bet        ]       };
173     key <LatN> {        [ hebrew_nun, hebrew_finalnun   ]       };
174     key <LatM> {        [ hebrew_mem, hebrew_finalmem   ]       };
175 };
176
177