Changeset 2753


Ignore:
Timestamp:
Jul 30, 2006, 6:02:13 PM (19 years ago)
Author:
bird
Message:

MINGW32 build config.

Location:
trunk/synergy
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/synergy/Makefile.kmk

    r2752 r2753  
    1212#
    1313# Just use defaults here instead of templates (lazy).
    14 #         
    15 TOOL = GCC3OMF   
     14#
     15TOOL = GCC3
     16TOOL.os2 = GCC3OMF
     17#TOOL.nt  = MINGW32
    1618INCS = \
    1719        lib/common \
     
    2628        lib/server \
    2729
     30DEFS.nt = _WIN32
     31
    2832#
    2933# The libs
    30 #       
     34#
    3135
    3236LIBRARIES = \
     
    4145        server \
    4246        platform \
    43        
     47
    4448common_SOURCES = lib/common/Version.cpp
    4549
     
    6064        lib/arch/CArchMultithreadOS2.cpp \
    6165        lib/arch/CArchTaskBarOS2.cpp
     66arch_SOURCES.nt = \
     67        lib/arch/CArchConsoleWindows.cpp \
     68        lib/arch/CArchDaemonWindows.cpp \
     69        lib/arch/CArchFileWindows.cpp \
     70        lib/arch/CArchLogWindows.cpp \
     71        lib/arch/CArchMiscWindows.cpp \
     72        lib/arch/CArchMultithreadWindows.cpp \
     73        lib/arch/CArchNetworkWinsock.cpp \
     74        lib/arch/CArchSleepWindows.cpp \
     75        lib/arch/CArchStringWindows.cpp \
     76        lib/arch/CArchSystemWindows.cpp \
     77        lib/arch/CArchTaskBarWindows.cpp \
     78        lib/arch/CArchTimeWindows.cpp \
     79        lib/arch/XArchWindows.cpp
    6280
    6381base_SOURCES = \
     
    7492        lib/base/LogOutputters.cpp \
    7593        lib/base/XBase.cpp
    76        
     94
    7795mt_SOURCES = \
    7896        lib/mt/CCondVar.cpp \
     
    145163        lib/platform/CPMEventQueueBuffer.cpp \
    146164        lib/platform/CPMScreenSaver.cpp \
    147         lib/platform/CPMUtil.cpp 
     165        lib/platform/CPMUtil.cpp
    148166# todo:
    149167#       lib/platform/CPMKeyState.cpp \
    150 #       lib/platform/CPMScreen.cpp \
    151 
    152                                                  
     168#       lib/platform/CPMScreen.cpp
     169platform_SOURCES.nt = \
     170        lib/platform/CMSWindowsClipboard.cpp \
     171        lib/platform/CMSWindowsClipboardAnyTextConverter.cpp \
     172        lib/platform/CMSWindowsClipboardBitmapConverter.cpp \
     173        lib/platform/CMSWindowsClipboardHTMLConverter.cpp \
     174        lib/platform/CMSWindowsClipboardTextConverter.cpp \
     175        lib/platform/CMSWindowsClipboardUTF16Converter.cpp \
     176        lib/platform/CMSWindowsDesks.cpp \
     177        lib/platform/CMSWindowsEventQueueBuffer.cpp \
     178        lib/platform/CMSWindowsKeyState.cpp \
     179        lib/platform/CMSWindowsScreen.cpp \
     180        lib/platform/CMSWindowsScreenSaver.cpp \
     181        lib/platform/CMSWindowsUtil.cpp
     182
     183
    153184#
    154185# The programs
    155 #                                                               
     186#
    156187
    157188PROGRAMS = \
     
    164195synergyc_SOURCES.os2 = \
    165196        cmd/synergyc/CPMClientTaskBarReceiver.cpp
    166                          
     197synergyc_SOURCES.nt = \
     198        cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp
     199
    167200synergyc_LIBS = \
    168201        $(TARGET_client) \
     202        $(TARGET_platform) \
    169203        $(TARGET_synergy) \
    170         $(TARGET_platform) \
    171204        $(TARGET_net) \
    172205        $(TARGET_base) \
     
    174207        $(TARGET_mt) \
    175208        $(TARGET_arch) \
    176         $(TARGET_common)
     209        $(TARGET_common) \
     210        $(synergyc_LIBS.$(BUILD_TARGET))
     211synergyc_LIBS.nt = kernel32 user32 gdi32
    177212
    178213
     
    182217synergys_SOURCES.os2 = \
    183218        cmd/synergys/CPMServerTaskBarReceiver.cpp
    184                          
     219synergys_SOURCES.nt = \
     220        cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp
     221
     222
    185223synergys_LIBS = \
    186224        $(TARGET_server) \
     225        $(TARGET_platform) \
    187226        $(TARGET_synergy) \
    188         $(TARGET_platform) \
    189227        $(TARGET_net) \
    190228        $(TARGET_base) \
     
    192230        $(TARGET_mt) \
    193231        $(TARGET_arch) \
    194         $(TARGET_common)
    195                                                                  
     232        $(TARGET_common) \
     233        $(synergys_LIBS.$(BUILD_TARGET))
     234synergys_LIBS.nt = kernel32 user32 gdi32
     235
    196236
    197237include $(PATH_KBUILD)/footer.kmk
  • trunk/synergy/lib/common/common.h

    r2752 r2753  
    22 * synergy -- mouse and keyboard sharing utility
    33 * Copyright (C) 2002 Chris Schoeneman
    4  * 
     4 *
    55 * This package is free software; you can redistribute it and/or
    66 * modify it under the terms of the GNU General Public License
    77 * found in the file COPYING that should have accompanied this file.
    8  * 
     8 *
    99 * This package is distributed in the hope that it will be useful,
    1010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     
    3030#               define SYSAPI_WIN32 1
    3131#               define WINAPI_MSWINDOWS 1
     32#       endif
     33
     34        // we may not have run configure on ming32
     35#       if defined(__MINGW32__)
     36#               define SYSAPI_WIN32 1
     37#               define WINAPI_MSWINDOWS 1
     38#               define HAVE_CXX_BOOL 1
     39#               define HAVE_CXX_CASTS 1
     40#               define HAVE_CXX_EXCEPTIONS 1
     41#               define HAVE_CXX_MUTABLE 1
     42#               define HAVE_CXX_STDLIB 1
     43#               define HAVE_INTTYPES_H 1
     44#               define HAVE_ISTREAM 1
     45#               define HAVE_MEMORY_H 1
     46#               define HAVE_OSTREAM 1
     47#               include <sys/types.h>
     48#               define HAVE_SSTREAM 1
     49#               define HAVE_STDINT_H 1
     50#               define HAVE_STDLIB_H 1
     51#               define HAVE_STRINGS_H 1
     52#               define HAVE_STRING_H 1
     53#               define HAVE_SYS_STAT_H 1
     54#               define HAVE_SYS_TIME_H 1
     55#               define HAVE_SYS_TYPES_H 1
     56#               define HAVE_VSNPRINTF 1
     57#               define HAVE_WCHAR_H 1
     58#               define HAVE_LOCALE_H 1
     59
     60#               define SIZEOF_CHAR 1
     61#               define SIZEOF_INT 4
     62#               define SIZEOF_LONG 4
     63#               define SIZEOF_SHORT 2
     64#               define STDC_HEADERS 1
     65#               define TIME_WITH_SYS_TIME 1
     66#               define X_DISPLAY_MISSING 1
    3267#       endif
    3368
     
    105140#               define HAVE_POSIX_SIGWAIT 1
    106141// we don't have pthreads, but we use the same header to reduce changes.
    107 #               define HAVE_PTHREAD 1 
     142#               define HAVE_PTHREAD 1
    108143//#             define HAVE_PTHREAD_SIGNAL 1
    109144#               include <sys/types.h>
  • trunk/synergy/lib/platform/CMSWindowsKeyState.cpp

    r2749 r2753  
    22 * synergy -- mouse and keyboard sharing utility
    33 * Copyright (C) 2003 Chris Schoeneman
    4  * 
     4 *
    55 * This package is free software; you can redistribute it and/or
    66 * modify it under the terms of the GNU General Public License
    77 * found in the file COPYING that should have accompanied this file.
    8  * 
     8 *
    99 * This package is distributed in the hope that it will be useful,
    1010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     
    3636const KeyID                             CMSWindowsKeyState::s_virtualKey[] =
    3737{
    38         /* 0x000 */ { kKeyNone },               // reserved
    39         /* 0x001 */ { kKeyNone },               // VK_LBUTTON
    40         /* 0x002 */ { kKeyNone },               // VK_RBUTTON
    41         /* 0x003 */ { kKeyNone },               // VK_CANCEL
    42         /* 0x004 */ { kKeyNone },               // VK_MBUTTON
    43         /* 0x005 */ { kKeyNone },               // VK_XBUTTON1
    44         /* 0x006 */ { kKeyNone },               // VK_XBUTTON2
    45         /* 0x007 */ { kKeyNone },               // undefined
    46         /* 0x008 */ { kKeyBackSpace },  // VK_BACK
    47         /* 0x009 */ { kKeyTab },                // VK_TAB
    48         /* 0x00a */ { kKeyNone },               // undefined
    49         /* 0x00b */ { kKeyNone },               // undefined
    50         /* 0x00c */ { kKeyClear },              // VK_CLEAR
    51         /* 0x00d */ { kKeyReturn },             // VK_RETURN
    52         /* 0x00e */ { kKeyNone },               // undefined
    53         /* 0x00f */ { kKeyNone },               // undefined
    54         /* 0x010 */ { kKeyShift_L },    // VK_SHIFT
    55         /* 0x011 */ { kKeyControl_L },  // VK_CONTROL
    56         /* 0x012 */ { kKeyAlt_L },              // VK_MENU
    57         /* 0x013 */ { kKeyPause },              // VK_PAUSE
    58         /* 0x014 */ { kKeyCapsLock },   // VK_CAPITAL
    59         /* 0x015 */ { kKeyNone },               // VK_KANA                     
    60         /* 0x016 */ { kKeyNone },               // VK_HANGUL           
    61         /* 0x017 */ { kKeyNone },               // VK_JUNJA                     
    62         /* 0x018 */ { kKeyNone },               // VK_FINAL                     
    63         /* 0x019 */ { kKeyZenkaku },    // VK_KANJI                     
    64         /* 0x01a */ { kKeyNone },               // undefined
    65         /* 0x01b */ { kKeyEscape },             // VK_ESCAPE
    66         /* 0x01c */ { kKeyHenkan },             // VK_CONVERT           
    67         /* 0x01d */ { kKeyNone },               // VK_NONCONVERT       
    68         /* 0x01e */ { kKeyNone },               // VK_ACCEPT           
    69         /* 0x01f */ { kKeyNone },               // VK_MODECHANGE       
    70         /* 0x020 */ { kKeyNone },               // VK_SPACE
    71         /* 0x021 */ { kKeyKP_PageUp },  // VK_PRIOR
    72         /* 0x022 */ { kKeyKP_PageDown },// VK_NEXT
    73         /* 0x023 */ { kKeyKP_End },             // VK_END
    74         /* 0x024 */ { kKeyKP_Home },    // VK_HOME
    75         /* 0x025 */ { kKeyKP_Left },    // VK_LEFT
    76         /* 0x026 */ { kKeyKP_Up },              // VK_UP
    77         /* 0x027 */ { kKeyKP_Right },   // VK_RIGHT
    78         /* 0x028 */ { kKeyKP_Down },    // VK_DOWN
    79         /* 0x029 */ { kKeySelect },             // VK_SELECT
    80         /* 0x02a */ { kKeyNone },               // VK_PRINT
    81         /* 0x02b */ { kKeyExecute },    // VK_EXECUTE
    82         /* 0x02c */ { kKeyPrint },              // VK_SNAPSHOT
    83         /* 0x02d */ { kKeyKP_Insert },  // VK_INSERT
    84         /* 0x02e */ { kKeyKP_Delete },  // VK_DELETE
    85         /* 0x02f */ { kKeyHelp },               // VK_HELP
    86         /* 0x030 */ { kKeyNone },               // VK_0
    87         /* 0x031 */ { kKeyNone },               // VK_1
    88         /* 0x032 */ { kKeyNone },               // VK_2
    89         /* 0x033 */ { kKeyNone },               // VK_3
    90         /* 0x034 */ { kKeyNone },               // VK_4
    91         /* 0x035 */ { kKeyNone },               // VK_5
    92         /* 0x036 */ { kKeyNone },               // VK_6
    93         /* 0x037 */ { kKeyNone },               // VK_7
    94         /* 0x038 */ { kKeyNone },               // VK_8
    95         /* 0x039 */ { kKeyNone },               // VK_9
    96         /* 0x03a */ { kKeyNone },               // undefined
    97         /* 0x03b */ { kKeyNone },               // undefined
    98         /* 0x03c */ { kKeyNone },               // undefined
    99         /* 0x03d */ { kKeyNone },               // undefined
    100         /* 0x03e */ { kKeyNone },               // undefined
    101         /* 0x03f */ { kKeyNone },               // undefined
    102         /* 0x040 */ { kKeyNone },               // undefined
    103         /* 0x041 */ { kKeyNone },               // VK_A
    104         /* 0x042 */ { kKeyNone },               // VK_B
    105         /* 0x043 */ { kKeyNone },               // VK_C
    106         /* 0x044 */ { kKeyNone },               // VK_D
    107         /* 0x045 */ { kKeyNone },               // VK_E
    108         /* 0x046 */ { kKeyNone },               // VK_F
    109         /* 0x047 */ { kKeyNone },               // VK_G
    110         /* 0x048 */ { kKeyNone },               // VK_H
    111         /* 0x049 */ { kKeyNone },               // VK_I
    112         /* 0x04a */ { kKeyNone },               // VK_J
    113         /* 0x04b */ { kKeyNone },               // VK_K
    114         /* 0x04c */ { kKeyNone },               // VK_L
    115         /* 0x04d */ { kKeyNone },               // VK_M
    116         /* 0x04e */ { kKeyNone },               // VK_N
    117         /* 0x04f */ { kKeyNone },               // VK_O
    118         /* 0x050 */ { kKeyNone },               // VK_P
    119         /* 0x051 */ { kKeyNone },               // VK_Q
    120         /* 0x052 */ { kKeyNone },               // VK_R
    121         /* 0x053 */ { kKeyNone },               // VK_S
    122         /* 0x054 */ { kKeyNone },               // VK_T
    123         /* 0x055 */ { kKeyNone },               // VK_U
    124         /* 0x056 */ { kKeyNone },               // VK_V
    125         /* 0x057 */ { kKeyNone },               // VK_W
    126         /* 0x058 */ { kKeyNone },               // VK_X
    127         /* 0x059 */ { kKeyNone },               // VK_Y
    128         /* 0x05a */ { kKeyNone },               // VK_Z
    129         /* 0x05b */ { kKeySuper_L },    // VK_LWIN
    130         /* 0x05c */ { kKeySuper_R },    // VK_RWIN
    131         /* 0x05d */ { kKeyMenu },               // VK_APPS
    132         /* 0x05e */ { kKeyNone },               // undefined
    133         /* 0x05f */ { kKeySleep },              // VK_SLEEP
    134         /* 0x060 */ { kKeyKP_0 },               // VK_NUMPAD0
    135         /* 0x061 */ { kKeyKP_1 },               // VK_NUMPAD1
    136         /* 0x062 */ { kKeyKP_2 },               // VK_NUMPAD2
    137         /* 0x063 */ { kKeyKP_3 },               // VK_NUMPAD3
    138         /* 0x064 */ { kKeyKP_4 },               // VK_NUMPAD4
    139         /* 0x065 */ { kKeyKP_5 },               // VK_NUMPAD5
    140         /* 0x066 */ { kKeyKP_6 },               // VK_NUMPAD6
    141         /* 0x067 */ { kKeyKP_7 },               // VK_NUMPAD7
    142         /* 0x068 */ { kKeyKP_8 },               // VK_NUMPAD8
    143         /* 0x069 */ { kKeyKP_9 },               // VK_NUMPAD9
    144         /* 0x06a */ { kKeyKP_Multiply },// VK_MULTIPLY
    145         /* 0x06b */ { kKeyKP_Add },             // VK_ADD
    146         /* 0x06c */ { kKeyKP_Separator },// VK_SEPARATOR
    147         /* 0x06d */ { kKeyKP_Subtract },// VK_SUBTRACT
    148         /* 0x06e */ { kKeyKP_Decimal }, // VK_DECIMAL
    149         /* 0x06f */ { kKeyNone },               // VK_DIVIDE
    150         /* 0x070 */ { kKeyF1 },                 // VK_F1
    151         /* 0x071 */ { kKeyF2 },                 // VK_F2
    152         /* 0x072 */ { kKeyF3 },                 // VK_F3
    153         /* 0x073 */ { kKeyF4 },                 // VK_F4
    154         /* 0x074 */ { kKeyF5 },                 // VK_F5
    155         /* 0x075 */ { kKeyF6 },                 // VK_F6
    156         /* 0x076 */ { kKeyF7 },                 // VK_F7
    157         /* 0x077 */ { kKeyF8 },                 // VK_F8
    158         /* 0x078 */ { kKeyF9 },                 // VK_F9
    159         /* 0x079 */ { kKeyF10 },                // VK_F10
    160         /* 0x07a */ { kKeyF11 },                // VK_F11
    161         /* 0x07b */ { kKeyF12 },                // VK_F12
    162         /* 0x07c */ { kKeyF13 },                // VK_F13
    163         /* 0x07d */ { kKeyF14 },                // VK_F14
    164         /* 0x07e */ { kKeyF15 },                // VK_F15
    165         /* 0x07f */ { kKeyF16 },                // VK_F16
    166         /* 0x080 */ { kKeyF17 },                // VK_F17
    167         /* 0x081 */ { kKeyF18 },                // VK_F18
    168         /* 0x082 */ { kKeyF19 },                // VK_F19
    169         /* 0x083 */ { kKeyF20 },                // VK_F20
    170         /* 0x084 */ { kKeyF21 },                // VK_F21
    171         /* 0x085 */ { kKeyF22 },                // VK_F22
    172         /* 0x086 */ { kKeyF23 },                // VK_F23
    173         /* 0x087 */ { kKeyF24 },                // VK_F24
    174         /* 0x088 */ { kKeyNone },               // unassigned
    175         /* 0x089 */ { kKeyNone },               // unassigned
    176         /* 0x08a */ { kKeyNone },               // unassigned
    177         /* 0x08b */ { kKeyNone },               // unassigned
    178         /* 0x08c */ { kKeyNone },               // unassigned
    179         /* 0x08d */ { kKeyNone },               // unassigned
    180         /* 0x08e */ { kKeyNone },               // unassigned
    181         /* 0x08f */ { kKeyNone },               // unassigned
    182         /* 0x090 */ { kKeyNumLock },    // VK_NUMLOCK
    183         /* 0x091 */ { kKeyScrollLock }, // VK_SCROLL
    184         /* 0x092 */ { kKeyNone },               // unassigned
    185         /* 0x093 */ { kKeyNone },               // unassigned
    186         /* 0x094 */ { kKeyNone },               // unassigned
    187         /* 0x095 */ { kKeyNone },               // unassigned
    188         /* 0x096 */ { kKeyNone },               // unassigned
    189         /* 0x097 */ { kKeyNone },               // unassigned
    190         /* 0x098 */ { kKeyNone },               // unassigned
    191         /* 0x099 */ { kKeyNone },               // unassigned
    192         /* 0x09a */ { kKeyNone },               // unassigned
    193         /* 0x09b */ { kKeyNone },               // unassigned
    194         /* 0x09c */ { kKeyNone },               // unassigned
    195         /* 0x09d */ { kKeyNone },               // unassigned
    196         /* 0x09e */ { kKeyNone },               // unassigned
    197         /* 0x09f */ { kKeyNone },               // unassigned
    198         /* 0x0a0 */ { kKeyShift_L },    // VK_LSHIFT
    199         /* 0x0a1 */ { kKeyShift_R },    // VK_RSHIFT
    200         /* 0x0a2 */ { kKeyControl_L },  // VK_LCONTROL
    201         /* 0x0a3 */ { kKeyControl_R },  // VK_RCONTROL
    202         /* 0x0a4 */ { kKeyAlt_L },              // VK_LMENU
    203         /* 0x0a5 */ { kKeyAlt_R },              // VK_RMENU
    204         /* 0x0a6 */ { kKeyNone },               // VK_BROWSER_BACK
    205         /* 0x0a7 */ { kKeyNone },               // VK_BROWSER_FORWARD
    206         /* 0x0a8 */ { kKeyNone },               // VK_BROWSER_REFRESH
    207         /* 0x0a9 */ { kKeyNone },               // VK_BROWSER_STOP
    208         /* 0x0aa */ { kKeyNone },               // VK_BROWSER_SEARCH
    209         /* 0x0ab */ { kKeyNone },               // VK_BROWSER_FAVORITES
    210         /* 0x0ac */ { kKeyNone },               // VK_BROWSER_HOME
    211         /* 0x0ad */ { kKeyNone },               // VK_VOLUME_MUTE
    212         /* 0x0ae */ { kKeyNone },               // VK_VOLUME_DOWN
    213         /* 0x0af */ { kKeyNone },               // VK_VOLUME_UP
    214         /* 0x0b0 */ { kKeyNone },               // VK_MEDIA_NEXT_TRACK
    215         /* 0x0b1 */ { kKeyNone },               // VK_MEDIA_PREV_TRACK
    216         /* 0x0b2 */ { kKeyNone },               // VK_MEDIA_STOP
    217         /* 0x0b3 */ { kKeyNone },               // VK_MEDIA_PLAY_PAUSE
    218         /* 0x0b4 */ { kKeyNone },               // VK_LAUNCH_MAIL
    219         /* 0x0b5 */ { kKeyNone },               // VK_LAUNCH_MEDIA_SELECT
    220         /* 0x0b6 */ { kKeyNone },               // VK_LAUNCH_APP1
    221         /* 0x0b7 */ { kKeyNone },               // VK_LAUNCH_APP2
    222         /* 0x0b8 */ { kKeyNone },               // unassigned
    223         /* 0x0b9 */ { kKeyNone },               // unassigned
    224         /* 0x0ba */ { kKeyNone },               // OEM specific
    225         /* 0x0bb */ { kKeyNone },               // OEM specific
    226         /* 0x0bc */ { kKeyNone },               // OEM specific
    227         /* 0x0bd */ { kKeyNone },               // OEM specific
    228         /* 0x0be */ { kKeyNone },               // OEM specific
    229         /* 0x0bf */ { kKeyNone },               // OEM specific
    230         /* 0x0c0 */ { kKeyNone },               // OEM specific
    231         /* 0x0c1 */ { kKeyNone },               // unassigned
    232         /* 0x0c2 */ { kKeyNone },               // unassigned
    233         /* 0x0c3 */ { kKeyNone },               // unassigned
    234         /* 0x0c4 */ { kKeyNone },               // unassigned
    235         /* 0x0c5 */ { kKeyNone },               // unassigned
    236         /* 0x0c6 */ { kKeyNone },               // unassigned
    237         /* 0x0c7 */ { kKeyNone },               // unassigned
    238         /* 0x0c8 */ { kKeyNone },               // unassigned
    239         /* 0x0c9 */ { kKeyNone },               // unassigned
    240         /* 0x0ca */ { kKeyNone },               // unassigned
    241         /* 0x0cb */ { kKeyNone },               // unassigned
    242         /* 0x0cc */ { kKeyNone },               // unassigned
    243         /* 0x0cd */ { kKeyNone },               // unassigned
    244         /* 0x0ce */ { kKeyNone },               // unassigned
    245         /* 0x0cf */ { kKeyNone },               // unassigned
    246         /* 0x0d0 */ { kKeyNone },               // unassigned
    247         /* 0x0d1 */ { kKeyNone },               // unassigned
    248         /* 0x0d2 */ { kKeyNone },               // unassigned
    249         /* 0x0d3 */ { kKeyNone },               // unassigned
    250         /* 0x0d4 */ { kKeyNone },               // unassigned
    251         /* 0x0d5 */ { kKeyNone },               // unassigned
    252         /* 0x0d6 */ { kKeyNone },               // unassigned
    253         /* 0x0d7 */ { kKeyNone },               // unassigned
    254         /* 0x0d8 */ { kKeyNone },               // unassigned
    255         /* 0x0d9 */ { kKeyNone },               // unassigned
    256         /* 0x0da */ { kKeyNone },               // unassigned
    257         /* 0x0db */ { kKeyNone },               // OEM specific
    258         /* 0x0dc */ { kKeyNone },               // OEM specific
    259         /* 0x0dd */ { kKeyNone },               // OEM specific
    260         /* 0x0de */ { kKeyNone },               // OEM specific
    261         /* 0x0df */ { kKeyNone },               // OEM specific
    262         /* 0x0e0 */ { kKeyNone },               // OEM specific
    263         /* 0x0e1 */ { kKeyNone },               // OEM specific
    264         /* 0x0e2 */ { kKeyNone },               // OEM specific
    265         /* 0x0e3 */ { kKeyNone },               // OEM specific
    266         /* 0x0e4 */ { kKeyNone },               // OEM specific
    267         /* 0x0e5 */ { kKeyNone },               // unassigned
    268         /* 0x0e6 */ { kKeyNone },               // OEM specific
    269         /* 0x0e7 */ { kKeyNone },               // unassigned
    270         /* 0x0e8 */ { kKeyNone },               // unassigned
    271         /* 0x0e9 */ { kKeyNone },               // OEM specific
    272         /* 0x0ea */ { kKeyNone },               // OEM specific
    273         /* 0x0eb */ { kKeyNone },               // OEM specific
    274         /* 0x0ec */ { kKeyNone },               // OEM specific
    275         /* 0x0ed */ { kKeyNone },               // OEM specific
    276         /* 0x0ee */ { kKeyNone },               // OEM specific
    277         /* 0x0ef */ { kKeyNone },               // OEM specific
    278         /* 0x0f0 */ { kKeyNone },               // OEM specific
    279         /* 0x0f1 */ { kKeyNone },               // OEM specific
    280         /* 0x0f2 */ { kKeyNone },               // OEM specific
    281         /* 0x0f3 */ { kKeyNone },               // OEM specific
    282         /* 0x0f4 */ { kKeyNone },               // OEM specific
    283         /* 0x0f5 */ { kKeyNone },               // OEM specific
    284         /* 0x0f6 */ { kKeyNone },               // VK_ATTN                     
    285         /* 0x0f7 */ { kKeyNone },               // VK_CRSEL                     
    286         /* 0x0f8 */ { kKeyNone },               // VK_EXSEL                     
    287         /* 0x0f9 */ { kKeyNone },               // VK_EREOF                     
    288         /* 0x0fa */ { kKeyNone },               // VK_PLAY                     
    289         /* 0x0fb */ { kKeyNone },               // VK_ZOOM                     
    290         /* 0x0fc */ { kKeyNone },               // reserved
    291         /* 0x0fd */ { kKeyNone },               // VK_PA1                       
    292         /* 0x0fe */ { kKeyNone },               // VK_OEM_CLEAR         
    293         /* 0x0ff */ { kKeyNone },               // reserved
    294 
    295         /* 0x100 */ { kKeyNone },               // reserved
    296         /* 0x101 */ { kKeyNone },               // VK_LBUTTON
    297         /* 0x102 */ { kKeyNone },               // VK_RBUTTON
    298         /* 0x103 */ { kKeyBreak },              // VK_CANCEL
    299         /* 0x104 */ { kKeyNone },               // VK_MBUTTON
    300         /* 0x105 */ { kKeyNone },               // VK_XBUTTON1
    301         /* 0x106 */ { kKeyNone },               // VK_XBUTTON2
    302         /* 0x107 */ { kKeyNone },               // undefined
    303         /* 0x108 */ { kKeyNone },               // VK_BACK
    304         /* 0x109 */ { kKeyNone },               // VK_TAB
    305         /* 0x10a */ { kKeyNone },               // undefined
    306         /* 0x10b */ { kKeyNone },               // undefined
    307         /* 0x10c */ { kKeyClear },              // VK_CLEAR
    308         /* 0x10d */ { kKeyKP_Enter },   // VK_RETURN
    309         /* 0x10e */ { kKeyNone },               // undefined
    310         /* 0x10f */ { kKeyNone },               // undefined
    311         /* 0x110 */ { kKeyShift_R },    // VK_SHIFT
    312         /* 0x111 */ { kKeyControl_R },  // VK_CONTROL
    313         /* 0x112 */ { kKeyAlt_R },              // VK_MENU
    314         /* 0x113 */ { kKeyNone },               // VK_PAUSE
    315         /* 0x114 */ { kKeyNone },               // VK_CAPITAL
    316         /* 0x115 */ { kKeyNone },               // VK_KANA                     
    317         /* 0x116 */ { kKeyNone },               // VK_HANGUL           
    318         /* 0x117 */ { kKeyNone },               // VK_JUNJA                     
    319         /* 0x118 */ { kKeyNone },               // VK_FINAL                     
    320         /* 0x119 */ { kKeyNone },               // VK_KANJI                     
    321         /* 0x11a */ { kKeyNone },               // undefined
    322         /* 0x11b */ { kKeyNone },               // VK_ESCAPE
    323         /* 0x11c */ { kKeyNone },               // VK_CONVERT           
    324         /* 0x11d */ { kKeyNone },               // VK_NONCONVERT       
    325         /* 0x11e */ { kKeyNone },               // VK_ACCEPT           
    326         /* 0x11f */ { kKeyNone },               // VK_MODECHANGE       
    327         /* 0x120 */ { kKeyNone },               // VK_SPACE
    328         /* 0x121 */ { kKeyPageUp },             // VK_PRIOR
    329         /* 0x122 */ { kKeyPageDown },   // VK_NEXT
    330         /* 0x123 */ { kKeyEnd },                // VK_END
    331         /* 0x124 */ { kKeyHome },               // VK_HOME
    332         /* 0x125 */ { kKeyLeft },               // VK_LEFT
    333         /* 0x126 */ { kKeyUp },                 // VK_UP
    334         /* 0x127 */ { kKeyRight },              // VK_RIGHT
    335         /* 0x128 */ { kKeyDown },               // VK_DOWN
    336         /* 0x129 */ { kKeySelect },             // VK_SELECT
    337         /* 0x12a */ { kKeyNone },               // VK_PRINT
    338         /* 0x12b */ { kKeyExecute },    // VK_EXECUTE
    339         /* 0x12c */ { kKeyPrint },              // VK_SNAPSHOT
    340         /* 0x12d */ { kKeyInsert },             // VK_INSERT
    341         /* 0x12e */ { kKeyDelete },             // VK_DELETE
    342         /* 0x12f */ { kKeyHelp },               // VK_HELP
    343         /* 0x130 */ { kKeyNone },               // VK_0
    344         /* 0x131 */ { kKeyNone },               // VK_1
    345         /* 0x132 */ { kKeyNone },               // VK_2
    346         /* 0x133 */ { kKeyNone },               // VK_3
    347         /* 0x134 */ { kKeyNone },               // VK_4
    348         /* 0x135 */ { kKeyNone },               // VK_5
    349         /* 0x136 */ { kKeyNone },               // VK_6
    350         /* 0x137 */ { kKeyNone },               // VK_7
    351         /* 0x138 */ { kKeyNone },               // VK_8
    352         /* 0x139 */ { kKeyNone },               // VK_9
    353         /* 0x13a */ { kKeyNone },               // undefined
    354         /* 0x13b */ { kKeyNone },               // undefined
    355         /* 0x13c */ { kKeyNone },               // undefined
    356         /* 0x13d */ { kKeyNone },               // undefined
    357         /* 0x13e */ { kKeyNone },               // undefined
    358         /* 0x13f */ { kKeyNone },               // undefined
    359         /* 0x140 */ { kKeyNone },               // undefined
    360         /* 0x141 */ { kKeyNone },               // VK_A
    361         /* 0x142 */ { kKeyNone },               // VK_B
    362         /* 0x143 */ { kKeyNone },               // VK_C
    363         /* 0x144 */ { kKeyNone },               // VK_D
    364         /* 0x145 */ { kKeyNone },               // VK_E
    365         /* 0x146 */ { kKeyNone },               // VK_F
    366         /* 0x147 */ { kKeyNone },               // VK_G
    367         /* 0x148 */ { kKeyNone },               // VK_H
    368         /* 0x149 */ { kKeyNone },               // VK_I
    369         /* 0x14a */ { kKeyNone },               // VK_J
    370         /* 0x14b */ { kKeyNone },               // VK_K
    371         /* 0x14c */ { kKeyNone },               // VK_L
    372         /* 0x14d */ { kKeyNone },               // VK_M
    373         /* 0x14e */ { kKeyNone },               // VK_N
    374         /* 0x14f */ { kKeyNone },               // VK_O
    375         /* 0x150 */ { kKeyNone },               // VK_P
    376         /* 0x151 */ { kKeyNone },               // VK_Q
    377         /* 0x152 */ { kKeyNone },               // VK_R
    378         /* 0x153 */ { kKeyNone },               // VK_S
    379         /* 0x154 */ { kKeyNone },               // VK_T
    380         /* 0x155 */ { kKeyNone },               // VK_U
    381         /* 0x156 */ { kKeyNone },               // VK_V
    382         /* 0x157 */ { kKeyNone },               // VK_W
    383         /* 0x158 */ { kKeyNone },               // VK_X
    384         /* 0x159 */ { kKeyNone },               // VK_Y
    385         /* 0x15a */ { kKeyNone },               // VK_Z
    386         /* 0x15b */ { kKeySuper_L },    // VK_LWIN
    387         /* 0x15c */ { kKeySuper_R },    // VK_RWIN
    388         /* 0x15d */ { kKeyMenu },               // VK_APPS
    389         /* 0x15e */ { kKeyNone },               // undefined
    390         /* 0x15f */ { kKeyNone },               // VK_SLEEP
    391         /* 0x160 */ { kKeyNone },               // VK_NUMPAD0
    392         /* 0x161 */ { kKeyNone },               // VK_NUMPAD1
    393         /* 0x162 */ { kKeyNone },               // VK_NUMPAD2
    394         /* 0x163 */ { kKeyNone },               // VK_NUMPAD3
    395         /* 0x164 */ { kKeyNone },               // VK_NUMPAD4
    396         /* 0x165 */ { kKeyNone },               // VK_NUMPAD5
    397         /* 0x166 */ { kKeyNone },               // VK_NUMPAD6
    398         /* 0x167 */ { kKeyNone },               // VK_NUMPAD7
    399         /* 0x168 */ { kKeyNone },               // VK_NUMPAD8
    400         /* 0x169 */ { kKeyNone },               // VK_NUMPAD9
    401         /* 0x16a */ { kKeyNone },               // VK_MULTIPLY
    402         /* 0x16b */ { kKeyNone },               // VK_ADD
    403         /* 0x16c */ { kKeyKP_Separator },// VK_SEPARATOR
    404         /* 0x16d */ { kKeyNone },               // VK_SUBTRACT
    405         /* 0x16e */ { kKeyNone },               // VK_DECIMAL
    406         /* 0x16f */ { kKeyKP_Divide },  // VK_DIVIDE
    407         /* 0x170 */ { kKeyNone },               // VK_F1
    408         /* 0x171 */ { kKeyNone },               // VK_F2
    409         /* 0x172 */ { kKeyNone },               // VK_F3
    410         /* 0x173 */ { kKeyNone },               // VK_F4
    411         /* 0x174 */ { kKeyNone },               // VK_F5
    412         /* 0x175 */ { kKeyNone },               // VK_F6
    413         /* 0x176 */ { kKeyNone },               // VK_F7
    414         /* 0x177 */ { kKeyNone },               // VK_F8
    415         /* 0x178 */ { kKeyNone },               // VK_F9
    416         /* 0x179 */ { kKeyNone },               // VK_F10
    417         /* 0x17a */ { kKeyNone },               // VK_F11
    418         /* 0x17b */ { kKeyNone },               // VK_F12
    419         /* 0x17c */ { kKeyF13 },                // VK_F13
    420         /* 0x17d */ { kKeyF14 },                // VK_F14
    421         /* 0x17e */ { kKeyF15 },                // VK_F15
    422         /* 0x17f */ { kKeyF16 },                // VK_F16
    423         /* 0x180 */ { kKeyF17 },                // VK_F17
    424         /* 0x181 */ { kKeyF18 },                // VK_F18
    425         /* 0x182 */ { kKeyF19 },                // VK_F19
    426         /* 0x183 */ { kKeyF20 },                // VK_F20
    427         /* 0x184 */ { kKeyF21 },                // VK_F21
    428         /* 0x185 */ { kKeyF22 },                // VK_F22
    429         /* 0x186 */ { kKeyF23 },                // VK_F23
    430         /* 0x187 */ { kKeyF24 },                // VK_F24
    431         /* 0x188 */ { kKeyNone },               // unassigned
    432         /* 0x189 */ { kKeyNone },               // unassigned
    433         /* 0x18a */ { kKeyNone },               // unassigned
    434         /* 0x18b */ { kKeyNone },               // unassigned
    435         /* 0x18c */ { kKeyNone },               // unassigned
    436         /* 0x18d */ { kKeyNone },               // unassigned
    437         /* 0x18e */ { kKeyNone },               // unassigned
    438         /* 0x18f */ { kKeyNone },               // unassigned
    439         /* 0x190 */ { kKeyNumLock },    // VK_NUMLOCK
    440         /* 0x191 */ { kKeyNone },               // VK_SCROLL
    441         /* 0x192 */ { kKeyNone },               // unassigned
    442         /* 0x193 */ { kKeyNone },               // unassigned
    443         /* 0x194 */ { kKeyNone },               // unassigned
    444         /* 0x195 */ { kKeyNone },               // unassigned
    445         /* 0x196 */ { kKeyNone },               // unassigned
    446         /* 0x197 */ { kKeyNone },               // unassigned
    447         /* 0x198 */ { kKeyNone },               // unassigned
    448         /* 0x199 */ { kKeyNone },               // unassigned
    449         /* 0x19a */ { kKeyNone },               // unassigned
    450         /* 0x19b */ { kKeyNone },               // unassigned
    451         /* 0x19c */ { kKeyNone },               // unassigned
    452         /* 0x19d */ { kKeyNone },               // unassigned
    453         /* 0x19e */ { kKeyNone },               // unassigned
    454         /* 0x19f */ { kKeyNone },               // unassigned
    455         /* 0x1a0 */ { kKeyShift_L },    // VK_LSHIFT
    456         /* 0x1a1 */ { kKeyShift_R },    // VK_RSHIFT
    457         /* 0x1a2 */ { kKeyControl_L },  // VK_LCONTROL
    458         /* 0x1a3 */ { kKeyControl_R },  // VK_RCONTROL
    459         /* 0x1a4 */ { kKeyAlt_L },              // VK_LMENU
    460         /* 0x1a5 */ { kKeyAlt_R },              // VK_RMENU
    461         /* 0x1a6 */ { kKeyWWWBack },    // VK_BROWSER_BACK
    462         /* 0x1a7 */ { kKeyWWWForward }, // VK_BROWSER_FORWARD
    463         /* 0x1a8 */ { kKeyWWWRefresh }, // VK_BROWSER_REFRESH
    464         /* 0x1a9 */ { kKeyWWWStop },    // VK_BROWSER_STOP
    465         /* 0x1aa */ { kKeyWWWSearch },  // VK_BROWSER_SEARCH
    466         /* 0x1ab */ { kKeyWWWFavorites },// VK_BROWSER_FAVORITES
    467         /* 0x1ac */ { kKeyWWWHome },    // VK_BROWSER_HOME
    468         /* 0x1ad */ { kKeyAudioMute },  // VK_VOLUME_MUTE
    469         /* 0x1ae */ { kKeyAudioDown },  // VK_VOLUME_DOWN
    470         /* 0x1af */ { kKeyAudioUp },    // VK_VOLUME_UP
    471         /* 0x1b0 */ { kKeyAudioNext },  // VK_MEDIA_NEXT_TRACK
    472         /* 0x1b1 */ { kKeyAudioPrev },  // VK_MEDIA_PREV_TRACK
    473         /* 0x1b2 */ { kKeyAudioStop },  // VK_MEDIA_STOP
    474         /* 0x1b3 */ { kKeyAudioPlay },  // VK_MEDIA_PLAY_PAUSE
    475         /* 0x1b4 */ { kKeyAppMail },    // VK_LAUNCH_MAIL
    476         /* 0x1b5 */ { kKeyAppMedia },   // VK_LAUNCH_MEDIA_SELECT
    477         /* 0x1b6 */ { kKeyAppUser1 },   // VK_LAUNCH_APP1
    478         /* 0x1b7 */ { kKeyAppUser2 },   // VK_LAUNCH_APP2
    479         /* 0x1b8 */ { kKeyNone },               // unassigned
    480         /* 0x1b9 */ { kKeyNone },               // unassigned
    481         /* 0x1ba */ { kKeyNone },               // OEM specific
    482         /* 0x1bb */ { kKeyNone },               // OEM specific
    483         /* 0x1bc */ { kKeyNone },               // OEM specific
    484         /* 0x1bd */ { kKeyNone },               // OEM specific
    485         /* 0x1be */ { kKeyNone },               // OEM specific
    486         /* 0x1bf */ { kKeyNone },               // OEM specific
    487         /* 0x1c0 */ { kKeyNone },               // OEM specific
    488         /* 0x1c1 */ { kKeyNone },               // unassigned
    489         /* 0x1c2 */ { kKeyNone },               // unassigned
    490         /* 0x1c3 */ { kKeyNone },               // unassigned
    491         /* 0x1c4 */ { kKeyNone },               // unassigned
    492         /* 0x1c5 */ { kKeyNone },               // unassigned
    493         /* 0x1c6 */ { kKeyNone },               // unassigned
    494         /* 0x1c7 */ { kKeyNone },               // unassigned
    495         /* 0x1c8 */ { kKeyNone },               // unassigned
    496         /* 0x1c9 */ { kKeyNone },               // unassigned
    497         /* 0x1ca */ { kKeyNone },               // unassigned
    498         /* 0x1cb */ { kKeyNone },               // unassigned
    499         /* 0x1cc */ { kKeyNone },               // unassigned
    500         /* 0x1cd */ { kKeyNone },               // unassigned
    501         /* 0x1ce */ { kKeyNone },               // unassigned
    502         /* 0x1cf */ { kKeyNone },               // unassigned
    503         /* 0x1d0 */ { kKeyNone },               // unassigned
    504         /* 0x1d1 */ { kKeyNone },               // unassigned
    505         /* 0x1d2 */ { kKeyNone },               // unassigned
    506         /* 0x1d3 */ { kKeyNone },               // unassigned
    507         /* 0x1d4 */ { kKeyNone },               // unassigned
    508         /* 0x1d5 */ { kKeyNone },               // unassigned
    509         /* 0x1d6 */ { kKeyNone },               // unassigned
    510         /* 0x1d7 */ { kKeyNone },               // unassigned
    511         /* 0x1d8 */ { kKeyNone },               // unassigned
    512         /* 0x1d9 */ { kKeyNone },               // unassigned
    513         /* 0x1da */ { kKeyNone },               // unassigned
    514         /* 0x1db */ { kKeyNone },               // OEM specific
    515         /* 0x1dc */ { kKeyNone },               // OEM specific
    516         /* 0x1dd */ { kKeyNone },               // OEM specific
    517         /* 0x1de */ { kKeyNone },               // OEM specific
    518         /* 0x1df */ { kKeyNone },               // OEM specific
    519         /* 0x1e0 */ { kKeyNone },               // OEM specific
    520         /* 0x1e1 */ { kKeyNone },               // OEM specific
    521         /* 0x1e2 */ { kKeyNone },               // OEM specific
    522         /* 0x1e3 */ { kKeyNone },               // OEM specific
    523         /* 0x1e4 */ { kKeyNone },               // OEM specific
    524         /* 0x1e5 */ { kKeyNone },               // unassigned
    525         /* 0x1e6 */ { kKeyNone },               // OEM specific
    526         /* 0x1e7 */ { kKeyNone },               // unassigned
    527         /* 0x1e8 */ { kKeyNone },               // unassigned
    528         /* 0x1e9 */ { kKeyNone },               // OEM specific
    529         /* 0x1ea */ { kKeyNone },               // OEM specific
    530         /* 0x1eb */ { kKeyNone },               // OEM specific
    531         /* 0x1ec */ { kKeyNone },               // OEM specific
    532         /* 0x1ed */ { kKeyNone },               // OEM specific
    533         /* 0x1ee */ { kKeyNone },               // OEM specific
    534         /* 0x1ef */ { kKeyNone },               // OEM specific
    535         /* 0x1f0 */ { kKeyNone },               // OEM specific
    536         /* 0x1f1 */ { kKeyNone },               // OEM specific
    537         /* 0x1f2 */ { kKeyNone },               // OEM specific
    538         /* 0x1f3 */ { kKeyNone },               // OEM specific
    539         /* 0x1f4 */ { kKeyNone },               // OEM specific
    540         /* 0x1f5 */ { kKeyNone },               // OEM specific
    541         /* 0x1f6 */ { kKeyNone },               // VK_ATTN                     
    542         /* 0x1f7 */ { kKeyNone },               // VK_CRSEL                     
    543         /* 0x1f8 */ { kKeyNone },               // VK_EXSEL                     
    544         /* 0x1f9 */ { kKeyNone },               // VK_EREOF                     
    545         /* 0x1fa */ { kKeyNone },               // VK_PLAY                     
    546         /* 0x1fb */ { kKeyNone },               // VK_ZOOM                     
    547         /* 0x1fc */ { kKeyNone },               // reserved
    548         /* 0x1fd */ { kKeyNone },               // VK_PA1                       
    549         /* 0x1fe */ { kKeyNone },               // VK_OEM_CLEAR         
    550         /* 0x1ff */ { kKeyNone }                // reserved
     38        /* 0x000 */ kKeyNone,           // reserved
     39        /* 0x001 */ kKeyNone,           // VK_LBUTTON
     40        /* 0x002 */ kKeyNone,           // VK_RBUTTON
     41        /* 0x003 */ kKeyNone,           // VK_CANCEL
     42        /* 0x004 */ kKeyNone,           // VK_MBUTTON
     43        /* 0x005 */ kKeyNone,           // VK_XBUTTON1
     44        /* 0x006 */ kKeyNone,           // VK_XBUTTON2
     45        /* 0x007 */ kKeyNone,           // undefined
     46        /* 0x008 */ kKeyBackSpace,      // VK_BACK
     47        /* 0x009 */ kKeyTab,            // VK_TAB
     48        /* 0x00a */ kKeyNone,           // undefined
     49        /* 0x00b */ kKeyNone,           // undefined
     50        /* 0x00c */ kKeyClear,          // VK_CLEAR
     51        /* 0x00d */ kKeyReturn,         // VK_RETURN
     52        /* 0x00e */ kKeyNone,           // undefined
     53        /* 0x00f */ kKeyNone,           // undefined
     54        /* 0x010 */ kKeyShift_L,        // VK_SHIFT
     55        /* 0x011 */ kKeyControl_L,      // VK_CONTROL
     56        /* 0x012 */ kKeyAlt_L,          // VK_MENU
     57        /* 0x013 */ kKeyPause,          // VK_PAUSE
     58        /* 0x014 */ kKeyCapsLock,       // VK_CAPITAL
     59        /* 0x015 */ kKeyNone,           // VK_KANA
     60        /* 0x016 */ kKeyNone,           // VK_HANGUL
     61        /* 0x017 */ kKeyNone,           // VK_JUNJA
     62        /* 0x018 */ kKeyNone,           // VK_FINAL
     63        /* 0x019 */ kKeyZenkaku,        // VK_KANJI
     64        /* 0x01a */ kKeyNone,           // undefined
     65        /* 0x01b */ kKeyEscape,         // VK_ESCAPE
     66        /* 0x01c */ kKeyHenkan,         // VK_CONVERT
     67        /* 0x01d */ kKeyNone,           // VK_NONCONVERT
     68        /* 0x01e */ kKeyNone,           // VK_ACCEPT
     69        /* 0x01f */ kKeyNone,           // VK_MODECHANGE
     70        /* 0x020 */ kKeyNone,           // VK_SPACE
     71        /* 0x021 */ kKeyKP_PageUp,      // VK_PRIOR
     72        /* 0x022 */ kKeyKP_PageDown,// VK_NEXT
     73        /* 0x023 */ kKeyKP_End,         // VK_END
     74        /* 0x024 */ kKeyKP_Home,        // VK_HOME
     75        /* 0x025 */ kKeyKP_Left,        // VK_LEFT
     76        /* 0x026 */ kKeyKP_Up,          // VK_UP
     77        /* 0x027 */ kKeyKP_Right,       // VK_RIGHT
     78        /* 0x028 */ kKeyKP_Down,        // VK_DOWN
     79        /* 0x029 */ kKeySelect,         // VK_SELECT
     80        /* 0x02a */ kKeyNone,           // VK_PRINT
     81        /* 0x02b */ kKeyExecute,        // VK_EXECUTE
     82        /* 0x02c */ kKeyPrint,          // VK_SNAPSHOT
     83        /* 0x02d */ kKeyKP_Insert,      // VK_INSERT
     84        /* 0x02e */ kKeyKP_Delete,      // VK_DELETE
     85        /* 0x02f */ kKeyHelp,           // VK_HELP
     86        /* 0x030 */ kKeyNone,           // VK_0
     87        /* 0x031 */ kKeyNone,           // VK_1
     88        /* 0x032 */ kKeyNone,           // VK_2
     89        /* 0x033 */ kKeyNone,           // VK_3
     90        /* 0x034 */ kKeyNone,           // VK_4
     91        /* 0x035 */ kKeyNone,           // VK_5
     92        /* 0x036 */ kKeyNone,           // VK_6
     93        /* 0x037 */ kKeyNone,           // VK_7
     94        /* 0x038 */ kKeyNone,           // VK_8
     95        /* 0x039 */ kKeyNone,           // VK_9
     96        /* 0x03a */ kKeyNone,           // undefined
     97        /* 0x03b */ kKeyNone,           // undefined
     98        /* 0x03c */ kKeyNone,           // undefined
     99        /* 0x03d */ kKeyNone,           // undefined
     100        /* 0x03e */ kKeyNone,           // undefined
     101        /* 0x03f */ kKeyNone,           // undefined
     102        /* 0x040 */ kKeyNone,           // undefined
     103        /* 0x041 */ kKeyNone,           // VK_A
     104        /* 0x042 */ kKeyNone,           // VK_B
     105        /* 0x043 */ kKeyNone,           // VK_C
     106        /* 0x044 */ kKeyNone,           // VK_D
     107        /* 0x045 */ kKeyNone,           // VK_E
     108        /* 0x046 */ kKeyNone,           // VK_F
     109        /* 0x047 */ kKeyNone,           // VK_G
     110        /* 0x048 */ kKeyNone,           // VK_H
     111        /* 0x049 */ kKeyNone,           // VK_I
     112        /* 0x04a */ kKeyNone,           // VK_J
     113        /* 0x04b */ kKeyNone,           // VK_K
     114        /* 0x04c */ kKeyNone,           // VK_L
     115        /* 0x04d */ kKeyNone,           // VK_M
     116        /* 0x04e */ kKeyNone,           // VK_N
     117        /* 0x04f */ kKeyNone,           // VK_O
     118        /* 0x050 */ kKeyNone,           // VK_P
     119        /* 0x051 */ kKeyNone,           // VK_Q
     120        /* 0x052 */ kKeyNone,           // VK_R
     121        /* 0x053 */ kKeyNone,           // VK_S
     122        /* 0x054 */ kKeyNone,           // VK_T
     123        /* 0x055 */ kKeyNone,           // VK_U
     124        /* 0x056 */ kKeyNone,           // VK_V
     125        /* 0x057 */ kKeyNone,           // VK_W
     126        /* 0x058 */ kKeyNone,           // VK_X
     127        /* 0x059 */ kKeyNone,           // VK_Y
     128        /* 0x05a */ kKeyNone,           // VK_Z
     129        /* 0x05b */ kKeySuper_L,        // VK_LWIN
     130        /* 0x05c */ kKeySuper_R,        // VK_RWIN
     131        /* 0x05d */ kKeyMenu,           // VK_APPS
     132        /* 0x05e */ kKeyNone,           // undefined
     133        /* 0x05f */ kKeySleep,          // VK_SLEEP
     134        /* 0x060 */ kKeyKP_0,           // VK_NUMPAD0
     135        /* 0x061 */ kKeyKP_1,           // VK_NUMPAD1
     136        /* 0x062 */ kKeyKP_2,           // VK_NUMPAD2
     137        /* 0x063 */ kKeyKP_3,           // VK_NUMPAD3
     138        /* 0x064 */ kKeyKP_4,           // VK_NUMPAD4
     139        /* 0x065 */ kKeyKP_5,           // VK_NUMPAD5
     140        /* 0x066 */ kKeyKP_6,           // VK_NUMPAD6
     141        /* 0x067 */ kKeyKP_7,           // VK_NUMPAD7
     142        /* 0x068 */ kKeyKP_8,           // VK_NUMPAD8
     143        /* 0x069 */ kKeyKP_9,           // VK_NUMPAD9
     144        /* 0x06a */ kKeyKP_Multiply,// VK_MULTIPLY
     145        /* 0x06b */ kKeyKP_Add,         // VK_ADD
     146        /* 0x06c */ kKeyKP_Separator,// VK_SEPARATOR
     147        /* 0x06d */ kKeyKP_Subtract,// VK_SUBTRACT
     148        /* 0x06e */ kKeyKP_Decimal,     // VK_DECIMAL
     149        /* 0x06f */ kKeyNone,           // VK_DIVIDE
     150        /* 0x070 */ kKeyF1,                     // VK_F1
     151        /* 0x071 */ kKeyF2,                     // VK_F2
     152        /* 0x072 */ kKeyF3,                     // VK_F3
     153        /* 0x073 */ kKeyF4,                     // VK_F4
     154        /* 0x074 */ kKeyF5,                     // VK_F5
     155        /* 0x075 */ kKeyF6,                     // VK_F6
     156        /* 0x076 */ kKeyF7,                     // VK_F7
     157        /* 0x077 */ kKeyF8,                     // VK_F8
     158        /* 0x078 */ kKeyF9,                     // VK_F9
     159        /* 0x079 */ kKeyF10,            // VK_F10
     160        /* 0x07a */ kKeyF11,            // VK_F11
     161        /* 0x07b */ kKeyF12,            // VK_F12
     162        /* 0x07c */ kKeyF13,            // VK_F13
     163        /* 0x07d */ kKeyF14,            // VK_F14
     164        /* 0x07e */ kKeyF15,            // VK_F15
     165        /* 0x07f */ kKeyF16,            // VK_F16
     166        /* 0x080 */ kKeyF17,            // VK_F17
     167        /* 0x081 */ kKeyF18,            // VK_F18
     168        /* 0x082 */ kKeyF19,            // VK_F19
     169        /* 0x083 */ kKeyF20,            // VK_F20
     170        /* 0x084 */ kKeyF21,            // VK_F21
     171        /* 0x085 */ kKeyF22,            // VK_F22
     172        /* 0x086 */ kKeyF23,            // VK_F23
     173        /* 0x087 */ kKeyF24,            // VK_F24
     174        /* 0x088 */ kKeyNone,           // unassigned
     175        /* 0x089 */ kKeyNone,           // unassigned
     176        /* 0x08a */ kKeyNone,           // unassigned
     177        /* 0x08b */ kKeyNone,           // unassigned
     178        /* 0x08c */ kKeyNone,           // unassigned
     179        /* 0x08d */ kKeyNone,           // unassigned
     180        /* 0x08e */ kKeyNone,           // unassigned
     181        /* 0x08f */ kKeyNone,           // unassigned
     182        /* 0x090 */ kKeyNumLock,        // VK_NUMLOCK
     183        /* 0x091 */ kKeyScrollLock,     // VK_SCROLL
     184        /* 0x092 */ kKeyNone,           // unassigned
     185        /* 0x093 */ kKeyNone,           // unassigned
     186        /* 0x094 */ kKeyNone,           // unassigned
     187        /* 0x095 */ kKeyNone,           // unassigned
     188        /* 0x096 */ kKeyNone,           // unassigned
     189        /* 0x097 */ kKeyNone,           // unassigned
     190        /* 0x098 */ kKeyNone,           // unassigned
     191        /* 0x099 */ kKeyNone,           // unassigned
     192        /* 0x09a */ kKeyNone,           // unassigned
     193        /* 0x09b */ kKeyNone,           // unassigned
     194        /* 0x09c */ kKeyNone,           // unassigned
     195        /* 0x09d */ kKeyNone,           // unassigned
     196        /* 0x09e */ kKeyNone,           // unassigned
     197        /* 0x09f */ kKeyNone,           // unassigned
     198        /* 0x0a0 */ kKeyShift_L,        // VK_LSHIFT
     199        /* 0x0a1 */ kKeyShift_R,        // VK_RSHIFT
     200        /* 0x0a2 */ kKeyControl_L,      // VK_LCONTROL
     201        /* 0x0a3 */ kKeyControl_R,      // VK_RCONTROL
     202        /* 0x0a4 */ kKeyAlt_L,          // VK_LMENU
     203        /* 0x0a5 */ kKeyAlt_R,          // VK_RMENU
     204        /* 0x0a6 */ kKeyNone,           // VK_BROWSER_BACK
     205        /* 0x0a7 */ kKeyNone,           // VK_BROWSER_FORWARD
     206        /* 0x0a8 */ kKeyNone,           // VK_BROWSER_REFRESH
     207        /* 0x0a9 */ kKeyNone,           // VK_BROWSER_STOP
     208        /* 0x0aa */ kKeyNone,           // VK_BROWSER_SEARCH
     209        /* 0x0ab */ kKeyNone,           // VK_BROWSER_FAVORITES
     210        /* 0x0ac */ kKeyNone,           // VK_BROWSER_HOME
     211        /* 0x0ad */ kKeyNone,           // VK_VOLUME_MUTE
     212        /* 0x0ae */ kKeyNone,           // VK_VOLUME_DOWN
     213        /* 0x0af */ kKeyNone,           // VK_VOLUME_UP
     214        /* 0x0b0 */ kKeyNone,           // VK_MEDIA_NEXT_TRACK
     215        /* 0x0b1 */ kKeyNone,           // VK_MEDIA_PREV_TRACK
     216        /* 0x0b2 */ kKeyNone,           // VK_MEDIA_STOP
     217        /* 0x0b3 */ kKeyNone,           // VK_MEDIA_PLAY_PAUSE
     218        /* 0x0b4 */ kKeyNone,           // VK_LAUNCH_MAIL
     219        /* 0x0b5 */ kKeyNone,           // VK_LAUNCH_MEDIA_SELECT
     220        /* 0x0b6 */ kKeyNone,           // VK_LAUNCH_APP1
     221        /* 0x0b7 */ kKeyNone,           // VK_LAUNCH_APP2
     222        /* 0x0b8 */ kKeyNone,           // unassigned
     223        /* 0x0b9 */ kKeyNone,           // unassigned
     224        /* 0x0ba */ kKeyNone,           // OEM specific
     225        /* 0x0bb */ kKeyNone,           // OEM specific
     226        /* 0x0bc */ kKeyNone,           // OEM specific
     227        /* 0x0bd */ kKeyNone,           // OEM specific
     228        /* 0x0be */ kKeyNone,           // OEM specific
     229        /* 0x0bf */ kKeyNone,           // OEM specific
     230        /* 0x0c0 */ kKeyNone,           // OEM specific
     231        /* 0x0c1 */ kKeyNone,           // unassigned
     232        /* 0x0c2 */ kKeyNone,           // unassigned
     233        /* 0x0c3 */ kKeyNone,           // unassigned
     234        /* 0x0c4 */ kKeyNone,           // unassigned
     235        /* 0x0c5 */ kKeyNone,           // unassigned
     236        /* 0x0c6 */ kKeyNone,           // unassigned
     237        /* 0x0c7 */ kKeyNone,           // unassigned
     238        /* 0x0c8 */ kKeyNone,           // unassigned
     239        /* 0x0c9 */ kKeyNone,           // unassigned
     240        /* 0x0ca */ kKeyNone,           // unassigned
     241        /* 0x0cb */ kKeyNone,           // unassigned
     242        /* 0x0cc */ kKeyNone,           // unassigned
     243        /* 0x0cd */ kKeyNone,           // unassigned
     244        /* 0x0ce */ kKeyNone,           // unassigned
     245        /* 0x0cf */ kKeyNone,           // unassigned
     246        /* 0x0d0 */ kKeyNone,           // unassigned
     247        /* 0x0d1 */ kKeyNone,           // unassigned
     248        /* 0x0d2 */ kKeyNone,           // unassigned
     249        /* 0x0d3 */ kKeyNone,           // unassigned
     250        /* 0x0d4 */ kKeyNone,           // unassigned
     251        /* 0x0d5 */ kKeyNone,           // unassigned
     252        /* 0x0d6 */ kKeyNone,           // unassigned
     253        /* 0x0d7 */ kKeyNone,           // unassigned
     254        /* 0x0d8 */ kKeyNone,           // unassigned
     255        /* 0x0d9 */ kKeyNone,           // unassigned
     256        /* 0x0da */ kKeyNone,           // unassigned
     257        /* 0x0db */ kKeyNone,           // OEM specific
     258        /* 0x0dc */ kKeyNone,           // OEM specific
     259        /* 0x0dd */ kKeyNone,           // OEM specific
     260        /* 0x0de */ kKeyNone,           // OEM specific
     261        /* 0x0df */ kKeyNone,           // OEM specific
     262        /* 0x0e0 */ kKeyNone,           // OEM specific
     263        /* 0x0e1 */ kKeyNone,           // OEM specific
     264        /* 0x0e2 */ kKeyNone,           // OEM specific
     265        /* 0x0e3 */ kKeyNone,           // OEM specific
     266        /* 0x0e4 */ kKeyNone,           // OEM specific
     267        /* 0x0e5 */ kKeyNone,           // unassigned
     268        /* 0x0e6 */ kKeyNone,           // OEM specific
     269        /* 0x0e7 */ kKeyNone,           // unassigned
     270        /* 0x0e8 */ kKeyNone,           // unassigned
     271        /* 0x0e9 */ kKeyNone,           // OEM specific
     272        /* 0x0ea */ kKeyNone,           // OEM specific
     273        /* 0x0eb */ kKeyNone,           // OEM specific
     274        /* 0x0ec */ kKeyNone,           // OEM specific
     275        /* 0x0ed */ kKeyNone,           // OEM specific
     276        /* 0x0ee */ kKeyNone,           // OEM specific
     277        /* 0x0ef */ kKeyNone,           // OEM specific
     278        /* 0x0f0 */ kKeyNone,           // OEM specific
     279        /* 0x0f1 */ kKeyNone,           // OEM specific
     280        /* 0x0f2 */ kKeyNone,           // OEM specific
     281        /* 0x0f3 */ kKeyNone,           // OEM specific
     282        /* 0x0f4 */ kKeyNone,           // OEM specific
     283        /* 0x0f5 */ kKeyNone,           // OEM specific
     284        /* 0x0f6 */ kKeyNone,           // VK_ATTN
     285        /* 0x0f7 */ kKeyNone,           // VK_CRSEL
     286        /* 0x0f8 */ kKeyNone,           // VK_EXSEL
     287        /* 0x0f9 */ kKeyNone,           // VK_EREOF
     288        /* 0x0fa */ kKeyNone,           // VK_PLAY
     289        /* 0x0fb */ kKeyNone,           // VK_ZOOM
     290        /* 0x0fc */ kKeyNone,           // reserved
     291        /* 0x0fd */ kKeyNone,           // VK_PA1
     292        /* 0x0fe */ kKeyNone,           // VK_OEM_CLEAR
     293        /* 0x0ff */ kKeyNone,           // reserved
     294
     295        /* 0x100 */ kKeyNone,           // reserved
     296        /* 0x101 */ kKeyNone,           // VK_LBUTTON
     297        /* 0x102 */ kKeyNone,           // VK_RBUTTON
     298        /* 0x103 */ kKeyBreak,          // VK_CANCEL
     299        /* 0x104 */ kKeyNone,           // VK_MBUTTON
     300        /* 0x105 */ kKeyNone,           // VK_XBUTTON1
     301        /* 0x106 */ kKeyNone,           // VK_XBUTTON2
     302        /* 0x107 */ kKeyNone,           // undefined
     303        /* 0x108 */ kKeyNone,           // VK_BACK
     304        /* 0x109 */ kKeyNone,           // VK_TAB
     305        /* 0x10a */ kKeyNone,           // undefined
     306        /* 0x10b */ kKeyNone,           // undefined
     307        /* 0x10c */ kKeyClear,          // VK_CLEAR
     308        /* 0x10d */ kKeyKP_Enter,       // VK_RETURN
     309        /* 0x10e */ kKeyNone,           // undefined
     310        /* 0x10f */ kKeyNone,           // undefined
     311        /* 0x110 */ kKeyShift_R,        // VK_SHIFT
     312        /* 0x111 */ kKeyControl_R,      // VK_CONTROL
     313        /* 0x112 */ kKeyAlt_R,          // VK_MENU
     314        /* 0x113 */ kKeyNone,           // VK_PAUSE
     315        /* 0x114 */ kKeyNone,           // VK_CAPITAL
     316        /* 0x115 */ kKeyNone,           // VK_KANA
     317        /* 0x116 */ kKeyNone,           // VK_HANGUL
     318        /* 0x117 */ kKeyNone,           // VK_JUNJA
     319        /* 0x118 */ kKeyNone,           // VK_FINAL
     320        /* 0x119 */ kKeyNone,           // VK_KANJI
     321        /* 0x11a */ kKeyNone,           // undefined
     322        /* 0x11b */ kKeyNone,           // VK_ESCAPE
     323        /* 0x11c */ kKeyNone,           // VK_CONVERT
     324        /* 0x11d */ kKeyNone,           // VK_NONCONVERT
     325        /* 0x11e */ kKeyNone,           // VK_ACCEPT
     326        /* 0x11f */ kKeyNone,           // VK_MODECHANGE
     327        /* 0x120 */ kKeyNone,           // VK_SPACE
     328        /* 0x121 */ kKeyPageUp,         // VK_PRIOR
     329        /* 0x122 */ kKeyPageDown,       // VK_NEXT
     330        /* 0x123 */ kKeyEnd,            // VK_END
     331        /* 0x124 */ kKeyHome,           // VK_HOME
     332        /* 0x125 */ kKeyLeft,           // VK_LEFT
     333        /* 0x126 */ kKeyUp,                     // VK_UP
     334        /* 0x127 */ kKeyRight,          // VK_RIGHT
     335        /* 0x128 */ kKeyDown,           // VK_DOWN
     336        /* 0x129 */ kKeySelect,         // VK_SELECT
     337        /* 0x12a */ kKeyNone,           // VK_PRINT
     338        /* 0x12b */ kKeyExecute,        // VK_EXECUTE
     339        /* 0x12c */ kKeyPrint,          // VK_SNAPSHOT
     340        /* 0x12d */ kKeyInsert,         // VK_INSERT
     341        /* 0x12e */ kKeyDelete,         // VK_DELETE
     342        /* 0x12f */ kKeyHelp,           // VK_HELP
     343        /* 0x130 */ kKeyNone,           // VK_0
     344        /* 0x131 */ kKeyNone,           // VK_1
     345        /* 0x132 */ kKeyNone,           // VK_2
     346        /* 0x133 */ kKeyNone,           // VK_3
     347        /* 0x134 */ kKeyNone,           // VK_4
     348        /* 0x135 */ kKeyNone,           // VK_5
     349        /* 0x136 */ kKeyNone,           // VK_6
     350        /* 0x137 */ kKeyNone,           // VK_7
     351        /* 0x138 */ kKeyNone,           // VK_8
     352        /* 0x139 */ kKeyNone,           // VK_9
     353        /* 0x13a */ kKeyNone,           // undefined
     354        /* 0x13b */ kKeyNone,           // undefined
     355        /* 0x13c */ kKeyNone,           // undefined
     356        /* 0x13d */ kKeyNone,           // undefined
     357        /* 0x13e */ kKeyNone,           // undefined
     358        /* 0x13f */ kKeyNone,           // undefined
     359        /* 0x140 */ kKeyNone,           // undefined
     360        /* 0x141 */ kKeyNone,           // VK_A
     361        /* 0x142 */ kKeyNone,           // VK_B
     362        /* 0x143 */ kKeyNone,           // VK_C
     363        /* 0x144 */ kKeyNone,           // VK_D
     364        /* 0x145 */ kKeyNone,           // VK_E
     365        /* 0x146 */ kKeyNone,           // VK_F
     366        /* 0x147 */ kKeyNone,           // VK_G
     367        /* 0x148 */ kKeyNone,           // VK_H
     368        /* 0x149 */ kKeyNone,           // VK_I
     369        /* 0x14a */ kKeyNone,           // VK_J
     370        /* 0x14b */ kKeyNone,           // VK_K
     371        /* 0x14c */ kKeyNone,           // VK_L
     372        /* 0x14d */ kKeyNone,           // VK_M
     373        /* 0x14e */ kKeyNone,           // VK_N
     374        /* 0x14f */ kKeyNone,           // VK_O
     375        /* 0x150 */ kKeyNone,           // VK_P
     376        /* 0x151 */ kKeyNone,           // VK_Q
     377        /* 0x152 */ kKeyNone,           // VK_R
     378        /* 0x153 */ kKeyNone,           // VK_S
     379        /* 0x154 */ kKeyNone,           // VK_T
     380        /* 0x155 */ kKeyNone,           // VK_U
     381        /* 0x156 */ kKeyNone,           // VK_V
     382        /* 0x157 */ kKeyNone,           // VK_W
     383        /* 0x158 */ kKeyNone,           // VK_X
     384        /* 0x159 */ kKeyNone,           // VK_Y
     385        /* 0x15a */ kKeyNone,           // VK_Z
     386        /* 0x15b */ kKeySuper_L,        // VK_LWIN
     387        /* 0x15c */ kKeySuper_R,        // VK_RWIN
     388        /* 0x15d */ kKeyMenu,           // VK_APPS
     389        /* 0x15e */ kKeyNone,           // undefined
     390        /* 0x15f */ kKeyNone,           // VK_SLEEP
     391        /* 0x160 */ kKeyNone,           // VK_NUMPAD0
     392        /* 0x161 */ kKeyNone,           // VK_NUMPAD1
     393        /* 0x162 */ kKeyNone,           // VK_NUMPAD2
     394        /* 0x163 */ kKeyNone,           // VK_NUMPAD3
     395        /* 0x164 */ kKeyNone,           // VK_NUMPAD4
     396        /* 0x165 */ kKeyNone,           // VK_NUMPAD5
     397        /* 0x166 */ kKeyNone,           // VK_NUMPAD6
     398        /* 0x167 */ kKeyNone,           // VK_NUMPAD7
     399        /* 0x168 */ kKeyNone,           // VK_NUMPAD8
     400        /* 0x169 */ kKeyNone,           // VK_NUMPAD9
     401        /* 0x16a */ kKeyNone,           // VK_MULTIPLY
     402        /* 0x16b */ kKeyNone,           // VK_ADD
     403        /* 0x16c */ kKeyKP_Separator,// VK_SEPARATOR
     404        /* 0x16d */ kKeyNone,           // VK_SUBTRACT
     405        /* 0x16e */ kKeyNone,           // VK_DECIMAL
     406        /* 0x16f */ kKeyKP_Divide,      // VK_DIVIDE
     407        /* 0x170 */ kKeyNone,           // VK_F1
     408        /* 0x171 */ kKeyNone,           // VK_F2
     409        /* 0x172 */ kKeyNone,           // VK_F3
     410        /* 0x173 */ kKeyNone,           // VK_F4
     411        /* 0x174 */ kKeyNone,           // VK_F5
     412        /* 0x175 */ kKeyNone,           // VK_F6
     413        /* 0x176 */ kKeyNone,           // VK_F7
     414        /* 0x177 */ kKeyNone,           // VK_F8
     415        /* 0x178 */ kKeyNone,           // VK_F9
     416        /* 0x179 */ kKeyNone,           // VK_F10
     417        /* 0x17a */ kKeyNone,           // VK_F11
     418        /* 0x17b */ kKeyNone,           // VK_F12
     419        /* 0x17c */ kKeyF13,            // VK_F13
     420        /* 0x17d */ kKeyF14,            // VK_F14
     421        /* 0x17e */ kKeyF15,            // VK_F15
     422        /* 0x17f */ kKeyF16,            // VK_F16
     423        /* 0x180 */ kKeyF17,            // VK_F17
     424        /* 0x181 */ kKeyF18,            // VK_F18
     425        /* 0x182 */ kKeyF19,            // VK_F19
     426        /* 0x183 */ kKeyF20,            // VK_F20
     427        /* 0x184 */ kKeyF21,            // VK_F21
     428        /* 0x185 */ kKeyF22,            // VK_F22
     429        /* 0x186 */ kKeyF23,            // VK_F23
     430        /* 0x187 */ kKeyF24,            // VK_F24
     431        /* 0x188 */ kKeyNone,           // unassigned
     432        /* 0x189 */ kKeyNone,           // unassigned
     433        /* 0x18a */ kKeyNone,           // unassigned
     434        /* 0x18b */ kKeyNone,           // unassigned
     435        /* 0x18c */ kKeyNone,           // unassigned
     436        /* 0x18d */ kKeyNone,           // unassigned
     437        /* 0x18e */ kKeyNone,           // unassigned
     438        /* 0x18f */ kKeyNone,           // unassigned
     439        /* 0x190 */ kKeyNumLock,        // VK_NUMLOCK
     440        /* 0x191 */ kKeyNone,           // VK_SCROLL
     441        /* 0x192 */ kKeyNone,           // unassigned
     442        /* 0x193 */ kKeyNone,           // unassigned
     443        /* 0x194 */ kKeyNone,           // unassigned
     444        /* 0x195 */ kKeyNone,           // unassigned
     445        /* 0x196 */ kKeyNone,           // unassigned
     446        /* 0x197 */ kKeyNone,           // unassigned
     447        /* 0x198 */ kKeyNone,           // unassigned
     448        /* 0x199 */ kKeyNone,           // unassigned
     449        /* 0x19a */ kKeyNone,           // unassigned
     450        /* 0x19b */ kKeyNone,           // unassigned
     451        /* 0x19c */ kKeyNone,           // unassigned
     452        /* 0x19d */ kKeyNone,           // unassigned
     453        /* 0x19e */ kKeyNone,           // unassigned
     454        /* 0x19f */ kKeyNone,           // unassigned
     455        /* 0x1a0 */ kKeyShift_L,        // VK_LSHIFT
     456        /* 0x1a1 */ kKeyShift_R,        // VK_RSHIFT
     457        /* 0x1a2 */ kKeyControl_L,      // VK_LCONTROL
     458        /* 0x1a3 */ kKeyControl_R,      // VK_RCONTROL
     459        /* 0x1a4 */ kKeyAlt_L,          // VK_LMENU
     460        /* 0x1a5 */ kKeyAlt_R,          // VK_RMENU
     461        /* 0x1a6 */ kKeyWWWBack,        // VK_BROWSER_BACK
     462        /* 0x1a7 */ kKeyWWWForward,     // VK_BROWSER_FORWARD
     463        /* 0x1a8 */ kKeyWWWRefresh,     // VK_BROWSER_REFRESH
     464        /* 0x1a9 */ kKeyWWWStop,        // VK_BROWSER_STOP
     465        /* 0x1aa */ kKeyWWWSearch,      // VK_BROWSER_SEARCH
     466        /* 0x1ab */ kKeyWWWFavorites,// VK_BROWSER_FAVORITES
     467        /* 0x1ac */ kKeyWWWHome,        // VK_BROWSER_HOME
     468        /* 0x1ad */ kKeyAudioMute,      // VK_VOLUME_MUTE
     469        /* 0x1ae */ kKeyAudioDown,      // VK_VOLUME_DOWN
     470        /* 0x1af */ kKeyAudioUp,        // VK_VOLUME_UP
     471        /* 0x1b0 */ kKeyAudioNext,      // VK_MEDIA_NEXT_TRACK
     472        /* 0x1b1 */ kKeyAudioPrev,      // VK_MEDIA_PREV_TRACK
     473        /* 0x1b2 */ kKeyAudioStop,      // VK_MEDIA_STOP
     474        /* 0x1b3 */ kKeyAudioPlay,      // VK_MEDIA_PLAY_PAUSE
     475        /* 0x1b4 */ kKeyAppMail,        // VK_LAUNCH_MAIL
     476        /* 0x1b5 */ kKeyAppMedia,       // VK_LAUNCH_MEDIA_SELECT
     477        /* 0x1b6 */ kKeyAppUser1,       // VK_LAUNCH_APP1
     478        /* 0x1b7 */ kKeyAppUser2,       // VK_LAUNCH_APP2
     479        /* 0x1b8 */ kKeyNone,           // unassigned
     480        /* 0x1b9 */ kKeyNone,           // unassigned
     481        /* 0x1ba */ kKeyNone,           // OEM specific
     482        /* 0x1bb */ kKeyNone,           // OEM specific
     483        /* 0x1bc */ kKeyNone,           // OEM specific
     484        /* 0x1bd */ kKeyNone,           // OEM specific
     485        /* 0x1be */ kKeyNone,           // OEM specific
     486        /* 0x1bf */ kKeyNone,           // OEM specific
     487        /* 0x1c0 */ kKeyNone,           // OEM specific
     488        /* 0x1c1 */ kKeyNone,           // unassigned
     489        /* 0x1c2 */ kKeyNone,           // unassigned
     490        /* 0x1c3 */ kKeyNone,           // unassigned
     491        /* 0x1c4 */ kKeyNone,           // unassigned
     492        /* 0x1c5 */ kKeyNone,           // unassigned
     493        /* 0x1c6 */ kKeyNone,           // unassigned
     494        /* 0x1c7 */ kKeyNone,           // unassigned
     495        /* 0x1c8 */ kKeyNone,           // unassigned
     496        /* 0x1c9 */ kKeyNone,           // unassigned
     497        /* 0x1ca */ kKeyNone,           // unassigned
     498        /* 0x1cb */ kKeyNone,           // unassigned
     499        /* 0x1cc */ kKeyNone,           // unassigned
     500        /* 0x1cd */ kKeyNone,           // unassigned
     501        /* 0x1ce */ kKeyNone,           // unassigned
     502        /* 0x1cf */ kKeyNone,           // unassigned
     503        /* 0x1d0 */ kKeyNone,           // unassigned
     504        /* 0x1d1 */ kKeyNone,           // unassigned
     505        /* 0x1d2 */ kKeyNone,           // unassigned
     506        /* 0x1d3 */ kKeyNone,           // unassigned
     507        /* 0x1d4 */ kKeyNone,           // unassigned
     508        /* 0x1d5 */ kKeyNone,           // unassigned
     509        /* 0x1d6 */ kKeyNone,           // unassigned
     510        /* 0x1d7 */ kKeyNone,           // unassigned
     511        /* 0x1d8 */ kKeyNone,           // unassigned
     512        /* 0x1d9 */ kKeyNone,           // unassigned
     513        /* 0x1da */ kKeyNone,           // unassigned
     514        /* 0x1db */ kKeyNone,           // OEM specific
     515        /* 0x1dc */ kKeyNone,           // OEM specific
     516        /* 0x1dd */ kKeyNone,           // OEM specific
     517        /* 0x1de */ kKeyNone,           // OEM specific
     518        /* 0x1df */ kKeyNone,           // OEM specific
     519        /* 0x1e0 */ kKeyNone,           // OEM specific
     520        /* 0x1e1 */ kKeyNone,           // OEM specific
     521        /* 0x1e2 */ kKeyNone,           // OEM specific
     522        /* 0x1e3 */ kKeyNone,           // OEM specific
     523        /* 0x1e4 */ kKeyNone,           // OEM specific
     524        /* 0x1e5 */ kKeyNone,           // unassigned
     525        /* 0x1e6 */ kKeyNone,           // OEM specific
     526        /* 0x1e7 */ kKeyNone,           // unassigned
     527        /* 0x1e8 */ kKeyNone,           // unassigned
     528        /* 0x1e9 */ kKeyNone,           // OEM specific
     529        /* 0x1ea */ kKeyNone,           // OEM specific
     530        /* 0x1eb */ kKeyNone,           // OEM specific
     531        /* 0x1ec */ kKeyNone,           // OEM specific
     532        /* 0x1ed */ kKeyNone,           // OEM specific
     533        /* 0x1ee */ kKeyNone,           // OEM specific
     534        /* 0x1ef */ kKeyNone,           // OEM specific
     535        /* 0x1f0 */ kKeyNone,           // OEM specific
     536        /* 0x1f1 */ kKeyNone,           // OEM specific
     537        /* 0x1f2 */ kKeyNone,           // OEM specific
     538        /* 0x1f3 */ kKeyNone,           // OEM specific
     539        /* 0x1f4 */ kKeyNone,           // OEM specific
     540        /* 0x1f5 */ kKeyNone,           // OEM specific
     541        /* 0x1f6 */ kKeyNone,           // VK_ATTN
     542        /* 0x1f7 */ kKeyNone,           // VK_CRSEL
     543        /* 0x1f8 */ kKeyNone,           // VK_EXSEL
     544        /* 0x1f9 */ kKeyNone,           // VK_EREOF
     545        /* 0x1fa */ kKeyNone,           // VK_PLAY
     546        /* 0x1fb */ kKeyNone,           // VK_ZOOM
     547        /* 0x1fc */ kKeyNone,           // reserved
     548        /* 0x1fd */ kKeyNone,           // VK_PA1
     549        /* 0x1fe */ kKeyNone,           // VK_OEM_CLEAR
     550        /* 0x1ff */ kKeyNone            // reserved
    551551};
    552552
     
    11321132                                                        }
    11331133                                                }
    1134                                                
     1134
    11351135                                                // save each key.  the map will automatically discard
    11361136                                                // duplicates, like an unshift and shifted version of
Note: See TracChangeset for help on using the changeset viewer.