| 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 "platform/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 | 
|---|