| # Copyright (C) 2010 The Android Open Source Project | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| # | |
| # Key character map for a built-in generic virtual keyboard primarily used | |
| # for instrumentation and testing purposes. | |
| # | |
| type FULL | |
| ### Basic QWERTY keys ### | |
| key A { | |
| label: 'A' | |
| base: 'a' | |
| shift, capslock: 'A' | |
| shift+capslock: 'a' | |
| } | |
| key B { | |
| label: 'B' | |
| base: 'b' | |
| shift, capslock: 'B' | |
| shift+capslock: 'b' | |
| } | |
| key C { | |
| label: 'C' | |
| base: 'c' | |
| shift, capslock: 'C' | |
| shift+capslock: 'c' | |
| alt: '\u00e7' | |
| shift+alt, capslock+alt: '\u00c7' | |
| shift+capslock+alt: '\u00e7' | |
| } | |
| key D { | |
| label: 'D' | |
| base: 'd' | |
| shift, capslock: 'D' | |
| shift+capslock: 'd' | |
| } | |
| key E { | |
| label: 'E' | |
| base: 'e' | |
| shift, capslock: 'E' | |
| shift+capslock: 'e' | |
| alt: '\u0301' | |
| } | |
| key F { | |
| label: 'F' | |
| base: 'f' | |
| shift, capslock: 'F' | |
| shift+capslock: 'f' | |
| } | |
| key G { | |
| label: 'G' | |
| base: 'g' | |
| shift, capslock: 'G' | |
| shift+capslock: 'g' | |
| } | |
| key H { | |
| label: 'H' | |
| base: 'h' | |
| shift, capslock: 'H' | |
| shift+capslock: 'h' | |
| } | |
| key I { | |
| label: 'I' | |
| base: 'i' | |
| shift, capslock: 'I' | |
| shift+capslock: 'i' | |
| alt: '\u0302' | |
| } | |
| key J { | |
| label: 'J' | |
| base: 'j' | |
| shift, capslock: 'J' | |
| shift+capslock: 'j' | |
| } | |
| key K { | |
| label: 'K' | |
| base: 'k' | |
| shift, capslock: 'K' | |
| shift+capslock: 'k' | |
| } | |
| key L { | |
| label: 'L' | |
| base: 'l' | |
| shift, capslock: 'L' | |
| shift+capslock: 'l' | |
| } | |
| key M { | |
| label: 'M' | |
| base: 'm' | |
| shift, capslock: 'M' | |
| shift+capslock: 'm' | |
| } | |
| key N { | |
| label: 'N' | |
| base: 'n' | |
| shift, capslock: 'N' | |
| shift+capslock: 'n' | |
| alt: '\u0303' | |
| } | |
| key O { | |
| label: 'O' | |
| base: 'o' | |
| shift, capslock: 'O' | |
| shift+capslock: 'o' | |
| } | |
| key P { | |
| label: 'P' | |
| base: 'p' | |
| shift, capslock: 'P' | |
| shift+capslock: 'p' | |
| } | |
| key Q { | |
| label: 'Q' | |
| base: 'q' | |
| shift, capslock: 'Q' | |
| shift+capslock: 'q' | |
| } | |
| key R { | |
| label: 'R' | |
| base: 'r' | |
| shift, capslock: 'R' | |
| shift+capslock: 'r' | |
| } | |
| key S { | |
| label: 'S' | |
| base: 's' | |
| shift, capslock: 'S' | |
| shift+capslock: 's' | |
| alt: '\u00df' | |
| } | |
| key T { | |
| label: 'T' | |
| base: 't' | |
| shift, capslock: 'T' | |
| shift+capslock: 't' | |
| } | |
| key U { | |
| label: 'U' | |
| base: 'u' | |
| shift, capslock: 'U' | |
| shift+capslock: 'u' | |
| alt: '\u0308' | |
| } | |
| key V { | |
| label: 'V' | |
| base: 'v' | |
| shift, capslock: 'V' | |
| shift+capslock: 'v' | |
| } | |
| key W { | |
| label: 'W' | |
| base: 'w' | |
| shift, capslock: 'W' | |
| shift+capslock: 'w' | |
| } | |
| key X { | |
| label: 'X' | |
| base: 'x' | |
| shift, capslock: 'X' | |
| shift+capslock: 'x' | |
| } | |
| key Y { | |
| label: 'Y' | |
| base: 'y' | |
| shift, capslock: 'Y' | |
| shift+capslock: 'y' | |
| } | |
| key Z { | |
| label: 'Z' | |
| base: 'z' | |
| shift, capslock: 'Z' | |
| shift+capslock: 'z' | |
| } | |
| key 0 { | |
| label: '0' | |
| base: '0' | |
| shift: ')' | |
| } | |
| key 1 { | |
| label: '1' | |
| base: '1' | |
| shift: '!' | |
| } | |
| key 2 { | |
| label: '2' | |
| base: '2' | |
| shift: '@' | |
| } | |
| key 3 { | |
| label: '3' | |
| base: '3' | |
| shift: '#' | |
| } | |
| key 4 { | |
| label: '4' | |
| base: '4' | |
| shift: '$' | |
| } | |
| key 5 { | |
| label: '5' | |
| base: '5' | |
| shift: '%' | |
| } | |
| key 6 { | |
| label: '6' | |
| base: '6' | |
| shift: '^' | |
| alt+shift: '\u0302' | |
| } | |
| key 7 { | |
| label: '7' | |
| base: '7' | |
| shift: '&' | |
| } | |
| key 8 { | |
| label: '8' | |
| base: '8' | |
| shift: '*' | |
| } | |
| key 9 { | |
| label: '9' | |
| base: '9' | |
| shift: '(' | |
| } | |
| key SPACE { | |
| label: ' ' | |
| base: ' ' | |
| alt, meta: fallback SEARCH | |
| ctrl: fallback LANGUAGE_SWITCH | |
| } | |
| key ENTER { | |
| label: '\n' | |
| base: '\n' | |
| } | |
| key TAB { | |
| label: '\t' | |
| base: '\t' | |
| } | |
| key COMMA { | |
| label: ',' | |
| base: ',' | |
| shift: '<' | |
| } | |
| key PERIOD { | |
| label: '.' | |
| base: '.' | |
| shift: '>' | |
| } | |
| key SLASH { | |
| label: '/' | |
| base: '/' | |
| shift: '?' | |
| } | |
| key GRAVE { | |
| label: '`' | |
| base: '`' | |
| shift: '~' | |
| alt: '\u0300' | |
| alt+shift: '\u0303' | |
| } | |
| key MINUS { | |
| label: '-' | |
| base: '-' | |
| shift: '_' | |
| } | |
| key EQUALS { | |
| label: '=' | |
| base: '=' | |
| shift: '+' | |
| } | |
| key LEFT_BRACKET { | |
| label: '[' | |
| base: '[' | |
| shift: '{' | |
| } | |
| key RIGHT_BRACKET { | |
| label: ']' | |
| base: ']' | |
| shift: '}' | |
| } | |
| key BACKSLASH { | |
| label: '\\' | |
| base: '\\' | |
| shift: '|' | |
| } | |
| key SEMICOLON { | |
| label: ';' | |
| base: ';' | |
| shift: ':' | |
| } | |
| key APOSTROPHE { | |
| label: '\'' | |
| base: '\'' | |
| shift: '"' | |
| } | |
| ### Numeric keypad ### | |
| key NUMPAD_0 { | |
| label: '0' | |
| base: fallback INSERT | |
| numlock: '0' | |
| } | |
| key NUMPAD_1 { | |
| label: '1' | |
| base: fallback MOVE_END | |
| numlock: '1' | |
| } | |
| key NUMPAD_2 { | |
| label: '2' | |
| base: fallback DPAD_DOWN | |
| numlock: '2' | |
| } | |
| key NUMPAD_3 { | |
| label: '3' | |
| base: fallback PAGE_DOWN | |
| numlock: '3' | |
| } | |
| key NUMPAD_4 { | |
| label: '4' | |
| base: fallback DPAD_LEFT | |
| numlock: '4' | |
| } | |
| key NUMPAD_5 { | |
| label: '5' | |
| base: fallback DPAD_CENTER | |
| numlock: '5' | |
| } | |
| key NUMPAD_6 { | |
| label: '6' | |
| base: fallback DPAD_RIGHT | |
| numlock: '6' | |
| } | |
| key NUMPAD_7 { | |
| label: '7' | |
| base: fallback MOVE_HOME | |
| numlock: '7' | |
| } | |
| key NUMPAD_8 { | |
| label: '8' | |
| base: fallback DPAD_UP | |
| numlock: '8' | |
| } | |
| key NUMPAD_9 { | |
| label: '9' | |
| base: fallback PAGE_UP | |
| numlock: '9' | |
| } | |
| key NUMPAD_LEFT_PAREN { | |
| label: '(' | |
| base: '(' | |
| } | |
| key NUMPAD_RIGHT_PAREN { | |
| label: ')' | |
| base: ')' | |
| } | |
| key NUMPAD_DIVIDE { | |
| label: '/' | |
| base: '/' | |
| } | |
| key NUMPAD_MULTIPLY { | |
| label: '*' | |
| base: '*' | |
| } | |
| key NUMPAD_SUBTRACT { | |
| label: '-' | |
| base: '-' | |
| } | |
| key NUMPAD_ADD { | |
| label: '+' | |
| base: '+' | |
| } | |
| key NUMPAD_DOT { | |
| label: '.' | |
| base: fallback FORWARD_DEL | |
| numlock: '.' | |
| } | |
| key NUMPAD_COMMA { | |
| label: ',' | |
| base: ',' | |
| } | |
| key NUMPAD_EQUALS { | |
| label: '=' | |
| base: '=' | |
| } | |
| key NUMPAD_ENTER { | |
| label: '\n' | |
| base: '\n' fallback ENTER | |
| ctrl, alt, meta: none fallback ENTER | |
| } | |
| ### Special keys on phones ### | |
| key AT { | |
| label: '@' | |
| base: '@' | |
| } | |
| key STAR { | |
| label: '*' | |
| base: '*' | |
| } | |
| key POUND { | |
| label: '#' | |
| base: '#' | |
| } | |
| key PLUS { | |
| label: '+' | |
| base: '+' | |
| } | |
| ### Non-printing keys ### | |
| key ESCAPE { | |
| base: none | |
| alt, meta: fallback HOME | |
| ctrl: fallback MENU | |
| } | |
| key DEL { | |
| ctrl+alt: fallback BACK | |
| } | |
| ### Gamepad buttons ### | |
| key BUTTON_A { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_B { | |
| base: fallback BACK | |
| } | |
| key BUTTON_C { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_X { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_Y { | |
| base: fallback BACK | |
| } | |
| key BUTTON_Z { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_L1 { | |
| base: none | |
| } | |
| key BUTTON_R1 { | |
| base: none | |
| } | |
| key BUTTON_L2 { | |
| base: none | |
| } | |
| key BUTTON_R2 { | |
| base: none | |
| } | |
| key BUTTON_THUMBL { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_THUMBR { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_START { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_SELECT { | |
| base: fallback MENU | |
| } | |
| key BUTTON_MODE { | |
| base: fallback HOME | |
| } | |
| key BUTTON_1 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_2 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_3 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_4 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_5 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_6 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_7 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_8 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_9 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_10 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_11 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_12 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_13 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_14 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_15 { | |
| base: fallback DPAD_CENTER | |
| } | |
| key BUTTON_16 { | |
| base: fallback DPAD_CENTER | |
| } |