blob: c763cc0946622bc49a5f24d91511eff215e9947d [file] [log] [blame]
Jeff Brown6b53e8d2010-11-10 16:03:06 -08001# Copyright (C) 2010 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# Key character map for a built-in generic virtual keyboard primarily used
17# for instrumentation and testing purposes.
18#
19
20type FULL
21
Jeff Brown061cf752010-11-18 20:52:43 -080022### Basic QWERTY keys ###
23
Jeff Brown6b53e8d2010-11-10 16:03:06 -080024key A {
25 label: 'A'
26 base: 'a'
27 shift, capslock: 'A'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080028}
29
30key B {
31 label: 'B'
32 base: 'b'
33 shift, capslock: 'B'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080034}
35
36key C {
37 label: 'C'
38 base: 'c'
39 shift, capslock: 'C'
Jeff Brown49ed71d2010-12-06 17:13:33 -080040 alt: '\u00e7'
41 shift+alt: '\u00c7'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080042}
43
44key D {
45 label: 'D'
46 base: 'd'
47 shift, capslock: 'D'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080048}
49
50key E {
51 label: 'E'
52 base: 'e'
53 shift, capslock: 'E'
Jeff Brown49ed71d2010-12-06 17:13:33 -080054 alt: '\u0301'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080055}
56
57key F {
58 label: 'F'
59 base: 'f'
60 shift, capslock: 'F'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080061}
62
63key G {
64 label: 'G'
65 base: 'g'
66 shift, capslock: 'G'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080067}
68
69key H {
70 label: 'H'
71 base: 'h'
72 shift, capslock: 'H'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080073}
74
75key I {
76 label: 'I'
77 base: 'i'
78 shift, capslock: 'I'
Jeff Brown49ed71d2010-12-06 17:13:33 -080079 alt: '\u0302'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080080}
81
82key J {
83 label: 'J'
84 base: 'j'
85 shift, capslock: 'J'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080086}
87
88key K {
89 label: 'K'
90 base: 'k'
91 shift, capslock: 'K'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080092}
93
94key L {
95 label: 'L'
96 base: 'l'
97 shift, capslock: 'L'
Jeff Brown6b53e8d2010-11-10 16:03:06 -080098}
99
100key M {
101 label: 'M'
102 base: 'm'
103 shift, capslock: 'M'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800104}
105
106key N {
107 label: 'N'
108 base: 'n'
109 shift, capslock: 'N'
Jeff Brown49ed71d2010-12-06 17:13:33 -0800110 alt: '\u0303'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800111}
112
113key O {
114 label: 'O'
115 base: 'o'
116 shift, capslock: 'O'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800117}
118
119key P {
120 label: 'P'
121 base: 'p'
122 shift, capslock: 'P'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800123}
124
125key Q {
126 label: 'Q'
127 base: 'q'
128 shift, capslock: 'Q'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800129}
130
131key R {
132 label: 'R'
133 base: 'r'
134 shift, capslock: 'R'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800135}
136
137key S {
138 label: 'S'
139 base: 's'
140 shift, capslock: 'S'
Jeff Brown49ed71d2010-12-06 17:13:33 -0800141 alt: '\u00df'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800142}
143
144key T {
145 label: 'T'
146 base: 't'
147 shift, capslock: 'T'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800148}
149
150key U {
151 label: 'U'
152 base: 'u'
153 shift, capslock: 'U'
Jeff Brown49ed71d2010-12-06 17:13:33 -0800154 alt: '\u0308'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800155}
156
157key V {
158 label: 'V'
159 base: 'v'
160 shift, capslock: 'V'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800161}
162
163key W {
164 label: 'W'
165 base: 'w'
166 shift, capslock: 'W'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800167}
168
169key X {
170 label: 'X'
171 base: 'x'
172 shift, capslock: 'X'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800173}
174
175key Y {
176 label: 'Y'
177 base: 'y'
178 shift, capslock: 'Y'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800179}
180
181key Z {
182 label: 'Z'
183 base: 'z'
184 shift, capslock: 'Z'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800185}
186
187key 0 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700188 label: '0'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800189 base: '0'
190 shift: ')'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800191}
192
193key 1 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700194 label: '1'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800195 base: '1'
196 shift: '!'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800197}
198
199key 2 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700200 label: '2'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800201 base: '2'
202 shift: '@'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800203}
204
205key 3 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700206 label: '3'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800207 base: '3'
208 shift: '#'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800209}
210
211key 4 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700212 label: '4'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800213 base: '4'
214 shift: '$'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800215}
216
217key 5 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700218 label: '5'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800219 base: '5'
220 shift: '%'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800221}
222
223key 6 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700224 label: '6'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800225 base: '6'
226 shift: '^'
Jeff Brown49ed71d2010-12-06 17:13:33 -0800227 alt+shift: '\u0302'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800228}
229
230key 7 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700231 label: '7'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800232 base: '7'
233 shift: '&'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800234}
235
236key 8 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700237 label: '8'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800238 base: '8'
239 shift: '*'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800240}
241
242key 9 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700243 label: '9'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800244 base: '9'
245 shift: '('
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800246}
247
248key SPACE {
249 label: ' '
250 base: ' '
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700251 alt, meta: fallback SEARCH
Jeff Browncf39bdf2012-05-18 14:41:19 -0700252 ctrl: fallback LANGUAGE_SWITCH
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800253}
254
255key ENTER {
256 label: '\n'
257 base: '\n'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800258}
259
260key TAB {
261 label: '\t'
262 base: '\t'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800263}
264
265key COMMA {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700266 label: ','
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800267 base: ','
268 shift: '<'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800269}
270
271key PERIOD {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700272 label: '.'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800273 base: '.'
274 shift: '>'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800275}
276
277key SLASH {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700278 label: '/'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800279 base: '/'
280 shift: '?'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800281}
282
283key GRAVE {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700284 label: '`'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800285 base: '`'
286 shift: '~'
Jeff Brown49ed71d2010-12-06 17:13:33 -0800287 alt: '\u0300'
288 alt+shift: '\u0303'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800289}
290
291key MINUS {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700292 label: '-'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800293 base: '-'
294 shift: '_'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800295}
296
297key EQUALS {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700298 label: '='
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800299 base: '='
300 shift: '+'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800301}
302
303key LEFT_BRACKET {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700304 label: '['
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800305 base: '['
306 shift: '{'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800307}
308
309key RIGHT_BRACKET {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700310 label: ']'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800311 base: ']'
312 shift: '}'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800313}
314
315key BACKSLASH {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700316 label: '\\'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800317 base: '\\'
318 shift: '|'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800319}
320
321key SEMICOLON {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700322 label: ';'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800323 base: ';'
324 shift: ':'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800325}
326
327key APOSTROPHE {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700328 label: '\''
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800329 base: '\''
330 shift: '"'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800331}
332
Jeff Brown061cf752010-11-18 20:52:43 -0800333### Numeric keypad ###
334
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800335key NUMPAD_0 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700336 label: '0'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800337 base: fallback INSERT
338 numlock: '0'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800339}
340
341key NUMPAD_1 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700342 label: '1'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800343 base: fallback MOVE_END
344 numlock: '1'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800345}
346
347key NUMPAD_2 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700348 label: '2'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800349 base: fallback DPAD_DOWN
350 numlock: '2'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800351}
352
353key NUMPAD_3 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700354 label: '3'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800355 base: fallback PAGE_DOWN
356 numlock: '3'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800357}
358
359key NUMPAD_4 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700360 label: '4'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800361 base: fallback DPAD_LEFT
362 numlock: '4'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800363}
364
365key NUMPAD_5 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700366 label: '5'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800367 base: fallback DPAD_CENTER
368 numlock: '5'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800369}
370
371key NUMPAD_6 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700372 label: '6'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800373 base: fallback DPAD_RIGHT
374 numlock: '6'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800375}
376
377key NUMPAD_7 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700378 label: '7'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800379 base: fallback MOVE_HOME
380 numlock: '7'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800381}
382
383key NUMPAD_8 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700384 label: '8'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800385 base: fallback DPAD_UP
386 numlock: '8'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800387}
388
389key NUMPAD_9 {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700390 label: '9'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800391 base: fallback PAGE_UP
392 numlock: '9'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800393}
394
395key NUMPAD_LEFT_PAREN {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700396 label: '('
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800397 base: '('
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800398}
399
400key NUMPAD_RIGHT_PAREN {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700401 label: ')'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800402 base: ')'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800403}
404
405key NUMPAD_DIVIDE {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700406 label: '/'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800407 base: '/'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800408}
409
410key NUMPAD_MULTIPLY {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700411 label: '*'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800412 base: '*'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800413}
414
415key NUMPAD_SUBTRACT {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700416 label: '-'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800417 base: '-'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800418}
419
420key NUMPAD_ADD {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700421 label: '+'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800422 base: '+'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800423}
424
425key NUMPAD_DOT {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700426 label: '.'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800427 base: fallback FORWARD_DEL
428 numlock: '.'
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800429}
430
431key NUMPAD_COMMA {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700432 label: ','
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800433 base: ','
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800434}
435
436key NUMPAD_EQUALS {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700437 label: '='
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800438 base: '='
Jeff Brown6b53e8d2010-11-10 16:03:06 -0800439}
440
441key NUMPAD_ENTER {
442 label: '\n'
443 base: '\n' fallback ENTER
444 ctrl, alt, meta: none fallback ENTER
445}
Jeff Brown061cf752010-11-18 20:52:43 -0800446
447### Special keys on phones ###
448
449key AT {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700450 label: '@'
Jeff Brown061cf752010-11-18 20:52:43 -0800451 base: '@'
452}
453
454key STAR {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700455 label: '*'
Jeff Brown061cf752010-11-18 20:52:43 -0800456 base: '*'
457}
458
459key POUND {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700460 label: '#'
Jeff Brown061cf752010-11-18 20:52:43 -0800461 base: '#'
462}
463
464key PLUS {
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700465 label: '+'
Jeff Brown061cf752010-11-18 20:52:43 -0800466 base: '+'
467}
Jeff Brown49ed71d2010-12-06 17:13:33 -0800468
469### Non-printing keys ###
470
471key ESCAPE {
Emilie Roberts16d42de2018-01-31 16:46:46 +0000472 base: none
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700473 alt, meta: fallback HOME
474 ctrl: fallback MENU
475}
476
Emilie Roberts3abea7f2018-01-31 15:52:16 +0000477key DEL {
478 ctrl+alt: fallback BACK
479}
480
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700481### Gamepad buttons ###
482
483key BUTTON_A {
Michael Wright0648d2c2013-02-12 14:25:01 -0800484 base: fallback DPAD_CENTER
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700485}
486
487key BUTTON_B {
488 base: fallback BACK
489}
490
491key BUTTON_C {
Michael Wright0648d2c2013-02-12 14:25:01 -0800492 base: fallback DPAD_CENTER
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700493}
494
495key BUTTON_X {
496 base: fallback DPAD_CENTER
497}
498
499key BUTTON_Y {
Michael Wright0648d2c2013-02-12 14:25:01 -0800500 base: fallback BACK
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700501}
502
503key BUTTON_Z {
504 base: fallback DPAD_CENTER
505}
506
507key BUTTON_L1 {
508 base: none
509}
510
511key BUTTON_R1 {
512 base: none
513}
514
515key BUTTON_L2 {
516 base: none
517}
518
519key BUTTON_R2 {
520 base: none
521}
522
523key BUTTON_THUMBL {
524 base: fallback DPAD_CENTER
525}
526
527key BUTTON_THUMBR {
528 base: fallback DPAD_CENTER
529}
530
531key BUTTON_START {
Michael Wright0648d2c2013-02-12 14:25:01 -0800532 base: fallback DPAD_CENTER
Jeff Brown9a2bbf62012-04-18 14:09:10 -0700533}
534
535key BUTTON_SELECT {
536 base: fallback MENU
537}
538
539key BUTTON_MODE {
540 base: fallback MENU
541}
542
543key BUTTON_1 {
544 base: fallback DPAD_CENTER
545}
546
547key BUTTON_2 {
548 base: fallback DPAD_CENTER
549}
550
551key BUTTON_3 {
552 base: fallback DPAD_CENTER
553}
554
555key BUTTON_4 {
556 base: fallback DPAD_CENTER
557}
558
559key BUTTON_5 {
560 base: fallback DPAD_CENTER
561}
562
563key BUTTON_6 {
564 base: fallback DPAD_CENTER
565}
566
567key BUTTON_7 {
568 base: fallback DPAD_CENTER
569}
570
571key BUTTON_8 {
572 base: fallback DPAD_CENTER
573}
574
575key BUTTON_9 {
576 base: fallback DPAD_CENTER
577}
578
579key BUTTON_10 {
580 base: fallback DPAD_CENTER
581}
582
583key BUTTON_11 {
584 base: fallback DPAD_CENTER
585}
586
587key BUTTON_12 {
588 base: fallback DPAD_CENTER
589}
590
591key BUTTON_13 {
592 base: fallback DPAD_CENTER
593}
594
595key BUTTON_14 {
596 base: fallback DPAD_CENTER
597}
598
599key BUTTON_15 {
600 base: fallback DPAD_CENTER
601}
602
603key BUTTON_16 {
604 base: fallback DPAD_CENTER
Jeff Brown49ed71d2010-12-06 17:13:33 -0800605}