| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright 2007, The Android Open Source Project | |
| 3 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. | |
| 4 * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com | |
| 5 * Copyright (C) 2007 Holger Hans Peter Freyther | |
| 6 * Copyright (C) 2008 Collabora, Ltd. All rights reserved. | |
| 7 * All rights reserved. | |
| 8 * | |
| 9 * Redistribution and use in source and binary forms, with or without | |
| 10 * modification, are permitted provided that the following conditions | |
| 11 * are met: | |
| 12 * * Redistributions of source code must retain the above copyright | |
| 13 * notice, this list of conditions and the following disclaimer. | |
| 14 * * Redistributions in binary form must reproduce the above copyright | |
| 15 * notice, this list of conditions and the following disclaimer in the | |
| 16 * documentation and/or other materials provided with the distribution. | |
| 17 * | |
| 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY | |
| 19 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
| 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
| 21 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR | |
| 22 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
| 23 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
| 24 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | |
| 25 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | |
| 26 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 29 */ | |
| 30 | |
| 31 #include "config.h" | |
| 32 #include "core/platform/chromium/KeyboardCodes.h" | |
| 33 | |
| 34 #include <android/keycodes.h> | |
| 35 | |
| 36 namespace WebCore { | |
| 37 | |
| 38 // The Android NDK does not provide values for these yet: | |
| 39 enum { | |
| 40 AKEYCODE_ESCAPE = 111, | |
| 41 AKEYCODE_FORWARD_DEL = 112, | |
| 42 AKEYCODE_CTRL_LEFT = 113, | |
| 43 AKEYCODE_CTRL_RIGHT = 114, | |
| 44 AKEYCODE_CAPS_LOCK = 115, | |
| 45 AKEYCODE_SCROLL_LOCK = 116, | |
| 46 AKEYCODE_META_LEFT = 117, | |
| 47 AKEYCODE_META_RIGHT = 118, | |
| 48 AKEYCODE_BREAK = 121, | |
| 49 AKEYCODE_INSERT = 124, | |
| 50 AKEYCODE_MEDIA_PLAY = 126, | |
| 51 AKEYCODE_MEDIA_PAUSE = 127, | |
| 52 AKEYCODE_F1 = 131, | |
| 53 AKEYCODE_F2 = 132, | |
| 54 AKEYCODE_F3 = 133, | |
| 55 AKEYCODE_F4 = 134, | |
| 56 AKEYCODE_F5 = 135, | |
| 57 AKEYCODE_F6 = 136, | |
| 58 AKEYCODE_F7 = 137, | |
| 59 AKEYCODE_F8 = 138, | |
| 60 AKEYCODE_F9 = 139, | |
| 61 AKEYCODE_F10 = 140, | |
| 62 AKEYCODE_F11 = 141, | |
| 63 AKEYCODE_F12 = 142, | |
| 64 AKEYCODE_NUM_LOCK = 143, | |
| 65 AKEYCODE_NUMPAD_0 = 144, | |
| 66 AKEYCODE_NUMPAD_1 = 145, | |
| 67 AKEYCODE_NUMPAD_2 = 146, | |
| 68 AKEYCODE_NUMPAD_3 = 147, | |
| 69 AKEYCODE_NUMPAD_4 = 148, | |
| 70 AKEYCODE_NUMPAD_5 = 149, | |
| 71 AKEYCODE_NUMPAD_6 = 150, | |
| 72 AKEYCODE_NUMPAD_7 = 151, | |
| 73 AKEYCODE_NUMPAD_8 = 152, | |
| 74 AKEYCODE_NUMPAD_9 = 153, | |
| 75 AKEYCODE_NUMPAD_DIVIDE = 154, | |
| 76 AKEYCODE_NUMPAD_MULTIPLY = 155, | |
| 77 AKEYCODE_NUMPAD_SUBTRACT = 156, | |
| 78 AKEYCODE_NUMPAD_ADD = 157, | |
| 79 AKEYCODE_NUMPAD_DOT = 158, | |
| 80 AKEYCODE_VOLUME_MUTE = 164, | |
| 81 AKEYCODE_CHANNEL_UP = 166, | |
| 82 AKEYCODE_CHANNEL_DOWN = 167, | |
| 83 }; | |
| 84 | |
| 85 int windowsKeyCodeForKeyEvent(unsigned int keyCode) | |
| 86 { | |
| 87 // Does not provide all key codes, and does not handle all keys. | |
| 88 switch (keyCode) { | |
| 89 case AKEYCODE_DEL: | |
| 90 return VKEY_BACK; | |
| 91 case AKEYCODE_TAB: | |
| 92 return VKEY_TAB; | |
| 93 case AKEYCODE_CLEAR: | |
| 94 return VKEY_CLEAR; | |
| 95 case AKEYCODE_DPAD_CENTER: | |
| 96 case AKEYCODE_ENTER: | |
| 97 return VKEY_RETURN; | |
| 98 case AKEYCODE_SHIFT_LEFT: | |
| 99 return VKEY_LSHIFT; | |
| 100 case AKEYCODE_SHIFT_RIGHT: | |
| 101 return VKEY_RSHIFT; | |
| 102 // Back will serve as escape, although we may not have access to it. | |
| 103 case AKEYCODE_BACK: | |
| 104 return VKEY_ESCAPE; | |
| 105 case AKEYCODE_SPACE: | |
| 106 return VKEY_SPACE; | |
| 107 case AKEYCODE_HOME: | |
| 108 return VKEY_HOME; | |
| 109 case AKEYCODE_DPAD_LEFT: | |
| 110 return VKEY_LEFT; | |
| 111 case AKEYCODE_DPAD_UP: | |
| 112 return VKEY_UP; | |
| 113 case AKEYCODE_DPAD_RIGHT: | |
| 114 return VKEY_RIGHT; | |
| 115 case AKEYCODE_DPAD_DOWN: | |
| 116 return VKEY_DOWN; | |
| 117 case AKEYCODE_0: | |
| 118 return VKEY_0; | |
| 119 case AKEYCODE_1: | |
| 120 return VKEY_1; | |
| 121 case AKEYCODE_2: | |
| 122 return VKEY_2; | |
| 123 case AKEYCODE_3: | |
| 124 return VKEY_3; | |
| 125 case AKEYCODE_4: | |
| 126 return VKEY_4; | |
| 127 case AKEYCODE_5: | |
| 128 return VKEY_5; | |
| 129 case AKEYCODE_6: | |
| 130 return VKEY_6; | |
| 131 case AKEYCODE_7: | |
| 132 return VKEY_7; | |
| 133 case AKEYCODE_8: | |
| 134 return VKEY_8; | |
| 135 case AKEYCODE_9: | |
| 136 return VKEY_9; | |
| 137 case AKEYCODE_A: | |
| 138 return VKEY_A; | |
| 139 case AKEYCODE_B: | |
| 140 return VKEY_B; | |
| 141 case AKEYCODE_C: | |
| 142 return VKEY_C; | |
| 143 case AKEYCODE_D: | |
| 144 return VKEY_D; | |
| 145 case AKEYCODE_E: | |
| 146 return VKEY_E; | |
| 147 case AKEYCODE_F: | |
| 148 return VKEY_F; | |
| 149 case AKEYCODE_G: | |
| 150 return VKEY_G; | |
| 151 case AKEYCODE_H: | |
| 152 return VKEY_H; | |
| 153 case AKEYCODE_I: | |
| 154 return VKEY_I; | |
| 155 case AKEYCODE_J: | |
| 156 return VKEY_J; | |
| 157 case AKEYCODE_K: | |
| 158 return VKEY_K; | |
| 159 case AKEYCODE_L: | |
| 160 return VKEY_L; | |
| 161 case AKEYCODE_M: | |
| 162 return VKEY_M; | |
| 163 case AKEYCODE_N: | |
| 164 return VKEY_N; | |
| 165 case AKEYCODE_O: | |
| 166 return VKEY_O; | |
| 167 case AKEYCODE_P: | |
| 168 return VKEY_P; | |
| 169 case AKEYCODE_Q: | |
| 170 return VKEY_Q; | |
| 171 case AKEYCODE_R: | |
| 172 return VKEY_R; | |
| 173 case AKEYCODE_S: | |
| 174 return VKEY_S; | |
| 175 case AKEYCODE_T: | |
| 176 return VKEY_T; | |
| 177 case AKEYCODE_U: | |
| 178 return VKEY_U; | |
| 179 case AKEYCODE_V: | |
| 180 return VKEY_V; | |
| 181 case AKEYCODE_W: | |
| 182 return VKEY_W; | |
| 183 case AKEYCODE_X: | |
| 184 return VKEY_X; | |
| 185 case AKEYCODE_Y: | |
| 186 return VKEY_Y; | |
| 187 case AKEYCODE_Z: | |
| 188 return VKEY_Z; | |
| 189 case AKEYCODE_VOLUME_DOWN: | |
| 190 return VKEY_VOLUME_DOWN; | |
| 191 case AKEYCODE_VOLUME_UP: | |
| 192 return VKEY_VOLUME_UP; | |
| 193 case AKEYCODE_MEDIA_NEXT: | |
| 194 return VKEY_MEDIA_NEXT_TRACK; | |
| 195 case AKEYCODE_MEDIA_PREVIOUS: | |
| 196 return VKEY_MEDIA_PREV_TRACK; | |
| 197 case AKEYCODE_MEDIA_STOP: | |
| 198 return VKEY_MEDIA_STOP; | |
| 199 case AKEYCODE_MEDIA_PAUSE: | |
| 200 return VKEY_MEDIA_PLAY_PAUSE; | |
| 201 // Colon key. | |
| 202 case AKEYCODE_SEMICOLON: | |
| 203 return VKEY_OEM_1; | |
| 204 case AKEYCODE_COMMA: | |
| 205 return VKEY_OEM_COMMA; | |
| 206 case AKEYCODE_MINUS: | |
| 207 return VKEY_OEM_MINUS; | |
| 208 case AKEYCODE_EQUALS: | |
| 209 return VKEY_OEM_PLUS; | |
| 210 case AKEYCODE_PERIOD: | |
| 211 return VKEY_OEM_PERIOD; | |
| 212 case AKEYCODE_SLASH: | |
| 213 return VKEY_OEM_2; | |
| 214 case AKEYCODE_LEFT_BRACKET: | |
| 215 return VKEY_OEM_4; | |
| 216 case AKEYCODE_BACKSLASH: | |
| 217 return VKEY_OEM_5; | |
| 218 case AKEYCODE_RIGHT_BRACKET: | |
| 219 return VKEY_OEM_6; | |
| 220 case AKEYCODE_MUTE: | |
| 221 case AKEYCODE_VOLUME_MUTE: | |
| 222 return VKEY_VOLUME_MUTE; | |
| 223 case AKEYCODE_ESCAPE: | |
| 224 return VKEY_ESCAPE; | |
| 225 case AKEYCODE_MEDIA_PLAY: | |
| 226 case AKEYCODE_MEDIA_PLAY_PAUSE: | |
| 227 return VKEY_MEDIA_PLAY_PAUSE; | |
| 228 case AKEYCODE_CALL: | |
| 229 return VKEY_END; | |
| 230 case AKEYCODE_ALT_LEFT: | |
| 231 return VKEY_LMENU; | |
| 232 case AKEYCODE_ALT_RIGHT: | |
| 233 return VKEY_RMENU; | |
| 234 case AKEYCODE_GRAVE: | |
| 235 return VKEY_OEM_3; | |
| 236 case AKEYCODE_APOSTROPHE: | |
| 237 return VKEY_OEM_3; | |
| 238 case AKEYCODE_MEDIA_REWIND: | |
| 239 return VKEY_OEM_103; | |
| 240 case AKEYCODE_MEDIA_FAST_FORWARD: | |
| 241 return VKEY_OEM_104; | |
| 242 case AKEYCODE_PAGE_UP: | |
| 243 return VKEY_PRIOR; | |
| 244 case AKEYCODE_PAGE_DOWN: | |
| 245 return VKEY_NEXT; | |
| 246 case AKEYCODE_FORWARD_DEL: | |
| 247 return VKEY_DELETE; | |
| 248 case AKEYCODE_CTRL_LEFT: | |
| 249 return VKEY_LCONTROL; | |
| 250 case AKEYCODE_CTRL_RIGHT: | |
| 251 return VKEY_RCONTROL; | |
| 252 case AKEYCODE_CAPS_LOCK: | |
| 253 return VKEY_CAPITAL; | |
| 254 case AKEYCODE_SCROLL_LOCK: | |
| 255 return VKEY_SCROLL; | |
| 256 case AKEYCODE_META_LEFT: | |
| 257 return VKEY_LWIN; | |
| 258 case AKEYCODE_META_RIGHT: | |
| 259 return VKEY_RWIN; | |
| 260 case AKEYCODE_BREAK: | |
| 261 return VKEY_PAUSE; | |
| 262 case AKEYCODE_INSERT: | |
| 263 return VKEY_INSERT; | |
| 264 case AKEYCODE_F1: | |
| 265 return VKEY_F1; | |
| 266 case AKEYCODE_F2: | |
| 267 return VKEY_F2; | |
| 268 case AKEYCODE_F3: | |
| 269 return VKEY_F3; | |
| 270 case AKEYCODE_F4: | |
| 271 return VKEY_F4; | |
| 272 case AKEYCODE_F5: | |
| 273 return VKEY_F5; | |
| 274 case AKEYCODE_F6: | |
| 275 return VKEY_F6; | |
| 276 case AKEYCODE_F7: | |
| 277 return VKEY_F7; | |
| 278 case AKEYCODE_F8: | |
| 279 return VKEY_F8; | |
| 280 case AKEYCODE_F9: | |
| 281 return VKEY_F9; | |
| 282 case AKEYCODE_F10: | |
| 283 return VKEY_F10; | |
| 284 case AKEYCODE_F11: | |
| 285 return VKEY_F11; | |
| 286 case AKEYCODE_F12: | |
| 287 return VKEY_F12; | |
| 288 case AKEYCODE_NUM_LOCK: | |
| 289 return VKEY_NUMLOCK; | |
| 290 case AKEYCODE_NUMPAD_0: | |
| 291 return VKEY_NUMPAD0; | |
| 292 case AKEYCODE_NUMPAD_1: | |
| 293 return VKEY_NUMPAD1; | |
| 294 case AKEYCODE_NUMPAD_2: | |
| 295 return VKEY_NUMPAD2; | |
| 296 case AKEYCODE_NUMPAD_3: | |
| 297 return VKEY_NUMPAD3; | |
| 298 case AKEYCODE_NUMPAD_4: | |
| 299 return VKEY_NUMPAD4; | |
| 300 case AKEYCODE_NUMPAD_5: | |
| 301 return VKEY_NUMPAD5; | |
| 302 case AKEYCODE_NUMPAD_6: | |
| 303 return VKEY_NUMPAD6; | |
| 304 case AKEYCODE_NUMPAD_7: | |
| 305 return VKEY_NUMPAD7; | |
| 306 case AKEYCODE_NUMPAD_8: | |
| 307 return VKEY_NUMPAD8; | |
| 308 case AKEYCODE_NUMPAD_9: | |
| 309 return VKEY_NUMPAD9; | |
| 310 case AKEYCODE_NUMPAD_DIVIDE: | |
| 311 return VKEY_DIVIDE; | |
| 312 case AKEYCODE_NUMPAD_MULTIPLY: | |
| 313 return VKEY_MULTIPLY; | |
| 314 case AKEYCODE_NUMPAD_SUBTRACT: | |
| 315 return VKEY_SUBTRACT; | |
| 316 case AKEYCODE_NUMPAD_ADD: | |
| 317 return VKEY_ADD; | |
| 318 case AKEYCODE_NUMPAD_DOT: | |
| 319 return VKEY_DECIMAL; | |
| 320 case AKEYCODE_CHANNEL_UP: | |
| 321 return VKEY_PRIOR; | |
| 322 case AKEYCODE_CHANNEL_DOWN: | |
| 323 return VKEY_NEXT; | |
| 324 default: | |
| 325 return 0; | |
| 326 } | |
| 327 } | |
| 328 | |
| 329 } // namespace WebCore | |
| OLD | NEW |