1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/widget/shared/NativeKeyToDOMKeyName.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,1152 @@ 1.4 +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1.5 +/* vim: set ts=2 et sw=2 tw=80: */ 1.6 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.7 + * License, v. 2.0. If a copy of the MPL was not distributed with this file, 1.8 + * You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.9 + 1.10 +/** 1.11 + * This header file defines simple key mapping between native keycode value and 1.12 + * DOM key name index. 1.13 + * You must define NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX macro before include 1.14 + * this. 1.15 + * 1.16 + * It must have two arguments, (aNativeKey, aKeyNameIndex). 1.17 + * aNativeKey is a native keycode value. 1.18 + * aKeyNameIndex is the widget::KeyNameIndex value. 1.19 + */ 1.20 + 1.21 +// Windows (both Desktop and Metro) 1.22 +#define KEY_MAP_WIN(aCPPKeyName, aNativeKey) 1.23 +#define KEY_MAP_WIN_JPN(aCPPKeyName, aNativeKey) 1.24 +#define KEY_MAP_WIN_KOR(aCPPKeyName, aNativeKey) 1.25 +#define KEY_MAP_WIN_OTH(aCPPKeyName, aNativeKey) 1.26 +// OS/2 1.27 +#define KEY_MAP_OS2(aCPPKeyName, aNativeKey) 1.28 +// Mac OS X 1.29 +#define KEY_MAP_COCOA(aCPPKeyName, aNativeKey) 1.30 +// GTK 1.31 +#define KEY_MAP_GTK(aCPPKeyName, aNativeKey) 1.32 +// Qt 1.33 +#define KEY_MAP_QT(aCPPKeyName, aNativeKey) 1.34 +// Android and Gonk 1.35 +#define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey) 1.36 + 1.37 +#if defined(XP_WIN) 1.38 +// KEY_MAP_WIN() defines the mapping not depending on keyboard layout. 1.39 +#undef KEY_MAP_WIN 1.40 +#define KEY_MAP_WIN(aCPPKeyName, aNativeKey) \ 1.41 + NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName) 1.42 +// KEY_MAP_WIN_JPN() defines the mapping which is valid only with Japanese 1.43 +// keyboard layout. 1.44 +#undef KEY_MAP_WIN_JPN 1.45 +#define KEY_MAP_WIN_JPN(aCPPKeyName, aNativeKey) \ 1.46 + NS_JAPANESE_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \ 1.47 + KEY_NAME_INDEX_##aCPPKeyName) 1.48 +// KEY_MAP_WIN_KOR() defines the mapping which is valid only with Korean 1.49 +// keyboard layout. 1.50 +#undef KEY_MAP_WIN_KOR 1.51 +#define KEY_MAP_WIN_KOR(aCPPKeyName, aNativeKey) \ 1.52 + NS_KOREAN_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \ 1.53 + KEY_NAME_INDEX_##aCPPKeyName) 1.54 +// KEY_MAP_WIN_OTH() defines the mapping which is valid with neither 1.55 +// Japanese keyboard layout nor Korean keyboard layout. 1.56 +#undef KEY_MAP_WIN_OTH 1.57 +#define KEY_MAP_WIN_OTH(aCPPKeyName, aNativeKey) \ 1.58 + NS_OTHER_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \ 1.59 + KEY_NAME_INDEX_##aCPPKeyName) 1.60 +#elif defined(XP_MACOSX) 1.61 +#undef KEY_MAP_COCOA 1.62 +#define KEY_MAP_COCOA(aCPPKeyName, aNativeKey) \ 1.63 + NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName) 1.64 +#elif defined(MOZ_WIDGET_GTK) 1.65 +#undef KEY_MAP_GTK 1.66 +#define KEY_MAP_GTK(aCPPKeyName, aNativeKey) \ 1.67 + NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName) 1.68 +#elif defined(MOZ_WIDGET_QT) 1.69 +#undef KEY_MAP_QT 1.70 +#define KEY_MAP_QT(aCPPKeyName, aNativeKey) \ 1.71 + NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName) 1.72 +#elif defined(ANDROID) 1.73 +#undef KEY_MAP_ANDROID 1.74 +#define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey) \ 1.75 + NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName) 1.76 +#endif 1.77 + 1.78 +// Attn 1.79 +KEY_MAP_WIN_OTH (Attn, VK_ATTN) // not valid with Japanese keyboard layout 1.80 +KEY_MAP_GTK (Attn, GDK_3270_Attn) // legacy IBM keyboard layout 1.81 + 1.82 +// Apps 1.83 +KEY_MAP_ANDROID (Apps, AKEYCODE_APP_SWITCH) 1.84 + 1.85 +// Crsel 1.86 +KEY_MAP_WIN (Crsel, VK_CRSEL) 1.87 +KEY_MAP_GTK (Crsel, GDK_3270_CursorSelect) // legacy IBM keyboard layout 1.88 + 1.89 +// Exsel 1.90 +KEY_MAP_WIN (Exsel, VK_EXSEL) 1.91 +KEY_MAP_GTK (Exsel, GDK_3270_ExSelect) // legacy IBM keyboard layout 1.92 + 1.93 +// F1 1.94 +KEY_MAP_WIN (F1, VK_F1) 1.95 +KEY_MAP_COCOA (F1, kVK_F1) 1.96 +KEY_MAP_GTK (F1, GDK_F1) 1.97 +KEY_MAP_GTK (F1, GDK_KP_F1) 1.98 +KEY_MAP_QT (F1, Qt::Key_F1) 1.99 +KEY_MAP_ANDROID (F1, AKEYCODE_F1) 1.100 + 1.101 +// F2 1.102 +KEY_MAP_WIN (F2, VK_F2) 1.103 +KEY_MAP_COCOA (F2, kVK_F2) 1.104 +KEY_MAP_GTK (F2, GDK_F2) 1.105 +KEY_MAP_GTK (F2, GDK_KP_F2) 1.106 +KEY_MAP_QT (F2, Qt::Key_F2) 1.107 +KEY_MAP_ANDROID (F2, AKEYCODE_F2) 1.108 + 1.109 +// F3 1.110 +KEY_MAP_WIN (F3, VK_F3) 1.111 +KEY_MAP_COCOA (F3, kVK_F3) 1.112 +KEY_MAP_GTK (F3, GDK_F3) 1.113 +KEY_MAP_GTK (F3, GDK_KP_F3) 1.114 +KEY_MAP_QT (F3, Qt::Key_F3) 1.115 +KEY_MAP_ANDROID (F3, AKEYCODE_F3) 1.116 + 1.117 +// F4 1.118 +KEY_MAP_WIN (F4, VK_F4) 1.119 +KEY_MAP_COCOA (F4, kVK_F4) 1.120 +KEY_MAP_GTK (F4, GDK_F4) 1.121 +KEY_MAP_GTK (F4, GDK_KP_F4) 1.122 +KEY_MAP_QT (F4, Qt::Key_F4) 1.123 +KEY_MAP_ANDROID (F4, AKEYCODE_F4) 1.124 + 1.125 +// F5 1.126 +KEY_MAP_WIN (F5, VK_F5) 1.127 +KEY_MAP_COCOA (F5, kVK_F5) 1.128 +KEY_MAP_GTK (F5, GDK_F5) 1.129 +KEY_MAP_QT (F5, Qt::Key_F5) 1.130 +KEY_MAP_ANDROID (F5, AKEYCODE_F5) 1.131 + 1.132 +// F6 1.133 +KEY_MAP_WIN (F6, VK_F6) 1.134 +KEY_MAP_COCOA (F6, kVK_F6) 1.135 +KEY_MAP_GTK (F6, GDK_F6) 1.136 +KEY_MAP_QT (F6, Qt::Key_F6) 1.137 +KEY_MAP_ANDROID (F6, AKEYCODE_F6) 1.138 + 1.139 +// F7 1.140 +KEY_MAP_WIN (F7, VK_F7) 1.141 +KEY_MAP_COCOA (F7, kVK_F7) 1.142 +KEY_MAP_GTK (F7, GDK_F7) 1.143 +KEY_MAP_QT (F7, Qt::Key_F7) 1.144 +KEY_MAP_ANDROID (F7, AKEYCODE_F7) 1.145 + 1.146 +// F8 1.147 +KEY_MAP_WIN (F8, VK_F8) 1.148 +KEY_MAP_COCOA (F8, kVK_F8) 1.149 +KEY_MAP_GTK (F8, GDK_F8) 1.150 +KEY_MAP_QT (F8, Qt::Key_F8) 1.151 +KEY_MAP_ANDROID (F8, AKEYCODE_F8) 1.152 + 1.153 +// F9 1.154 +KEY_MAP_WIN (F9, VK_F9) 1.155 +KEY_MAP_COCOA (F9, kVK_F9) 1.156 +KEY_MAP_GTK (F9, GDK_F9) 1.157 +KEY_MAP_QT (F9, Qt::Key_F9) 1.158 +KEY_MAP_ANDROID (F9, AKEYCODE_F9) 1.159 + 1.160 +// F10 1.161 +KEY_MAP_WIN (F10, VK_F10) 1.162 +KEY_MAP_COCOA (F10, kVK_F10) 1.163 +KEY_MAP_GTK (F10, GDK_F10) 1.164 +KEY_MAP_QT (F10, Qt::Key_F10) 1.165 +KEY_MAP_ANDROID (F10, AKEYCODE_F10) 1.166 + 1.167 +// F11 1.168 +KEY_MAP_WIN (F11, VK_F11) 1.169 +KEY_MAP_COCOA (F11, kVK_F11) 1.170 +KEY_MAP_GTK (F11, GDK_F11 /* same as GDK_L1 */) 1.171 +KEY_MAP_QT (F11, Qt::Key_F11) 1.172 +KEY_MAP_ANDROID (F11, AKEYCODE_F11) 1.173 + 1.174 +// F12 1.175 +KEY_MAP_WIN (F12, VK_F12) 1.176 +KEY_MAP_COCOA (F12, kVK_F12) 1.177 +KEY_MAP_GTK (F12, GDK_F12 /* same as GDK_L2 */) 1.178 +KEY_MAP_QT (F12, Qt::Key_F12) 1.179 +KEY_MAP_ANDROID (F12, AKEYCODE_F12) 1.180 + 1.181 +// F13 1.182 +KEY_MAP_WIN (F13, VK_F13) 1.183 +KEY_MAP_COCOA (F13, kVK_F13) 1.184 +KEY_MAP_GTK (F13, GDK_F13 /* same as GDK_L3 */) 1.185 +KEY_MAP_QT (F13, Qt::Key_F13) 1.186 + 1.187 +// F14 1.188 +KEY_MAP_WIN (F14, VK_F14) 1.189 +KEY_MAP_COCOA (F14, kVK_F14) 1.190 +KEY_MAP_GTK (F14, GDK_F14 /* same as GDK_L4 */) 1.191 +KEY_MAP_QT (F14, Qt::Key_F14) 1.192 + 1.193 +// F15 1.194 +KEY_MAP_WIN (F15, VK_F15) 1.195 +KEY_MAP_COCOA (F15, kVK_F15) 1.196 +KEY_MAP_GTK (F15, GDK_F15 /* same as GDK_L5 */) 1.197 +KEY_MAP_QT (F15, Qt::Key_F15) 1.198 + 1.199 +// F16 1.200 +KEY_MAP_WIN (F16, VK_F16) 1.201 +KEY_MAP_COCOA (F16, kVK_F16) 1.202 +KEY_MAP_GTK (F16, GDK_F16 /* same as GDK_L6 */) 1.203 +KEY_MAP_QT (F16, Qt::Key_F16) 1.204 + 1.205 +// F17 1.206 +KEY_MAP_WIN (F17, VK_F17) 1.207 +KEY_MAP_COCOA (F17, kVK_F17) 1.208 +KEY_MAP_GTK (F17, GDK_F17 /* same as GDK_L7 */) 1.209 +KEY_MAP_QT (F17, Qt::Key_F17) 1.210 + 1.211 +// F18 1.212 +KEY_MAP_WIN (F18, VK_F18) 1.213 +KEY_MAP_COCOA (F18, kVK_F18) 1.214 +KEY_MAP_GTK (F18, GDK_F18 /* same as GDK_L8 */) 1.215 +KEY_MAP_QT (F18, Qt::Key_F18) 1.216 + 1.217 +// F19 1.218 +KEY_MAP_WIN (F19, VK_F19) 1.219 +KEY_MAP_COCOA (F19, kVK_F19) 1.220 +KEY_MAP_GTK (F19, GDK_F19 /* same as GDK_L9 */) 1.221 +KEY_MAP_QT (F19, Qt::Key_F19) 1.222 + 1.223 +// F20 1.224 +KEY_MAP_WIN (F20, VK_F20) 1.225 +KEY_MAP_GTK (F20, GDK_F20 /* same as GDK_L10 */) 1.226 +KEY_MAP_QT (F20, Qt::Key_F20) 1.227 + 1.228 +// F21 1.229 +KEY_MAP_WIN (F21, VK_F21) 1.230 +KEY_MAP_GTK (F21, GDK_F21 /* same as GDK_R1 */) 1.231 +KEY_MAP_QT (F21, Qt::Key_F21) 1.232 + 1.233 +// F22 1.234 +KEY_MAP_WIN (F22, VK_F22) 1.235 +KEY_MAP_GTK (F22, GDK_F22 /* same as GDK_R2 */) 1.236 +KEY_MAP_QT (F22, Qt::Key_F22) 1.237 + 1.238 +// F23 1.239 +KEY_MAP_WIN (F23, VK_F23) 1.240 +KEY_MAP_GTK (F23, GDK_F23 /* same as GDK_R3 */) 1.241 +KEY_MAP_QT (F23, Qt::Key_F23) 1.242 + 1.243 +// F24 1.244 +KEY_MAP_WIN (F24, VK_F24) 1.245 +KEY_MAP_GTK (F24, GDK_F24 /* same as GDK_R4 */) 1.246 +KEY_MAP_QT (F24, Qt::Key_F24) 1.247 + 1.248 +// F25 1.249 +KEY_MAP_GTK (F25, GDK_F25 /* same as GDK_R5 */) 1.250 +KEY_MAP_QT (F25, Qt::Key_F25) 1.251 + 1.252 +// F26 1.253 +KEY_MAP_GTK (F26, GDK_F26 /* same as GDK_R6 */) 1.254 +KEY_MAP_QT (F26, Qt::Key_F26) 1.255 + 1.256 +// F27 1.257 +KEY_MAP_GTK (F27, GDK_F27 /* same as GDK_R7 */) 1.258 +KEY_MAP_QT (F27, Qt::Key_F27) 1.259 + 1.260 +// F28 1.261 +KEY_MAP_GTK (F28, GDK_F28 /* same as GDK_R8 */) 1.262 +KEY_MAP_QT (F28, Qt::Key_F28) 1.263 + 1.264 +// F29 1.265 +KEY_MAP_GTK (F29, GDK_F29 /* same as GDK_R9 */) 1.266 +KEY_MAP_QT (F29, Qt::Key_F29) 1.267 + 1.268 +// F30 1.269 +KEY_MAP_GTK (F30, GDK_F30 /* same as GDK_R10 */) 1.270 +KEY_MAP_QT (F30, Qt::Key_F30) 1.271 + 1.272 +// F31 1.273 +KEY_MAP_GTK (F31, GDK_F31 /* same as GDK_R11 */) 1.274 +KEY_MAP_QT (F31, Qt::Key_F31) 1.275 + 1.276 +// F32 1.277 +KEY_MAP_GTK (F32, GDK_F32 /* same as GDK_R12 */) 1.278 +KEY_MAP_QT (F32, Qt::Key_F32) 1.279 + 1.280 +// F33 1.281 +KEY_MAP_GTK (F33, GDK_F33 /* same as GDK_R13 */) 1.282 +KEY_MAP_QT (F33, Qt::Key_F33) 1.283 + 1.284 +// F34 1.285 +KEY_MAP_GTK (F34, GDK_F34 /* same as GDK_R14 */) 1.286 +KEY_MAP_QT (F34, Qt::Key_F34) 1.287 + 1.288 +// F35 1.289 +KEY_MAP_GTK (F35, GDK_F35 /* same as GDK_R15 */) 1.290 +KEY_MAP_QT (F35, Qt::Key_F35) 1.291 + 1.292 +// LaunchApplication1 1.293 +KEY_MAP_WIN (LaunchApplication1, VK_LAUNCH_APP1) 1.294 +KEY_MAP_GTK (LaunchApplication1, GDK_Launch0) 1.295 +KEY_MAP_QT (LaunchApplication1, Qt::Key_Launch0) 1.296 +KEY_MAP_ANDROID (LaunchApplication1, AKEYCODE_EXPLORER) 1.297 + 1.298 +// LaunchApplication2 1.299 +KEY_MAP_WIN (LaunchApplication2, VK_LAUNCH_APP2) 1.300 +KEY_MAP_GTK (LaunchApplication2, GDK_Launch1) 1.301 +KEY_MAP_QT (LaunchApplication2, Qt::Key_Launch1) 1.302 + 1.303 +// LaunchApplication3 1.304 +KEY_MAP_GTK (LaunchApplication3, GDK_Launch2) 1.305 +KEY_MAP_QT (LaunchApplication3, Qt::Key_Launch2) 1.306 + 1.307 +// LaunchApplication4 1.308 +KEY_MAP_GTK (LaunchApplication4, GDK_Launch3) 1.309 +KEY_MAP_QT (LaunchApplication4, Qt::Key_Launch3) 1.310 + 1.311 +// LaunchApplication5 1.312 +KEY_MAP_GTK (LaunchApplication5, GDK_Launch4) 1.313 +KEY_MAP_QT (LaunchApplication5, Qt::Key_Launch4) 1.314 + 1.315 +// LaunchApplication6 1.316 +KEY_MAP_GTK (LaunchApplication6, GDK_Launch5) 1.317 +KEY_MAP_QT (LaunchApplication6, Qt::Key_Launch5) 1.318 + 1.319 +// LaunchApplication7 1.320 +KEY_MAP_GTK (LaunchApplication7, GDK_Launch6) 1.321 +KEY_MAP_QT (LaunchApplication7, Qt::Key_Launch6) 1.322 + 1.323 +// LaunchApplication8 1.324 +KEY_MAP_GTK (LaunchApplication8, GDK_Launch7) 1.325 +KEY_MAP_QT (LaunchApplication8, Qt::Key_Launch7) 1.326 + 1.327 +// LaunchApplication9 1.328 +KEY_MAP_GTK (LaunchApplication9, GDK_Launch8) 1.329 +KEY_MAP_QT (LaunchApplication9, Qt::Key_Launch8) 1.330 + 1.331 +// LaunchApplication10 1.332 +KEY_MAP_GTK (LaunchApplication10, GDK_Launch9) 1.333 +KEY_MAP_QT (LaunchApplication10, Qt::Key_Launch9) 1.334 + 1.335 +// LaunchApplication11 1.336 +KEY_MAP_GTK (LaunchApplication11, GDK_LaunchA) 1.337 +KEY_MAP_QT (LaunchApplication11, Qt::Key_LaunchA) 1.338 + 1.339 +// LaunchApplication12 1.340 +KEY_MAP_GTK (LaunchApplication12, GDK_LaunchB) 1.341 +KEY_MAP_QT (LaunchApplication12, Qt::Key_LaunchB) 1.342 + 1.343 +// LaunchApplication13 1.344 +KEY_MAP_GTK (LaunchApplication13, GDK_LaunchC) 1.345 +KEY_MAP_QT (LaunchApplication13, Qt::Key_LaunchC) 1.346 + 1.347 +// LaunchApplication14 1.348 +KEY_MAP_GTK (LaunchApplication14, GDK_LaunchD) 1.349 +KEY_MAP_QT (LaunchApplication14, Qt::Key_LaunchD) 1.350 + 1.351 +// LaunchApplication15 1.352 +KEY_MAP_GTK (LaunchApplication15, GDK_LaunchE) 1.353 +KEY_MAP_QT (LaunchApplication15, Qt::Key_LaunchE) 1.354 + 1.355 +// LaunchApplication16 1.356 +KEY_MAP_GTK (LaunchApplication16, GDK_LaunchF) 1.357 +KEY_MAP_QT (LaunchApplication16, Qt::Key_LaunchF) 1.358 + 1.359 +// LaunchApplication17 1.360 +KEY_MAP_QT (LaunchApplication17, Qt::Key_LaunchG) 1.361 + 1.362 +// LaunchApplication18 1.363 +KEY_MAP_QT (LaunchApplication18, Qt::Key_LaunchH) 1.364 + 1.365 +// LaunchMail 1.366 +KEY_MAP_WIN (LaunchMail, VK_LAUNCH_MAIL) 1.367 +KEY_MAP_GTK (LaunchMail, GDK_Mail) 1.368 +KEY_MAP_QT (LaunchMail, Qt::Key_LaunchMail) 1.369 +KEY_MAP_ANDROID (LaunchMail, AKEYCODE_ENVELOPE) 1.370 + 1.371 +// List 1.372 + 1.373 +// Props 1.374 + 1.375 +// Soft1 1.376 + 1.377 +// Soft2 1.378 + 1.379 +// Soft3 1.380 + 1.381 +// Soft4 1.382 + 1.383 +// Accept 1.384 +KEY_MAP_WIN (Accept, VK_ACCEPT) 1.385 +KEY_MAP_ANDROID (Accept, AKEYCODE_DPAD_CENTER) 1.386 + 1.387 +// Again 1.388 + 1.389 +// Enter 1.390 +KEY_MAP_WIN (Enter, VK_RETURN) 1.391 +KEY_MAP_COCOA (Enter, kVK_Return) 1.392 +KEY_MAP_COCOA (Enter, kVK_ANSI_KeypadEnter) 1.393 +KEY_MAP_COCOA (Enter, kVK_Powerbook_KeypadEnter) 1.394 +KEY_MAP_GTK (Enter, GDK_Return) 1.395 +KEY_MAP_GTK (Enter, GDK_KP_Enter) 1.396 +KEY_MAP_GTK (Enter, GDK_ISO_Enter) 1.397 +KEY_MAP_GTK (Enter, GDK_3270_Enter) 1.398 +KEY_MAP_QT (Enter, Qt::Key_Return) 1.399 +KEY_MAP_QT (Enter, Qt::Key_Enter) 1.400 +KEY_MAP_ANDROID (Enter, AKEYCODE_ENTER) 1.401 +KEY_MAP_ANDROID (Enter, AKEYCODE_NUMPAD_ENTER) 1.402 + 1.403 +// Find 1.404 +KEY_MAP_GTK (Find, GDK_Find) 1.405 + 1.406 +// Help 1.407 +KEY_MAP_WIN (Help, VK_HELP) 1.408 +KEY_MAP_COCOA (Help, kVK_Help) 1.409 +KEY_MAP_GTK (Help, GDK_Help) 1.410 +KEY_MAP_QT (Help, Qt::Key_Help) 1.411 +KEY_MAP_ANDROID (Help, AKEYCODE_ASSIST) 1.412 + 1.413 +// Info 1.414 +KEY_MAP_ANDROID (Info, AKEYCODE_INFO) 1.415 + 1.416 +// Menu 1.417 +KEY_MAP_WIN (Menu, VK_APPS) 1.418 +KEY_MAP_COCOA (Menu, kVK_PC_ContextMenu) 1.419 +KEY_MAP_GTK (Menu, GDK_Menu) 1.420 +KEY_MAP_QT (Menu, Qt::Key_Menu) 1.421 +KEY_MAP_ANDROID (Menu, AKEYCODE_MENU) 1.422 + 1.423 +// Pause 1.424 +KEY_MAP_WIN (Pause, VK_PAUSE) 1.425 +KEY_MAP_GTK (Pause, GDK_Pause) 1.426 +// Break is typically mapped to Alt+Pause or Ctrl+Pause on GTK. 1.427 +KEY_MAP_GTK (Pause, GDK_Break) 1.428 +KEY_MAP_QT (Pause, Qt::Key_Pause) 1.429 +KEY_MAP_ANDROID (Pause, AKEYCODE_BREAK) 1.430 + 1.431 +// Play 1.432 +KEY_MAP_WIN (Play, VK_PLAY) 1.433 +KEY_MAP_GTK (Play, GDK_3270_Play) // legacy IBM keyboard layout 1.434 +KEY_MAP_QT (Play, Qt::Key_Play) 1.435 + 1.436 +// ScrollLock 1.437 +KEY_MAP_WIN (ScrollLock, VK_SCROLL) 1.438 +KEY_MAP_GTK (ScrollLock, GDK_Scroll_Lock) 1.439 +KEY_MAP_QT (ScrollLock, Qt::Key_ScrollLock) 1.440 +KEY_MAP_ANDROID (ScrollLock, AKEYCODE_SCROLL_LOCK) 1.441 + 1.442 +// Execute 1.443 +KEY_MAP_WIN (Execute, VK_EXECUTE) 1.444 +KEY_MAP_GTK (Execute, GDK_Execute) 1.445 +KEY_MAP_QT (Execute, Qt::Key_Execute) 1.446 + 1.447 +// Cancel 1.448 +KEY_MAP_WIN (Cancel, VK_CANCEL) 1.449 +KEY_MAP_GTK (Cancel, GDK_Cancel) 1.450 +KEY_MAP_QT (Cancel, Qt::Key_Cancel) 1.451 + 1.452 +// Esc 1.453 +KEY_MAP_WIN (Esc, VK_ESCAPE) 1.454 +KEY_MAP_COCOA (Esc, kVK_Escape) 1.455 +KEY_MAP_GTK (Esc, GDK_Escape) 1.456 +KEY_MAP_QT (Esc, Qt::Key_Escape) 1.457 +KEY_MAP_ANDROID (Esc, AKEYCODE_ESCAPE) 1.458 + 1.459 +// Exit 1.460 +KEY_MAP_ANDROID (Exit, AKEYCODE_HOME) 1.461 + 1.462 +// Zoom 1.463 +KEY_MAP_WIN (Zoom, VK_ZOOM) 1.464 +KEY_MAP_QT (Zoom, Qt::Key_Zoom) 1.465 + 1.466 +// BrightnessDown 1.467 +KEY_MAP_GTK (BrightnessDown, GDK_MonBrightnessDown) 1.468 +KEY_MAP_QT (BrightnessDown, Qt::Key_MonBrightnessDown) 1.469 + 1.470 +// BrightnessUp 1.471 +KEY_MAP_GTK (BrightnessUp, GDK_MonBrightnessUp) 1.472 +KEY_MAP_QT (BrightnessUp, Qt::Key_MonBrightnessUp) 1.473 + 1.474 +// Camera 1.475 +KEY_MAP_QT (Camera, Qt::Key_Camera) 1.476 +KEY_MAP_ANDROID (Camera, AKEYCODE_CAMERA) 1.477 + 1.478 +// Eject 1.479 +KEY_MAP_GTK (Eject, GDK_Eject) 1.480 +KEY_MAP_QT (Eject, Qt::Key_Eject) 1.481 +KEY_MAP_ANDROID (Eject, AKEYCODE_MEDIA_EJECT) 1.482 + 1.483 +// Power 1.484 +KEY_MAP_GTK (Power, GDK_PowerOff) 1.485 +KEY_MAP_QT (Power, Qt::Key_PowerOff) 1.486 +KEY_MAP_ANDROID (Power, AKEYCODE_POWER) 1.487 + 1.488 +// PrintScreen 1.489 +KEY_MAP_WIN (PrintScreen, VK_SNAPSHOT) 1.490 +KEY_MAP_GTK (PrintScreen, GDK_3270_PrintScreen) 1.491 +KEY_MAP_GTK (PrintScreen, GDK_Print) 1.492 +KEY_MAP_GTK (PrintScreen, GDK_Sys_Req) 1.493 +KEY_MAP_QT (PrintScreen, Qt::Key_Print) 1.494 +KEY_MAP_QT (PrintScreen, Qt::Key_SysReq) 1.495 +KEY_MAP_ANDROID (PrintScreen, AKEYCODE_SYSRQ) 1.496 + 1.497 +// BrowserFavorites 1.498 +KEY_MAP_WIN (BrowserFavorites, VK_BROWSER_FAVORITES) 1.499 +KEY_MAP_QT (BrowserFavorites, Qt::Key_Favorites) 1.500 +KEY_MAP_ANDROID (BrowserFavorites, AKEYCODE_BOOKMARK) 1.501 + 1.502 +// BrowserHome 1.503 +KEY_MAP_WIN (BrowserHome, VK_BROWSER_HOME) 1.504 +KEY_MAP_GTK (BrowserHome, GDK_HomePage) 1.505 +KEY_MAP_QT (BrowserHome, Qt::Key_HomePage) 1.506 + 1.507 +// BrowserRefresh 1.508 +KEY_MAP_WIN (BrowserRefresh, VK_BROWSER_REFRESH) 1.509 +KEY_MAP_GTK (BrowserRefresh, GDK_Refresh) 1.510 +KEY_MAP_GTK (BrowserRefresh, GDK_Reload) 1.511 +KEY_MAP_QT (BrowserRefresh, Qt::Key_Refresh) 1.512 +KEY_MAP_QT (BrowserRefresh, Qt::Key_Reload) 1.513 + 1.514 +// BrowserSearch 1.515 +KEY_MAP_WIN (BrowserSearch, VK_BROWSER_SEARCH) 1.516 +KEY_MAP_GTK (BrowserSearch, GDK_Search) 1.517 +KEY_MAP_QT (BrowserSearch, Qt::Key_Search) 1.518 +KEY_MAP_ANDROID (BrowserSearch, AKEYCODE_SEARCH) 1.519 + 1.520 +// BrowserStop 1.521 +KEY_MAP_WIN (BrowserStop, VK_BROWSER_STOP) 1.522 +KEY_MAP_GTK (BrowserStop, GDK_Stop) 1.523 +KEY_MAP_QT (BrowserStop, Qt::Key_Stop) 1.524 + 1.525 +// BrowserBack 1.526 +KEY_MAP_WIN (BrowserBack, VK_BROWSER_BACK) 1.527 +KEY_MAP_GTK (BrowserBack, GDK_Back) 1.528 +KEY_MAP_QT (BrowserBack, Qt::Key_Back) 1.529 +KEY_MAP_ANDROID (BrowserBack, AKEYCODE_BACK) 1.530 + 1.531 +// BrowserForward 1.532 +KEY_MAP_WIN (BrowserForward, VK_BROWSER_FORWARD) 1.533 +KEY_MAP_GTK (BrowserForward, GDK_Forward) 1.534 +KEY_MAP_QT (BrowserForward, Qt::Key_Forward) 1.535 +KEY_MAP_ANDROID (BrowserForward, AKEYCODE_FORWARD) 1.536 + 1.537 +// Left 1.538 +KEY_MAP_WIN (Left, VK_LEFT) 1.539 +KEY_MAP_COCOA (Left, kVK_LeftArrow) 1.540 +KEY_MAP_GTK (Left, GDK_Left) 1.541 +KEY_MAP_GTK (Left, GDK_KP_Left) 1.542 +KEY_MAP_QT (Left, Qt::Key_Left) 1.543 +KEY_MAP_ANDROID (Left, AKEYCODE_DPAD_LEFT) 1.544 + 1.545 +// PageDown 1.546 +KEY_MAP_WIN (PageDown, VK_NEXT) 1.547 +KEY_MAP_COCOA (PageDown, kVK_PageDown) 1.548 +KEY_MAP_GTK (PageDown, GDK_Page_Down /* same as GDK_Next */) 1.549 +KEY_MAP_GTK (PageDown, GDK_KP_Page_Down /* same as GDK_KP_Next */) 1.550 +KEY_MAP_QT (PageDown, Qt::Key_PageDown) 1.551 +KEY_MAP_ANDROID (PageDown, AKEYCODE_PAGE_DOWN) 1.552 + 1.553 +// PageUp 1.554 +KEY_MAP_WIN (PageUp, VK_PRIOR) 1.555 +KEY_MAP_COCOA (PageUp, kVK_PageUp) 1.556 +KEY_MAP_GTK (PageUp, GDK_Page_Up /* same as GDK_Prior */) 1.557 +KEY_MAP_GTK (PageUp, GDK_KP_Page_Up /* same as GDK_KP_Prior */) 1.558 +KEY_MAP_QT (PageUp, Qt::Key_PageUp) 1.559 +KEY_MAP_ANDROID (PageUp, AKEYCODE_PAGE_UP) 1.560 + 1.561 +// Right 1.562 +KEY_MAP_WIN (Right, VK_RIGHT) 1.563 +KEY_MAP_COCOA (Right, kVK_RightArrow) 1.564 +KEY_MAP_GTK (Right, GDK_Right) 1.565 +KEY_MAP_GTK (Right, GDK_KP_Right) 1.566 +KEY_MAP_QT (Right, Qt::Key_Right) 1.567 +KEY_MAP_ANDROID (Right, AKEYCODE_DPAD_RIGHT) 1.568 + 1.569 +// Up 1.570 +KEY_MAP_WIN (Up, VK_UP) 1.571 +KEY_MAP_COCOA (Up, kVK_UpArrow) 1.572 +KEY_MAP_GTK (Up, GDK_Up) 1.573 +KEY_MAP_GTK (Up, GDK_KP_Up) 1.574 +KEY_MAP_QT (Up, Qt::Key_Up) 1.575 +KEY_MAP_ANDROID (Up, AKEYCODE_DPAD_UP) 1.576 + 1.577 +// UpLeft 1.578 + 1.579 +// UpRight 1.580 + 1.581 +// Down 1.582 +KEY_MAP_WIN (Down, VK_DOWN) 1.583 +KEY_MAP_COCOA (Down, kVK_DownArrow) 1.584 +KEY_MAP_GTK (Down, GDK_Down) 1.585 +KEY_MAP_GTK (Down, GDK_KP_Down) 1.586 +KEY_MAP_QT (Down, Qt::Key_Down) 1.587 +KEY_MAP_ANDROID (Down, AKEYCODE_DPAD_DOWN) 1.588 + 1.589 +// DownLeft 1.590 + 1.591 +// DownRight 1.592 + 1.593 +// Home 1.594 +KEY_MAP_WIN (Home, VK_HOME) 1.595 +KEY_MAP_COCOA (Home, kVK_Home) 1.596 +KEY_MAP_GTK (Home, GDK_Home) 1.597 +KEY_MAP_GTK (Home, GDK_KP_Home) 1.598 +KEY_MAP_QT (Home, Qt::Key_Home) 1.599 +KEY_MAP_ANDROID (Home, AKEYCODE_MOVE_HOME) 1.600 + 1.601 +// End 1.602 +KEY_MAP_WIN (End, VK_END) 1.603 +KEY_MAP_COCOA (End, kVK_End) 1.604 +KEY_MAP_GTK (End, GDK_End) 1.605 +KEY_MAP_GTK (End, GDK_KP_End) 1.606 +KEY_MAP_QT (End, Qt::Key_End) 1.607 +KEY_MAP_ANDROID (End, AKEYCODE_MOVE_END) 1.608 + 1.609 +// Select 1.610 +KEY_MAP_WIN (Select, VK_SELECT) 1.611 +KEY_MAP_GTK (Select, GDK_Select) 1.612 + 1.613 +// Tab 1.614 +KEY_MAP_WIN (Tab, VK_TAB) 1.615 +KEY_MAP_COCOA (Tab, kVK_Tab) 1.616 +KEY_MAP_GTK (Tab, GDK_Tab) 1.617 +KEY_MAP_GTK (Tab, GDK_KP_Tab) 1.618 +KEY_MAP_QT (Tab, Qt::Key_Tab) 1.619 +KEY_MAP_ANDROID (Tab, AKEYCODE_TAB) 1.620 + 1.621 +// Backspace 1.622 +KEY_MAP_WIN (Backspace, VK_BACK) 1.623 +KEY_MAP_COCOA (Backspace, kVK_PC_Backspace) 1.624 +KEY_MAP_GTK (Backspace, GDK_BackSpace) 1.625 +KEY_MAP_QT (Backspace, Qt::Key_Backspace) 1.626 +KEY_MAP_ANDROID (Backspace, AKEYCODE_DEL) 1.627 + 1.628 +// Clear 1.629 +KEY_MAP_WIN (Clear, VK_CLEAR) 1.630 +KEY_MAP_WIN (Clear, VK_OEM_CLEAR) 1.631 +KEY_MAP_COCOA (Clear, kVK_ANSI_KeypadClear) 1.632 +KEY_MAP_GTK (Clear, GDK_Clear) 1.633 +KEY_MAP_QT (Clear, Qt::Key_Clear) 1.634 +KEY_MAP_ANDROID (Clear, AKEYCODE_CLEAR) 1.635 + 1.636 +// Copy 1.637 +KEY_MAP_GTK (Copy, GDK_Copy) 1.638 +KEY_MAP_QT (Copy, Qt::Key_Copy) 1.639 + 1.640 +// Cut 1.641 +KEY_MAP_GTK (Cut, GDK_Cut) 1.642 +KEY_MAP_QT (Cut, Qt::Key_Cut) 1.643 + 1.644 +// Del 1.645 +KEY_MAP_WIN (Del, VK_DELETE) 1.646 +KEY_MAP_COCOA (Del, kVK_PC_Delete) 1.647 +KEY_MAP_GTK (Del, GDK_Delete) 1.648 +KEY_MAP_GTK (Del, GDK_KP_Delete) 1.649 +KEY_MAP_QT (Del, Qt::Key_Delete) 1.650 +KEY_MAP_ANDROID (Del, AKEYCODE_FORWARD_DEL) 1.651 + 1.652 +// EraseEof 1.653 +KEY_MAP_WIN (EraseEof, VK_EREOF) 1.654 +KEY_MAP_GTK (EraseEof, GDK_3270_EraseEOF) // legacy IBM keyboard layout 1.655 + 1.656 +// Insert 1.657 +KEY_MAP_WIN (Insert, VK_INSERT) 1.658 +KEY_MAP_GTK (Insert, GDK_Insert) 1.659 +KEY_MAP_GTK (Insert, GDK_KP_Insert) 1.660 +KEY_MAP_QT (Insert, Qt::Key_Insert) 1.661 +KEY_MAP_ANDROID (Insert, AKEYCODE_INSERT) 1.662 + 1.663 +// Paste 1.664 +KEY_MAP_GTK (Paste, GDK_Paste) 1.665 +KEY_MAP_QT (Paste, Qt::Key_Paste) 1.666 + 1.667 +// Undo 1.668 +KEY_MAP_GTK (Undo, GDK_Undo) 1.669 + 1.670 +// DeadGrave 1.671 +KEY_MAP_GTK (DeadGrave, GDK_dead_grave) 1.672 +KEY_MAP_QT (DeadGrave, Qt::Key_Dead_Grave) 1.673 + 1.674 +// DeadAcute 1.675 +KEY_MAP_GTK (DeadAcute, GDK_dead_acute) 1.676 +KEY_MAP_QT (DeadAcute, Qt::Key_Dead_Acute) 1.677 + 1.678 +// DeadCircumflex 1.679 +KEY_MAP_GTK (DeadCircumflex, GDK_dead_circumflex) 1.680 +KEY_MAP_QT (DeadCircumflex, Qt::Key_Dead_Circumflex) 1.681 + 1.682 +// DeadTilde 1.683 +KEY_MAP_GTK (DeadTilde, GDK_dead_tilde) 1.684 +KEY_MAP_QT (DeadTilde, Qt::Key_Dead_Tilde) 1.685 + 1.686 +// DeadMacron 1.687 +KEY_MAP_GTK (DeadMacron, GDK_dead_macron) 1.688 +KEY_MAP_QT (DeadMacron, Qt::Key_Dead_Macron) 1.689 + 1.690 +// DeadBreve 1.691 +KEY_MAP_GTK (DeadBreve, GDK_dead_breve) 1.692 +KEY_MAP_QT (DeadBreve, Qt::Key_Dead_Breve) 1.693 + 1.694 +// DeadAboveDot 1.695 +KEY_MAP_GTK (DeadAboveDot, GDK_dead_abovedot) 1.696 +KEY_MAP_QT (DeadAboveDot, Qt::Key_Dead_Abovedot) 1.697 + 1.698 +// DeadUmlaut 1.699 +KEY_MAP_GTK (DeadUmlaut, GDK_dead_diaeresis) 1.700 +KEY_MAP_QT (DeadUmlaut, Qt::Key_Dead_Diaeresis) 1.701 + 1.702 +// DeadAboveRing 1.703 +KEY_MAP_GTK (DeadAboveRing, GDK_dead_abovering) 1.704 +KEY_MAP_QT (DeadAboveRing, Qt::Key_Dead_Abovering) 1.705 + 1.706 +// DeadDoubleacute 1.707 +KEY_MAP_GTK (DeadDoubleacute, GDK_dead_doubleacute) 1.708 +KEY_MAP_QT (DeadDoubleacute, Qt::Key_Dead_Doubleacute) 1.709 + 1.710 +// DeadCaron 1.711 +KEY_MAP_GTK (DeadCaron, GDK_dead_caron) 1.712 +KEY_MAP_QT (DeadCaron, Qt::Key_Dead_Caron) 1.713 + 1.714 +// DeadCedilla 1.715 +KEY_MAP_GTK (DeadCedilla, GDK_dead_cedilla) 1.716 +KEY_MAP_QT (DeadCedilla, Qt::Key_Dead_Cedilla) 1.717 + 1.718 +// DeadOgonek 1.719 +KEY_MAP_GTK (DeadOgonek, GDK_dead_ogonek) 1.720 +KEY_MAP_QT (DeadOgonek, Qt::Key_Dead_Ogonek) 1.721 + 1.722 +// DeadIota 1.723 +KEY_MAP_GTK (DeadIota, GDK_dead_iota) 1.724 +KEY_MAP_QT (DeadIota, Qt::Key_Dead_Iota) 1.725 + 1.726 +// DeadVoicedSound 1.727 +KEY_MAP_GTK (DeadVoicedSound, GDK_dead_voiced_sound) 1.728 +KEY_MAP_QT (DeadVoicedSound, Qt::Key_Dead_Voiced_Sound) 1.729 + 1.730 +// DeadSemivoicedSound 1.731 +KEY_MAP_GTK (DeadSemivoicedSound, GDK_dead_semivoiced_sound) 1.732 +KEY_MAP_QT (DeadSemivoicedSound, Qt::Key_Dead_Semivoiced_Sound) 1.733 + 1.734 +// Alphanumeric 1.735 +KEY_MAP_WIN_JPN (Alphanumeric, VK_OEM_ATTN) 1.736 +KEY_MAP_GTK (Alphanumeric, GDK_Eisu_Shift) 1.737 +KEY_MAP_GTK (Alphanumeric, GDK_Eisu_toggle) 1.738 +KEY_MAP_QT (Alphanumeric, Qt::Key_Eisu_Shift) 1.739 +KEY_MAP_QT (Alphanumeric, Qt::Key_Eisu_toggle) 1.740 + 1.741 +// Alt 1.742 +KEY_MAP_WIN (Alt, VK_MENU) 1.743 +KEY_MAP_WIN (Alt, VK_LMENU) 1.744 +KEY_MAP_WIN (Alt, VK_RMENU) 1.745 +KEY_MAP_COCOA (Alt, kVK_Option) 1.746 +KEY_MAP_COCOA (Alt, kVK_RightOption) 1.747 +KEY_MAP_GTK (Alt, GDK_Alt_L) 1.748 +KEY_MAP_GTK (Alt, GDK_Alt_R) 1.749 +KEY_MAP_QT (Alt, Qt::Key_Alt) 1.750 +KEY_MAP_ANDROID (Alt, AKEYCODE_ALT_LEFT) 1.751 +KEY_MAP_ANDROID (Alt, AKEYCODE_ALT_RIGHT) 1.752 + 1.753 +// AltGraph 1.754 +KEY_MAP_GTK (AltGraph, GDK_Mode_switch /* same as GDK_kana_switch, 1.755 + GDK_ISO_Group_Shift and 1.756 + GDK_script_switch */) 1.757 +// Let's treat both Level 3 shift and Level 5 shift as AltGr. 1.758 +// And also, let's treat Latch key and Lock key as AltGr key too like 1.759 +// GDK_Shift_Lock. 1.760 +KEY_MAP_GTK (AltGraph, GDK_ISO_Level3_Shift) 1.761 +KEY_MAP_GTK (AltGraph, GDK_ISO_Level3_Latch) 1.762 +KEY_MAP_GTK (AltGraph, GDK_ISO_Level3_Lock) 1.763 +KEY_MAP_GTK (AltGraph, GDK_ISO_Level5_Shift) 1.764 +KEY_MAP_GTK (AltGraph, GDK_ISO_Level5_Latch) 1.765 +KEY_MAP_GTK (AltGraph, GDK_ISO_Level5_Lock) 1.766 +KEY_MAP_QT (AltGraph, Qt::Key_AltGr) 1.767 +KEY_MAP_QT (AltGraph, Qt::Key_Mode_switch) 1.768 + 1.769 +// CapsLock 1.770 +KEY_MAP_WIN (CapsLock, VK_CAPITAL) 1.771 +KEY_MAP_COCOA (CapsLock, kVK_CapsLock) 1.772 +KEY_MAP_GTK (CapsLock, GDK_Caps_Lock) 1.773 +KEY_MAP_QT (CapsLock, Qt::Key_CapsLock) 1.774 +KEY_MAP_ANDROID (CapsLock, AKEYCODE_CAPS_LOCK) 1.775 + 1.776 +// Control 1.777 +KEY_MAP_WIN (Control, VK_CONTROL) 1.778 +KEY_MAP_WIN (Control, VK_LCONTROL) 1.779 +KEY_MAP_WIN (Control, VK_RCONTROL) 1.780 +KEY_MAP_COCOA (Control, kVK_Control) 1.781 +KEY_MAP_COCOA (Control, kVK_RightControl) 1.782 +KEY_MAP_GTK (Control, GDK_Control_L) 1.783 +KEY_MAP_GTK (Control, GDK_Control_R) 1.784 +KEY_MAP_QT (Control, Qt::Key_Control) 1.785 +KEY_MAP_ANDROID (Control, AKEYCODE_CTRL_LEFT) 1.786 +KEY_MAP_ANDROID (Control, AKEYCODE_CTRL_RIGHT) 1.787 + 1.788 +// Fn 1.789 +KEY_MAP_COCOA (Fn, kVK_Function) 1.790 +KEY_MAP_ANDROID (Fn, AKEYCODE_FUNCTION) 1.791 + 1.792 +// FnLock 1.793 + 1.794 +// Meta 1.795 +KEY_MAP_COCOA (Meta, kVK_Command) 1.796 +KEY_MAP_COCOA (Meta, kVK_RightCommand) 1.797 +KEY_MAP_GTK (Meta, GDK_Meta_L) 1.798 +KEY_MAP_GTK (Meta, GDK_Meta_R) 1.799 +KEY_MAP_QT (Meta, Qt::Key_Meta) 1.800 +KEY_MAP_ANDROID (Meta, AKEYCODE_META_LEFT) 1.801 +KEY_MAP_ANDROID (Meta, AKEYCODE_META_RIGHT) 1.802 + 1.803 +// Process 1.804 + 1.805 +// NumLock 1.806 +KEY_MAP_WIN (NumLock, VK_NUMLOCK) 1.807 +KEY_MAP_GTK (NumLock, GDK_Num_Lock) 1.808 +KEY_MAP_QT (NumLock, Qt::Key_NumLock) 1.809 +KEY_MAP_ANDROID (NumLock, AKEYCODE_NUM_LOCK) 1.810 + 1.811 +// Shift 1.812 +KEY_MAP_WIN (Shift, VK_SHIFT) 1.813 +KEY_MAP_WIN (Shift, VK_LSHIFT) 1.814 +KEY_MAP_WIN (Shift, VK_RSHIFT) 1.815 +KEY_MAP_COCOA (Shift, kVK_Shift) 1.816 +KEY_MAP_COCOA (Shift, kVK_RightShift) 1.817 +KEY_MAP_GTK (Shift, GDK_Shift_L) 1.818 +KEY_MAP_GTK (Shift, GDK_Shift_R) 1.819 +KEY_MAP_GTK (Shift, GDK_Shift_Lock) // Let's treat as Shift key (bug 769159) 1.820 +KEY_MAP_QT (Shift, Qt::Key_Shift) 1.821 +KEY_MAP_ANDROID (Shift, AKEYCODE_SHIFT_LEFT) 1.822 +KEY_MAP_ANDROID (Shift, AKEYCODE_SHIFT_RIGHT) 1.823 + 1.824 +// SymbolLock 1.825 + 1.826 +// OS 1.827 +KEY_MAP_WIN (OS, VK_LWIN) 1.828 +KEY_MAP_WIN (OS, VK_RWIN) 1.829 +KEY_MAP_GTK (OS, GDK_Super_L) 1.830 +KEY_MAP_GTK (OS, GDK_Super_R) 1.831 +KEY_MAP_GTK (OS, GDK_Hyper_L) 1.832 +KEY_MAP_GTK (OS, GDK_Hyper_R) 1.833 +KEY_MAP_QT (OS, Qt::Key_Super_L) 1.834 +KEY_MAP_QT (OS, Qt::Key_Super_R) 1.835 +KEY_MAP_QT (OS, Qt::Key_Hyper_L) 1.836 +KEY_MAP_QT (OS, Qt::Key_Hyper_R) 1.837 + 1.838 +// Compose 1.839 +KEY_MAP_GTK (Compose, GDK_Multi_key) // "Multi Key" is "Compose key" on X 1.840 +KEY_MAP_QT (Compose, Qt::Key_Multi_key) 1.841 + 1.842 +// AllCandidates 1.843 +KEY_MAP_GTK (AllCandidates, GDK_MultipleCandidate) // OADG 109, Zen Koho 1.844 +KEY_MAP_QT (AllCandidates, Qt::Key_MultipleCandidate) 1.845 + 1.846 +// NextCandidate 1.847 + 1.848 +// PreviousCandidate 1.849 +KEY_MAP_GTK (PreviousCandidate, GDK_PreviousCandidate) // OADG 109, Mae Koho 1.850 +KEY_MAP_QT (PreviousCandidate, Qt::Key_PreviousCandidate) 1.851 + 1.852 +// CodeInput 1.853 +KEY_MAP_GTK (CodeInput, GDK_Codeinput) // OADG 109, Kanji Bangou 1.854 +KEY_MAP_QT (CodeInput, Qt::Key_Codeinput) 1.855 + 1.856 +// Convert 1.857 +KEY_MAP_WIN (Convert, VK_CONVERT) 1.858 +KEY_MAP_GTK (Convert, GDK_Henkan) 1.859 +KEY_MAP_QT (Convert, Qt::Key_Henkan) 1.860 +KEY_MAP_ANDROID (Convert, AKEYCODE_HENKAN) 1.861 + 1.862 +// Nonconvert 1.863 +KEY_MAP_WIN (Nonconvert, VK_NONCONVERT) 1.864 +KEY_MAP_GTK (Nonconvert, GDK_Muhenkan) 1.865 +KEY_MAP_QT (Nonconvert, Qt::Key_Muhenkan) 1.866 +KEY_MAP_ANDROID (Nonconvert, AKEYCODE_MUHENKAN) 1.867 + 1.868 +// FinalMode 1.869 +KEY_MAP_WIN (FinalMode, VK_FINAL) 1.870 + 1.871 +// FullWidth 1.872 +KEY_MAP_WIN_JPN (FullWidth, VK_OEM_ENLW) 1.873 +KEY_MAP_GTK (FullWidth, GDK_Zenkaku) 1.874 +KEY_MAP_QT (FullWidth, Qt::Key_Zenkaku) 1.875 + 1.876 +// HalfWidth 1.877 +KEY_MAP_WIN_JPN (HalfWidth, VK_OEM_AUTO) 1.878 +KEY_MAP_GTK (HalfWidth, GDK_Hankaku) 1.879 +KEY_MAP_QT (HalfWidth, Qt::Key_Hankaku) 1.880 + 1.881 +// ModeChange 1.882 +KEY_MAP_WIN (ModeChange, VK_MODECHANGE) 1.883 +KEY_MAP_ANDROID (ModeChange, AKEYCODE_SWITCH_CHARSET) 1.884 + 1.885 +// RomanCharacters 1.886 +KEY_MAP_WIN_JPN (RomanCharacters, VK_OEM_BACKTAB) 1.887 +KEY_MAP_COCOA (RomanCharacters, kVK_JIS_Eisu) 1.888 +KEY_MAP_GTK (RomanCharacters, GDK_Romaji) 1.889 +KEY_MAP_QT (RomanCharacters, Qt::Key_Romaji) 1.890 +// Assuming that EISU key of Android is the Eisu key on Mac keyboard. 1.891 +KEY_MAP_ANDROID (RomanCharacters, AKEYCODE_EISU) 1.892 + 1.893 +// HangulMode 1.894 +KEY_MAP_WIN_KOR (HangulMode, VK_HANGUL /* same as VK_KANA */) 1.895 + 1.896 +// HanjaMode 1.897 +KEY_MAP_WIN_KOR (HanjaMode, VK_HANJA /* same as VK_KANJI */) 1.898 + 1.899 +// JunjaMode 1.900 +KEY_MAP_WIN (JunjaMode, VK_JUNJA) 1.901 + 1.902 +// Hiragana 1.903 +KEY_MAP_WIN_JPN (Hiragana, VK_OEM_COPY) 1.904 +KEY_MAP_GTK (Hiragana, GDK_Hiragana) 1.905 +KEY_MAP_QT (Hiragana, Qt::Key_Hiragana) 1.906 + 1.907 +// KanaMode 1.908 +// VK_KANA is never used with modern Japanese keyboard, however, IE maps it to 1.909 +// KanaMode, therefore, we should use same map for it. 1.910 +KEY_MAP_WIN_JPN (KanaMode, VK_KANA /* same as VK_HANGUL */) 1.911 +KEY_MAP_WIN_JPN (KanaMode, VK_ATTN) 1.912 +KEY_MAP_GTK (KanaMode, GDK_Kana_Lock) 1.913 +KEY_MAP_GTK (KanaMode, GDK_Kana_Shift) 1.914 +KEY_MAP_QT (KanaMode, Qt::Key_Kana_Lock) 1.915 +KEY_MAP_QT (KanaMode, Qt::Key_Kana_Shift) 1.916 + 1.917 +// KanjiMode 1.918 +KEY_MAP_WIN_JPN (KanjiMode, VK_KANJI /* same as VK_HANJA */) 1.919 +KEY_MAP_COCOA (KanjiMode, kVK_JIS_Kana) // Kana key opens IME 1.920 +KEY_MAP_GTK (KanjiMode, GDK_Kanji) // Typically, Alt + Hankaku/Zenkaku key 1.921 +KEY_MAP_QT (KanjiMode, Qt::Key_Kanji) 1.922 +// Assuming that KANA key of Android is the Kana key on Mac keyboard. 1.923 +KEY_MAP_ANDROID (KanjiMode, AKEYCODE_KANA) 1.924 + 1.925 +// Katakana 1.926 +KEY_MAP_WIN_JPN (Katakana, VK_OEM_FINISH) 1.927 +KEY_MAP_GTK (Katakana, GDK_Katakana) 1.928 +KEY_MAP_QT (Katakana, Qt::Key_Katakana) 1.929 + 1.930 +// AudioFaderFront 1.931 + 1.932 +// AudioFaderRear 1.933 + 1.934 +// AudioBalanceLeft 1.935 + 1.936 +// AudioBalanceRight 1.937 + 1.938 +// AudioBassBoostDown 1.939 +KEY_MAP_QT (AudioBassBoostDown, Qt::Key_BassDown) 1.940 + 1.941 +// AudioBassBoostUp 1.942 +KEY_MAP_QT (AudioBassBoostUp, Qt::Key_BassUp) 1.943 + 1.944 +// VolumeMute 1.945 +KEY_MAP_WIN (VolumeMute, VK_VOLUME_MUTE) 1.946 +KEY_MAP_COCOA (VolumeMute, kVK_Mute) 1.947 +KEY_MAP_GTK (VolumeMute, GDK_AudioMute) 1.948 +KEY_MAP_QT (VolumeMute, Qt::Key_VolumeMute) 1.949 +KEY_MAP_ANDROID (VolumeMute, AKEYCODE_VOLUME_MUTE) 1.950 + 1.951 +// VolumeDown 1.952 +KEY_MAP_WIN (VolumeDown, VK_VOLUME_DOWN) 1.953 +KEY_MAP_COCOA (VolumeDown, kVK_VolumeDown) 1.954 +KEY_MAP_GTK (VolumeDown, GDK_AudioLowerVolume) 1.955 +KEY_MAP_QT (VolumeDown, Qt::Key_VolumeDown) 1.956 +KEY_MAP_ANDROID (VolumeDown, AKEYCODE_VOLUME_DOWN) 1.957 + 1.958 +// VolumeUp 1.959 +KEY_MAP_WIN (VolumeUp, VK_VOLUME_UP) 1.960 +KEY_MAP_COCOA (VolumeUp, kVK_VolumeUp) 1.961 +KEY_MAP_GTK (VolumeUp, GDK_AudioRaiseVolume) 1.962 +KEY_MAP_QT (VolumeUp, Qt::Key_VolumeUp) 1.963 +KEY_MAP_ANDROID (VolumeUp, AKEYCODE_VOLUME_UP) 1.964 + 1.965 +// MediaPause 1.966 +KEY_MAP_GTK (MediaPause, GDK_AudioPause) 1.967 +KEY_MAP_QT (MediaPause, Qt::Key_MediaPause) 1.968 +KEY_MAP_ANDROID (MediaPause, AKEYCODE_MEDIA_PAUSE) 1.969 + 1.970 +// MediaPlay 1.971 +KEY_MAP_GTK (MediaPlay, GDK_AudioPlay) 1.972 +KEY_MAP_QT (MediaPlay, Qt::Key_MediaPlay) 1.973 +KEY_MAP_ANDROID (MediaPlay, AKEYCODE_MEDIA_PLAY) 1.974 + 1.975 +// MediaStop 1.976 +KEY_MAP_WIN (MediaStop, VK_MEDIA_STOP) 1.977 +KEY_MAP_GTK (MediaStop, GDK_AudioStop) 1.978 +KEY_MAP_QT (MediaStop, Qt::Key_MediaStop) 1.979 +KEY_MAP_ANDROID (MediaStop, AKEYCODE_MEDIA_STOP) 1.980 + 1.981 +// MediaNextTrack 1.982 +KEY_MAP_WIN (MediaNextTrack, VK_MEDIA_NEXT_TRACK) 1.983 +KEY_MAP_GTK (MediaNextTrack, GDK_AudioNext) 1.984 +KEY_MAP_QT (MediaNextTrack, Qt::Key_MediaNext) 1.985 +KEY_MAP_ANDROID (MediaNextTrack, AKEYCODE_MEDIA_NEXT) 1.986 + 1.987 +// MediaPreviousTrack 1.988 +KEY_MAP_WIN (MediaPreviousTrack, VK_MEDIA_PREV_TRACK) 1.989 +KEY_MAP_GTK (MediaPreviousTrack, GDK_AudioPrev) 1.990 +KEY_MAP_QT (MediaPreviousTrack, Qt::Key_MediaPrevious) 1.991 +KEY_MAP_ANDROID (MediaPreviousTrack, AKEYCODE_MEDIA_PREVIOUS) 1.992 + 1.993 +// MediaPlayPause 1.994 +KEY_MAP_WIN (MediaPlayPause, VK_MEDIA_PLAY_PAUSE) 1.995 +KEY_MAP_QT (MediaPlayPause, Qt::Key_MediaTogglePlayPause) 1.996 +KEY_MAP_ANDROID (MediaPlayPause, AKEYCODE_MEDIA_PLAY_PAUSE) 1.997 + 1.998 +// MediaTrackSkip 1.999 + 1.1000 +// MediaTrackStart 1.1001 + 1.1002 +// MediaTrackEnd 1.1003 + 1.1004 +// SelectMedia 1.1005 +KEY_MAP_WIN (SelectMedia, VK_LAUNCH_MEDIA_SELECT) 1.1006 + 1.1007 +// Blue 1.1008 +KEY_MAP_GTK (Blue, GDK_Blue) 1.1009 +KEY_MAP_ANDROID (Blue, AKEYCODE_PROG_BLUE) 1.1010 + 1.1011 +// Brown 1.1012 + 1.1013 +// ChannelDown 1.1014 +KEY_MAP_ANDROID (ChannelDown, AKEYCODE_CHANNEL_DOWN) 1.1015 + 1.1016 +// ChannelUp 1.1017 +KEY_MAP_ANDROID (ChannelUp, AKEYCODE_CHANNEL_UP) 1.1018 + 1.1019 +// ClearFavorite0 1.1020 + 1.1021 +// ClearFavorite1 1.1022 + 1.1023 +// ClearFavorite2 1.1024 + 1.1025 +// ClearFavorite3 1.1026 + 1.1027 +// Dimmer 1.1028 +KEY_MAP_GTK (Dimmer, GDK_BrightnessAdjust) 1.1029 +KEY_MAP_QT (Dimmer, Qt::Key_BrightnessAdjust) 1.1030 + 1.1031 +// DisplaySwap 1.1032 + 1.1033 +// FastFwd 1.1034 +KEY_MAP_QT (FastFwd, Qt::Key_AudioForward) 1.1035 +KEY_MAP_ANDROID (FastFwd, AKEYCODE_MEDIA_FAST_FORWARD) 1.1036 + 1.1037 +// Green 1.1038 +KEY_MAP_GTK (Green, GDK_Green) 1.1039 +KEY_MAP_ANDROID (Green, AKEYCODE_PROG_GREEN) 1.1040 + 1.1041 +// Grey 1.1042 + 1.1043 +// Guide 1.1044 +KEY_MAP_ANDROID (Guide, AKEYCODE_GUIDE) 1.1045 + 1.1046 +// InstantReplay 1.1047 + 1.1048 +// MediaLast 1.1049 +KEY_MAP_QT (MediaLast, Qt::Key_MediaLast) 1.1050 + 1.1051 +// Link 1.1052 + 1.1053 +// Live 1.1054 +KEY_MAP_ANDROID (Live, AKEYCODE_TV) 1.1055 + 1.1056 +// Lock 1.1057 + 1.1058 +// NextDay 1.1059 + 1.1060 +// NextFavoriteChannel 1.1061 + 1.1062 +// OnDemand 1.1063 + 1.1064 +// PinPDown 1.1065 + 1.1066 +// PinPMove 1.1067 + 1.1068 +// PinPToggle 1.1069 +KEY_MAP_ANDROID (PinPToggle, AKEYCODE_WINDOW) 1.1070 + 1.1071 +// PinPUp 1.1072 + 1.1073 +// PlaySpeedDown 1.1074 + 1.1075 +// PlaySpeedReset 1.1076 + 1.1077 +// PlaySpeedUp 1.1078 + 1.1079 +// PrevDay 1.1080 + 1.1081 +// RandomToggle 1.1082 +KEY_MAP_GTK (RandomToggle, GDK_AudioRandomPlay) 1.1083 +KEY_MAP_QT (RandomToggle, Qt::Key_AudioRandomPlay) 1.1084 + 1.1085 +// RecallFavorite0 1.1086 + 1.1087 +// RecallFavorite1 1.1088 + 1.1089 +// RecallFavorite2 1.1090 + 1.1091 +// RecallFavorite3 1.1092 + 1.1093 +// MediaRecord 1.1094 +KEY_MAP_GTK (MediaRecord, GDK_AudioRecord) 1.1095 +KEY_MAP_QT (MediaRecord, Qt::Key_MediaRecord) 1.1096 +KEY_MAP_ANDROID (MediaRecord, AKEYCODE_MEDIA_RECORD) 1.1097 + 1.1098 +// RecordSpeedNext 1.1099 + 1.1100 +// Red 1.1101 +KEY_MAP_GTK (Red, GDK_Red) 1.1102 +KEY_MAP_ANDROID (Red, AKEYCODE_PROG_RED) 1.1103 + 1.1104 +// MediaRewind 1.1105 +KEY_MAP_GTK (MediaRewind, GDK_AudioRewind) 1.1106 +KEY_MAP_QT (MediaRewind, Qt::Key_AudioRewind) 1.1107 +KEY_MAP_ANDROID (MediaRewind, AKEYCODE_MEDIA_REWIND) 1.1108 + 1.1109 +// RfBypass 1.1110 + 1.1111 +// ScanChannelsToggle 1.1112 + 1.1113 +// ScreenModeNext 1.1114 + 1.1115 +// Settings 1.1116 +KEY_MAP_ANDROID (Settings, AKEYCODE_SETTINGS) 1.1117 + 1.1118 +// SplitScreenToggle 1.1119 + 1.1120 +// StoreFavorite0 1.1121 + 1.1122 +// StoreFavorite1 1.1123 + 1.1124 +// StoreFavorite2 1.1125 + 1.1126 +// StoreFavorite3 1.1127 + 1.1128 +// Subtitle 1.1129 +KEY_MAP_GTK (Subtitle, GDK_Subtitle) 1.1130 +KEY_MAP_QT (Subtitle, Qt::Key_Subtitle) 1.1131 +KEY_MAP_ANDROID (Subtitle, AKEYCODE_CAPTIONS) 1.1132 + 1.1133 +// AudioSurroundModeNext 1.1134 + 1.1135 +// Teletext 1.1136 + 1.1137 +// VideoModeNext 1.1138 + 1.1139 +// DisplayWide 1.1140 + 1.1141 +// Wink 1.1142 + 1.1143 +// Yellow 1.1144 +KEY_MAP_GTK (Yellow, GDK_Yellow) 1.1145 +KEY_MAP_ANDROID (Yellow, AKEYCODE_PROG_YELLOW) 1.1146 + 1.1147 +#undef KEY_MAP_WIN 1.1148 +#undef KEY_MAP_WIN_JPN 1.1149 +#undef KEY_MAP_WIN_KOR 1.1150 +#undef KEY_MAP_WIN_OTH 1.1151 +#undef KEY_MAP_OS2 1.1152 +#undef KEY_MAP_COCOA 1.1153 +#undef KEY_MAP_GTK 1.1154 +#undef KEY_MAP_QT 1.1155 +#undef KEY_MAP_ANDROID