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/. */
8 * This header file defines simple key mapping between native keycode value and
10 * You must define NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX macro before include
13 * It must have two arguments, (aNativeKey, aKeyNameIndex).
14 * aNativeKey is a native keycode value.
15 * aKeyNameIndex is the widget::KeyNameIndex value.
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 #define KEY_MAP_WIN_CMD(aCPPKeyName, aAppCommand)
25 #define KEY_MAP_COCOA(aCPPKeyName, aNativeKey)
27 #define KEY_MAP_GTK(aCPPKeyName, aNativeKey)
29 #define KEY_MAP_QT(aCPPKeyName, aNativeKey)
31 #define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey)
34 #if defined(NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
35 // KEY_MAP_WIN() defines the mapping not depending on keyboard layout.
37 #define KEY_MAP_WIN(aCPPKeyName, aNativeKey) \
38 NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
39 #elif defined(NS_JAPANESE_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
40 // KEY_MAP_WIN_JPN() defines the mapping which is valid only with Japanese
42 #undef KEY_MAP_WIN_JPN
43 #define KEY_MAP_WIN_JPN(aCPPKeyName, aNativeKey) \
44 NS_JAPANESE_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
45 KEY_NAME_INDEX_##aCPPKeyName)
46 #elif defined(NS_KOREAN_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
47 // KEY_MAP_WIN_KOR() defines the mapping which is valid only with Korean
49 #undef KEY_MAP_WIN_KOR
50 #define KEY_MAP_WIN_KOR(aCPPKeyName, aNativeKey) \
51 NS_KOREAN_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
52 KEY_NAME_INDEX_##aCPPKeyName)
53 #elif defined(NS_OTHER_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
54 // KEY_MAP_WIN_OTH() defines the mapping which is valid with neither
55 // Japanese keyboard layout nor Korean keyboard layout.
56 #undef KEY_MAP_WIN_OTH
57 #define KEY_MAP_WIN_OTH(aCPPKeyName, aNativeKey) \
58 NS_OTHER_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
59 KEY_NAME_INDEX_##aCPPKeyName)
60 #elif defined(NS_APPCOMMAND_TO_DOM_KEY_NAME_INDEX)
61 // KEY_MAP_WIN_CMD() defines the mapping from APPCOMMAND_* of WM_APPCOMMAND.
62 #undef KEY_MAP_WIN_CMD
63 #define KEY_MAP_WIN_CMD(aCPPKeyName, aAppCommand) \
64 NS_APPCOMMAND_TO_DOM_KEY_NAME_INDEX(aAppCommand, \
65 KEY_NAME_INDEX_##aCPPKeyName)
67 #error Any NS_*_TO_DOM_KEY_NAME_INDEX() is not defined.
68 #endif // #if defined(NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX) ...
69 #elif defined(XP_MACOSX)
71 #define KEY_MAP_COCOA(aCPPKeyName, aNativeKey) \
72 NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
73 #elif defined(MOZ_WIDGET_GTK)
75 #define KEY_MAP_GTK(aCPPKeyName, aNativeKey) \
76 NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
77 #elif defined(MOZ_WIDGET_QT)
79 #define KEY_MAP_QT(aCPPKeyName, aNativeKey) \
80 NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
81 #elif defined(ANDROID)
82 #undef KEY_MAP_ANDROID
83 #define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey) \
84 NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
87 /******************************************************************************
89 ******************************************************************************/
91 KEY_MAP_WIN (Alt
, VK_MENU
)
92 KEY_MAP_WIN (Alt
, VK_LMENU
)
93 KEY_MAP_WIN (Alt
, VK_RMENU
)
94 KEY_MAP_COCOA (Alt
, kVK_Option
)
95 KEY_MAP_COCOA (Alt
, kVK_RightOption
)
96 KEY_MAP_GTK (Alt
, GDK_Alt_L
)
97 KEY_MAP_GTK (Alt
, GDK_Alt_R
)
98 KEY_MAP_QT (Alt
, Qt::Key_Alt
)
99 KEY_MAP_ANDROID (Alt
, AKEYCODE_ALT_LEFT
)
100 KEY_MAP_ANDROID (Alt
, AKEYCODE_ALT_RIGHT
)
103 KEY_MAP_GTK (AltGraph
, GDK_Mode_switch
/* same as GDK_kana_switch,
104 GDK_ISO_Group_Shift and
105 GDK_script_switch */)
106 // Let's treat both Level 3 shift and Level 5 shift as AltGr.
107 // And also, let's treat Latch key and Lock key as AltGr key too like
109 KEY_MAP_GTK (AltGraph
, GDK_ISO_Level3_Shift
)
110 KEY_MAP_GTK (AltGraph
, GDK_ISO_Level3_Latch
)
111 KEY_MAP_GTK (AltGraph
, GDK_ISO_Level3_Lock
)
112 KEY_MAP_GTK (AltGraph
, GDK_ISO_Level5_Shift
)
113 KEY_MAP_GTK (AltGraph
, GDK_ISO_Level5_Latch
)
114 KEY_MAP_GTK (AltGraph
, GDK_ISO_Level5_Lock
)
115 KEY_MAP_QT (AltGraph
, Qt::Key_AltGr
)
116 KEY_MAP_QT (AltGraph
, Qt::Key_Mode_switch
)
119 KEY_MAP_WIN (CapsLock
, VK_CAPITAL
)
120 KEY_MAP_COCOA (CapsLock
, kVK_CapsLock
)
121 KEY_MAP_GTK (CapsLock
, GDK_Caps_Lock
)
122 KEY_MAP_QT (CapsLock
, Qt::Key_CapsLock
)
123 KEY_MAP_ANDROID (CapsLock
, AKEYCODE_CAPS_LOCK
)
126 KEY_MAP_WIN (Control
, VK_CONTROL
)
127 KEY_MAP_WIN (Control
, VK_LCONTROL
)
128 KEY_MAP_WIN (Control
, VK_RCONTROL
)
129 KEY_MAP_COCOA (Control
, kVK_Control
)
130 KEY_MAP_COCOA (Control
, kVK_RightControl
)
131 KEY_MAP_GTK (Control
, GDK_Control_L
)
132 KEY_MAP_GTK (Control
, GDK_Control_R
)
133 KEY_MAP_QT (Control
, Qt::Key_Control
)
134 KEY_MAP_ANDROID (Control
, AKEYCODE_CTRL_LEFT
)
135 KEY_MAP_ANDROID (Control
, AKEYCODE_CTRL_RIGHT
)
138 KEY_MAP_COCOA (Fn
, kVK_Function
)
139 KEY_MAP_ANDROID (Fn
, AKEYCODE_FUNCTION
)
142 KEY_MAP_COCOA (Meta
, kVK_Command
)
143 KEY_MAP_COCOA (Meta
, kVK_RightCommand
)
144 KEY_MAP_GTK (Meta
, GDK_Meta_L
)
145 KEY_MAP_GTK (Meta
, GDK_Meta_R
)
146 KEY_MAP_QT (Meta
, Qt::Key_Meta
)
147 KEY_MAP_ANDROID (Meta
, AKEYCODE_META_LEFT
)
148 KEY_MAP_ANDROID (Meta
, AKEYCODE_META_RIGHT
)
151 KEY_MAP_WIN (NumLock
, VK_NUMLOCK
)
152 KEY_MAP_GTK (NumLock
, GDK_Num_Lock
)
153 KEY_MAP_QT (NumLock
, Qt::Key_NumLock
)
154 KEY_MAP_ANDROID (NumLock
, AKEYCODE_NUM_LOCK
)
157 KEY_MAP_WIN (OS
, VK_LWIN
)
158 KEY_MAP_WIN (OS
, VK_RWIN
)
159 KEY_MAP_GTK (OS
, GDK_Super_L
)
160 KEY_MAP_GTK (OS
, GDK_Super_R
)
161 KEY_MAP_GTK (OS
, GDK_Hyper_L
)
162 KEY_MAP_GTK (OS
, GDK_Hyper_R
)
163 KEY_MAP_QT (OS
, Qt::Key_Super_L
)
164 KEY_MAP_QT (OS
, Qt::Key_Super_R
)
165 KEY_MAP_QT (OS
, Qt::Key_Hyper_L
)
166 KEY_MAP_QT (OS
, Qt::Key_Hyper_R
)
169 KEY_MAP_WIN (ScrollLock
, VK_SCROLL
)
170 KEY_MAP_GTK (ScrollLock
, GDK_Scroll_Lock
)
171 KEY_MAP_QT (ScrollLock
, Qt::Key_ScrollLock
)
172 KEY_MAP_ANDROID (ScrollLock
, AKEYCODE_SCROLL_LOCK
)
175 KEY_MAP_WIN (Shift
, VK_SHIFT
)
176 KEY_MAP_WIN (Shift
, VK_LSHIFT
)
177 KEY_MAP_WIN (Shift
, VK_RSHIFT
)
178 KEY_MAP_COCOA (Shift
, kVK_Shift
)
179 KEY_MAP_COCOA (Shift
, kVK_RightShift
)
180 KEY_MAP_GTK (Shift
, GDK_Shift_L
)
181 KEY_MAP_GTK (Shift
, GDK_Shift_R
)
182 KEY_MAP_GTK (Shift
, GDK_Shift_Lock
) // Let's treat as Shift key (bug 769159)
183 KEY_MAP_QT (Shift
, Qt::Key_Shift
)
184 KEY_MAP_ANDROID (Shift
, AKEYCODE_SHIFT_LEFT
)
185 KEY_MAP_ANDROID (Shift
, AKEYCODE_SHIFT_RIGHT
)
188 KEY_MAP_ANDROID (Symbol
, AKEYCODE_SYM
)
190 /******************************************************************************
192 ******************************************************************************/
194 KEY_MAP_WIN (Enter
, VK_RETURN
)
195 KEY_MAP_COCOA (Enter
, kVK_Return
)
196 KEY_MAP_COCOA (Enter
, kVK_ANSI_KeypadEnter
)
197 KEY_MAP_COCOA (Enter
, kVK_Powerbook_KeypadEnter
)
198 KEY_MAP_GTK (Enter
, GDK_Return
)
199 KEY_MAP_GTK (Enter
, GDK_KP_Enter
)
200 KEY_MAP_GTK (Enter
, GDK_ISO_Enter
)
201 KEY_MAP_GTK (Enter
, GDK_3270_Enter
)
202 KEY_MAP_QT (Enter
, Qt::Key_Return
)
203 KEY_MAP_QT (Enter
, Qt::Key_Enter
)
204 KEY_MAP_ANDROID (Enter
, AKEYCODE_ENTER
)
205 KEY_MAP_ANDROID (Enter
, AKEYCODE_NUMPAD_ENTER
)
208 KEY_MAP_WIN (Tab
, VK_TAB
)
209 KEY_MAP_COCOA (Tab
, kVK_Tab
)
210 KEY_MAP_GTK (Tab
, GDK_Tab
)
211 KEY_MAP_GTK (Tab
, GDK_KP_Tab
)
212 KEY_MAP_QT (Tab
, Qt::Key_Tab
)
213 KEY_MAP_ANDROID (Tab
, AKEYCODE_TAB
)
215 /******************************************************************************
217 ******************************************************************************/
219 KEY_MAP_WIN (ArrowDown
, VK_DOWN
)
220 KEY_MAP_COCOA (ArrowDown
, kVK_DownArrow
)
221 KEY_MAP_GTK (ArrowDown
, GDK_Down
)
222 KEY_MAP_GTK (ArrowDown
, GDK_KP_Down
)
223 KEY_MAP_QT (ArrowDown
, Qt::Key_Down
)
224 KEY_MAP_ANDROID (ArrowDown
, AKEYCODE_DPAD_DOWN
)
227 KEY_MAP_WIN (ArrowLeft
, VK_LEFT
)
228 KEY_MAP_COCOA (ArrowLeft
, kVK_LeftArrow
)
229 KEY_MAP_GTK (ArrowLeft
, GDK_Left
)
230 KEY_MAP_GTK (ArrowLeft
, GDK_KP_Left
)
231 KEY_MAP_QT (ArrowLeft
, Qt::Key_Left
)
232 KEY_MAP_ANDROID (ArrowLeft
, AKEYCODE_DPAD_LEFT
)
235 KEY_MAP_WIN (ArrowRight
, VK_RIGHT
)
236 KEY_MAP_COCOA (ArrowRight
, kVK_RightArrow
)
237 KEY_MAP_GTK (ArrowRight
, GDK_Right
)
238 KEY_MAP_GTK (ArrowRight
, GDK_KP_Right
)
239 KEY_MAP_QT (ArrowRight
, Qt::Key_Right
)
240 KEY_MAP_ANDROID (ArrowRight
, AKEYCODE_DPAD_RIGHT
)
243 KEY_MAP_WIN (ArrowUp
, VK_UP
)
244 KEY_MAP_COCOA (ArrowUp
, kVK_UpArrow
)
245 KEY_MAP_GTK (ArrowUp
, GDK_Up
)
246 KEY_MAP_GTK (ArrowUp
, GDK_KP_Up
)
247 KEY_MAP_QT (ArrowUp
, Qt::Key_Up
)
248 KEY_MAP_ANDROID (ArrowUp
, AKEYCODE_DPAD_UP
)
251 KEY_MAP_WIN (End
, VK_END
)
252 KEY_MAP_COCOA (End
, kVK_End
)
253 KEY_MAP_GTK (End
, GDK_End
)
254 KEY_MAP_GTK (End
, GDK_KP_End
)
255 KEY_MAP_QT (End
, Qt::Key_End
)
256 KEY_MAP_ANDROID (End
, AKEYCODE_MOVE_END
)
259 KEY_MAP_WIN (Home
, VK_HOME
)
260 KEY_MAP_COCOA (Home
, kVK_Home
)
261 KEY_MAP_GTK (Home
, GDK_Home
)
262 KEY_MAP_GTK (Home
, GDK_KP_Home
)
263 KEY_MAP_QT (Home
, Qt::Key_Home
)
264 KEY_MAP_ANDROID (Home
, AKEYCODE_MOVE_HOME
)
267 KEY_MAP_WIN (PageDown
, VK_NEXT
)
268 KEY_MAP_COCOA (PageDown
, kVK_PageDown
)
269 KEY_MAP_GTK (PageDown
, GDK_Page_Down
/* same as GDK_Next */)
270 KEY_MAP_GTK (PageDown
, GDK_KP_Page_Down
/* same as GDK_KP_Next */)
271 KEY_MAP_QT (PageDown
, Qt::Key_PageDown
)
272 KEY_MAP_ANDROID (PageDown
, AKEYCODE_PAGE_DOWN
)
275 KEY_MAP_WIN (PageUp
, VK_PRIOR
)
276 KEY_MAP_COCOA (PageUp
, kVK_PageUp
)
277 KEY_MAP_GTK (PageUp
, GDK_Page_Up
/* same as GDK_Prior */)
278 KEY_MAP_GTK (PageUp
, GDK_KP_Page_Up
/* same as GDK_KP_Prior */)
279 KEY_MAP_QT (PageUp
, Qt::Key_PageUp
)
280 KEY_MAP_ANDROID (PageUp
, AKEYCODE_PAGE_UP
)
282 /******************************************************************************
284 ******************************************************************************/
286 KEY_MAP_WIN (Backspace
, VK_BACK
)
287 KEY_MAP_COCOA (Backspace
, kVK_PC_Backspace
)
288 KEY_MAP_GTK (Backspace
, GDK_BackSpace
)
289 KEY_MAP_QT (Backspace
, Qt::Key_Backspace
)
290 KEY_MAP_ANDROID (Backspace
, AKEYCODE_DEL
)
293 KEY_MAP_WIN (Clear
, VK_CLEAR
)
294 KEY_MAP_WIN (Clear
, VK_OEM_CLEAR
)
295 KEY_MAP_COCOA (Clear
, kVK_ANSI_KeypadClear
)
296 KEY_MAP_GTK (Clear
, GDK_Clear
)
297 KEY_MAP_QT (Clear
, Qt::Key_Clear
)
298 KEY_MAP_ANDROID (Clear
, AKEYCODE_CLEAR
)
301 KEY_MAP_WIN_CMD (Copy
, APPCOMMAND_COPY
)
302 KEY_MAP_GTK (Copy
, GDK_Copy
)
303 KEY_MAP_QT (Copy
, Qt::Key_Copy
)
306 KEY_MAP_WIN (CrSel
, VK_CRSEL
)
307 KEY_MAP_GTK (CrSel
, GDK_3270_CursorSelect
) // legacy IBM keyboard layout
310 KEY_MAP_WIN_CMD (Cut
, APPCOMMAND_CUT
)
311 KEY_MAP_GTK (Cut
, GDK_Cut
)
312 KEY_MAP_QT (Cut
, Qt::Key_Cut
)
315 KEY_MAP_WIN (Delete
, VK_DELETE
)
316 KEY_MAP_COCOA (Delete
, kVK_PC_Delete
)
317 KEY_MAP_GTK (Delete
, GDK_Delete
)
318 KEY_MAP_GTK (Delete
, GDK_KP_Delete
)
319 KEY_MAP_QT (Delete
, Qt::Key_Delete
)
320 KEY_MAP_ANDROID (Delete
, AKEYCODE_FORWARD_DEL
)
323 KEY_MAP_WIN (EraseEof
, VK_EREOF
)
324 KEY_MAP_GTK (EraseEof
, GDK_3270_EraseEOF
) // legacy IBM keyboard layout
327 KEY_MAP_WIN (ExSel
, VK_EXSEL
)
328 KEY_MAP_GTK (ExSel
, GDK_3270_ExSelect
) // legacy IBM keyboard layout
331 KEY_MAP_WIN (Insert
, VK_INSERT
)
332 KEY_MAP_GTK (Insert
, GDK_Insert
)
333 KEY_MAP_GTK (Insert
, GDK_KP_Insert
)
334 KEY_MAP_QT (Insert
, Qt::Key_Insert
)
335 KEY_MAP_ANDROID (Insert
, AKEYCODE_INSERT
)
338 KEY_MAP_WIN_CMD (Paste
, APPCOMMAND_PASTE
)
339 KEY_MAP_GTK (Paste
, GDK_Paste
)
340 KEY_MAP_QT (Paste
, Qt::Key_Paste
)
343 KEY_MAP_WIN_CMD (Redo
, APPCOMMAND_REDO
)
344 KEY_MAP_GTK (Redo
, GDK_Redo
)
347 KEY_MAP_WIN_CMD (Undo
, APPCOMMAND_UNDO
)
348 KEY_MAP_GTK (Undo
, GDK_Undo
)
350 /******************************************************************************
352 ******************************************************************************/
354 KEY_MAP_WIN (Accept
, VK_ACCEPT
)
355 KEY_MAP_ANDROID (Accept
, AKEYCODE_DPAD_CENTER
)
358 KEY_MAP_WIN_OTH (Attn
, VK_ATTN
) // not valid with Japanese keyboard layout
359 KEY_MAP_GTK (Attn
, GDK_3270_Attn
) // legacy IBM keyboard layout
362 KEY_MAP_WIN (Cancel
, VK_CANCEL
)
363 KEY_MAP_GTK (Cancel
, GDK_Cancel
)
364 KEY_MAP_QT (Cancel
, Qt::Key_Cancel
)
367 KEY_MAP_WIN (ContextMenu
, VK_APPS
)
368 KEY_MAP_COCOA (ContextMenu
, kVK_PC_ContextMenu
)
369 KEY_MAP_GTK (ContextMenu
, GDK_Menu
)
370 KEY_MAP_QT (ContextMenu
, Qt::Key_Menu
)
371 KEY_MAP_ANDROID (ContextMenu
, AKEYCODE_MENU
)
374 KEY_MAP_WIN (Escape
, VK_ESCAPE
)
375 KEY_MAP_COCOA (Escape
, kVK_Escape
)
376 KEY_MAP_GTK (Escape
, GDK_Escape
)
377 KEY_MAP_QT (Escape
, Qt::Key_Escape
)
378 KEY_MAP_ANDROID (Escape
, AKEYCODE_ESCAPE
)
381 KEY_MAP_WIN (Execute
, VK_EXECUTE
)
382 KEY_MAP_GTK (Execute
, GDK_Execute
)
383 KEY_MAP_QT (Execute
, Qt::Key_Execute
)
386 KEY_MAP_WIN_CMD (Find
, APPCOMMAND_FIND
)
387 KEY_MAP_GTK (Find
, GDK_Find
)
390 KEY_MAP_WIN (Help
, VK_HELP
)
391 KEY_MAP_WIN_CMD (Help
, APPCOMMAND_HELP
)
392 KEY_MAP_COCOA (Help
, kVK_Help
)
393 KEY_MAP_GTK (Help
, GDK_Help
)
394 KEY_MAP_QT (Help
, Qt::Key_Help
)
395 KEY_MAP_ANDROID (Help
, AKEYCODE_ASSIST
)
398 KEY_MAP_WIN (Pause
, VK_PAUSE
)
399 KEY_MAP_GTK (Pause
, GDK_Pause
)
400 // Break is typically mapped to Alt+Pause or Ctrl+Pause on GTK.
401 KEY_MAP_GTK (Pause
, GDK_Break
)
402 KEY_MAP_QT (Pause
, Qt::Key_Pause
)
403 KEY_MAP_ANDROID (Pause
, AKEYCODE_BREAK
)
406 KEY_MAP_WIN (Play
, VK_PLAY
)
407 KEY_MAP_GTK (Play
, GDK_3270_Play
) // legacy IBM keyboard layout
408 KEY_MAP_QT (Play
, Qt::Key_Play
)
411 KEY_MAP_WIN (Select
, VK_SELECT
)
412 KEY_MAP_GTK (Select
, GDK_Select
)
415 KEY_MAP_GTK (ZoomIn
, GDK_ZoomIn
)
416 KEY_MAP_QT (ZoomIn
, Qt::Key_ZoomIn
)
417 KEY_MAP_ANDROID (ZoomIn
, AKEYCODE_ZOOM_IN
)
420 KEY_MAP_GTK (ZoomOut
, GDK_ZoomOut
)
421 KEY_MAP_QT (ZoomOut
, Qt::Key_ZoomOut
)
422 KEY_MAP_ANDROID (ZoomOut
, AKEYCODE_ZOOM_OUT
)
424 /******************************************************************************
426 ******************************************************************************/
428 KEY_MAP_GTK (BrightnessDown
, GDK_MonBrightnessDown
)
429 KEY_MAP_QT (BrightnessDown
, Qt::Key_MonBrightnessDown
)
432 KEY_MAP_GTK (BrightnessUp
, GDK_MonBrightnessUp
)
433 KEY_MAP_QT (BrightnessUp
, Qt::Key_MonBrightnessUp
)
436 KEY_MAP_QT (Camera
, Qt::Key_Camera
)
437 KEY_MAP_ANDROID (Camera
, AKEYCODE_CAMERA
)
440 KEY_MAP_GTK (Eject
, GDK_Eject
)
441 KEY_MAP_QT (Eject
, Qt::Key_Eject
)
442 KEY_MAP_ANDROID (Eject
, AKEYCODE_MEDIA_EJECT
)
445 KEY_MAP_GTK (LogOff
, GDK_LogOff
)
446 KEY_MAP_QT (LogOff
, Qt::Key_LogOff
)
449 KEY_MAP_ANDROID (Power
, AKEYCODE_POWER
)
452 KEY_MAP_GTK (PowerOff
, GDK_PowerDown
)
453 KEY_MAP_GTK (PowerOff
, GDK_PowerOff
)
454 KEY_MAP_QT (PowerOff
, Qt::Key_PowerDown
)
455 KEY_MAP_QT (PowerOff
, Qt::Key_PowerOff
)
458 KEY_MAP_WIN (PrintScreen
, VK_SNAPSHOT
)
459 KEY_MAP_GTK (PrintScreen
, GDK_3270_PrintScreen
)
460 KEY_MAP_GTK (PrintScreen
, GDK_Print
)
461 KEY_MAP_GTK (PrintScreen
, GDK_Sys_Req
)
462 KEY_MAP_QT (PrintScreen
, Qt::Key_Print
)
463 KEY_MAP_QT (PrintScreen
, Qt::Key_SysReq
)
464 KEY_MAP_ANDROID (PrintScreen
, AKEYCODE_SYSRQ
)
467 KEY_MAP_GTK (Hibernate
, GDK_Hibernate
)
468 KEY_MAP_QT (Hibernate
, Qt::Key_Hibernate
)
471 KEY_MAP_WIN (Standby
, VK_SLEEP
)
472 KEY_MAP_GTK (Standby
, GDK_Standby
)
473 KEY_MAP_GTK (Standby
, GDK_Suspend
)
474 KEY_MAP_GTK (Standby
, GDK_Sleep
)
475 KEY_MAP_QT (Standby
, Qt::Key_Standby
)
476 KEY_MAP_QT (Standby
, Qt::Key_Suspend
)
477 KEY_MAP_QT (Standby
, Qt::Key_Sleep
)
480 KEY_MAP_GTK (WakeUp
, GDK_WakeUp
)
481 KEY_MAP_QT (WakeUp
, Qt::Key_WakeUp
)
483 /******************************************************************************
484 * IME and Composition Keys
485 ******************************************************************************/
487 KEY_MAP_GTK (AllCandidates
, GDK_MultipleCandidate
) // OADG 109, Zen Koho
488 KEY_MAP_QT (AllCandidates
, Qt::Key_MultipleCandidate
)
491 KEY_MAP_WIN_JPN (Alphanumeric
, VK_OEM_ATTN
)
492 KEY_MAP_GTK (Alphanumeric
, GDK_Eisu_Shift
)
493 KEY_MAP_GTK (Alphanumeric
, GDK_Eisu_toggle
)
494 KEY_MAP_QT (Alphanumeric
, Qt::Key_Eisu_Shift
)
495 KEY_MAP_QT (Alphanumeric
, Qt::Key_Eisu_toggle
)
498 KEY_MAP_GTK (CodeInput
, GDK_Codeinput
) // OADG 109, Kanji Bangou
499 KEY_MAP_QT (CodeInput
, Qt::Key_Codeinput
)
502 KEY_MAP_GTK (Compose
, GDK_Multi_key
) // "Multi Key" is "Compose key" on X
503 KEY_MAP_QT (Compose
, Qt::Key_Multi_key
)
506 KEY_MAP_WIN (Convert
, VK_CONVERT
)
507 KEY_MAP_GTK (Convert
, GDK_Henkan
)
508 KEY_MAP_QT (Convert
, Qt::Key_Henkan
)
509 KEY_MAP_ANDROID (Convert
, AKEYCODE_HENKAN
)
512 KEY_MAP_GTK (Dead
, GDK_dead_grave
)
513 KEY_MAP_GTK (Dead
, GDK_dead_acute
)
514 KEY_MAP_GTK (Dead
, GDK_dead_circumflex
)
515 KEY_MAP_GTK (Dead
, GDK_dead_tilde
) // Same as GDK_dead_perispomeni
516 KEY_MAP_GTK (Dead
, GDK_dead_macron
)
517 KEY_MAP_GTK (Dead
, GDK_dead_breve
)
518 KEY_MAP_GTK (Dead
, GDK_dead_abovedot
)
519 KEY_MAP_GTK (Dead
, GDK_dead_diaeresis
)
520 KEY_MAP_GTK (Dead
, GDK_dead_abovering
)
521 KEY_MAP_GTK (Dead
, GDK_dead_doubleacute
)
522 KEY_MAP_GTK (Dead
, GDK_dead_caron
)
523 KEY_MAP_GTK (Dead
, GDK_dead_cedilla
)
524 KEY_MAP_GTK (Dead
, GDK_dead_ogonek
)
525 KEY_MAP_GTK (Dead
, GDK_dead_iota
)
526 KEY_MAP_GTK (Dead
, GDK_dead_voiced_sound
)
527 KEY_MAP_GTK (Dead
, GDK_dead_semivoiced_sound
)
528 KEY_MAP_GTK (Dead
, GDK_dead_belowdot
)
529 KEY_MAP_GTK (Dead
, GDK_dead_hook
)
530 KEY_MAP_GTK (Dead
, GDK_dead_horn
)
531 KEY_MAP_GTK (Dead
, GDK_dead_stroke
)
532 KEY_MAP_GTK (Dead
, GDK_dead_abovecomma
) // Same as GDK_dead_psili
533 KEY_MAP_GTK (Dead
, GDK_dead_abovereversedcomma
) // Same as GDK_dead_dasia
534 KEY_MAP_GTK (Dead
, GDK_dead_doublegrave
)
535 KEY_MAP_GTK (Dead
, GDK_dead_belowring
)
536 KEY_MAP_GTK (Dead
, GDK_dead_belowmacron
)
537 KEY_MAP_GTK (Dead
, GDK_dead_belowcircumflex
)
538 KEY_MAP_GTK (Dead
, GDK_dead_belowtilde
)
539 KEY_MAP_GTK (Dead
, GDK_dead_belowbreve
)
540 KEY_MAP_GTK (Dead
, GDK_dead_belowdiaeresis
)
541 KEY_MAP_GTK (Dead
, GDK_dead_invertedbreve
)
542 KEY_MAP_GTK (Dead
, GDK_dead_belowcomma
)
543 KEY_MAP_GTK (Dead
, GDK_dead_currency
)
544 KEY_MAP_GTK (Dead
, GDK_dead_a
)
545 KEY_MAP_GTK (Dead
, GDK_dead_A
)
546 KEY_MAP_GTK (Dead
, GDK_dead_e
)
547 KEY_MAP_GTK (Dead
, GDK_dead_E
)
548 KEY_MAP_GTK (Dead
, GDK_dead_i
)
549 KEY_MAP_GTK (Dead
, GDK_dead_I
)
550 KEY_MAP_GTK (Dead
, GDK_dead_o
)
551 KEY_MAP_GTK (Dead
, GDK_dead_O
)
552 KEY_MAP_GTK (Dead
, GDK_dead_u
)
553 KEY_MAP_GTK (Dead
, GDK_dead_U
)
554 KEY_MAP_GTK (Dead
, GDK_dead_small_schwa
)
555 KEY_MAP_GTK (Dead
, GDK_dead_capital_schwa
)
556 KEY_MAP_GTK (Dead
, GDK_dead_greek
)
557 KEY_MAP_QT (Dead
, Qt::Key_Dead_Grave
)
558 KEY_MAP_QT (Dead
, Qt::Key_Dead_Acute
)
559 KEY_MAP_QT (Dead
, Qt::Key_Dead_Circumflex
)
560 KEY_MAP_QT (Dead
, Qt::Key_Dead_Tilde
)
561 KEY_MAP_QT (Dead
, Qt::Key_Dead_Macron
)
562 KEY_MAP_QT (Dead
, Qt::Key_Dead_Breve
)
563 KEY_MAP_QT (Dead
, Qt::Key_Dead_Abovedot
)
564 KEY_MAP_QT (Dead
, Qt::Key_Dead_Diaeresis
)
565 KEY_MAP_QT (Dead
, Qt::Key_Dead_Abovering
)
566 KEY_MAP_QT (Dead
, Qt::Key_Dead_Doubleacute
)
567 KEY_MAP_QT (Dead
, Qt::Key_Dead_Caron
)
568 KEY_MAP_QT (Dead
, Qt::Key_Dead_Cedilla
)
569 KEY_MAP_QT (Dead
, Qt::Key_Dead_Ogonek
)
570 KEY_MAP_QT (Dead
, Qt::Key_Dead_Iota
)
571 KEY_MAP_QT (Dead
, Qt::Key_Dead_Voiced_Sound
)
572 KEY_MAP_QT (Dead
, Qt::Key_Dead_Semivoiced_Sound
)
573 KEY_MAP_QT (Dead
, Qt::Key_Dead_Belowdot
)
574 KEY_MAP_QT (Dead
, Qt::Key_Dead_Hook
)
575 KEY_MAP_QT (Dead
, Qt::Key_Dead_Horn
)
578 KEY_MAP_WIN (FinalMode
, VK_FINAL
)
581 KEY_MAP_GTK (GroupFirst
, GDK_ISO_First_Group
)
584 KEY_MAP_GTK (GroupLast
, GDK_ISO_Last_Group
)
587 KEY_MAP_GTK (GroupNext
, GDK_ISO_Next_Group
)
588 KEY_MAP_ANDROID (GroupNext
, AKEYCODE_LANGUAGE_SWITCH
)
591 KEY_MAP_GTK (GroupPrevious
, GDK_ISO_Prev_Group
)
594 KEY_MAP_WIN (ModeChange
, VK_MODECHANGE
)
595 KEY_MAP_ANDROID (ModeChange
, AKEYCODE_SWITCH_CHARSET
)
598 KEY_MAP_WIN (NonConvert
, VK_NONCONVERT
)
599 KEY_MAP_GTK (NonConvert
, GDK_Muhenkan
)
600 KEY_MAP_QT (NonConvert
, Qt::Key_Muhenkan
)
601 KEY_MAP_ANDROID (NonConvert
, AKEYCODE_MUHENKAN
)
604 KEY_MAP_GTK (PreviousCandidate
, GDK_PreviousCandidate
) // OADG 109, Mae Koho
605 KEY_MAP_QT (PreviousCandidate
, Qt::Key_PreviousCandidate
)
608 KEY_MAP_GTK (SingleCandidate
, GDK_SingleCandidate
)
609 KEY_MAP_QT (SingleCandidate
, Qt::Key_SingleCandidate
)
611 /******************************************************************************
612 * Keys specific to Korean keyboards
613 ******************************************************************************/
615 KEY_MAP_WIN_KOR (HangulMode
, VK_HANGUL
/* same as VK_KANA */)
618 KEY_MAP_WIN_KOR (HanjaMode
, VK_HANJA
/* same as VK_KANJI */)
621 KEY_MAP_WIN (JunjaMode
, VK_JUNJA
)
623 /******************************************************************************
624 * Keys specific to Japanese keyboards
625 ******************************************************************************/
627 KEY_MAP_COCOA (Eisu
, kVK_JIS_Eisu
)
628 KEY_MAP_ANDROID (Eisu
, AKEYCODE_EISU
)
631 KEY_MAP_WIN_JPN (Hankaku
, VK_OEM_AUTO
)
632 KEY_MAP_GTK (Hankaku
, GDK_Hankaku
)
633 KEY_MAP_QT (Hankaku
, Qt::Key_Hankaku
)
636 KEY_MAP_WIN_JPN (Hiragana
, VK_OEM_COPY
)
637 KEY_MAP_GTK (Hiragana
, GDK_Hiragana
)
638 KEY_MAP_QT (Hiragana
, Qt::Key_Hiragana
)
641 KEY_MAP_GTK (HiraganaKatakana
, GDK_Hiragana_Katakana
)
642 KEY_MAP_QT (HiraganaKatakana
, Qt::Key_Hiragana_Katakana
)
643 KEY_MAP_ANDROID (HiraganaKatakana
, AKEYCODE_KATAKANA_HIRAGANA
)
646 // VK_KANA is never used with modern Japanese keyboard, however, IE maps it to
647 // KanaMode, therefore, we should use same map for it.
648 KEY_MAP_WIN_JPN (KanaMode
, VK_KANA
/* same as VK_HANGUL */)
649 KEY_MAP_WIN_JPN (KanaMode
, VK_ATTN
)
650 KEY_MAP_GTK (KanaMode
, GDK_Kana_Lock
)
651 KEY_MAP_GTK (KanaMode
, GDK_Kana_Shift
)
652 KEY_MAP_QT (KanaMode
, Qt::Key_Kana_Lock
)
653 KEY_MAP_QT (KanaMode
, Qt::Key_Kana_Shift
)
656 KEY_MAP_WIN_JPN (KanjiMode
, VK_KANJI
/* same as VK_HANJA */)
657 KEY_MAP_COCOA (KanjiMode
, kVK_JIS_Kana
) // Kana key opens IME
658 KEY_MAP_GTK (KanjiMode
, GDK_Kanji
) // Typically, Alt + Hankaku/Zenkaku key
659 KEY_MAP_QT (KanjiMode
, Qt::Key_Kanji
)
660 // Assuming that KANA key of Android is the Kana key on Mac keyboard.
661 KEY_MAP_ANDROID (KanjiMode
, AKEYCODE_KANA
)
664 KEY_MAP_WIN_JPN (Katakana
, VK_OEM_FINISH
)
665 KEY_MAP_GTK (Katakana
, GDK_Katakana
)
666 KEY_MAP_QT (Katakana
, Qt::Key_Katakana
)
669 KEY_MAP_WIN_JPN (Romaji
, VK_OEM_BACKTAB
)
670 KEY_MAP_GTK (Romaji
, GDK_Romaji
)
671 KEY_MAP_QT (Romaji
, Qt::Key_Romaji
)
674 KEY_MAP_WIN_JPN (Zenkaku
, VK_OEM_ENLW
)
675 KEY_MAP_GTK (Zenkaku
, GDK_Zenkaku
)
676 KEY_MAP_QT (Zenkaku
, Qt::Key_Zenkaku
)
679 KEY_MAP_GTK (ZenkakuHankaku
, GDK_Zenkaku_Hankaku
)
680 KEY_MAP_QT (ZenkakuHankaku
, Qt::Key_Zenkaku_Hankaku
)
681 KEY_MAP_ANDROID (ZenkakuHankaku
, AKEYCODE_ZENKAKU_HANKAKU
)
683 /******************************************************************************
684 * General-Purpose Function Keys
685 ******************************************************************************/
687 KEY_MAP_WIN (F1
, VK_F1
)
688 KEY_MAP_COCOA (F1
, kVK_F1
)
689 KEY_MAP_GTK (F1
, GDK_F1
)
690 KEY_MAP_GTK (F1
, GDK_KP_F1
)
691 KEY_MAP_QT (F1
, Qt::Key_F1
)
692 KEY_MAP_ANDROID (F1
, AKEYCODE_F1
)
695 KEY_MAP_WIN (F2
, VK_F2
)
696 KEY_MAP_COCOA (F2
, kVK_F2
)
697 KEY_MAP_GTK (F2
, GDK_F2
)
698 KEY_MAP_GTK (F2
, GDK_KP_F2
)
699 KEY_MAP_QT (F2
, Qt::Key_F2
)
700 KEY_MAP_ANDROID (F2
, AKEYCODE_F2
)
703 KEY_MAP_WIN (F3
, VK_F3
)
704 KEY_MAP_COCOA (F3
, kVK_F3
)
705 KEY_MAP_GTK (F3
, GDK_F3
)
706 KEY_MAP_GTK (F3
, GDK_KP_F3
)
707 KEY_MAP_QT (F3
, Qt::Key_F3
)
708 KEY_MAP_ANDROID (F3
, AKEYCODE_F3
)
711 KEY_MAP_WIN (F4
, VK_F4
)
712 KEY_MAP_COCOA (F4
, kVK_F4
)
713 KEY_MAP_GTK (F4
, GDK_F4
)
714 KEY_MAP_GTK (F4
, GDK_KP_F4
)
715 KEY_MAP_QT (F4
, Qt::Key_F4
)
716 KEY_MAP_ANDROID (F4
, AKEYCODE_F4
)
719 KEY_MAP_WIN (F5
, VK_F5
)
720 KEY_MAP_COCOA (F5
, kVK_F5
)
721 KEY_MAP_GTK (F5
, GDK_F5
)
722 KEY_MAP_QT (F5
, Qt::Key_F5
)
723 KEY_MAP_ANDROID (F5
, AKEYCODE_F5
)
726 KEY_MAP_WIN (F6
, VK_F6
)
727 KEY_MAP_COCOA (F6
, kVK_F6
)
728 KEY_MAP_GTK (F6
, GDK_F6
)
729 KEY_MAP_QT (F6
, Qt::Key_F6
)
730 KEY_MAP_ANDROID (F6
, AKEYCODE_F6
)
733 KEY_MAP_WIN (F7
, VK_F7
)
734 KEY_MAP_COCOA (F7
, kVK_F7
)
735 KEY_MAP_GTK (F7
, GDK_F7
)
736 KEY_MAP_QT (F7
, Qt::Key_F7
)
737 KEY_MAP_ANDROID (F7
, AKEYCODE_F7
)
740 KEY_MAP_WIN (F8
, VK_F8
)
741 KEY_MAP_COCOA (F8
, kVK_F8
)
742 KEY_MAP_GTK (F8
, GDK_F8
)
743 KEY_MAP_QT (F8
, Qt::Key_F8
)
744 KEY_MAP_ANDROID (F8
, AKEYCODE_F8
)
747 KEY_MAP_WIN (F9
, VK_F9
)
748 KEY_MAP_COCOA (F9
, kVK_F9
)
749 KEY_MAP_GTK (F9
, GDK_F9
)
750 KEY_MAP_QT (F9
, Qt::Key_F9
)
751 KEY_MAP_ANDROID (F9
, AKEYCODE_F9
)
754 KEY_MAP_WIN (F10
, VK_F10
)
755 KEY_MAP_COCOA (F10
, kVK_F10
)
756 KEY_MAP_GTK (F10
, GDK_F10
)
757 KEY_MAP_QT (F10
, Qt::Key_F10
)
758 KEY_MAP_ANDROID (F10
, AKEYCODE_F10
)
761 KEY_MAP_WIN (F11
, VK_F11
)
762 KEY_MAP_COCOA (F11
, kVK_F11
)
763 KEY_MAP_GTK (F11
, GDK_F11
/* same as GDK_L1 */)
764 KEY_MAP_QT (F11
, Qt::Key_F11
)
765 KEY_MAP_ANDROID (F11
, AKEYCODE_F11
)
768 KEY_MAP_WIN (F12
, VK_F12
)
769 KEY_MAP_COCOA (F12
, kVK_F12
)
770 KEY_MAP_GTK (F12
, GDK_F12
/* same as GDK_L2 */)
771 KEY_MAP_QT (F12
, Qt::Key_F12
)
772 KEY_MAP_ANDROID (F12
, AKEYCODE_F12
)
775 KEY_MAP_WIN (F13
, VK_F13
)
776 KEY_MAP_COCOA (F13
, kVK_F13
)
777 KEY_MAP_GTK (F13
, GDK_F13
/* same as GDK_L3 */)
778 KEY_MAP_QT (F13
, Qt::Key_F13
)
781 KEY_MAP_WIN (F14
, VK_F14
)
782 KEY_MAP_COCOA (F14
, kVK_F14
)
783 KEY_MAP_GTK (F14
, GDK_F14
/* same as GDK_L4 */)
784 KEY_MAP_QT (F14
, Qt::Key_F14
)
787 KEY_MAP_WIN (F15
, VK_F15
)
788 KEY_MAP_COCOA (F15
, kVK_F15
)
789 KEY_MAP_GTK (F15
, GDK_F15
/* same as GDK_L5 */)
790 KEY_MAP_QT (F15
, Qt::Key_F15
)
793 KEY_MAP_WIN (F16
, VK_F16
)
794 KEY_MAP_COCOA (F16
, kVK_F16
)
795 KEY_MAP_GTK (F16
, GDK_F16
/* same as GDK_L6 */)
796 KEY_MAP_QT (F16
, Qt::Key_F16
)
799 KEY_MAP_WIN (F17
, VK_F17
)
800 KEY_MAP_COCOA (F17
, kVK_F17
)
801 KEY_MAP_GTK (F17
, GDK_F17
/* same as GDK_L7 */)
802 KEY_MAP_QT (F17
, Qt::Key_F17
)
805 KEY_MAP_WIN (F18
, VK_F18
)
806 KEY_MAP_COCOA (F18
, kVK_F18
)
807 KEY_MAP_GTK (F18
, GDK_F18
/* same as GDK_L8 */)
808 KEY_MAP_QT (F18
, Qt::Key_F18
)
811 KEY_MAP_WIN (F19
, VK_F19
)
812 KEY_MAP_COCOA (F19
, kVK_F19
)
813 KEY_MAP_GTK (F19
, GDK_F19
/* same as GDK_L9 */)
814 KEY_MAP_QT (F19
, Qt::Key_F19
)
817 KEY_MAP_WIN (F20
, VK_F20
)
818 KEY_MAP_GTK (F20
, GDK_F20
/* same as GDK_L10 */)
819 KEY_MAP_QT (F20
, Qt::Key_F20
)
822 KEY_MAP_WIN (F21
, VK_F21
)
823 KEY_MAP_GTK (F21
, GDK_F21
/* same as GDK_R1 */)
824 KEY_MAP_QT (F21
, Qt::Key_F21
)
827 KEY_MAP_WIN (F22
, VK_F22
)
828 KEY_MAP_GTK (F22
, GDK_F22
/* same as GDK_R2 */)
829 KEY_MAP_QT (F22
, Qt::Key_F22
)
832 KEY_MAP_WIN (F23
, VK_F23
)
833 KEY_MAP_GTK (F23
, GDK_F23
/* same as GDK_R3 */)
834 KEY_MAP_QT (F23
, Qt::Key_F23
)
837 KEY_MAP_WIN (F24
, VK_F24
)
838 KEY_MAP_GTK (F24
, GDK_F24
/* same as GDK_R4 */)
839 KEY_MAP_QT (F24
, Qt::Key_F24
)
842 KEY_MAP_GTK (F25
, GDK_F25
/* same as GDK_R5 */)
843 KEY_MAP_QT (F25
, Qt::Key_F25
)
846 KEY_MAP_GTK (F26
, GDK_F26
/* same as GDK_R6 */)
847 KEY_MAP_QT (F26
, Qt::Key_F26
)
850 KEY_MAP_GTK (F27
, GDK_F27
/* same as GDK_R7 */)
851 KEY_MAP_QT (F27
, Qt::Key_F27
)
854 KEY_MAP_GTK (F28
, GDK_F28
/* same as GDK_R8 */)
855 KEY_MAP_QT (F28
, Qt::Key_F28
)
858 KEY_MAP_GTK (F29
, GDK_F29
/* same as GDK_R9 */)
859 KEY_MAP_QT (F29
, Qt::Key_F29
)
862 KEY_MAP_GTK (F30
, GDK_F30
/* same as GDK_R10 */)
863 KEY_MAP_QT (F30
, Qt::Key_F30
)
866 KEY_MAP_GTK (F31
, GDK_F31
/* same as GDK_R11 */)
867 KEY_MAP_QT (F31
, Qt::Key_F31
)
870 KEY_MAP_GTK (F32
, GDK_F32
/* same as GDK_R12 */)
871 KEY_MAP_QT (F32
, Qt::Key_F32
)
874 KEY_MAP_GTK (F33
, GDK_F33
/* same as GDK_R13 */)
875 KEY_MAP_QT (F33
, Qt::Key_F33
)
878 KEY_MAP_GTK (F34
, GDK_F34
/* same as GDK_R14 */)
879 KEY_MAP_QT (F34
, Qt::Key_F34
)
882 KEY_MAP_GTK (F35
, GDK_F35
/* same as GDK_R15 */)
883 KEY_MAP_QT (F35
, Qt::Key_F35
)
885 /******************************************************************************
887 ******************************************************************************/
889 // NOTE: This is not a key to close disk tray, this is a key to close document
891 KEY_MAP_WIN_CMD (Close
, APPCOMMAND_CLOSE
)
892 KEY_MAP_GTK (Close
, GDK_Close
)
893 KEY_MAP_QT (Close
, Qt::Key_Close
)
896 KEY_MAP_WIN_CMD (MailForward
, APPCOMMAND_FORWARD_MAIL
)
897 KEY_MAP_GTK (MailForward
, GDK_MailForward
)
898 KEY_MAP_QT (MailForward
, Qt::Key_MailForward
)
901 KEY_MAP_WIN_CMD (MailReply
, APPCOMMAND_REPLY_TO_MAIL
)
902 KEY_MAP_GTK (MailReply
, GDK_Reply
)
903 KEY_MAP_QT (MailReply
, Qt::Key_Reply
)
906 KEY_MAP_WIN_CMD (MailSend
, APPCOMMAND_SEND_MAIL
)
907 KEY_MAP_GTK (MailSend
, GDK_Send
)
908 KEY_MAP_QT (MailSend
, Qt::Key_Send
)
911 KEY_MAP_WIN (MediaPlayPause
, VK_MEDIA_PLAY_PAUSE
)
912 KEY_MAP_WIN_CMD (MediaPlayPause
, APPCOMMAND_MEDIA_PLAY_PAUSE
)
913 KEY_MAP_QT (MediaPlayPause
, Qt::Key_MediaTogglePlayPause
)
914 KEY_MAP_ANDROID (MediaPlayPause
, AKEYCODE_MEDIA_PLAY_PAUSE
)
917 KEY_MAP_WIN (MediaSelect
, VK_LAUNCH_MEDIA_SELECT
)
918 KEY_MAP_WIN_CMD (MediaSelect
, APPCOMMAND_LAUNCH_MEDIA_SELECT
)
919 KEY_MAP_GTK (MediaSelect
, GDK_AudioMedia
)
922 KEY_MAP_WIN (MediaStop
, VK_MEDIA_STOP
)
923 KEY_MAP_WIN_CMD (MediaStop
, APPCOMMAND_MEDIA_STOP
)
924 KEY_MAP_GTK (MediaStop
, GDK_AudioStop
)
925 KEY_MAP_QT (MediaStop
, Qt::Key_MediaStop
)
926 KEY_MAP_ANDROID (MediaStop
, AKEYCODE_MEDIA_STOP
)
929 KEY_MAP_WIN (MediaTrackNext
, VK_MEDIA_NEXT_TRACK
)
930 KEY_MAP_WIN_CMD (MediaTrackNext
, APPCOMMAND_MEDIA_NEXTTRACK
)
931 KEY_MAP_GTK (MediaTrackNext
, GDK_AudioNext
)
932 KEY_MAP_QT (MediaTrackNext
, Qt::Key_MediaNext
)
933 KEY_MAP_ANDROID (MediaTrackNext
, AKEYCODE_MEDIA_NEXT
)
935 // MediaTrackPrevious
936 KEY_MAP_WIN (MediaTrackPrevious
, VK_MEDIA_PREV_TRACK
)
937 KEY_MAP_WIN_CMD (MediaTrackPrevious
, APPCOMMAND_MEDIA_PREVIOUSTRACK
)
938 KEY_MAP_GTK (MediaTrackPrevious
, GDK_AudioPrev
)
939 KEY_MAP_QT (MediaTrackPrevious
, Qt::Key_MediaPrevious
)
940 KEY_MAP_ANDROID (MediaTrackPrevious
, AKEYCODE_MEDIA_PREVIOUS
)
943 KEY_MAP_WIN_CMD (New
, APPCOMMAND_NEW
)
944 KEY_MAP_GTK (New
, GDK_New
)
947 KEY_MAP_WIN_CMD (Open
, APPCOMMAND_OPEN
)
948 KEY_MAP_GTK (Open
, GDK_Open
)
951 KEY_MAP_WIN_CMD (Print
, APPCOMMAND_PRINT
)
952 KEY_MAP_QT (Print
, Qt::Key_Printer
)
955 KEY_MAP_WIN_CMD (Save
, APPCOMMAND_SAVE
)
956 KEY_MAP_GTK (Save
, GDK_Save
)
957 KEY_MAP_QT (Save
, Qt::Key_Save
)
960 KEY_MAP_WIN_CMD (SpellCheck
, APPCOMMAND_SPELL_CHECK
)
961 KEY_MAP_GTK (SpellCheck
, GDK_Spell
)
962 KEY_MAP_QT (SpellCheck
, Qt::Key_Spell
)
965 KEY_MAP_WIN (VolumeDown
, VK_VOLUME_DOWN
)
966 KEY_MAP_WIN_CMD (VolumeDown
, APPCOMMAND_VOLUME_DOWN
)
967 KEY_MAP_COCOA (VolumeDown
, kVK_VolumeDown
)
968 KEY_MAP_GTK (VolumeDown
, GDK_AudioLowerVolume
)
969 KEY_MAP_QT (VolumeDown
, Qt::Key_VolumeDown
)
970 KEY_MAP_ANDROID (VolumeDown
, AKEYCODE_VOLUME_DOWN
)
973 KEY_MAP_WIN (VolumeUp
, VK_VOLUME_UP
)
974 KEY_MAP_WIN_CMD (VolumeUp
, APPCOMMAND_VOLUME_UP
)
975 KEY_MAP_COCOA (VolumeUp
, kVK_VolumeUp
)
976 KEY_MAP_GTK (VolumeUp
, GDK_AudioRaiseVolume
)
977 KEY_MAP_QT (VolumeUp
, Qt::Key_VolumeUp
)
978 KEY_MAP_ANDROID (VolumeUp
, AKEYCODE_VOLUME_UP
)
981 KEY_MAP_WIN (VolumeMute
, VK_VOLUME_MUTE
)
982 KEY_MAP_WIN_CMD (VolumeMute
, APPCOMMAND_VOLUME_MUTE
)
983 KEY_MAP_COCOA (VolumeMute
, kVK_Mute
)
984 KEY_MAP_GTK (VolumeMute
, GDK_AudioMute
)
985 KEY_MAP_QT (VolumeMute
, Qt::Key_VolumeMute
)
986 KEY_MAP_ANDROID (VolumeMute
, AKEYCODE_VOLUME_MUTE
)
988 /******************************************************************************
990 ******************************************************************************/
992 KEY_MAP_GTK (LaunchCalculator
, GDK_Calculator
)
993 KEY_MAP_QT (LaunchCalculator
, Qt::Key_Calculator
)
994 KEY_MAP_ANDROID (LaunchCalculator
, AKEYCODE_CALCULATOR
)
997 KEY_MAP_GTK (LaunchCalendar
, GDK_Calendar
)
998 KEY_MAP_QT (LaunchCalendar
, Qt::Key_Calendar
)
999 KEY_MAP_ANDROID (LaunchCalendar
, AKEYCODE_CALENDAR
)
1002 KEY_MAP_WIN (LaunchMail
, VK_LAUNCH_MAIL
)
1003 KEY_MAP_WIN_CMD (LaunchMail
, APPCOMMAND_LAUNCH_MAIL
)
1004 KEY_MAP_GTK (LaunchMail
, GDK_Mail
)
1005 KEY_MAP_QT (LaunchMail
, Qt::Key_LaunchMail
)
1006 KEY_MAP_ANDROID (LaunchMail
, AKEYCODE_ENVELOPE
)
1008 // LaunchMediaPlayer
1009 // GDK_CD is defined as "Launch CD/DVD player" in XF86keysym.h.
1010 // Therefore, let's map it to media player rather than music player.
1011 KEY_MAP_GTK (LaunchMediaPlayer
, GDK_CD
)
1012 KEY_MAP_GTK (LaunchMediaPlayer
, GDK_Video
)
1013 KEY_MAP_QT (LaunchMediaPlayer
, Qt::Key_LaunchMedia
)
1014 KEY_MAP_QT (LaunchMediaPlayer
, Qt::Key_CD
)
1015 KEY_MAP_QT (LaunchMediaPlayer
, Qt::Key_Video
)
1017 // LaunchMusicPlayer
1018 KEY_MAP_GTK (LaunchMusicPlayer
, GDK_Music
)
1019 KEY_MAP_QT (LaunchMusicPlayer
, Qt::Key_Music
)
1020 KEY_MAP_ANDROID (LaunchMusicPlayer
, AKEYCODE_MUSIC
)
1023 KEY_MAP_GTK (LaunchMyComputer
, GDK_MyComputer
)
1024 KEY_MAP_GTK (LaunchMyComputer
, GDK_Explorer
)
1025 KEY_MAP_QT (LaunchMyComputer
, Qt::Key_Explorer
)
1027 // LaunchScreenSaver
1028 KEY_MAP_GTK (LaunchScreenSaver
, GDK_ScreenSaver
)
1029 KEY_MAP_QT (LaunchScreenSaver
, Qt::Key_ScreenSaver
)
1031 // LaunchSpreadsheet
1032 KEY_MAP_GTK (LaunchSpreadsheet
, GDK_Excel
)
1033 KEY_MAP_QT (LaunchSpreadsheet
, Qt::Key_Excel
)
1036 KEY_MAP_GTK (LaunchWebBrowser
, GDK_WWW
)
1037 KEY_MAP_QT (LaunchWebBrowser
, Qt::Key_WWW
)
1038 KEY_MAP_ANDROID (LaunchWebBrowser
, AKEYCODE_EXPLORER
)
1041 KEY_MAP_GTK (LaunchWebCam
, GDK_WebCam
)
1042 KEY_MAP_QT (LaunchWebCam
, Qt::Key_WebCam
)
1044 // LaunchWordProcessor
1045 KEY_MAP_GTK (LaunchWordProcessor
, GDK_Word
)
1046 KEY_MAP_QT (LaunchWordProcessor
, Qt::Key_Word
)
1048 // LaunchApplication1
1049 KEY_MAP_WIN (LaunchApplication1
, VK_LAUNCH_APP1
)
1050 KEY_MAP_WIN_CMD (LaunchApplication1
, APPCOMMAND_LAUNCH_APP1
)
1051 KEY_MAP_GTK (LaunchApplication1
, GDK_Launch0
)
1052 KEY_MAP_QT (LaunchApplication1
, Qt::Key_Launch0
)
1054 // LaunchApplication2
1055 KEY_MAP_WIN (LaunchApplication2
, VK_LAUNCH_APP2
)
1056 KEY_MAP_WIN_CMD (LaunchApplication2
, APPCOMMAND_LAUNCH_APP2
)
1057 KEY_MAP_GTK (LaunchApplication2
, GDK_Launch1
)
1058 KEY_MAP_QT (LaunchApplication2
, Qt::Key_Launch1
)
1060 // LaunchApplication3
1061 KEY_MAP_GTK (LaunchApplication3
, GDK_Launch2
)
1062 KEY_MAP_QT (LaunchApplication3
, Qt::Key_Launch2
)
1064 // LaunchApplication4
1065 KEY_MAP_GTK (LaunchApplication4
, GDK_Launch3
)
1066 KEY_MAP_QT (LaunchApplication4
, Qt::Key_Launch3
)
1068 // LaunchApplication5
1069 KEY_MAP_GTK (LaunchApplication5
, GDK_Launch4
)
1070 KEY_MAP_QT (LaunchApplication5
, Qt::Key_Launch4
)
1072 // LaunchApplication6
1073 KEY_MAP_GTK (LaunchApplication6
, GDK_Launch5
)
1074 KEY_MAP_QT (LaunchApplication6
, Qt::Key_Launch5
)
1076 // LaunchApplication7
1077 KEY_MAP_GTK (LaunchApplication7
, GDK_Launch6
)
1078 KEY_MAP_QT (LaunchApplication7
, Qt::Key_Launch6
)
1080 // LaunchApplication8
1081 KEY_MAP_GTK (LaunchApplication8
, GDK_Launch7
)
1082 KEY_MAP_QT (LaunchApplication8
, Qt::Key_Launch7
)
1084 // LaunchApplication9
1085 KEY_MAP_GTK (LaunchApplication9
, GDK_Launch8
)
1086 KEY_MAP_QT (LaunchApplication9
, Qt::Key_Launch8
)
1088 // LaunchApplication10
1089 KEY_MAP_GTK (LaunchApplication10
, GDK_Launch9
)
1090 KEY_MAP_QT (LaunchApplication10
, Qt::Key_Launch9
)
1092 // LaunchApplication11
1093 KEY_MAP_GTK (LaunchApplication11
, GDK_LaunchA
)
1094 KEY_MAP_QT (LaunchApplication11
, Qt::Key_LaunchA
)
1096 // LaunchApplication12
1097 KEY_MAP_GTK (LaunchApplication12
, GDK_LaunchB
)
1098 KEY_MAP_QT (LaunchApplication12
, Qt::Key_LaunchB
)
1100 // LaunchApplication13
1101 KEY_MAP_GTK (LaunchApplication13
, GDK_LaunchC
)
1102 KEY_MAP_QT (LaunchApplication13
, Qt::Key_LaunchC
)
1104 // LaunchApplication14
1105 KEY_MAP_GTK (LaunchApplication14
, GDK_LaunchD
)
1106 KEY_MAP_QT (LaunchApplication14
, Qt::Key_LaunchD
)
1108 // LaunchApplication15
1109 KEY_MAP_GTK (LaunchApplication15
, GDK_LaunchE
)
1110 KEY_MAP_QT (LaunchApplication15
, Qt::Key_LaunchE
)
1112 // LaunchApplication16
1113 KEY_MAP_GTK (LaunchApplication16
, GDK_LaunchF
)
1114 KEY_MAP_QT (LaunchApplication16
, Qt::Key_LaunchF
)
1116 // LaunchApplication17
1117 KEY_MAP_QT (LaunchApplication17
, Qt::Key_LaunchG
)
1119 // LaunchApplication18
1120 KEY_MAP_QT (LaunchApplication18
, Qt::Key_LaunchH
)
1122 /******************************************************************************
1124 ******************************************************************************/
1126 KEY_MAP_WIN (BrowserBack
, VK_BROWSER_BACK
)
1127 KEY_MAP_WIN_CMD (BrowserBack
, APPCOMMAND_BROWSER_BACKWARD
)
1128 KEY_MAP_GTK (BrowserBack
, GDK_Back
)
1129 KEY_MAP_QT (BrowserBack
, Qt::Key_Back
)
1130 KEY_MAP_ANDROID (BrowserBack
, AKEYCODE_BACK
)
1133 KEY_MAP_WIN (BrowserFavorites
, VK_BROWSER_FAVORITES
)
1134 KEY_MAP_WIN_CMD (BrowserFavorites
, APPCOMMAND_BROWSER_FAVORITES
)
1135 KEY_MAP_QT (BrowserFavorites
, Qt::Key_Favorites
)
1136 KEY_MAP_ANDROID (BrowserFavorites
, AKEYCODE_BOOKMARK
)
1139 KEY_MAP_WIN (BrowserForward
, VK_BROWSER_FORWARD
)
1140 KEY_MAP_WIN_CMD (BrowserForward
, APPCOMMAND_BROWSER_FORWARD
)
1141 KEY_MAP_GTK (BrowserForward
, GDK_Forward
)
1142 KEY_MAP_QT (BrowserForward
, Qt::Key_Forward
)
1143 KEY_MAP_ANDROID (BrowserForward
, AKEYCODE_FORWARD
)
1146 KEY_MAP_WIN (BrowserHome
, VK_BROWSER_HOME
)
1147 KEY_MAP_WIN_CMD (BrowserHome
, APPCOMMAND_BROWSER_HOME
)
1148 KEY_MAP_GTK (BrowserHome
, GDK_HomePage
)
1149 KEY_MAP_QT (BrowserHome
, Qt::Key_HomePage
)
1152 KEY_MAP_WIN (BrowserRefresh
, VK_BROWSER_REFRESH
)
1153 KEY_MAP_WIN_CMD (BrowserRefresh
, APPCOMMAND_BROWSER_REFRESH
)
1154 KEY_MAP_GTK (BrowserRefresh
, GDK_Refresh
)
1155 KEY_MAP_GTK (BrowserRefresh
, GDK_Reload
)
1156 KEY_MAP_QT (BrowserRefresh
, Qt::Key_Refresh
)
1157 KEY_MAP_QT (BrowserRefresh
, Qt::Key_Reload
)
1160 KEY_MAP_WIN (BrowserSearch
, VK_BROWSER_SEARCH
)
1161 KEY_MAP_WIN_CMD (BrowserSearch
, APPCOMMAND_BROWSER_SEARCH
)
1162 KEY_MAP_GTK (BrowserSearch
, GDK_Search
)
1163 KEY_MAP_QT (BrowserSearch
, Qt::Key_Search
)
1164 KEY_MAP_ANDROID (BrowserSearch
, AKEYCODE_SEARCH
)
1167 KEY_MAP_WIN (BrowserStop
, VK_BROWSER_STOP
)
1168 KEY_MAP_WIN_CMD (BrowserStop
, APPCOMMAND_BROWSER_STOP
)
1169 KEY_MAP_GTK (BrowserStop
, GDK_Stop
)
1170 KEY_MAP_QT (BrowserStop
, Qt::Key_Stop
)
1172 /******************************************************************************
1173 * Media Controller Keys
1174 ******************************************************************************/
1175 // AudioBassBoostDown
1176 KEY_MAP_WIN_CMD (AudioBassBoostDown
, APPCOMMAND_BASS_DOWN
)
1177 KEY_MAP_QT (AudioBassBoostDown
, Qt::Key_BassDown
)
1180 KEY_MAP_WIN_CMD (AudioBassBoostUp
, APPCOMMAND_BASS_UP
)
1181 KEY_MAP_QT (AudioBassBoostUp
, Qt::Key_BassUp
)
1184 KEY_MAP_ANDROID (AVRInput
, AKEYCODE_AVR_INPUT
)
1187 KEY_MAP_ANDROID (AVRPower
, AKEYCODE_AVR_POWER
)
1190 KEY_MAP_WIN_CMD (ChannelDown
, APPCOMMAND_MEDIA_CHANNEL_DOWN
)
1191 KEY_MAP_ANDROID (ChannelDown
, AKEYCODE_CHANNEL_DOWN
)
1194 KEY_MAP_WIN_CMD (ChannelUp
, APPCOMMAND_MEDIA_CHANNEL_UP
)
1195 KEY_MAP_ANDROID (ChannelUp
, AKEYCODE_CHANNEL_UP
)
1198 KEY_MAP_GTK (ColorF0Red
, GDK_Red
)
1199 KEY_MAP_QT (ColorF0Red
, Qt::Key_Red
)
1200 KEY_MAP_ANDROID (ColorF0Red
, AKEYCODE_PROG_RED
)
1203 KEY_MAP_GTK (ColorF1Green
, GDK_Green
)
1204 KEY_MAP_QT (ColorF1Green
, Qt::Key_Green
)
1205 KEY_MAP_ANDROID (ColorF1Green
, AKEYCODE_PROG_GREEN
)
1208 KEY_MAP_GTK (ColorF2Yellow
, GDK_Yellow
)
1209 KEY_MAP_QT (ColorF2Yellow
, Qt::Key_Yellow
)
1210 KEY_MAP_ANDROID (ColorF2Yellow
, AKEYCODE_PROG_YELLOW
)
1213 KEY_MAP_GTK (ColorF3Blue
, GDK_Blue
)
1214 KEY_MAP_QT (ColorF3Blue
, Qt::Key_Blue
)
1215 KEY_MAP_ANDROID (ColorF3Blue
, AKEYCODE_PROG_BLUE
)
1218 KEY_MAP_GTK (Dimmer
, GDK_BrightnessAdjust
)
1219 KEY_MAP_QT (Dimmer
, Qt::Key_BrightnessAdjust
)
1222 KEY_MAP_ANDROID (Guide
, AKEYCODE_GUIDE
)
1225 KEY_MAP_ANDROID (Info
, AKEYCODE_INFO
)
1228 KEY_MAP_WIN_CMD (MediaFastForward
, APPCOMMAND_MEDIA_FAST_FORWARD
)
1229 KEY_MAP_GTK (MediaFastForward
, GDK_AudioForward
)
1230 KEY_MAP_QT (MediaFastForward
, Qt::Key_AudioForward
)
1231 KEY_MAP_ANDROID (MediaFastForward
, AKEYCODE_MEDIA_FAST_FORWARD
)
1234 KEY_MAP_QT (MediaLast
, Qt::Key_MediaLast
)
1237 KEY_MAP_WIN_CMD (MediaPause
, APPCOMMAND_MEDIA_PAUSE
)
1238 KEY_MAP_GTK (MediaPause
, GDK_AudioPause
)
1239 KEY_MAP_QT (MediaPause
, Qt::Key_MediaPause
)
1240 KEY_MAP_ANDROID (MediaPause
, AKEYCODE_MEDIA_PAUSE
)
1243 KEY_MAP_WIN_CMD (MediaPlay
, APPCOMMAND_MEDIA_PLAY
)
1244 KEY_MAP_GTK (MediaPlay
, GDK_AudioPlay
)
1245 KEY_MAP_QT (MediaPlay
, Qt::Key_MediaPlay
)
1246 KEY_MAP_ANDROID (MediaPlay
, AKEYCODE_MEDIA_PLAY
)
1249 KEY_MAP_WIN_CMD (MediaRecord
, APPCOMMAND_MEDIA_RECORD
)
1250 KEY_MAP_GTK (MediaRecord
, GDK_AudioRecord
)
1251 KEY_MAP_QT (MediaRecord
, Qt::Key_MediaRecord
)
1252 KEY_MAP_ANDROID (MediaRecord
, AKEYCODE_MEDIA_RECORD
)
1255 KEY_MAP_WIN_CMD (MediaRewind
, APPCOMMAND_MEDIA_REWIND
)
1256 KEY_MAP_GTK (MediaRewind
, GDK_AudioRewind
)
1257 KEY_MAP_QT (MediaRewind
, Qt::Key_AudioRewind
)
1258 KEY_MAP_ANDROID (MediaRewind
, AKEYCODE_MEDIA_REWIND
)
1261 KEY_MAP_ANDROID (PinPToggle
, AKEYCODE_WINDOW
)
1264 KEY_MAP_GTK (RandomToggle
, GDK_AudioRandomPlay
)
1265 KEY_MAP_QT (RandomToggle
, Qt::Key_AudioRandomPlay
)
1268 KEY_MAP_ANDROID (Settings
, AKEYCODE_SETTINGS
)
1271 KEY_MAP_ANDROID (STBInput
, AKEYCODE_STB_INPUT
)
1274 KEY_MAP_ANDROID (STBPower
, AKEYCODE_STB_POWER
)
1277 KEY_MAP_GTK (Subtitle
, GDK_Subtitle
)
1278 KEY_MAP_QT (Subtitle
, Qt::Key_Subtitle
)
1279 KEY_MAP_ANDROID (Subtitle
, AKEYCODE_CAPTIONS
)
1282 KEY_MAP_ANDROID (TV
, AKEYCODE_TV
)
1285 KEY_MAP_ANDROID (TVInput
, AKEYCODE_TV_INPUT
)
1288 KEY_MAP_ANDROID (TVPower
, AKEYCODE_TV_POWER
)
1291 KEY_MAP_GTK (VideoModeNext
, GDK_Next_VMode
)
1294 KEY_MAP_WIN (ZoomToggle
, VK_ZOOM
)
1295 KEY_MAP_QT (ZoomToggle
, Qt::Key_Zoom
)
1297 /******************************************************************************
1298 * Keys not defined by any standards
1299 ******************************************************************************/
1302 KEY_MAP_ANDROID (HomeScreen
, AKEYCODE_HOME
)
1305 KEY_MAP_ANDROID (PhoneCall
, AKEYCODE_CALL
)
1308 KEY_MAP_ANDROID (SoftLeft
, AKEYCODE_SOFT_LEFT
)
1311 KEY_MAP_ANDROID (SoftRight
, AKEYCODE_SOFT_RIGHT
)
1314 #undef KEY_MAP_WIN_JPN
1315 #undef KEY_MAP_WIN_KOR
1316 #undef KEY_MAP_WIN_OTH
1317 #undef KEY_MAP_WIN_CMD
1318 #undef KEY_MAP_COCOA
1321 #undef KEY_MAP_ANDROID