blob: 571e47b22d8675100dd5bb5dced3b4c0f3500b35 [file] [log] [blame]
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -08001/*
2 * Copyright (C) 2008 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef _UI_KEYCODE_LABELS_H
18#define _UI_KEYCODE_LABELS_H
19
20struct KeycodeLabel {
21 const char *literal;
22 int value;
23};
24
25static const KeycodeLabel KEYCODES[] = {
26 { "SOFT_LEFT", 1 },
27 { "SOFT_RIGHT", 2 },
28 { "HOME", 3 },
29 { "BACK", 4 },
30 { "CALL", 5 },
31 { "ENDCALL", 6 },
32 { "0", 7 },
33 { "1", 8 },
34 { "2", 9 },
35 { "3", 10 },
36 { "4", 11 },
37 { "5", 12 },
38 { "6", 13 },
39 { "7", 14 },
40 { "8", 15 },
41 { "9", 16 },
42 { "STAR", 17 },
43 { "POUND", 18 },
44 { "DPAD_UP", 19 },
45 { "DPAD_DOWN", 20 },
46 { "DPAD_LEFT", 21 },
47 { "DPAD_RIGHT", 22 },
48 { "DPAD_CENTER", 23 },
49 { "VOLUME_UP", 24 },
50 { "VOLUME_DOWN", 25 },
51 { "POWER", 26 },
52 { "CAMERA", 27 },
53 { "CLEAR", 28 },
54 { "A", 29 },
55 { "B", 30 },
56 { "C", 31 },
57 { "D", 32 },
58 { "E", 33 },
59 { "F", 34 },
60 { "G", 35 },
61 { "H", 36 },
62 { "I", 37 },
63 { "J", 38 },
64 { "K", 39 },
65 { "L", 40 },
66 { "M", 41 },
67 { "N", 42 },
68 { "O", 43 },
69 { "P", 44 },
70 { "Q", 45 },
71 { "R", 46 },
72 { "S", 47 },
73 { "T", 48 },
74 { "U", 49 },
75 { "V", 50 },
76 { "W", 51 },
77 { "X", 52 },
78 { "Y", 53 },
79 { "Z", 54 },
80 { "COMMA", 55 },
81 { "PERIOD", 56 },
82 { "ALT_LEFT", 57 },
83 { "ALT_RIGHT", 58 },
84 { "SHIFT_LEFT", 59 },
85 { "SHIFT_RIGHT", 60 },
86 { "TAB", 61 },
87 { "SPACE", 62 },
88 { "SYM", 63 },
89 { "EXPLORER", 64 },
90 { "ENVELOPE", 65 },
91 { "ENTER", 66 },
92 { "DEL", 67 },
93 { "GRAVE", 68 },
94 { "MINUS", 69 },
95 { "EQUALS", 70 },
96 { "LEFT_BRACKET", 71 },
97 { "RIGHT_BRACKET", 72 },
98 { "BACKSLASH", 73 },
99 { "SEMICOLON", 74 },
100 { "APOSTROPHE", 75 },
101 { "SLASH", 76 },
102 { "AT", 77 },
103 { "NUM", 78 },
104 { "HEADSETHOOK", 79 },
105 { "FOCUS", 80 },
106 { "PLUS", 81 },
107 { "MENU", 82 },
108 { "NOTIFICATION", 83 },
109 { "SEARCH", 84 },
Dianne Hackborn2f6d8812009-04-13 16:11:55 -0700110 { "MEDIA_PLAY_PAUSE", 85 },
111 { "MEDIA_STOP", 86 },
112 { "MEDIA_NEXT", 87 },
113 { "MEDIA_PREVIOUS", 88 },
114 { "MEDIA_REWIND", 89 },
115 { "MEDIA_FAST_FORWARD", 90 },
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800116 { "MUTE", 91 },
117
118 // NOTE: If you add a new keycode here you must also add it to:
119 // (enum KeyCode, in this file)
120 // frameworks/base/core/java/android/view/KeyEvent.java
121 // tools/puppet_master/PuppetMaster.nav_keys.py
122 // frameworks/base/core/res/res/values/attrs.xml
123
124 { NULL, 0 }
125};
126
127// These constants need to match the above mappings.
128typedef enum KeyCode {
129 kKeyCodeUnknown = 0,
130
131 kKeyCodeSoftLeft = 1,
132 kKeyCodeSoftRight = 2,
133 kKeyCodeHome = 3,
134 kKeyCodeBack = 4,
135 kKeyCodeCall = 5,
136 kKeyCodeEndCall = 6,
137 kKeyCode0 = 7,
138 kKeyCode1 = 8,
139 kKeyCode2 = 9,
140 kKeyCode3 = 10,
141 kKeyCode4 = 11,
142 kKeyCode5 = 12,
143 kKeyCode6 = 13,
144 kKeyCode7 = 14,
145 kKeyCode8 = 15,
146 kKeyCode9 = 16,
147 kKeyCodeStar = 17,
148 kKeyCodePound = 18,
149 kKeyCodeDpadUp = 19,
150 kKeyCodeDpadDown = 20,
151 kKeyCodeDpadLeft = 21,
152 kKeyCodeDpadRight = 22,
153 kKeyCodeDpadCenter = 23,
154 kKeyCodeVolumeUp = 24,
155 kKeyCodeVolumeDown = 25,
156 kKeyCodePower = 26,
157 kKeyCodeCamera = 27,
158 kKeyCodeClear = 28,
159 kKeyCodeA = 29,
160 kKeyCodeB = 30,
161 kKeyCodeC = 31,
162 kKeyCodeD = 32,
163 kKeyCodeE = 33,
164 kKeyCodeF = 34,
165 kKeyCodeG = 35,
166 kKeyCodeH = 36,
167 kKeyCodeI = 37,
168 kKeyCodeJ = 38,
169 kKeyCodeK = 39,
170 kKeyCodeL = 40,
171 kKeyCodeM = 41,
172 kKeyCodeN = 42,
173 kKeyCodeO = 43,
174 kKeyCodeP = 44,
175 kKeyCodeQ = 45,
176 kKeyCodeR = 46,
177 kKeyCodeS = 47,
178 kKeyCodeT = 48,
179 kKeyCodeU = 49,
180 kKeyCodeV = 50,
181 kKeyCodeW = 51,
182 kKeyCodeX = 52,
183 kKeyCodeY = 53,
184 kKeyCodeZ = 54,
185 kKeyCodeComma = 55,
186 kKeyCodePeriod = 56,
187 kKeyCodeAltLeft = 57,
188 kKeyCodeAltRight = 58,
189 kKeyCodeShiftLeft = 59,
190 kKeyCodeShiftRight = 60,
191 kKeyCodeTab = 61,
192 kKeyCodeSpace = 62,
193 kKeyCodeSym = 63,
194 kKeyCodeExplorer = 64,
195 kKeyCodeEnvelope = 65,
196 kKeyCodeNewline = 66,
197 kKeyCodeDel = 67,
198 kKeyCodeGrave = 68,
199 kKeyCodeMinus = 69,
200 kKeyCodeEquals = 70,
201 kKeyCodeLeftBracket = 71,
202 kKeyCodeRightBracket = 72,
203 kKeyCodeBackslash = 73,
204 kKeyCodeSemicolon = 74,
205 kKeyCodeApostrophe = 75,
206 kKeyCodeSlash = 76,
207 kKeyCodeAt = 77,
208 kKeyCodeNum = 78,
209 kKeyCodeHeadSetHook = 79,
210 kKeyCodeFocus = 80,
211 kKeyCodePlus = 81,
212 kKeyCodeMenu = 82,
213 kKeyCodeNotification = 83,
214 kKeyCodeSearch = 84,
215 kKeyCodePlayPause = 85,
216 kKeyCodeStop = 86,
217 kKeyCodeNextSong = 87,
218 kKeyCodePreviousSong = 88,
219 kKeyCodeRewind = 89,
220 kKeyCodeForward = 90,
221 kKeyCodeMute = 91
222} KeyCode;
223
224static const KeycodeLabel FLAGS[] = {
225 { "WAKE", 0x00000001 },
226 { "WAKE_DROPPED", 0x00000002 },
227 { "SHIFT", 0x00000004 },
228 { "CAPS_LOCK", 0x00000008 },
229 { "ALT", 0x00000010 },
230 { "ALT_GR", 0x00000020 },
231 { "MENU", 0x00000040 },
232 { "LAUNCHER", 0x00000080 },
233 { NULL, 0 }
234};
235
236#endif // _UI_KEYCODE_LABELS_H