Bumping gaia.json for 2 gaia revision(s) a=gaia-bump
[gecko.git] / widget / NativeKeyToDOMKeyName.h
blobd048247d045515b2f525541f6510bf250cf668fd
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.
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)
24 // Mac OS X
25 #define KEY_MAP_COCOA(aCPPKeyName, aNativeKey)
26 // GTK
27 #define KEY_MAP_GTK(aCPPKeyName, aNativeKey)
28 // Qt
29 #define KEY_MAP_QT(aCPPKeyName, aNativeKey)
30 // Android and Gonk
31 #define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey)
33 #if defined(XP_WIN)
34 #if defined(NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
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 #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
41 // keyboard layout.
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
48 // keyboard layout.
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)
66 #else
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)
70 #undef KEY_MAP_COCOA
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)
74 #undef KEY_MAP_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)
78 #undef KEY_MAP_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)
85 #endif
87 /******************************************************************************
88 * Modifier Keys
89 ******************************************************************************/
90 // Alt
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)
102 // AltGraph
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
108 // GDK_Shift_Lock.
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)
118 // CapsLock
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)
125 // Control
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)
137 // Fn
138 KEY_MAP_COCOA (Fn, kVK_Function)
139 KEY_MAP_ANDROID (Fn, AKEYCODE_FUNCTION)
141 // Meta
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)
150 // NumLock
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)
156 // OS
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)
168 // ScrollLock
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)
174 // Shift
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)
187 // Symbol
188 KEY_MAP_ANDROID (Symbol, AKEYCODE_SYM)
190 /******************************************************************************
191 * Whitespace Keys
192 ******************************************************************************/
193 // Enter
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)
207 // Tab
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 /******************************************************************************
216 * Navigation Keys
217 ******************************************************************************/
218 // ArrowDown
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)
226 // ArrowLeft
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)
234 // ArrowRight
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)
242 // ArrowUp
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)
250 // End
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)
258 // Home
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)
266 // PageDown
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)
274 // PageUp
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 /******************************************************************************
283 * Editing Keys
284 ******************************************************************************/
285 // Backspace
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)
292 // Clear
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)
300 // Copy
301 KEY_MAP_WIN_CMD (Copy, APPCOMMAND_COPY)
302 KEY_MAP_GTK (Copy, GDK_Copy)
303 KEY_MAP_QT (Copy, Qt::Key_Copy)
305 // CrSel
306 KEY_MAP_WIN (CrSel, VK_CRSEL)
307 KEY_MAP_GTK (CrSel, GDK_3270_CursorSelect) // legacy IBM keyboard layout
309 // Cut
310 KEY_MAP_WIN_CMD (Cut, APPCOMMAND_CUT)
311 KEY_MAP_GTK (Cut, GDK_Cut)
312 KEY_MAP_QT (Cut, Qt::Key_Cut)
314 // Delete
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)
322 // EraseEof
323 KEY_MAP_WIN (EraseEof, VK_EREOF)
324 KEY_MAP_GTK (EraseEof, GDK_3270_EraseEOF) // legacy IBM keyboard layout
326 // ExSel
327 KEY_MAP_WIN (ExSel, VK_EXSEL)
328 KEY_MAP_GTK (ExSel, GDK_3270_ExSelect) // legacy IBM keyboard layout
330 // Insert
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)
337 // Paste
338 KEY_MAP_WIN_CMD (Paste, APPCOMMAND_PASTE)
339 KEY_MAP_GTK (Paste, GDK_Paste)
340 KEY_MAP_QT (Paste, Qt::Key_Paste)
342 // Redo
343 KEY_MAP_WIN_CMD (Redo, APPCOMMAND_REDO)
344 KEY_MAP_GTK (Redo, GDK_Redo)
346 // Undo
347 KEY_MAP_WIN_CMD (Undo, APPCOMMAND_UNDO)
348 KEY_MAP_GTK (Undo, GDK_Undo)
350 /******************************************************************************
351 * UI Keys
352 ******************************************************************************/
353 // Accept
354 KEY_MAP_WIN (Accept, VK_ACCEPT)
355 KEY_MAP_ANDROID (Accept, AKEYCODE_DPAD_CENTER)
357 // Attn
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
361 // Cancel
362 KEY_MAP_WIN (Cancel, VK_CANCEL)
363 KEY_MAP_GTK (Cancel, GDK_Cancel)
364 KEY_MAP_QT (Cancel, Qt::Key_Cancel)
366 // ContextMenu
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)
373 // Escape
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)
380 // Execute
381 KEY_MAP_WIN (Execute, VK_EXECUTE)
382 KEY_MAP_GTK (Execute, GDK_Execute)
383 KEY_MAP_QT (Execute, Qt::Key_Execute)
385 // Find
386 KEY_MAP_WIN_CMD (Find, APPCOMMAND_FIND)
387 KEY_MAP_GTK (Find, GDK_Find)
389 // Help
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)
397 // Pause
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)
405 // Play
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)
410 // Select
411 KEY_MAP_WIN (Select, VK_SELECT)
412 KEY_MAP_GTK (Select, GDK_Select)
414 // ZoomIn
415 KEY_MAP_GTK (ZoomIn, GDK_ZoomIn)
416 KEY_MAP_QT (ZoomIn, Qt::Key_ZoomIn)
417 KEY_MAP_ANDROID (ZoomIn, AKEYCODE_ZOOM_IN)
419 // ZoomOut
420 KEY_MAP_GTK (ZoomOut, GDK_ZoomOut)
421 KEY_MAP_QT (ZoomOut, Qt::Key_ZoomOut)
422 KEY_MAP_ANDROID (ZoomOut, AKEYCODE_ZOOM_OUT)
424 /******************************************************************************
425 * Device Keys
426 ******************************************************************************/
427 // BrightnessDown
428 KEY_MAP_GTK (BrightnessDown, GDK_MonBrightnessDown)
429 KEY_MAP_QT (BrightnessDown, Qt::Key_MonBrightnessDown)
431 // BrightnessUp
432 KEY_MAP_GTK (BrightnessUp, GDK_MonBrightnessUp)
433 KEY_MAP_QT (BrightnessUp, Qt::Key_MonBrightnessUp)
435 // Camera
436 KEY_MAP_QT (Camera, Qt::Key_Camera)
437 KEY_MAP_ANDROID (Camera, AKEYCODE_CAMERA)
439 // Eject
440 KEY_MAP_GTK (Eject, GDK_Eject)
441 KEY_MAP_QT (Eject, Qt::Key_Eject)
442 KEY_MAP_ANDROID (Eject, AKEYCODE_MEDIA_EJECT)
444 // LogOff
445 KEY_MAP_GTK (LogOff, GDK_LogOff)
446 KEY_MAP_QT (LogOff, Qt::Key_LogOff)
448 // Power
449 KEY_MAP_ANDROID (Power, AKEYCODE_POWER)
451 // PowerOff
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)
457 // PrintScreen
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)
466 // Hibernate
467 KEY_MAP_GTK (Hibernate, GDK_Hibernate)
468 KEY_MAP_QT (Hibernate, Qt::Key_Hibernate)
470 // Standby
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)
479 // WakeUp
480 KEY_MAP_GTK (WakeUp, GDK_WakeUp)
481 KEY_MAP_QT (WakeUp, Qt::Key_WakeUp)
483 /******************************************************************************
484 * IME and Composition Keys
485 ******************************************************************************/
486 // AllCandidates
487 KEY_MAP_GTK (AllCandidates, GDK_MultipleCandidate) // OADG 109, Zen Koho
488 KEY_MAP_QT (AllCandidates, Qt::Key_MultipleCandidate)
490 // Alphanumeric
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)
497 // CodeInput
498 KEY_MAP_GTK (CodeInput, GDK_Codeinput) // OADG 109, Kanji Bangou
499 KEY_MAP_QT (CodeInput, Qt::Key_Codeinput)
501 // Compose
502 KEY_MAP_GTK (Compose, GDK_Multi_key) // "Multi Key" is "Compose key" on X
503 KEY_MAP_QT (Compose, Qt::Key_Multi_key)
505 // Convert
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)
511 // Dead
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)
577 // FinalMode
578 KEY_MAP_WIN (FinalMode, VK_FINAL)
580 // GroupFirst
581 KEY_MAP_GTK (GroupFirst, GDK_ISO_First_Group)
583 // GroupLast
584 KEY_MAP_GTK (GroupLast, GDK_ISO_Last_Group)
586 // GroupNext
587 KEY_MAP_GTK (GroupNext, GDK_ISO_Next_Group)
588 KEY_MAP_ANDROID (GroupNext, AKEYCODE_LANGUAGE_SWITCH)
590 // GroupPrevious
591 KEY_MAP_GTK (GroupPrevious, GDK_ISO_Prev_Group)
593 // ModeChange
594 KEY_MAP_WIN (ModeChange, VK_MODECHANGE)
595 KEY_MAP_ANDROID (ModeChange, AKEYCODE_SWITCH_CHARSET)
597 // NonConvert
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)
603 // PreviousCandidate
604 KEY_MAP_GTK (PreviousCandidate, GDK_PreviousCandidate) // OADG 109, Mae Koho
605 KEY_MAP_QT (PreviousCandidate, Qt::Key_PreviousCandidate)
607 // SingleCandidate
608 KEY_MAP_GTK (SingleCandidate, GDK_SingleCandidate)
609 KEY_MAP_QT (SingleCandidate, Qt::Key_SingleCandidate)
611 /******************************************************************************
612 * Keys specific to Korean keyboards
613 ******************************************************************************/
614 // HangulMode
615 KEY_MAP_WIN_KOR (HangulMode, VK_HANGUL /* same as VK_KANA */)
617 // HanjaMode
618 KEY_MAP_WIN_KOR (HanjaMode, VK_HANJA /* same as VK_KANJI */)
620 // JunjaMode
621 KEY_MAP_WIN (JunjaMode, VK_JUNJA)
623 /******************************************************************************
624 * Keys specific to Japanese keyboards
625 ******************************************************************************/
626 // Eisu
627 KEY_MAP_COCOA (Eisu, kVK_JIS_Eisu)
628 KEY_MAP_ANDROID (Eisu, AKEYCODE_EISU)
630 // Hankaku
631 KEY_MAP_WIN_JPN (Hankaku, VK_OEM_AUTO)
632 KEY_MAP_GTK (Hankaku, GDK_Hankaku)
633 KEY_MAP_QT (Hankaku, Qt::Key_Hankaku)
635 // Hiragana
636 KEY_MAP_WIN_JPN (Hiragana, VK_OEM_COPY)
637 KEY_MAP_GTK (Hiragana, GDK_Hiragana)
638 KEY_MAP_QT (Hiragana, Qt::Key_Hiragana)
640 // HiraganaKatakana
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)
645 // KanaMode
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)
655 // KanjiMode
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)
663 // Katakana
664 KEY_MAP_WIN_JPN (Katakana, VK_OEM_FINISH)
665 KEY_MAP_GTK (Katakana, GDK_Katakana)
666 KEY_MAP_QT (Katakana, Qt::Key_Katakana)
668 // Romaji
669 KEY_MAP_WIN_JPN (Romaji, VK_OEM_BACKTAB)
670 KEY_MAP_GTK (Romaji, GDK_Romaji)
671 KEY_MAP_QT (Romaji, Qt::Key_Romaji)
673 // Zenkaku
674 KEY_MAP_WIN_JPN (Zenkaku, VK_OEM_ENLW)
675 KEY_MAP_GTK (Zenkaku, GDK_Zenkaku)
676 KEY_MAP_QT (Zenkaku, Qt::Key_Zenkaku)
678 // ZenkakuHankaku
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 ******************************************************************************/
686 // F1
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)
694 // F2
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)
702 // F3
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)
710 // F4
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)
718 // F5
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)
725 // F6
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)
732 // F7
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)
739 // F8
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)
746 // F9
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)
753 // F10
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)
760 // F11
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)
767 // F12
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)
774 // F13
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)
780 // F14
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)
786 // F15
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)
792 // F16
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)
798 // F17
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)
804 // F18
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)
810 // F19
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)
816 // F20
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)
821 // F21
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)
826 // F22
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)
831 // F23
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)
836 // F24
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)
841 // F25
842 KEY_MAP_GTK (F25, GDK_F25 /* same as GDK_R5 */)
843 KEY_MAP_QT (F25, Qt::Key_F25)
845 // F26
846 KEY_MAP_GTK (F26, GDK_F26 /* same as GDK_R6 */)
847 KEY_MAP_QT (F26, Qt::Key_F26)
849 // F27
850 KEY_MAP_GTK (F27, GDK_F27 /* same as GDK_R7 */)
851 KEY_MAP_QT (F27, Qt::Key_F27)
853 // F28
854 KEY_MAP_GTK (F28, GDK_F28 /* same as GDK_R8 */)
855 KEY_MAP_QT (F28, Qt::Key_F28)
857 // F29
858 KEY_MAP_GTK (F29, GDK_F29 /* same as GDK_R9 */)
859 KEY_MAP_QT (F29, Qt::Key_F29)
861 // F30
862 KEY_MAP_GTK (F30, GDK_F30 /* same as GDK_R10 */)
863 KEY_MAP_QT (F30, Qt::Key_F30)
865 // F31
866 KEY_MAP_GTK (F31, GDK_F31 /* same as GDK_R11 */)
867 KEY_MAP_QT (F31, Qt::Key_F31)
869 // F32
870 KEY_MAP_GTK (F32, GDK_F32 /* same as GDK_R12 */)
871 KEY_MAP_QT (F32, Qt::Key_F32)
873 // F33
874 KEY_MAP_GTK (F33, GDK_F33 /* same as GDK_R13 */)
875 KEY_MAP_QT (F33, Qt::Key_F33)
877 // F34
878 KEY_MAP_GTK (F34, GDK_F34 /* same as GDK_R14 */)
879 KEY_MAP_QT (F34, Qt::Key_F34)
881 // F35
882 KEY_MAP_GTK (F35, GDK_F35 /* same as GDK_R15 */)
883 KEY_MAP_QT (F35, Qt::Key_F35)
885 /******************************************************************************
886 * Multimedia Keys
887 ******************************************************************************/
888 // Close
889 // NOTE: This is not a key to close disk tray, this is a key to close document
890 // or window.
891 KEY_MAP_WIN_CMD (Close, APPCOMMAND_CLOSE)
892 KEY_MAP_GTK (Close, GDK_Close)
893 KEY_MAP_QT (Close, Qt::Key_Close)
895 // MailForward
896 KEY_MAP_WIN_CMD (MailForward, APPCOMMAND_FORWARD_MAIL)
897 KEY_MAP_GTK (MailForward, GDK_MailForward)
898 KEY_MAP_QT (MailForward, Qt::Key_MailForward)
900 // MailReply
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)
905 // MailSend
906 KEY_MAP_WIN_CMD (MailSend, APPCOMMAND_SEND_MAIL)
907 KEY_MAP_GTK (MailSend, GDK_Send)
908 KEY_MAP_QT (MailSend, Qt::Key_Send)
910 // MediaPlayPause
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)
916 // MediaSelect
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)
921 // MediaStop
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)
928 // MediaTrackNext
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)
942 // New
943 KEY_MAP_WIN_CMD (New, APPCOMMAND_NEW)
944 KEY_MAP_GTK (New, GDK_New)
946 // Open
947 KEY_MAP_WIN_CMD (Open, APPCOMMAND_OPEN)
948 KEY_MAP_GTK (Open, GDK_Open)
950 // Print
951 KEY_MAP_WIN_CMD (Print, APPCOMMAND_PRINT)
952 KEY_MAP_QT (Print, Qt::Key_Printer)
954 // Save
955 KEY_MAP_WIN_CMD (Save, APPCOMMAND_SAVE)
956 KEY_MAP_GTK (Save, GDK_Save)
957 KEY_MAP_QT (Save, Qt::Key_Save)
959 // SpellCheck
960 KEY_MAP_WIN_CMD (SpellCheck, APPCOMMAND_SPELL_CHECK)
961 KEY_MAP_GTK (SpellCheck, GDK_Spell)
962 KEY_MAP_QT (SpellCheck, Qt::Key_Spell)
964 // VolumeDown
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)
972 // VolumeUp
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)
980 // VolumeMute
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 /******************************************************************************
989 * Application Keys
990 ******************************************************************************/
991 // LaunchCalculator
992 KEY_MAP_GTK (LaunchCalculator, GDK_Calculator)
993 KEY_MAP_QT (LaunchCalculator, Qt::Key_Calculator)
994 KEY_MAP_ANDROID (LaunchCalculator, AKEYCODE_CALCULATOR)
996 // LaunchCalendar
997 KEY_MAP_GTK (LaunchCalendar, GDK_Calendar)
998 KEY_MAP_QT (LaunchCalendar, Qt::Key_Calendar)
999 KEY_MAP_ANDROID (LaunchCalendar, AKEYCODE_CALENDAR)
1001 // LaunchMail
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)
1022 // LaunchMyComputer
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)
1035 // LaunchWebBrowser
1036 KEY_MAP_GTK (LaunchWebBrowser, GDK_WWW)
1037 KEY_MAP_QT (LaunchWebBrowser, Qt::Key_WWW)
1038 KEY_MAP_ANDROID (LaunchWebBrowser, AKEYCODE_EXPLORER)
1040 // LaunchWebCam
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 /******************************************************************************
1123 * Browser Keys
1124 ******************************************************************************/
1125 // BrowserBack
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)
1132 // BrowserFavorites
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)
1138 // BrowserForward
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)
1145 // BrowserHome
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)
1151 // BrowserRefresh
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)
1159 // BrowserSearch
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)
1166 // BrowserStop
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)
1179 // AudioBassBoostUp
1180 KEY_MAP_WIN_CMD (AudioBassBoostUp, APPCOMMAND_BASS_UP)
1181 KEY_MAP_QT (AudioBassBoostUp, Qt::Key_BassUp)
1183 // AVRInput
1184 KEY_MAP_ANDROID (AVRInput, AKEYCODE_AVR_INPUT)
1186 // AVRPower
1187 KEY_MAP_ANDROID (AVRPower, AKEYCODE_AVR_POWER)
1189 // ChannelDown
1190 KEY_MAP_WIN_CMD (ChannelDown, APPCOMMAND_MEDIA_CHANNEL_DOWN)
1191 KEY_MAP_ANDROID (ChannelDown, AKEYCODE_CHANNEL_DOWN)
1193 // ChannelUp
1194 KEY_MAP_WIN_CMD (ChannelUp, APPCOMMAND_MEDIA_CHANNEL_UP)
1195 KEY_MAP_ANDROID (ChannelUp, AKEYCODE_CHANNEL_UP)
1197 // ColorF0Red
1198 KEY_MAP_GTK (ColorF0Red, GDK_Red)
1199 KEY_MAP_QT (ColorF0Red, Qt::Key_Red)
1200 KEY_MAP_ANDROID (ColorF0Red, AKEYCODE_PROG_RED)
1202 // ColorF1Green
1203 KEY_MAP_GTK (ColorF1Green, GDK_Green)
1204 KEY_MAP_QT (ColorF1Green, Qt::Key_Green)
1205 KEY_MAP_ANDROID (ColorF1Green, AKEYCODE_PROG_GREEN)
1207 // ColorF2Yellow
1208 KEY_MAP_GTK (ColorF2Yellow, GDK_Yellow)
1209 KEY_MAP_QT (ColorF2Yellow, Qt::Key_Yellow)
1210 KEY_MAP_ANDROID (ColorF2Yellow, AKEYCODE_PROG_YELLOW)
1212 // ColorF3Blue
1213 KEY_MAP_GTK (ColorF3Blue, GDK_Blue)
1214 KEY_MAP_QT (ColorF3Blue, Qt::Key_Blue)
1215 KEY_MAP_ANDROID (ColorF3Blue, AKEYCODE_PROG_BLUE)
1217 // Dimmer
1218 KEY_MAP_GTK (Dimmer, GDK_BrightnessAdjust)
1219 KEY_MAP_QT (Dimmer, Qt::Key_BrightnessAdjust)
1221 // Guide
1222 KEY_MAP_ANDROID (Guide, AKEYCODE_GUIDE)
1224 // Info
1225 KEY_MAP_ANDROID (Info, AKEYCODE_INFO)
1227 // MediaFastForward
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)
1233 // MediaLast
1234 KEY_MAP_QT (MediaLast, Qt::Key_MediaLast)
1236 // MediaPause
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)
1242 // MediaPlay
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)
1248 // MediaRecord
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)
1254 // MediaRewind
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)
1260 // PinPToggle
1261 KEY_MAP_ANDROID (PinPToggle, AKEYCODE_WINDOW)
1263 // RandomToggle
1264 KEY_MAP_GTK (RandomToggle, GDK_AudioRandomPlay)
1265 KEY_MAP_QT (RandomToggle, Qt::Key_AudioRandomPlay)
1267 // Settings
1268 KEY_MAP_ANDROID (Settings, AKEYCODE_SETTINGS)
1270 // STBInput
1271 KEY_MAP_ANDROID (STBInput, AKEYCODE_STB_INPUT)
1273 // STBPower
1274 KEY_MAP_ANDROID (STBPower, AKEYCODE_STB_POWER)
1276 // Subtitle
1277 KEY_MAP_GTK (Subtitle, GDK_Subtitle)
1278 KEY_MAP_QT (Subtitle, Qt::Key_Subtitle)
1279 KEY_MAP_ANDROID (Subtitle, AKEYCODE_CAPTIONS)
1281 // TV
1282 KEY_MAP_ANDROID (TV, AKEYCODE_TV)
1284 // TVInput
1285 KEY_MAP_ANDROID (TVInput, AKEYCODE_TV_INPUT)
1287 // TVPower
1288 KEY_MAP_ANDROID (TVPower, AKEYCODE_TV_POWER)
1290 // VideoModeNext
1291 KEY_MAP_GTK (VideoModeNext, GDK_Next_VMode)
1293 // ZoomToggle
1294 KEY_MAP_WIN (ZoomToggle, VK_ZOOM)
1295 KEY_MAP_QT (ZoomToggle, Qt::Key_Zoom)
1297 /******************************************************************************
1298 * Keys not defined by any standards
1299 ******************************************************************************/
1301 // HomeScreen
1302 KEY_MAP_ANDROID (HomeScreen, AKEYCODE_HOME)
1304 // PhoneCall
1305 KEY_MAP_ANDROID (PhoneCall, AKEYCODE_CALL)
1307 // SoftLeft
1308 KEY_MAP_ANDROID (SoftLeft, AKEYCODE_SOFT_LEFT)
1310 // SoftRight
1311 KEY_MAP_ANDROID (SoftRight, AKEYCODE_SOFT_RIGHT)
1313 #undef KEY_MAP_WIN
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
1319 #undef KEY_MAP_GTK
1320 #undef KEY_MAP_QT
1321 #undef KEY_MAP_ANDROID