1# Copyright (C) 2017 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15
16
17type FULL
18
19### Basic QWERTY keys ###
20
21key A {
22    label:                              '\u0634'
23    base:                               '\u0634'
24    shift, capslock:                    '\u0624'
25    ctrl, alt, meta:                    none
26}
27
28key B {
29    label:                              '\u0630'
30    base:                               '\u0630'
31    shift, capslock:                    '\u200C'
32    ctrl, alt, meta:                    none
33}
34
35key C {
36    label:                              '\u0632'
37    base:                               '\u0632'
38    shift, capslock:                    '\u0698'
39    ctrl, alt, meta:                    none
40}
41
42key D {
43    label:                              '\u06CC'
44    base:                               '\u06CC'
45    shift, capslock:                    '\u064A'
46    ctrl, alt, meta:                    none
47}
48
49key E {
50    label:                              '\u062B'
51    base:                               '\u062B'
52    shift, capslock:                    '\u064D'
53    ctrl, alt, meta:                    none
54}
55
56key F {
57    label:                              '\u0628'
58    base:                               '\u0628'
59    shift, capslock:                    '\u0625'
60    ctrl, alt, meta:                    none
61}
62
63key G {
64    label:                              '\u0644'
65    base:                               '\u0644'
66    shift, capslock:                    '\u0623'
67    ctrl, alt, meta:                    none
68}
69
70key H {
71    label:                              '\u0627'
72    base:                               '\u0627'
73    shift, capslock:                    '\u0622'
74    ctrl, alt, meta:                    none
75}
76
77key I {
78    label:                              '\u0647'
79    base:                               '\u0647'
80    shift, capslock:                    '\u0651'
81    ctrl, alt, meta:                    none
82}
83
84key J {
85    label:                              '\u062A'
86    base:                               '\u062A'
87    shift, capslock:                    '\u0629'
88    ctrl, alt, meta:                    none
89}
90
91key K {
92    label:                              '\u0646'
93    base:                               '\u0646'
94    shift, capslock:                    '\u00AB'
95    ctrl, alt, meta:                    none
96}
97
98key L {
99    label:                              '\u0645'
100    base:                               '\u0645'
101    shift, capslock:                    '\u00BB'
102    ctrl, alt, meta:                    none
103}
104
105key M {
106    label:                              '\u067E'
107    base:                               '\u067E'
108    shift, capslock:                    '\u0621'
109    ctrl, alt, meta:                    none
110}
111
112key N {
113    label:                              '\u062F'
114    base:                               '\u062F'
115    shift, capslock:                    '\u0654'
116    ctrl, alt, meta:                    none
117}
118
119key O {
120    label:                              '\u062E'
121    base:                               '\u062E'
122    shift, capslock:                    ']'
123    ctrl, alt, meta:                    none
124}
125
126key P {
127    label:                              '\u062D'
128    base:                               '\u062D'
129    shift, capslock:                    '['
130    ctrl, alt, meta:                    none
131}
132
133key Q {
134    label:                              '\u0636'
135    base:                               '\u0636'
136    shift, capslock:                    '\u0652'
137    ctrl, alt, meta:                    none
138}
139
140key R {
141    label:                              '\u0642'
142    base:                               '\u0642'
143    shift, capslock:                    '\u064B'
144    ctrl, alt, meta:                    none
145}
146
147key S {
148    label:                              '\u0633'
149    base:                               '\u0633'
150    shift, capslock:                    '\u0626'
151    ctrl, alt, meta:                    none
152}
153
154key T {
155    label:                              '\u0641'
156    base:                               '\u0641'
157    shift, capslock:                    '\u064F'
158    ctrl, alt, meta:                    none
159}
160
161key U {
162    label:                              '\u0639'
163    base:                               '\u0639'
164    shift, capslock:                    '\u064E'
165    ctrl, alt, meta:                    none
166}
167
168key V {
169    label:                              '\u0631'
170    base:                               '\u0631'
171    shift, capslock:                    '\u0670'
172    ctrl, alt, meta:                    none
173}
174
175key W {
176    label:                              '\u0635'
177    base:                               '\u0635'
178    shift, capslock:                    '\u064C'
179    ctrl, alt, meta:                    none
180}
181
182key X {
183    label:                              '\u0637'
184    base:                               '\u0637'
185    shift, capslock:                    '\u0653'
186    ctrl, alt, meta:                    none
187}
188
189key Y {
190    label:                              '\u063A'
191    base:                               '\u063A'
192    shift, capslock:                    '\u0650'
193    ctrl, alt, meta:                    none
194}
195
196key Z {
197    label:                              '\u0638'
198    base:                               '\u0638'
199    shift, capslock:                    '\u0643'
200    ctrl, alt, meta:                    none
201}
202
203key 0 {
204    label, number:                      '\u06F0'
205    base:                               '\u06F0'
206    shift:                              '('
207    ctrl, alt, meta:                    none
208}
209
210key 1 {
211    label, number:                      '\u06F1'
212    base:                               '\u06F1'
213    shift:                              '!'
214    ctrl, alt, meta:                    none
215}
216
217key 2 {
218    label, number:                      '\u06F2'
219    base:                               '\u06F2'
220    shift:                              '\u066C'
221    ctrl, alt, meta:                    none
222
223}
224key 3 {
225    label, number:                      '\u06F3'
226    base:                               '\u06F3'
227    shift:                              '\u066B'
228    ctrl, alt, meta:                    none
229}
230
231key 4 {
232    label, number:                      '\u06F4'
233    base:                               '\u06F4'
234    shift:                              '\uFDFC'
235    ctrl, alt, meta:                    none
236}
237
238key 5 {
239    label, number:                      '\u06F5'
240    base:                               '\u06F5'
241    shift:                              '\u066A'
242    ctrl, alt, meta:                    none
243}
244
245key 6 {
246    label, number:                      '\u06F6'
247    base:                               '\u06F6'
248    shift:                              '\u00D7'
249    ctrl, alt, meta:                    none
250}
251
252
253key 7 {
254    label, number:                      '\u06F7'
255    base:                               '\u06F7'
256    shift:                              '\u060C'
257    ctrl, alt, meta:                    none
258}
259
260key 8 {
261    label, number:                      '\u06F8'
262    base:                               '\u06F8'
263    shift:                              '*'
264    ctrl, alt, meta:                    none
265}
266
267key 9 {
268    label, number:                      '\u06F9'
269    base:                               '\u06F9'
270    shift:                              ')'
271    ctrl, alt, meta:                    none
272}
273
274key SPACE {
275    label:                              ' '
276    base:                               ' '
277    ctrl, alt, meta:                    none
278}
279
280key ENTER {
281    label:                              '\n'
282    base:                               '\n'
283    ctrl, alt, meta:                    none
284}
285
286key TAB {
287    label:                              '\t'
288    base:                               '\t'
289    ctrl, alt, meta:                    none
290}
291
292key COMMA {
293    label, number:                      '\u0648'
294    base:                               '\u0648'
295    shift:                              '<'
296    ctrl, alt, meta:                    none
297}
298
299key PERIOD {
300    label, number:                      '.'
301    base:                               '.'
302    shift:                              '>'
303    ctrl, alt, meta:                    none
304}
305
306key SLASH {
307    label, number:                      '/'
308    base:                               '/'
309    shift:                              '\u061F'
310    ctrl, alt, meta:                    none
311}
312
313key GRAVE {
314    label, number:                      '`'
315    base:                               '`'
316    shift:                              '\u00F7'
317    ctrl, alt, meta:                    none
318}
319
320
321key MINUS {
322    label, number:                      '-'
323    base:                               '-'
324    shift:                              '_'
325    ctrl, alt, meta:                    none
326}
327
328key EQUALS {
329    label, number:                      '='
330    base:                               '='
331    shift:                              '+'
332    ctrl, alt, meta:                    none
333}
334
335key LEFT_BRACKET {
336    label, number:                      '\u062C'
337    base:                               '\u062C'
338    shift:                              '}'
339    ctrl, alt, meta:                    none
340}
341
342key RIGHT_BRACKET {
343    label, number:                      '\u0686'
344    base:                               '\u0686'
345    shift:                              '{'
346    ctrl, alt, meta:                    none
347}
348
349key BACKSLASH {
350    label, number:                      '\\'
351    base:                               '\\'
352    shift:                              '|'
353    ctrl, alt, meta:                    none
354}
355
356key SEMICOLON {
357    label, number:                      '\u06A9'
358    base:                               '\u06A9'
359    shift:                              ':'
360    ctrl, alt, meta:                    none
361}
362
363key APOSTROPHE {
364    label, number:                      '\''
365    base:                               '\''
366    shift:                              '\"'
367    ctrl, alt, meta:                    none
368}
369
370### Numeric keypad ###
371
372key NUMPAD_0 {
373    label, number:                      '0'
374    base:                               fallback INSERT
375    numlock:                            '0'
376    ctrl, alt, meta:                    none
377}
378
379key NUMPAD_1 {
380    label, number:                      '1'
381    base:                               fallback MOVE_END
382    numlock:                            '1'
383    ctrl, alt, meta:                    none
384}
385
386key NUMPAD_2 {
387    label, number:                      '2'
388    base:                               fallback DPAD_DOWN
389    numlock:                            '2'
390    ctrl, alt, meta:                    none
391}
392
393key NUMPAD_3 {
394    label, number:                      '3'
395    base:                               fallback PAGE_DOWN
396    numlock:                            '3'
397    ctrl, alt, meta:                    none
398}
399
400key NUMPAD_4 {
401    label, number:                      '4'
402    base:                               fallback DPAD_LEFT
403    numlock:                            '4'
404    ctrl, alt, meta:                    none
405}
406
407key NUMPAD_5 {
408    label, number:                      '5'
409    base:                               fallback DPAD_CENTER
410    numlock:                            '5'
411    ctrl, alt, meta:                    none
412}
413
414key NUMPAD_6 {
415    label, number:                      '6'
416    base:                               fallback DPAD_RIGHT
417    numlock:                            '6'
418    ctrl, alt, meta:                    none
419}
420
421key NUMPAD_7 {
422    label, number:                      '7'
423    base:                               fallback MOVE_HOME
424    numlock:                            '7'
425    ctrl, alt, meta:                    none
426}
427
428key NUMPAD_8 {
429    label, number:                      '8'
430    base:                               fallback DPAD_UP
431    numlock:                            '8'
432    ctrl, alt, meta:                    none
433}
434
435key NUMPAD_9 {
436    label, number:                      '9'
437    base:                               fallback PAGE_UP
438    numlock:                            '9'
439    ctrl, alt, meta:                    none
440}
441
442key NUMPAD_LEFT_PAREN {
443    label, number:                      '('
444    base:                               '('
445    ctrl, alt, meta:                    none
446}
447
448key NUMPAD_RIGHT_PAREN {
449    label, number:                      ')'
450    base:                               ')'
451    ctrl, alt, meta:                    none
452}
453
454key NUMPAD_DIVIDE {
455    label, number:                      '/'
456    base:                               '/'
457    ctrl, alt, meta:                    none
458}
459
460key NUMPAD_MULTIPLY {
461    label, number:                      '*'
462    base:                               '*'
463    ctrl, alt, meta:                    none
464}
465
466key NUMPAD_SUBTRACT {
467    label, number:                      '-'
468    base:                               '-'
469    ctrl, alt, meta:                    none
470}
471
472key NUMPAD_ADD {
473    label, number:                      '+'
474    base:                               '+'
475    ctrl, alt, meta:                    none
476}
477
478key NUMPAD_DOT {
479    label, number:                      '.'
480    base:                               fallback FORWARD_DEL
481    numlock:                            '.'
482    ctrl, alt, meta:                    none
483}
484
485key NUMPAD_COMMA {
486    label, number:                      ','
487    base:                               ','
488    ctrl, alt, meta:                    none
489}
490
491key NUMPAD_EQUALS {
492    label, number:                      '='
493    base:                               '='
494    ctrl, alt, meta:                    none
495}
496
497key NUMPAD_ENTER {
498    label:                              '\n'
499    base:                               '\n' fallback ENTER
500    ctrl, alt, meta:                    none fallback ENTER
501}
502