Thu, 22 Jan 2015 13:21:57 +0100
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