widget/shared/NativeKeyToDOMKeyName.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     2 /* vim: set ts=2 et sw=2 tw=80: */
     3 /* This Source Code Form is subject to the terms of the Mozilla Public
     4  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
     5  * You can obtain one at http://mozilla.org/MPL/2.0/. */
     7 /**
     8  * This header file defines simple key mapping between native keycode value and
     9  * DOM key name index.
    10  * You must define NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX macro before include
    11  * this.
    12  *
    13  * It must have two arguments, (aNativeKey, aKeyNameIndex).
    14  * aNativeKey is a native keycode value.
    15  * aKeyNameIndex is the widget::KeyNameIndex value.
    16  */
    18 // Windows (both Desktop and Metro)
    19 #define KEY_MAP_WIN(aCPPKeyName, aNativeKey)
    20 #define KEY_MAP_WIN_JPN(aCPPKeyName, aNativeKey)
    21 #define KEY_MAP_WIN_KOR(aCPPKeyName, aNativeKey)
    22 #define KEY_MAP_WIN_OTH(aCPPKeyName, aNativeKey)
    23 // OS/2
    24 #define KEY_MAP_OS2(aCPPKeyName, aNativeKey)
    25 // Mac OS X
    26 #define KEY_MAP_COCOA(aCPPKeyName, aNativeKey)
    27 // GTK
    28 #define KEY_MAP_GTK(aCPPKeyName, aNativeKey)
    29 // Qt
    30 #define KEY_MAP_QT(aCPPKeyName, aNativeKey)
    31 // Android and Gonk
    32 #define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey)
    34 #if defined(XP_WIN)
    35 // KEY_MAP_WIN() defines the mapping not depending on keyboard layout.
    36 #undef KEY_MAP_WIN
    37 #define KEY_MAP_WIN(aCPPKeyName, aNativeKey) \
    38   NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
    39 // KEY_MAP_WIN_JPN() defines the mapping which is valid only with Japanese
    40 // keyboard layout.
    41 #undef KEY_MAP_WIN_JPN
    42 #define KEY_MAP_WIN_JPN(aCPPKeyName, aNativeKey) \
    43   NS_JAPANESE_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
    44                                                KEY_NAME_INDEX_##aCPPKeyName)
    45 // KEY_MAP_WIN_KOR() defines the mapping which is valid only with Korean
    46 // keyboard layout.
    47 #undef KEY_MAP_WIN_KOR
    48 #define KEY_MAP_WIN_KOR(aCPPKeyName, aNativeKey) \
    49   NS_KOREAN_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
    50                                              KEY_NAME_INDEX_##aCPPKeyName)
    51 // KEY_MAP_WIN_OTH() defines the mapping which is valid with neither
    52 // Japanese keyboard layout nor Korean keyboard layout.
    53 #undef KEY_MAP_WIN_OTH
    54 #define KEY_MAP_WIN_OTH(aCPPKeyName, aNativeKey) \
    55   NS_OTHER_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
    56                                             KEY_NAME_INDEX_##aCPPKeyName)
    57 #elif defined(XP_MACOSX)
    58 #undef KEY_MAP_COCOA
    59 #define KEY_MAP_COCOA(aCPPKeyName, aNativeKey) \
    60   NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
    61 #elif defined(MOZ_WIDGET_GTK)
    62 #undef KEY_MAP_GTK
    63 #define KEY_MAP_GTK(aCPPKeyName, aNativeKey) \
    64   NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
    65 #elif defined(MOZ_WIDGET_QT)
    66 #undef KEY_MAP_QT
    67 #define KEY_MAP_QT(aCPPKeyName, aNativeKey) \
    68   NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
    69 #elif defined(ANDROID)
    70 #undef KEY_MAP_ANDROID
    71 #define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey) \
    72   NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
    73 #endif
    75 // Attn
    76 KEY_MAP_WIN_OTH (Attn, VK_ATTN) // not valid with Japanese keyboard layout
    77 KEY_MAP_GTK     (Attn, GDK_3270_Attn) // legacy IBM keyboard layout
    79 // Apps
    80 KEY_MAP_ANDROID (Apps, AKEYCODE_APP_SWITCH)
    82 // Crsel
    83 KEY_MAP_WIN     (Crsel, VK_CRSEL)
    84 KEY_MAP_GTK     (Crsel, GDK_3270_CursorSelect) // legacy IBM keyboard layout
    86 // Exsel
    87 KEY_MAP_WIN     (Exsel, VK_EXSEL)
    88 KEY_MAP_GTK     (Exsel, GDK_3270_ExSelect) // legacy IBM keyboard layout
    90 // F1
    91 KEY_MAP_WIN     (F1, VK_F1)
    92 KEY_MAP_COCOA   (F1, kVK_F1)
    93 KEY_MAP_GTK     (F1, GDK_F1)
    94 KEY_MAP_GTK     (F1, GDK_KP_F1)
    95 KEY_MAP_QT      (F1, Qt::Key_F1)
    96 KEY_MAP_ANDROID (F1, AKEYCODE_F1)
    98 // F2
    99 KEY_MAP_WIN     (F2, VK_F2)
   100 KEY_MAP_COCOA   (F2, kVK_F2)
   101 KEY_MAP_GTK     (F2, GDK_F2)
   102 KEY_MAP_GTK     (F2, GDK_KP_F2)
   103 KEY_MAP_QT      (F2, Qt::Key_F2)
   104 KEY_MAP_ANDROID (F2, AKEYCODE_F2)
   106 // F3
   107 KEY_MAP_WIN     (F3, VK_F3)
   108 KEY_MAP_COCOA   (F3, kVK_F3)
   109 KEY_MAP_GTK     (F3, GDK_F3)
   110 KEY_MAP_GTK     (F3, GDK_KP_F3)
   111 KEY_MAP_QT      (F3, Qt::Key_F3)
   112 KEY_MAP_ANDROID (F3, AKEYCODE_F3)
   114 // F4
   115 KEY_MAP_WIN     (F4, VK_F4)
   116 KEY_MAP_COCOA   (F4, kVK_F4)
   117 KEY_MAP_GTK     (F4, GDK_F4)
   118 KEY_MAP_GTK     (F4, GDK_KP_F4)
   119 KEY_MAP_QT      (F4, Qt::Key_F4)
   120 KEY_MAP_ANDROID (F4, AKEYCODE_F4)
   122 // F5
   123 KEY_MAP_WIN     (F5, VK_F5)
   124 KEY_MAP_COCOA   (F5, kVK_F5)
   125 KEY_MAP_GTK     (F5, GDK_F5)
   126 KEY_MAP_QT      (F5, Qt::Key_F5)
   127 KEY_MAP_ANDROID (F5, AKEYCODE_F5)
   129 // F6
   130 KEY_MAP_WIN     (F6, VK_F6)
   131 KEY_MAP_COCOA   (F6, kVK_F6)
   132 KEY_MAP_GTK     (F6, GDK_F6)
   133 KEY_MAP_QT      (F6, Qt::Key_F6)
   134 KEY_MAP_ANDROID (F6, AKEYCODE_F6)
   136 // F7
   137 KEY_MAP_WIN     (F7, VK_F7)
   138 KEY_MAP_COCOA   (F7, kVK_F7)
   139 KEY_MAP_GTK     (F7, GDK_F7)
   140 KEY_MAP_QT      (F7, Qt::Key_F7)
   141 KEY_MAP_ANDROID (F7, AKEYCODE_F7)
   143 // F8
   144 KEY_MAP_WIN     (F8, VK_F8)
   145 KEY_MAP_COCOA   (F8, kVK_F8)
   146 KEY_MAP_GTK     (F8, GDK_F8)
   147 KEY_MAP_QT      (F8, Qt::Key_F8)
   148 KEY_MAP_ANDROID (F8, AKEYCODE_F8)
   150 // F9
   151 KEY_MAP_WIN     (F9, VK_F9)
   152 KEY_MAP_COCOA   (F9, kVK_F9)
   153 KEY_MAP_GTK     (F9, GDK_F9)
   154 KEY_MAP_QT      (F9, Qt::Key_F9)
   155 KEY_MAP_ANDROID (F9, AKEYCODE_F9)
   157 // F10
   158 KEY_MAP_WIN     (F10, VK_F10)
   159 KEY_MAP_COCOA   (F10, kVK_F10)
   160 KEY_MAP_GTK     (F10, GDK_F10)
   161 KEY_MAP_QT      (F10, Qt::Key_F10)
   162 KEY_MAP_ANDROID (F10, AKEYCODE_F10)
   164 // F11
   165 KEY_MAP_WIN     (F11, VK_F11)
   166 KEY_MAP_COCOA   (F11, kVK_F11)
   167 KEY_MAP_GTK     (F11, GDK_F11 /* same as GDK_L1 */)
   168 KEY_MAP_QT      (F11, Qt::Key_F11)
   169 KEY_MAP_ANDROID (F11, AKEYCODE_F11)
   171 // F12
   172 KEY_MAP_WIN     (F12, VK_F12)
   173 KEY_MAP_COCOA   (F12, kVK_F12)
   174 KEY_MAP_GTK     (F12, GDK_F12 /* same as GDK_L2 */)
   175 KEY_MAP_QT      (F12, Qt::Key_F12)
   176 KEY_MAP_ANDROID (F12, AKEYCODE_F12)
   178 // F13
   179 KEY_MAP_WIN     (F13, VK_F13)
   180 KEY_MAP_COCOA   (F13, kVK_F13)
   181 KEY_MAP_GTK     (F13, GDK_F13 /* same as GDK_L3 */)
   182 KEY_MAP_QT      (F13, Qt::Key_F13)
   184 // F14
   185 KEY_MAP_WIN     (F14, VK_F14)
   186 KEY_MAP_COCOA   (F14, kVK_F14)
   187 KEY_MAP_GTK     (F14, GDK_F14 /* same as GDK_L4 */)
   188 KEY_MAP_QT      (F14, Qt::Key_F14)
   190 // F15
   191 KEY_MAP_WIN     (F15, VK_F15)
   192 KEY_MAP_COCOA   (F15, kVK_F15)
   193 KEY_MAP_GTK     (F15, GDK_F15 /* same as GDK_L5 */)
   194 KEY_MAP_QT      (F15, Qt::Key_F15)
   196 // F16
   197 KEY_MAP_WIN     (F16, VK_F16)
   198 KEY_MAP_COCOA   (F16, kVK_F16)
   199 KEY_MAP_GTK     (F16, GDK_F16 /* same as GDK_L6 */)
   200 KEY_MAP_QT      (F16, Qt::Key_F16)
   202 // F17
   203 KEY_MAP_WIN     (F17, VK_F17)
   204 KEY_MAP_COCOA   (F17, kVK_F17)
   205 KEY_MAP_GTK     (F17, GDK_F17 /* same as GDK_L7 */)
   206 KEY_MAP_QT      (F17, Qt::Key_F17)
   208 // F18
   209 KEY_MAP_WIN     (F18, VK_F18)
   210 KEY_MAP_COCOA   (F18, kVK_F18)
   211 KEY_MAP_GTK     (F18, GDK_F18 /* same as GDK_L8 */)
   212 KEY_MAP_QT      (F18, Qt::Key_F18)
   214 // F19
   215 KEY_MAP_WIN     (F19, VK_F19)
   216 KEY_MAP_COCOA   (F19, kVK_F19)
   217 KEY_MAP_GTK     (F19, GDK_F19 /* same as GDK_L9 */)
   218 KEY_MAP_QT      (F19, Qt::Key_F19)
   220 // F20
   221 KEY_MAP_WIN     (F20, VK_F20)
   222 KEY_MAP_GTK     (F20, GDK_F20 /* same as GDK_L10 */)
   223 KEY_MAP_QT      (F20, Qt::Key_F20)
   225 // F21
   226 KEY_MAP_WIN     (F21, VK_F21)
   227 KEY_MAP_GTK     (F21, GDK_F21 /* same as GDK_R1 */)
   228 KEY_MAP_QT      (F21, Qt::Key_F21)
   230 // F22
   231 KEY_MAP_WIN     (F22, VK_F22)
   232 KEY_MAP_GTK     (F22, GDK_F22 /* same as GDK_R2 */)
   233 KEY_MAP_QT      (F22, Qt::Key_F22)
   235 // F23
   236 KEY_MAP_WIN     (F23, VK_F23)
   237 KEY_MAP_GTK     (F23, GDK_F23 /* same as GDK_R3 */)
   238 KEY_MAP_QT      (F23, Qt::Key_F23)
   240 // F24
   241 KEY_MAP_WIN     (F24, VK_F24)
   242 KEY_MAP_GTK     (F24, GDK_F24 /* same as GDK_R4 */)
   243 KEY_MAP_QT      (F24, Qt::Key_F24)
   245 // F25
   246 KEY_MAP_GTK     (F25, GDK_F25 /* same as GDK_R5 */)
   247 KEY_MAP_QT      (F25, Qt::Key_F25)
   249 // F26
   250 KEY_MAP_GTK     (F26, GDK_F26 /* same as GDK_R6 */)
   251 KEY_MAP_QT      (F26, Qt::Key_F26)
   253 // F27
   254 KEY_MAP_GTK     (F27, GDK_F27 /* same as GDK_R7 */)
   255 KEY_MAP_QT      (F27, Qt::Key_F27)
   257 // F28
   258 KEY_MAP_GTK     (F28, GDK_F28 /* same as GDK_R8 */)
   259 KEY_MAP_QT      (F28, Qt::Key_F28)
   261 // F29
   262 KEY_MAP_GTK     (F29, GDK_F29 /* same as GDK_R9 */)
   263 KEY_MAP_QT      (F29, Qt::Key_F29)
   265 // F30
   266 KEY_MAP_GTK     (F30, GDK_F30 /* same as GDK_R10 */)
   267 KEY_MAP_QT      (F30, Qt::Key_F30)
   269 // F31
   270 KEY_MAP_GTK     (F31, GDK_F31 /* same as GDK_R11 */)
   271 KEY_MAP_QT      (F31, Qt::Key_F31)
   273 // F32
   274 KEY_MAP_GTK     (F32, GDK_F32 /* same as GDK_R12 */)
   275 KEY_MAP_QT      (F32, Qt::Key_F32)
   277 // F33
   278 KEY_MAP_GTK     (F33, GDK_F33 /* same as GDK_R13 */)
   279 KEY_MAP_QT      (F33, Qt::Key_F33)
   281 // F34
   282 KEY_MAP_GTK     (F34, GDK_F34 /* same as GDK_R14 */)
   283 KEY_MAP_QT      (F34, Qt::Key_F34)
   285 // F35
   286 KEY_MAP_GTK     (F35, GDK_F35 /* same as GDK_R15 */)
   287 KEY_MAP_QT      (F35, Qt::Key_F35)
   289 // LaunchApplication1
   290 KEY_MAP_WIN     (LaunchApplication1, VK_LAUNCH_APP1)
   291 KEY_MAP_GTK     (LaunchApplication1, GDK_Launch0)
   292 KEY_MAP_QT      (LaunchApplication1, Qt::Key_Launch0)
   293 KEY_MAP_ANDROID (LaunchApplication1, AKEYCODE_EXPLORER)
   295 // LaunchApplication2
   296 KEY_MAP_WIN     (LaunchApplication2, VK_LAUNCH_APP2)
   297 KEY_MAP_GTK     (LaunchApplication2, GDK_Launch1)
   298 KEY_MAP_QT      (LaunchApplication2, Qt::Key_Launch1)
   300 // LaunchApplication3
   301 KEY_MAP_GTK     (LaunchApplication3, GDK_Launch2)
   302 KEY_MAP_QT      (LaunchApplication3, Qt::Key_Launch2)
   304 // LaunchApplication4
   305 KEY_MAP_GTK     (LaunchApplication4, GDK_Launch3)
   306 KEY_MAP_QT      (LaunchApplication4, Qt::Key_Launch3)
   308 // LaunchApplication5
   309 KEY_MAP_GTK     (LaunchApplication5, GDK_Launch4)
   310 KEY_MAP_QT      (LaunchApplication5, Qt::Key_Launch4)
   312 // LaunchApplication6
   313 KEY_MAP_GTK     (LaunchApplication6, GDK_Launch5)
   314 KEY_MAP_QT      (LaunchApplication6, Qt::Key_Launch5)
   316 // LaunchApplication7
   317 KEY_MAP_GTK     (LaunchApplication7, GDK_Launch6)
   318 KEY_MAP_QT      (LaunchApplication7, Qt::Key_Launch6)
   320 // LaunchApplication8
   321 KEY_MAP_GTK     (LaunchApplication8, GDK_Launch7)
   322 KEY_MAP_QT      (LaunchApplication8, Qt::Key_Launch7)
   324 // LaunchApplication9
   325 KEY_MAP_GTK     (LaunchApplication9, GDK_Launch8)
   326 KEY_MAP_QT      (LaunchApplication9, Qt::Key_Launch8)
   328 // LaunchApplication10
   329 KEY_MAP_GTK     (LaunchApplication10, GDK_Launch9)
   330 KEY_MAP_QT      (LaunchApplication10, Qt::Key_Launch9)
   332 // LaunchApplication11
   333 KEY_MAP_GTK     (LaunchApplication11, GDK_LaunchA)
   334 KEY_MAP_QT      (LaunchApplication11, Qt::Key_LaunchA)
   336 // LaunchApplication12
   337 KEY_MAP_GTK     (LaunchApplication12, GDK_LaunchB)
   338 KEY_MAP_QT      (LaunchApplication12, Qt::Key_LaunchB)
   340 // LaunchApplication13
   341 KEY_MAP_GTK     (LaunchApplication13, GDK_LaunchC)
   342 KEY_MAP_QT      (LaunchApplication13, Qt::Key_LaunchC)
   344 // LaunchApplication14
   345 KEY_MAP_GTK     (LaunchApplication14, GDK_LaunchD)
   346 KEY_MAP_QT      (LaunchApplication14, Qt::Key_LaunchD)
   348 // LaunchApplication15
   349 KEY_MAP_GTK     (LaunchApplication15, GDK_LaunchE)
   350 KEY_MAP_QT      (LaunchApplication15, Qt::Key_LaunchE)
   352 // LaunchApplication16
   353 KEY_MAP_GTK     (LaunchApplication16, GDK_LaunchF)
   354 KEY_MAP_QT      (LaunchApplication16, Qt::Key_LaunchF)
   356 // LaunchApplication17
   357 KEY_MAP_QT      (LaunchApplication17, Qt::Key_LaunchG)
   359 // LaunchApplication18
   360 KEY_MAP_QT      (LaunchApplication18, Qt::Key_LaunchH)
   362 // LaunchMail
   363 KEY_MAP_WIN     (LaunchMail, VK_LAUNCH_MAIL)
   364 KEY_MAP_GTK     (LaunchMail, GDK_Mail)
   365 KEY_MAP_QT      (LaunchMail, Qt::Key_LaunchMail)
   366 KEY_MAP_ANDROID (LaunchMail, AKEYCODE_ENVELOPE)
   368 // List
   370 // Props
   372 // Soft1
   374 // Soft2
   376 // Soft3
   378 // Soft4
   380 // Accept
   381 KEY_MAP_WIN     (Accept, VK_ACCEPT)
   382 KEY_MAP_ANDROID (Accept, AKEYCODE_DPAD_CENTER)
   384 // Again
   386 // Enter
   387 KEY_MAP_WIN     (Enter, VK_RETURN)
   388 KEY_MAP_COCOA   (Enter, kVK_Return)
   389 KEY_MAP_COCOA   (Enter, kVK_ANSI_KeypadEnter)
   390 KEY_MAP_COCOA   (Enter, kVK_Powerbook_KeypadEnter)
   391 KEY_MAP_GTK     (Enter, GDK_Return)
   392 KEY_MAP_GTK     (Enter, GDK_KP_Enter)
   393 KEY_MAP_GTK     (Enter, GDK_ISO_Enter)
   394 KEY_MAP_GTK     (Enter, GDK_3270_Enter)
   395 KEY_MAP_QT      (Enter, Qt::Key_Return)
   396 KEY_MAP_QT      (Enter, Qt::Key_Enter)
   397 KEY_MAP_ANDROID (Enter, AKEYCODE_ENTER)
   398 KEY_MAP_ANDROID (Enter, AKEYCODE_NUMPAD_ENTER)
   400 // Find
   401 KEY_MAP_GTK     (Find, GDK_Find)
   403 // Help
   404 KEY_MAP_WIN     (Help, VK_HELP)
   405 KEY_MAP_COCOA   (Help, kVK_Help)
   406 KEY_MAP_GTK     (Help, GDK_Help)
   407 KEY_MAP_QT      (Help, Qt::Key_Help)
   408 KEY_MAP_ANDROID (Help, AKEYCODE_ASSIST)
   410 // Info
   411 KEY_MAP_ANDROID (Info, AKEYCODE_INFO)
   413 // Menu
   414 KEY_MAP_WIN     (Menu, VK_APPS)
   415 KEY_MAP_COCOA   (Menu, kVK_PC_ContextMenu)
   416 KEY_MAP_GTK     (Menu, GDK_Menu)
   417 KEY_MAP_QT      (Menu, Qt::Key_Menu)
   418 KEY_MAP_ANDROID (Menu, AKEYCODE_MENU)
   420 // Pause
   421 KEY_MAP_WIN     (Pause, VK_PAUSE)
   422 KEY_MAP_GTK     (Pause, GDK_Pause)
   423 // Break is typically mapped to Alt+Pause or Ctrl+Pause on GTK.
   424 KEY_MAP_GTK     (Pause, GDK_Break)
   425 KEY_MAP_QT      (Pause, Qt::Key_Pause)
   426 KEY_MAP_ANDROID (Pause, AKEYCODE_BREAK)
   428 // Play
   429 KEY_MAP_WIN     (Play, VK_PLAY)
   430 KEY_MAP_GTK     (Play, GDK_3270_Play) // legacy IBM keyboard layout
   431 KEY_MAP_QT      (Play, Qt::Key_Play)
   433 // ScrollLock
   434 KEY_MAP_WIN     (ScrollLock, VK_SCROLL)
   435 KEY_MAP_GTK     (ScrollLock, GDK_Scroll_Lock)
   436 KEY_MAP_QT      (ScrollLock, Qt::Key_ScrollLock)
   437 KEY_MAP_ANDROID (ScrollLock, AKEYCODE_SCROLL_LOCK)
   439 // Execute
   440 KEY_MAP_WIN     (Execute, VK_EXECUTE)
   441 KEY_MAP_GTK     (Execute, GDK_Execute)
   442 KEY_MAP_QT      (Execute, Qt::Key_Execute)
   444 // Cancel
   445 KEY_MAP_WIN     (Cancel, VK_CANCEL)
   446 KEY_MAP_GTK     (Cancel, GDK_Cancel)
   447 KEY_MAP_QT      (Cancel, Qt::Key_Cancel)
   449 // Esc
   450 KEY_MAP_WIN     (Esc, VK_ESCAPE)
   451 KEY_MAP_COCOA   (Esc, kVK_Escape)
   452 KEY_MAP_GTK     (Esc, GDK_Escape)
   453 KEY_MAP_QT      (Esc, Qt::Key_Escape)
   454 KEY_MAP_ANDROID (Esc, AKEYCODE_ESCAPE)
   456 // Exit
   457 KEY_MAP_ANDROID (Exit, AKEYCODE_HOME)
   459 // Zoom
   460 KEY_MAP_WIN     (Zoom, VK_ZOOM)
   461 KEY_MAP_QT      (Zoom, Qt::Key_Zoom)
   463 // BrightnessDown
   464 KEY_MAP_GTK     (BrightnessDown, GDK_MonBrightnessDown)
   465 KEY_MAP_QT      (BrightnessDown, Qt::Key_MonBrightnessDown)
   467 // BrightnessUp
   468 KEY_MAP_GTK     (BrightnessUp, GDK_MonBrightnessUp)
   469 KEY_MAP_QT      (BrightnessUp, Qt::Key_MonBrightnessUp)
   471 // Camera
   472 KEY_MAP_QT      (Camera, Qt::Key_Camera)
   473 KEY_MAP_ANDROID (Camera, AKEYCODE_CAMERA)
   475 // Eject
   476 KEY_MAP_GTK     (Eject, GDK_Eject)
   477 KEY_MAP_QT      (Eject, Qt::Key_Eject)
   478 KEY_MAP_ANDROID (Eject, AKEYCODE_MEDIA_EJECT)
   480 // Power
   481 KEY_MAP_GTK     (Power, GDK_PowerOff)
   482 KEY_MAP_QT      (Power, Qt::Key_PowerOff)
   483 KEY_MAP_ANDROID (Power, AKEYCODE_POWER)
   485 // PrintScreen
   486 KEY_MAP_WIN     (PrintScreen, VK_SNAPSHOT)
   487 KEY_MAP_GTK     (PrintScreen, GDK_3270_PrintScreen)
   488 KEY_MAP_GTK     (PrintScreen, GDK_Print)
   489 KEY_MAP_GTK     (PrintScreen, GDK_Sys_Req)
   490 KEY_MAP_QT      (PrintScreen, Qt::Key_Print)
   491 KEY_MAP_QT      (PrintScreen, Qt::Key_SysReq)
   492 KEY_MAP_ANDROID (PrintScreen, AKEYCODE_SYSRQ)
   494 // BrowserFavorites
   495 KEY_MAP_WIN     (BrowserFavorites, VK_BROWSER_FAVORITES)
   496 KEY_MAP_QT      (BrowserFavorites, Qt::Key_Favorites)
   497 KEY_MAP_ANDROID (BrowserFavorites, AKEYCODE_BOOKMARK)
   499 // BrowserHome
   500 KEY_MAP_WIN     (BrowserHome, VK_BROWSER_HOME)
   501 KEY_MAP_GTK     (BrowserHome, GDK_HomePage)
   502 KEY_MAP_QT      (BrowserHome, Qt::Key_HomePage)
   504 // BrowserRefresh
   505 KEY_MAP_WIN     (BrowserRefresh, VK_BROWSER_REFRESH)
   506 KEY_MAP_GTK     (BrowserRefresh, GDK_Refresh)
   507 KEY_MAP_GTK     (BrowserRefresh, GDK_Reload)
   508 KEY_MAP_QT      (BrowserRefresh, Qt::Key_Refresh)
   509 KEY_MAP_QT      (BrowserRefresh, Qt::Key_Reload)
   511 // BrowserSearch
   512 KEY_MAP_WIN     (BrowserSearch, VK_BROWSER_SEARCH)
   513 KEY_MAP_GTK     (BrowserSearch, GDK_Search)
   514 KEY_MAP_QT      (BrowserSearch, Qt::Key_Search)
   515 KEY_MAP_ANDROID (BrowserSearch, AKEYCODE_SEARCH)
   517 // BrowserStop
   518 KEY_MAP_WIN     (BrowserStop, VK_BROWSER_STOP)
   519 KEY_MAP_GTK     (BrowserStop, GDK_Stop)
   520 KEY_MAP_QT      (BrowserStop, Qt::Key_Stop)
   522 // BrowserBack
   523 KEY_MAP_WIN     (BrowserBack, VK_BROWSER_BACK)
   524 KEY_MAP_GTK     (BrowserBack, GDK_Back)
   525 KEY_MAP_QT      (BrowserBack, Qt::Key_Back)
   526 KEY_MAP_ANDROID (BrowserBack, AKEYCODE_BACK)
   528 // BrowserForward
   529 KEY_MAP_WIN     (BrowserForward, VK_BROWSER_FORWARD)
   530 KEY_MAP_GTK     (BrowserForward, GDK_Forward)
   531 KEY_MAP_QT      (BrowserForward, Qt::Key_Forward)
   532 KEY_MAP_ANDROID (BrowserForward, AKEYCODE_FORWARD)
   534 // Left
   535 KEY_MAP_WIN     (Left, VK_LEFT)
   536 KEY_MAP_COCOA   (Left, kVK_LeftArrow)
   537 KEY_MAP_GTK     (Left, GDK_Left)
   538 KEY_MAP_GTK     (Left, GDK_KP_Left)
   539 KEY_MAP_QT      (Left, Qt::Key_Left)
   540 KEY_MAP_ANDROID (Left, AKEYCODE_DPAD_LEFT)
   542 // PageDown
   543 KEY_MAP_WIN     (PageDown, VK_NEXT)
   544 KEY_MAP_COCOA   (PageDown, kVK_PageDown)
   545 KEY_MAP_GTK     (PageDown, GDK_Page_Down /* same as GDK_Next */)
   546 KEY_MAP_GTK     (PageDown, GDK_KP_Page_Down /* same as GDK_KP_Next */)
   547 KEY_MAP_QT      (PageDown, Qt::Key_PageDown)
   548 KEY_MAP_ANDROID (PageDown, AKEYCODE_PAGE_DOWN)
   550 // PageUp
   551 KEY_MAP_WIN     (PageUp, VK_PRIOR)
   552 KEY_MAP_COCOA   (PageUp, kVK_PageUp)
   553 KEY_MAP_GTK     (PageUp, GDK_Page_Up /* same as GDK_Prior */)
   554 KEY_MAP_GTK     (PageUp, GDK_KP_Page_Up /* same as GDK_KP_Prior */)
   555 KEY_MAP_QT      (PageUp, Qt::Key_PageUp)
   556 KEY_MAP_ANDROID (PageUp, AKEYCODE_PAGE_UP)
   558 // Right
   559 KEY_MAP_WIN     (Right, VK_RIGHT)
   560 KEY_MAP_COCOA   (Right, kVK_RightArrow)
   561 KEY_MAP_GTK     (Right, GDK_Right)
   562 KEY_MAP_GTK     (Right, GDK_KP_Right)
   563 KEY_MAP_QT      (Right, Qt::Key_Right)
   564 KEY_MAP_ANDROID (Right, AKEYCODE_DPAD_RIGHT)
   566 // Up
   567 KEY_MAP_WIN     (Up, VK_UP)
   568 KEY_MAP_COCOA   (Up, kVK_UpArrow)
   569 KEY_MAP_GTK     (Up, GDK_Up)
   570 KEY_MAP_GTK     (Up, GDK_KP_Up)
   571 KEY_MAP_QT      (Up, Qt::Key_Up)
   572 KEY_MAP_ANDROID (Up, AKEYCODE_DPAD_UP)
   574 // UpLeft
   576 // UpRight
   578 // Down
   579 KEY_MAP_WIN     (Down, VK_DOWN)
   580 KEY_MAP_COCOA   (Down, kVK_DownArrow)
   581 KEY_MAP_GTK     (Down, GDK_Down)
   582 KEY_MAP_GTK     (Down, GDK_KP_Down)
   583 KEY_MAP_QT      (Down, Qt::Key_Down)
   584 KEY_MAP_ANDROID (Down, AKEYCODE_DPAD_DOWN)
   586 // DownLeft
   588 // DownRight
   590 // Home
   591 KEY_MAP_WIN     (Home, VK_HOME)
   592 KEY_MAP_COCOA   (Home, kVK_Home)
   593 KEY_MAP_GTK     (Home, GDK_Home)
   594 KEY_MAP_GTK     (Home, GDK_KP_Home)
   595 KEY_MAP_QT      (Home, Qt::Key_Home)
   596 KEY_MAP_ANDROID (Home, AKEYCODE_MOVE_HOME)
   598 // End
   599 KEY_MAP_WIN     (End, VK_END)
   600 KEY_MAP_COCOA   (End, kVK_End)
   601 KEY_MAP_GTK     (End, GDK_End)
   602 KEY_MAP_GTK     (End, GDK_KP_End)
   603 KEY_MAP_QT      (End, Qt::Key_End)
   604 KEY_MAP_ANDROID (End, AKEYCODE_MOVE_END)
   606 // Select
   607 KEY_MAP_WIN     (Select, VK_SELECT)
   608 KEY_MAP_GTK     (Select, GDK_Select)
   610 // Tab
   611 KEY_MAP_WIN     (Tab, VK_TAB)
   612 KEY_MAP_COCOA   (Tab, kVK_Tab)
   613 KEY_MAP_GTK     (Tab, GDK_Tab)
   614 KEY_MAP_GTK     (Tab, GDK_KP_Tab)
   615 KEY_MAP_QT      (Tab, Qt::Key_Tab)
   616 KEY_MAP_ANDROID (Tab, AKEYCODE_TAB)
   618 // Backspace
   619 KEY_MAP_WIN     (Backspace, VK_BACK)
   620 KEY_MAP_COCOA   (Backspace, kVK_PC_Backspace)
   621 KEY_MAP_GTK     (Backspace, GDK_BackSpace)
   622 KEY_MAP_QT      (Backspace, Qt::Key_Backspace)
   623 KEY_MAP_ANDROID (Backspace, AKEYCODE_DEL)
   625 // Clear
   626 KEY_MAP_WIN     (Clear, VK_CLEAR)
   627 KEY_MAP_WIN     (Clear, VK_OEM_CLEAR)
   628 KEY_MAP_COCOA   (Clear, kVK_ANSI_KeypadClear)
   629 KEY_MAP_GTK     (Clear, GDK_Clear)
   630 KEY_MAP_QT      (Clear, Qt::Key_Clear)
   631 KEY_MAP_ANDROID (Clear, AKEYCODE_CLEAR)
   633 // Copy
   634 KEY_MAP_GTK     (Copy, GDK_Copy)
   635 KEY_MAP_QT      (Copy, Qt::Key_Copy)
   637 // Cut
   638 KEY_MAP_GTK     (Cut, GDK_Cut)
   639 KEY_MAP_QT      (Cut, Qt::Key_Cut)
   641 // Del
   642 KEY_MAP_WIN     (Del, VK_DELETE)
   643 KEY_MAP_COCOA   (Del, kVK_PC_Delete)
   644 KEY_MAP_GTK     (Del, GDK_Delete)
   645 KEY_MAP_GTK     (Del, GDK_KP_Delete)
   646 KEY_MAP_QT      (Del, Qt::Key_Delete)
   647 KEY_MAP_ANDROID (Del, AKEYCODE_FORWARD_DEL)
   649 // EraseEof
   650 KEY_MAP_WIN     (EraseEof, VK_EREOF)
   651 KEY_MAP_GTK     (EraseEof, GDK_3270_EraseEOF) // legacy IBM keyboard layout
   653 // Insert
   654 KEY_MAP_WIN     (Insert, VK_INSERT)
   655 KEY_MAP_GTK     (Insert, GDK_Insert)
   656 KEY_MAP_GTK     (Insert, GDK_KP_Insert)
   657 KEY_MAP_QT      (Insert, Qt::Key_Insert)
   658 KEY_MAP_ANDROID (Insert, AKEYCODE_INSERT)
   660 // Paste
   661 KEY_MAP_GTK     (Paste, GDK_Paste)
   662 KEY_MAP_QT      (Paste, Qt::Key_Paste)
   664 // Undo
   665 KEY_MAP_GTK     (Undo, GDK_Undo)
   667 // DeadGrave
   668 KEY_MAP_GTK     (DeadGrave, GDK_dead_grave)
   669 KEY_MAP_QT      (DeadGrave, Qt::Key_Dead_Grave)
   671 // DeadAcute
   672 KEY_MAP_GTK     (DeadAcute, GDK_dead_acute)
   673 KEY_MAP_QT      (DeadAcute, Qt::Key_Dead_Acute)
   675 // DeadCircumflex
   676 KEY_MAP_GTK     (DeadCircumflex, GDK_dead_circumflex)
   677 KEY_MAP_QT      (DeadCircumflex, Qt::Key_Dead_Circumflex)
   679 // DeadTilde
   680 KEY_MAP_GTK     (DeadTilde, GDK_dead_tilde)
   681 KEY_MAP_QT      (DeadTilde, Qt::Key_Dead_Tilde)
   683 // DeadMacron
   684 KEY_MAP_GTK     (DeadMacron, GDK_dead_macron)
   685 KEY_MAP_QT      (DeadMacron, Qt::Key_Dead_Macron)
   687 // DeadBreve
   688 KEY_MAP_GTK     (DeadBreve, GDK_dead_breve)
   689 KEY_MAP_QT      (DeadBreve, Qt::Key_Dead_Breve)
   691 // DeadAboveDot
   692 KEY_MAP_GTK     (DeadAboveDot, GDK_dead_abovedot)
   693 KEY_MAP_QT      (DeadAboveDot, Qt::Key_Dead_Abovedot)
   695 // DeadUmlaut
   696 KEY_MAP_GTK     (DeadUmlaut, GDK_dead_diaeresis)
   697 KEY_MAP_QT      (DeadUmlaut, Qt::Key_Dead_Diaeresis)
   699 // DeadAboveRing
   700 KEY_MAP_GTK     (DeadAboveRing, GDK_dead_abovering)
   701 KEY_MAP_QT      (DeadAboveRing, Qt::Key_Dead_Abovering)
   703 // DeadDoubleacute
   704 KEY_MAP_GTK     (DeadDoubleacute, GDK_dead_doubleacute)
   705 KEY_MAP_QT      (DeadDoubleacute, Qt::Key_Dead_Doubleacute)
   707 // DeadCaron
   708 KEY_MAP_GTK     (DeadCaron, GDK_dead_caron)
   709 KEY_MAP_QT      (DeadCaron, Qt::Key_Dead_Caron)
   711 // DeadCedilla
   712 KEY_MAP_GTK     (DeadCedilla, GDK_dead_cedilla)
   713 KEY_MAP_QT      (DeadCedilla, Qt::Key_Dead_Cedilla)
   715 // DeadOgonek
   716 KEY_MAP_GTK     (DeadOgonek, GDK_dead_ogonek)
   717 KEY_MAP_QT      (DeadOgonek, Qt::Key_Dead_Ogonek)
   719 // DeadIota
   720 KEY_MAP_GTK     (DeadIota, GDK_dead_iota)
   721 KEY_MAP_QT      (DeadIota, Qt::Key_Dead_Iota)
   723 // DeadVoicedSound
   724 KEY_MAP_GTK     (DeadVoicedSound, GDK_dead_voiced_sound)
   725 KEY_MAP_QT      (DeadVoicedSound, Qt::Key_Dead_Voiced_Sound)
   727 // DeadSemivoicedSound
   728 KEY_MAP_GTK     (DeadSemivoicedSound, GDK_dead_semivoiced_sound)
   729 KEY_MAP_QT      (DeadSemivoicedSound, Qt::Key_Dead_Semivoiced_Sound)
   731 // Alphanumeric
   732 KEY_MAP_WIN_JPN (Alphanumeric, VK_OEM_ATTN)
   733 KEY_MAP_GTK     (Alphanumeric, GDK_Eisu_Shift)
   734 KEY_MAP_GTK     (Alphanumeric, GDK_Eisu_toggle)
   735 KEY_MAP_QT      (Alphanumeric, Qt::Key_Eisu_Shift)
   736 KEY_MAP_QT      (Alphanumeric, Qt::Key_Eisu_toggle)
   738 // Alt
   739 KEY_MAP_WIN     (Alt, VK_MENU)
   740 KEY_MAP_WIN     (Alt, VK_LMENU)
   741 KEY_MAP_WIN     (Alt, VK_RMENU)
   742 KEY_MAP_COCOA   (Alt, kVK_Option)
   743 KEY_MAP_COCOA   (Alt, kVK_RightOption)
   744 KEY_MAP_GTK     (Alt, GDK_Alt_L)
   745 KEY_MAP_GTK     (Alt, GDK_Alt_R)
   746 KEY_MAP_QT      (Alt, Qt::Key_Alt)
   747 KEY_MAP_ANDROID (Alt, AKEYCODE_ALT_LEFT)
   748 KEY_MAP_ANDROID (Alt, AKEYCODE_ALT_RIGHT)
   750 // AltGraph
   751 KEY_MAP_GTK     (AltGraph, GDK_Mode_switch /* same as GDK_kana_switch,
   752                                               GDK_ISO_Group_Shift and
   753                                               GDK_script_switch */)
   754 // Let's treat both Level 3 shift and Level 5 shift as AltGr.
   755 // And also, let's treat Latch key and Lock key as AltGr key too like
   756 // GDK_Shift_Lock.
   757 KEY_MAP_GTK     (AltGraph, GDK_ISO_Level3_Shift)
   758 KEY_MAP_GTK     (AltGraph, GDK_ISO_Level3_Latch)
   759 KEY_MAP_GTK     (AltGraph, GDK_ISO_Level3_Lock)
   760 KEY_MAP_GTK     (AltGraph, GDK_ISO_Level5_Shift)
   761 KEY_MAP_GTK     (AltGraph, GDK_ISO_Level5_Latch)
   762 KEY_MAP_GTK     (AltGraph, GDK_ISO_Level5_Lock)
   763 KEY_MAP_QT      (AltGraph, Qt::Key_AltGr)
   764 KEY_MAP_QT      (AltGraph, Qt::Key_Mode_switch)
   766 // CapsLock
   767 KEY_MAP_WIN     (CapsLock, VK_CAPITAL)
   768 KEY_MAP_COCOA   (CapsLock, kVK_CapsLock)
   769 KEY_MAP_GTK     (CapsLock, GDK_Caps_Lock)
   770 KEY_MAP_QT      (CapsLock, Qt::Key_CapsLock)
   771 KEY_MAP_ANDROID (CapsLock, AKEYCODE_CAPS_LOCK)
   773 // Control
   774 KEY_MAP_WIN     (Control, VK_CONTROL)
   775 KEY_MAP_WIN     (Control, VK_LCONTROL)
   776 KEY_MAP_WIN     (Control, VK_RCONTROL)
   777 KEY_MAP_COCOA   (Control, kVK_Control)
   778 KEY_MAP_COCOA   (Control, kVK_RightControl)
   779 KEY_MAP_GTK     (Control, GDK_Control_L)
   780 KEY_MAP_GTK     (Control, GDK_Control_R)
   781 KEY_MAP_QT      (Control, Qt::Key_Control)
   782 KEY_MAP_ANDROID (Control, AKEYCODE_CTRL_LEFT)
   783 KEY_MAP_ANDROID (Control, AKEYCODE_CTRL_RIGHT)
   785 // Fn
   786 KEY_MAP_COCOA   (Fn, kVK_Function)
   787 KEY_MAP_ANDROID (Fn, AKEYCODE_FUNCTION)
   789 // FnLock
   791 // Meta
   792 KEY_MAP_COCOA   (Meta, kVK_Command)
   793 KEY_MAP_COCOA   (Meta, kVK_RightCommand)
   794 KEY_MAP_GTK     (Meta, GDK_Meta_L)
   795 KEY_MAP_GTK     (Meta, GDK_Meta_R)
   796 KEY_MAP_QT      (Meta, Qt::Key_Meta)
   797 KEY_MAP_ANDROID (Meta, AKEYCODE_META_LEFT)
   798 KEY_MAP_ANDROID (Meta, AKEYCODE_META_RIGHT)
   800 // Process
   802 // NumLock
   803 KEY_MAP_WIN     (NumLock, VK_NUMLOCK)
   804 KEY_MAP_GTK     (NumLock, GDK_Num_Lock)
   805 KEY_MAP_QT      (NumLock, Qt::Key_NumLock)
   806 KEY_MAP_ANDROID (NumLock, AKEYCODE_NUM_LOCK)
   808 // Shift
   809 KEY_MAP_WIN     (Shift, VK_SHIFT)
   810 KEY_MAP_WIN     (Shift, VK_LSHIFT)
   811 KEY_MAP_WIN     (Shift, VK_RSHIFT)
   812 KEY_MAP_COCOA   (Shift, kVK_Shift)
   813 KEY_MAP_COCOA   (Shift, kVK_RightShift)
   814 KEY_MAP_GTK     (Shift, GDK_Shift_L)
   815 KEY_MAP_GTK     (Shift, GDK_Shift_R)
   816 KEY_MAP_GTK     (Shift, GDK_Shift_Lock) // Let's treat as Shift key (bug 769159)
   817 KEY_MAP_QT      (Shift, Qt::Key_Shift)
   818 KEY_MAP_ANDROID (Shift, AKEYCODE_SHIFT_LEFT)
   819 KEY_MAP_ANDROID (Shift, AKEYCODE_SHIFT_RIGHT)
   821 // SymbolLock
   823 // OS
   824 KEY_MAP_WIN     (OS, VK_LWIN)
   825 KEY_MAP_WIN     (OS, VK_RWIN)
   826 KEY_MAP_GTK     (OS, GDK_Super_L)
   827 KEY_MAP_GTK     (OS, GDK_Super_R)
   828 KEY_MAP_GTK     (OS, GDK_Hyper_L)
   829 KEY_MAP_GTK     (OS, GDK_Hyper_R)
   830 KEY_MAP_QT      (OS, Qt::Key_Super_L)
   831 KEY_MAP_QT      (OS, Qt::Key_Super_R)
   832 KEY_MAP_QT      (OS, Qt::Key_Hyper_L)
   833 KEY_MAP_QT      (OS, Qt::Key_Hyper_R)
   835 // Compose
   836 KEY_MAP_GTK     (Compose, GDK_Multi_key) // "Multi Key" is "Compose key" on X
   837 KEY_MAP_QT      (Compose, Qt::Key_Multi_key)
   839 // AllCandidates
   840 KEY_MAP_GTK     (AllCandidates, GDK_MultipleCandidate) // OADG 109, Zen Koho
   841 KEY_MAP_QT      (AllCandidates, Qt::Key_MultipleCandidate)
   843 // NextCandidate
   845 // PreviousCandidate
   846 KEY_MAP_GTK     (PreviousCandidate, GDK_PreviousCandidate) // OADG 109, Mae Koho
   847 KEY_MAP_QT      (PreviousCandidate, Qt::Key_PreviousCandidate)
   849 // CodeInput
   850 KEY_MAP_GTK     (CodeInput, GDK_Codeinput) // OADG 109, Kanji Bangou
   851 KEY_MAP_QT      (CodeInput, Qt::Key_Codeinput)
   853 // Convert
   854 KEY_MAP_WIN     (Convert, VK_CONVERT)
   855 KEY_MAP_GTK     (Convert, GDK_Henkan)
   856 KEY_MAP_QT      (Convert, Qt::Key_Henkan)
   857 KEY_MAP_ANDROID (Convert, AKEYCODE_HENKAN)
   859 // Nonconvert
   860 KEY_MAP_WIN     (Nonconvert, VK_NONCONVERT)
   861 KEY_MAP_GTK     (Nonconvert, GDK_Muhenkan)
   862 KEY_MAP_QT      (Nonconvert, Qt::Key_Muhenkan)
   863 KEY_MAP_ANDROID (Nonconvert, AKEYCODE_MUHENKAN)
   865 // FinalMode
   866 KEY_MAP_WIN     (FinalMode, VK_FINAL)
   868 // FullWidth
   869 KEY_MAP_WIN_JPN (FullWidth, VK_OEM_ENLW)
   870 KEY_MAP_GTK     (FullWidth, GDK_Zenkaku)
   871 KEY_MAP_QT      (FullWidth, Qt::Key_Zenkaku)
   873 // HalfWidth
   874 KEY_MAP_WIN_JPN (HalfWidth, VK_OEM_AUTO)
   875 KEY_MAP_GTK     (HalfWidth, GDK_Hankaku)
   876 KEY_MAP_QT      (HalfWidth, Qt::Key_Hankaku)
   878 // ModeChange
   879 KEY_MAP_WIN     (ModeChange, VK_MODECHANGE)
   880 KEY_MAP_ANDROID (ModeChange, AKEYCODE_SWITCH_CHARSET)
   882 // RomanCharacters
   883 KEY_MAP_WIN_JPN (RomanCharacters, VK_OEM_BACKTAB)
   884 KEY_MAP_COCOA   (RomanCharacters, kVK_JIS_Eisu)
   885 KEY_MAP_GTK     (RomanCharacters, GDK_Romaji)
   886 KEY_MAP_QT      (RomanCharacters, Qt::Key_Romaji)
   887 // Assuming that EISU key of Android is the Eisu key on Mac keyboard.
   888 KEY_MAP_ANDROID (RomanCharacters, AKEYCODE_EISU)
   890 // HangulMode
   891 KEY_MAP_WIN_KOR (HangulMode, VK_HANGUL /* same as VK_KANA */)
   893 // HanjaMode
   894 KEY_MAP_WIN_KOR (HanjaMode, VK_HANJA /* same as VK_KANJI */)
   896 // JunjaMode
   897 KEY_MAP_WIN     (JunjaMode, VK_JUNJA)
   899 // Hiragana
   900 KEY_MAP_WIN_JPN (Hiragana, VK_OEM_COPY)
   901 KEY_MAP_GTK     (Hiragana, GDK_Hiragana)
   902 KEY_MAP_QT      (Hiragana, Qt::Key_Hiragana)
   904 // KanaMode
   905 // VK_KANA is never used with modern Japanese keyboard, however, IE maps it to
   906 // KanaMode, therefore, we should use same map for it.
   907 KEY_MAP_WIN_JPN (KanaMode, VK_KANA /* same as VK_HANGUL */)
   908 KEY_MAP_WIN_JPN (KanaMode, VK_ATTN)
   909 KEY_MAP_GTK     (KanaMode, GDK_Kana_Lock)
   910 KEY_MAP_GTK     (KanaMode, GDK_Kana_Shift)
   911 KEY_MAP_QT      (KanaMode, Qt::Key_Kana_Lock)
   912 KEY_MAP_QT      (KanaMode, Qt::Key_Kana_Shift)
   914 // KanjiMode
   915 KEY_MAP_WIN_JPN (KanjiMode, VK_KANJI /* same as VK_HANJA */)
   916 KEY_MAP_COCOA   (KanjiMode, kVK_JIS_Kana) // Kana key opens IME
   917 KEY_MAP_GTK     (KanjiMode, GDK_Kanji) // Typically, Alt + Hankaku/Zenkaku key
   918 KEY_MAP_QT      (KanjiMode, Qt::Key_Kanji)
   919 // Assuming that KANA key of Android is the Kana key on Mac keyboard.
   920 KEY_MAP_ANDROID (KanjiMode, AKEYCODE_KANA)
   922 // Katakana
   923 KEY_MAP_WIN_JPN (Katakana, VK_OEM_FINISH)
   924 KEY_MAP_GTK     (Katakana, GDK_Katakana)
   925 KEY_MAP_QT      (Katakana, Qt::Key_Katakana)
   927 // AudioFaderFront
   929 // AudioFaderRear
   931 // AudioBalanceLeft
   933 // AudioBalanceRight
   935 // AudioBassBoostDown
   936 KEY_MAP_QT      (AudioBassBoostDown, Qt::Key_BassDown)
   938 // AudioBassBoostUp
   939 KEY_MAP_QT      (AudioBassBoostUp, Qt::Key_BassUp)
   941 // VolumeMute
   942 KEY_MAP_WIN     (VolumeMute, VK_VOLUME_MUTE)
   943 KEY_MAP_COCOA   (VolumeMute, kVK_Mute)
   944 KEY_MAP_GTK     (VolumeMute, GDK_AudioMute)
   945 KEY_MAP_QT      (VolumeMute, Qt::Key_VolumeMute)
   946 KEY_MAP_ANDROID (VolumeMute, AKEYCODE_VOLUME_MUTE)
   948 // VolumeDown
   949 KEY_MAP_WIN     (VolumeDown, VK_VOLUME_DOWN)
   950 KEY_MAP_COCOA   (VolumeDown, kVK_VolumeDown)
   951 KEY_MAP_GTK     (VolumeDown, GDK_AudioLowerVolume)
   952 KEY_MAP_QT      (VolumeDown, Qt::Key_VolumeDown)
   953 KEY_MAP_ANDROID (VolumeDown, AKEYCODE_VOLUME_DOWN)
   955 // VolumeUp
   956 KEY_MAP_WIN     (VolumeUp, VK_VOLUME_UP)
   957 KEY_MAP_COCOA   (VolumeUp, kVK_VolumeUp)
   958 KEY_MAP_GTK     (VolumeUp, GDK_AudioRaiseVolume)
   959 KEY_MAP_QT      (VolumeUp, Qt::Key_VolumeUp)
   960 KEY_MAP_ANDROID (VolumeUp, AKEYCODE_VOLUME_UP)
   962 // MediaPause
   963 KEY_MAP_GTK     (MediaPause, GDK_AudioPause)
   964 KEY_MAP_QT      (MediaPause, Qt::Key_MediaPause)
   965 KEY_MAP_ANDROID (MediaPause, AKEYCODE_MEDIA_PAUSE)
   967 // MediaPlay
   968 KEY_MAP_GTK     (MediaPlay, GDK_AudioPlay)
   969 KEY_MAP_QT      (MediaPlay, Qt::Key_MediaPlay)
   970 KEY_MAP_ANDROID (MediaPlay, AKEYCODE_MEDIA_PLAY)
   972 // MediaStop
   973 KEY_MAP_WIN     (MediaStop, VK_MEDIA_STOP)
   974 KEY_MAP_GTK     (MediaStop, GDK_AudioStop)
   975 KEY_MAP_QT      (MediaStop, Qt::Key_MediaStop)
   976 KEY_MAP_ANDROID (MediaStop, AKEYCODE_MEDIA_STOP)
   978 // MediaNextTrack
   979 KEY_MAP_WIN     (MediaNextTrack, VK_MEDIA_NEXT_TRACK)
   980 KEY_MAP_GTK     (MediaNextTrack, GDK_AudioNext)
   981 KEY_MAP_QT      (MediaNextTrack, Qt::Key_MediaNext)
   982 KEY_MAP_ANDROID (MediaNextTrack, AKEYCODE_MEDIA_NEXT)
   984 // MediaPreviousTrack
   985 KEY_MAP_WIN     (MediaPreviousTrack, VK_MEDIA_PREV_TRACK)
   986 KEY_MAP_GTK     (MediaPreviousTrack, GDK_AudioPrev)
   987 KEY_MAP_QT      (MediaPreviousTrack, Qt::Key_MediaPrevious)
   988 KEY_MAP_ANDROID (MediaPreviousTrack, AKEYCODE_MEDIA_PREVIOUS)
   990 // MediaPlayPause
   991 KEY_MAP_WIN     (MediaPlayPause, VK_MEDIA_PLAY_PAUSE)
   992 KEY_MAP_QT      (MediaPlayPause, Qt::Key_MediaTogglePlayPause)
   993 KEY_MAP_ANDROID (MediaPlayPause, AKEYCODE_MEDIA_PLAY_PAUSE)
   995 // MediaTrackSkip
   997 // MediaTrackStart
   999 // MediaTrackEnd
  1001 // SelectMedia
  1002 KEY_MAP_WIN     (SelectMedia, VK_LAUNCH_MEDIA_SELECT)
  1004 // Blue
  1005 KEY_MAP_GTK     (Blue, GDK_Blue)
  1006 KEY_MAP_ANDROID (Blue, AKEYCODE_PROG_BLUE)
  1008 // Brown
  1010 // ChannelDown
  1011 KEY_MAP_ANDROID (ChannelDown, AKEYCODE_CHANNEL_DOWN)
  1013 // ChannelUp
  1014 KEY_MAP_ANDROID (ChannelUp, AKEYCODE_CHANNEL_UP)
  1016 // ClearFavorite0
  1018 // ClearFavorite1
  1020 // ClearFavorite2
  1022 // ClearFavorite3
  1024 // Dimmer
  1025 KEY_MAP_GTK     (Dimmer, GDK_BrightnessAdjust)
  1026 KEY_MAP_QT      (Dimmer, Qt::Key_BrightnessAdjust)
  1028 // DisplaySwap
  1030 // FastFwd
  1031 KEY_MAP_QT      (FastFwd, Qt::Key_AudioForward)
  1032 KEY_MAP_ANDROID (FastFwd, AKEYCODE_MEDIA_FAST_FORWARD)
  1034 // Green
  1035 KEY_MAP_GTK     (Green, GDK_Green)
  1036 KEY_MAP_ANDROID (Green, AKEYCODE_PROG_GREEN)
  1038 // Grey
  1040 // Guide
  1041 KEY_MAP_ANDROID (Guide, AKEYCODE_GUIDE)
  1043 // InstantReplay
  1045 // MediaLast
  1046 KEY_MAP_QT      (MediaLast, Qt::Key_MediaLast)
  1048 // Link
  1050 // Live
  1051 KEY_MAP_ANDROID (Live, AKEYCODE_TV)
  1053 // Lock
  1055 // NextDay
  1057 // NextFavoriteChannel
  1059 // OnDemand
  1061 // PinPDown
  1063 // PinPMove
  1065 // PinPToggle
  1066 KEY_MAP_ANDROID (PinPToggle, AKEYCODE_WINDOW)
  1068 // PinPUp
  1070 // PlaySpeedDown
  1072 // PlaySpeedReset
  1074 // PlaySpeedUp
  1076 // PrevDay
  1078 // RandomToggle
  1079 KEY_MAP_GTK     (RandomToggle, GDK_AudioRandomPlay)
  1080 KEY_MAP_QT      (RandomToggle, Qt::Key_AudioRandomPlay)
  1082 // RecallFavorite0
  1084 // RecallFavorite1
  1086 // RecallFavorite2
  1088 // RecallFavorite3
  1090 // MediaRecord
  1091 KEY_MAP_GTK     (MediaRecord, GDK_AudioRecord)
  1092 KEY_MAP_QT      (MediaRecord, Qt::Key_MediaRecord)
  1093 KEY_MAP_ANDROID (MediaRecord, AKEYCODE_MEDIA_RECORD)
  1095 // RecordSpeedNext
  1097 // Red
  1098 KEY_MAP_GTK     (Red, GDK_Red)
  1099 KEY_MAP_ANDROID (Red, AKEYCODE_PROG_RED)
  1101 // MediaRewind
  1102 KEY_MAP_GTK     (MediaRewind, GDK_AudioRewind)
  1103 KEY_MAP_QT      (MediaRewind, Qt::Key_AudioRewind)
  1104 KEY_MAP_ANDROID (MediaRewind, AKEYCODE_MEDIA_REWIND)
  1106 // RfBypass
  1108 // ScanChannelsToggle
  1110 // ScreenModeNext
  1112 // Settings
  1113 KEY_MAP_ANDROID (Settings, AKEYCODE_SETTINGS)
  1115 // SplitScreenToggle
  1117 // StoreFavorite0
  1119 // StoreFavorite1
  1121 // StoreFavorite2
  1123 // StoreFavorite3
  1125 // Subtitle
  1126 KEY_MAP_GTK     (Subtitle, GDK_Subtitle)
  1127 KEY_MAP_QT      (Subtitle, Qt::Key_Subtitle)
  1128 KEY_MAP_ANDROID (Subtitle, AKEYCODE_CAPTIONS)
  1130 // AudioSurroundModeNext
  1132 // Teletext
  1134 // VideoModeNext
  1136 // DisplayWide
  1138 // Wink
  1140 // Yellow
  1141 KEY_MAP_GTK     (Yellow, GDK_Yellow)
  1142 KEY_MAP_ANDROID (Yellow, AKEYCODE_PROG_YELLOW)
  1144 #undef KEY_MAP_WIN
  1145 #undef KEY_MAP_WIN_JPN
  1146 #undef KEY_MAP_WIN_KOR
  1147 #undef KEY_MAP_WIN_OTH
  1148 #undef KEY_MAP_OS2
  1149 #undef KEY_MAP_COCOA
  1150 #undef KEY_MAP_GTK
  1151 #undef KEY_MAP_QT
  1152 #undef KEY_MAP_ANDROID

mercurial