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.
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_ANDROID(aCPPKeyName, aNativeKey)
32 # if defined(NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
33 // KEY_MAP_WIN() defines the mapping not depending on keyboard layout.
35 # define KEY_MAP_WIN(aCPPKeyName, aNativeKey) \
36 NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
37 KEY_NAME_INDEX_##aCPPKeyName)
38 # elif defined(NS_JAPANESE_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
39 // KEY_MAP_WIN_JPN() defines the mapping which is valid only with Japanese
41 # undef KEY_MAP_WIN_JPN
42 # define KEY_MAP_WIN_JPN(aCPPKeyName, aNativeKey) \
43 NS_JAPANESE_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX( \
44 aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
45 # elif defined(NS_KOREAN_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
46 // KEY_MAP_WIN_KOR() defines the mapping which is valid only with Korean
48 # undef KEY_MAP_WIN_KOR
49 # define KEY_MAP_WIN_KOR(aCPPKeyName, aNativeKey) \
50 NS_KOREAN_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
51 KEY_NAME_INDEX_##aCPPKeyName)
52 # elif defined(NS_OTHER_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
53 // KEY_MAP_WIN_OTH() defines the mapping which is valid with neither
54 // Japanese keyboard layout nor Korean keyboard layout.
55 # undef KEY_MAP_WIN_OTH
56 # define KEY_MAP_WIN_OTH(aCPPKeyName, aNativeKey) \
57 NS_OTHER_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
58 KEY_NAME_INDEX_##aCPPKeyName)
59 # elif defined(NS_APPCOMMAND_TO_DOM_KEY_NAME_INDEX)
60 // KEY_MAP_WIN_CMD() defines the mapping from APPCOMMAND_* of WM_APPCOMMAND.
61 # undef KEY_MAP_WIN_CMD
62 # define KEY_MAP_WIN_CMD(aCPPKeyName, aAppCommand) \
63 NS_APPCOMMAND_TO_DOM_KEY_NAME_INDEX(aAppCommand, \
64 KEY_NAME_INDEX_##aCPPKeyName)
66 # error Any NS_*_TO_DOM_KEY_NAME_INDEX() is not defined.
67 # endif // #if defined(NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX) ...
68 #elif defined(XP_MACOSX)
70 # define KEY_MAP_COCOA(aCPPKeyName, aNativeKey) \
71 NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
72 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, \
77 KEY_NAME_INDEX_##aCPPKeyName)
78 #elif defined(ANDROID)
79 # undef KEY_MAP_ANDROID
80 # define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey) \
81 NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
82 KEY_NAME_INDEX_##aCPPKeyName)
85 /******************************************************************************
87 ******************************************************************************/
89 KEY_MAP_WIN(Alt
, VK_MENU
)
90 KEY_MAP_WIN(Alt
, VK_LMENU
)
91 KEY_MAP_WIN(Alt
, VK_RMENU
) // This is ignored if active keyboard layout
92 // has AltGr. In such case, AltGraph is mapped.
93 KEY_MAP_COCOA(Alt
, kVK_Option
)
94 KEY_MAP_COCOA(Alt
, kVK_RightOption
)
95 KEY_MAP_GTK(Alt
, GDK_Alt_L
)
96 KEY_MAP_GTK(Alt
, GDK_Alt_R
)
97 KEY_MAP_GTK(Alt
, GDK_Meta_L
)
98 KEY_MAP_GTK(Alt
, GDK_Meta_R
)
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
)
117 KEY_MAP_WIN(CapsLock
, VK_CAPITAL
)
118 KEY_MAP_COCOA(CapsLock
, kVK_CapsLock
)
119 KEY_MAP_GTK(CapsLock
, GDK_Caps_Lock
)
120 KEY_MAP_ANDROID(CapsLock
, AKEYCODE_CAPS_LOCK
)
123 KEY_MAP_WIN(Control
, VK_CONTROL
)
124 KEY_MAP_WIN(Control
, VK_LCONTROL
)
125 KEY_MAP_WIN(Control
, VK_RCONTROL
)
126 KEY_MAP_COCOA(Control
, kVK_Control
)
127 KEY_MAP_COCOA(Control
, kVK_RightControl
)
128 KEY_MAP_GTK(Control
, GDK_Control_L
)
129 KEY_MAP_GTK(Control
, GDK_Control_R
)
130 KEY_MAP_ANDROID(Control
, AKEYCODE_CTRL_LEFT
)
131 KEY_MAP_ANDROID(Control
, AKEYCODE_CTRL_RIGHT
)
134 KEY_MAP_COCOA(Fn
, kVK_Function
)
135 KEY_MAP_ANDROID(Fn
, AKEYCODE_FUNCTION
)
138 KEY_MAP_WIN(Meta
, VK_LWIN
)
139 KEY_MAP_WIN(Meta
, VK_RWIN
)
140 KEY_MAP_COCOA(Meta
, kVK_Command
)
141 KEY_MAP_COCOA(Meta
, kVK_RightCommand
)
142 KEY_MAP_GTK(Meta
, GDK_Super_L
)
143 KEY_MAP_GTK(Meta
, GDK_Super_R
)
144 KEY_MAP_GTK(Meta
, GDK_Hyper_L
)
145 KEY_MAP_GTK(Meta
, GDK_Hyper_R
)
146 KEY_MAP_ANDROID(Meta
, AKEYCODE_META_LEFT
)
147 KEY_MAP_ANDROID(Meta
, AKEYCODE_META_RIGHT
)
150 KEY_MAP_WIN(NumLock
, VK_NUMLOCK
)
151 KEY_MAP_GTK(NumLock
, GDK_Num_Lock
)
152 KEY_MAP_ANDROID(NumLock
, AKEYCODE_NUM_LOCK
)
155 KEY_MAP_WIN(ScrollLock
, VK_SCROLL
)
156 KEY_MAP_GTK(ScrollLock
, GDK_Scroll_Lock
)
157 KEY_MAP_ANDROID(ScrollLock
, AKEYCODE_SCROLL_LOCK
)
160 KEY_MAP_WIN(Shift
, VK_SHIFT
)
161 KEY_MAP_WIN(Shift
, VK_LSHIFT
)
162 KEY_MAP_WIN(Shift
, VK_RSHIFT
)
163 KEY_MAP_COCOA(Shift
, kVK_Shift
)
164 KEY_MAP_COCOA(Shift
, kVK_RightShift
)
165 KEY_MAP_GTK(Shift
, GDK_Shift_L
)
166 KEY_MAP_GTK(Shift
, GDK_Shift_R
)
167 KEY_MAP_GTK(Shift
, GDK_Shift_Lock
) // Let's treat as Shift key (bug 769159)
168 KEY_MAP_ANDROID(Shift
, AKEYCODE_SHIFT_LEFT
)
169 KEY_MAP_ANDROID(Shift
, AKEYCODE_SHIFT_RIGHT
)
172 KEY_MAP_ANDROID(Symbol
, AKEYCODE_SYM
)
174 /******************************************************************************
176 ******************************************************************************/
178 KEY_MAP_WIN(Enter
, VK_RETURN
)
179 KEY_MAP_COCOA(Enter
, kVK_Return
)
180 KEY_MAP_COCOA(Enter
, kVK_ANSI_KeypadEnter
)
181 KEY_MAP_COCOA(Enter
, kVK_Powerbook_KeypadEnter
)
182 KEY_MAP_GTK(Enter
, GDK_Return
)
183 KEY_MAP_GTK(Enter
, GDK_KP_Enter
)
184 KEY_MAP_GTK(Enter
, GDK_ISO_Enter
)
185 KEY_MAP_GTK(Enter
, GDK_3270_Enter
)
186 KEY_MAP_ANDROID(Enter
, AKEYCODE_DPAD_CENTER
)
187 KEY_MAP_ANDROID(Enter
, AKEYCODE_ENTER
)
188 KEY_MAP_ANDROID(Enter
, AKEYCODE_NUMPAD_ENTER
)
191 KEY_MAP_WIN(Tab
, VK_TAB
)
192 KEY_MAP_COCOA(Tab
, kVK_Tab
)
193 KEY_MAP_GTK(Tab
, GDK_Tab
)
194 KEY_MAP_GTK(Tab
, GDK_ISO_Left_Tab
) // Shift+Tab
195 KEY_MAP_GTK(Tab
, GDK_KP_Tab
)
196 KEY_MAP_ANDROID(Tab
, AKEYCODE_TAB
)
198 /******************************************************************************
200 ******************************************************************************/
202 KEY_MAP_WIN(ArrowDown
, VK_DOWN
)
203 KEY_MAP_COCOA(ArrowDown
, kVK_DownArrow
)
204 KEY_MAP_GTK(ArrowDown
, GDK_Down
)
205 KEY_MAP_GTK(ArrowDown
, GDK_KP_Down
)
206 KEY_MAP_ANDROID(ArrowDown
, AKEYCODE_DPAD_DOWN
)
209 KEY_MAP_WIN(ArrowLeft
, VK_LEFT
)
210 KEY_MAP_COCOA(ArrowLeft
, kVK_LeftArrow
)
211 KEY_MAP_GTK(ArrowLeft
, GDK_Left
)
212 KEY_MAP_GTK(ArrowLeft
, GDK_KP_Left
)
213 KEY_MAP_ANDROID(ArrowLeft
, AKEYCODE_DPAD_LEFT
)
216 KEY_MAP_WIN(ArrowRight
, VK_RIGHT
)
217 KEY_MAP_COCOA(ArrowRight
, kVK_RightArrow
)
218 KEY_MAP_GTK(ArrowRight
, GDK_Right
)
219 KEY_MAP_GTK(ArrowRight
, GDK_KP_Right
)
220 KEY_MAP_ANDROID(ArrowRight
, AKEYCODE_DPAD_RIGHT
)
223 KEY_MAP_WIN(ArrowUp
, VK_UP
)
224 KEY_MAP_COCOA(ArrowUp
, kVK_UpArrow
)
225 KEY_MAP_GTK(ArrowUp
, GDK_Up
)
226 KEY_MAP_GTK(ArrowUp
, GDK_KP_Up
)
227 KEY_MAP_ANDROID(ArrowUp
, AKEYCODE_DPAD_UP
)
230 KEY_MAP_WIN(End
, VK_END
)
231 KEY_MAP_COCOA(End
, kVK_End
)
232 KEY_MAP_GTK(End
, GDK_End
)
233 KEY_MAP_GTK(End
, GDK_KP_End
)
234 KEY_MAP_ANDROID(End
, AKEYCODE_MOVE_END
)
237 KEY_MAP_WIN(Home
, VK_HOME
)
238 KEY_MAP_COCOA(Home
, kVK_Home
)
239 KEY_MAP_GTK(Home
, GDK_Home
)
240 KEY_MAP_GTK(Home
, GDK_KP_Home
)
241 KEY_MAP_ANDROID(Home
, AKEYCODE_MOVE_HOME
)
244 KEY_MAP_WIN(PageDown
, VK_NEXT
)
245 KEY_MAP_COCOA(PageDown
, kVK_PageDown
)
246 KEY_MAP_GTK(PageDown
, GDK_Page_Down
/* same as GDK_Next */)
247 KEY_MAP_GTK(PageDown
, GDK_KP_Page_Down
/* same as GDK_KP_Next */)
248 KEY_MAP_ANDROID(PageDown
, AKEYCODE_PAGE_DOWN
)
251 KEY_MAP_WIN(PageUp
, VK_PRIOR
)
252 KEY_MAP_COCOA(PageUp
, kVK_PageUp
)
253 KEY_MAP_GTK(PageUp
, GDK_Page_Up
/* same as GDK_Prior */)
254 KEY_MAP_GTK(PageUp
, GDK_KP_Page_Up
/* same as GDK_KP_Prior */)
255 KEY_MAP_ANDROID(PageUp
, AKEYCODE_PAGE_UP
)
257 /******************************************************************************
259 ******************************************************************************/
261 KEY_MAP_WIN(Backspace
, VK_BACK
)
262 KEY_MAP_COCOA(Backspace
, kVK_PC_Backspace
)
263 KEY_MAP_GTK(Backspace
, GDK_BackSpace
)
264 KEY_MAP_ANDROID(Backspace
, AKEYCODE_DEL
)
267 KEY_MAP_WIN(Clear
, VK_CLEAR
)
268 KEY_MAP_WIN(Clear
, VK_OEM_CLEAR
)
269 KEY_MAP_COCOA(Clear
, kVK_ANSI_KeypadClear
)
270 KEY_MAP_GTK(Clear
, GDK_Clear
)
271 KEY_MAP_ANDROID(Clear
, AKEYCODE_CLEAR
)
274 KEY_MAP_WIN_CMD(Copy
, APPCOMMAND_COPY
)
275 KEY_MAP_GTK(Copy
, GDK_Copy
)
276 KEY_MAP_ANDROID(Copy
, AKEYCODE_COPY
)
279 KEY_MAP_WIN(CrSel
, VK_CRSEL
)
280 KEY_MAP_GTK(CrSel
, GDK_3270_CursorSelect
) // legacy IBM keyboard layout
283 KEY_MAP_WIN_CMD(Cut
, APPCOMMAND_CUT
)
284 KEY_MAP_GTK(Cut
, GDK_Cut
)
285 KEY_MAP_ANDROID(Cut
, AKEYCODE_CUT
)
288 KEY_MAP_WIN(Delete
, VK_DELETE
)
289 KEY_MAP_COCOA(Delete
, kVK_PC_Delete
)
290 KEY_MAP_GTK(Delete
, GDK_Delete
)
291 KEY_MAP_GTK(Delete
, GDK_KP_Delete
)
292 KEY_MAP_ANDROID(Delete
, AKEYCODE_FORWARD_DEL
)
295 KEY_MAP_WIN(EraseEof
, VK_EREOF
)
296 KEY_MAP_GTK(EraseEof
, GDK_3270_EraseEOF
) // legacy IBM keyboard layout
299 KEY_MAP_WIN(ExSel
, VK_EXSEL
)
300 KEY_MAP_GTK(ExSel
, GDK_3270_ExSelect
) // legacy IBM keyboard layout
303 KEY_MAP_WIN(Insert
, VK_INSERT
)
304 KEY_MAP_GTK(Insert
, GDK_Insert
)
305 KEY_MAP_GTK(Insert
, GDK_KP_Insert
)
306 KEY_MAP_ANDROID(Insert
, AKEYCODE_INSERT
)
309 KEY_MAP_WIN_CMD(Paste
, APPCOMMAND_PASTE
)
310 KEY_MAP_GTK(Paste
, GDK_Paste
)
311 KEY_MAP_ANDROID(Paste
, AKEYCODE_PASTE
)
314 KEY_MAP_WIN_CMD(Redo
, APPCOMMAND_REDO
)
315 KEY_MAP_GTK(Redo
, GDK_Redo
)
318 KEY_MAP_WIN_CMD(Undo
, APPCOMMAND_UNDO
)
319 KEY_MAP_GTK(Undo
, GDK_Undo
)
321 /******************************************************************************
323 ******************************************************************************/
325 KEY_MAP_WIN(Accept
, VK_ACCEPT
)
328 KEY_MAP_WIN_OTH(Attn
, VK_ATTN
) // not valid with Japanese keyboard layout
329 KEY_MAP_GTK(Attn
, GDK_3270_Attn
) // legacy IBM keyboard layout
332 KEY_MAP_WIN(Cancel
, VK_CANCEL
)
333 KEY_MAP_GTK(Cancel
, GDK_Cancel
)
336 KEY_MAP_WIN(ContextMenu
, VK_APPS
)
337 KEY_MAP_COCOA(ContextMenu
, kVK_PC_ContextMenu
)
338 KEY_MAP_GTK(ContextMenu
, GDK_Menu
)
339 KEY_MAP_ANDROID(ContextMenu
, AKEYCODE_MENU
)
342 KEY_MAP_WIN(Escape
, VK_ESCAPE
)
343 KEY_MAP_COCOA(Escape
, kVK_Escape
)
344 KEY_MAP_GTK(Escape
, GDK_Escape
)
345 KEY_MAP_ANDROID(Escape
, AKEYCODE_ESCAPE
)
348 KEY_MAP_WIN(Execute
, VK_EXECUTE
)
349 KEY_MAP_GTK(Execute
, GDK_Execute
)
352 KEY_MAP_WIN_CMD(Find
, APPCOMMAND_FIND
)
353 KEY_MAP_GTK(Find
, GDK_Find
)
356 KEY_MAP_WIN(Help
, VK_HELP
)
357 KEY_MAP_WIN_CMD(Help
, APPCOMMAND_HELP
)
358 KEY_MAP_COCOA(Help
, kVK_Help
)
359 KEY_MAP_GTK(Help
, GDK_Help
)
360 KEY_MAP_ANDROID(Help
, AKEYCODE_HELP
)
363 KEY_MAP_WIN(Pause
, VK_PAUSE
)
364 KEY_MAP_GTK(Pause
, GDK_Pause
)
365 // Break is typically mapped to Alt+Pause or Ctrl+Pause on GTK.
366 KEY_MAP_GTK(Pause
, GDK_Break
)
367 KEY_MAP_ANDROID(Pause
, AKEYCODE_BREAK
)
370 KEY_MAP_WIN(Play
, VK_PLAY
)
371 KEY_MAP_GTK(Play
, GDK_3270_Play
) // legacy IBM keyboard layout
374 KEY_MAP_WIN(Select
, VK_SELECT
)
375 KEY_MAP_GTK(Select
, GDK_Select
)
378 KEY_MAP_GTK(ZoomIn
, GDK_ZoomIn
)
379 KEY_MAP_ANDROID(ZoomIn
, AKEYCODE_ZOOM_IN
)
382 KEY_MAP_GTK(ZoomOut
, GDK_ZoomOut
)
383 KEY_MAP_ANDROID(ZoomOut
, AKEYCODE_ZOOM_OUT
)
385 /******************************************************************************
387 ******************************************************************************/
389 KEY_MAP_GTK(BrightnessDown
, GDK_MonBrightnessDown
)
390 KEY_MAP_ANDROID(BrightnessDown
, AKEYCODE_BRIGHTNESS_DOWN
)
393 KEY_MAP_GTK(BrightnessUp
, GDK_MonBrightnessUp
)
394 KEY_MAP_ANDROID(BrightnessUp
, AKEYCODE_BRIGHTNESS_UP
)
397 KEY_MAP_GTK(Eject
, GDK_Eject
)
398 KEY_MAP_ANDROID(Eject
, AKEYCODE_MEDIA_EJECT
)
401 KEY_MAP_GTK(LogOff
, GDK_LogOff
)
404 KEY_MAP_ANDROID(Power
, AKEYCODE_POWER
)
407 KEY_MAP_GTK(PowerOff
, GDK_PowerDown
)
408 KEY_MAP_GTK(PowerOff
, GDK_PowerOff
)
411 KEY_MAP_WIN(PrintScreen
, VK_SNAPSHOT
)
412 KEY_MAP_GTK(PrintScreen
, GDK_3270_PrintScreen
)
413 KEY_MAP_GTK(PrintScreen
, GDK_Print
)
414 KEY_MAP_GTK(PrintScreen
, GDK_Sys_Req
)
415 KEY_MAP_ANDROID(PrintScreen
, AKEYCODE_SYSRQ
)
418 KEY_MAP_GTK(Hibernate
, GDK_Hibernate
)
421 KEY_MAP_WIN(Standby
, VK_SLEEP
)
422 KEY_MAP_GTK(Standby
, GDK_Standby
)
423 KEY_MAP_GTK(Standby
, GDK_Suspend
)
424 KEY_MAP_GTK(Standby
, GDK_Sleep
)
425 KEY_MAP_ANDROID(Standby
, AKEYCODE_SLEEP
)
428 KEY_MAP_GTK(WakeUp
, GDK_WakeUp
)
429 KEY_MAP_ANDROID(WakeUp
, AKEYCODE_WAKEUP
)
431 /******************************************************************************
432 * IME and Composition Keys
433 ******************************************************************************/
435 KEY_MAP_GTK(AllCandidates
, GDK_MultipleCandidate
) // OADG 109, Zen Koho
438 KEY_MAP_WIN_JPN(Alphanumeric
, VK_OEM_ATTN
)
439 KEY_MAP_GTK(Alphanumeric
, GDK_Eisu_Shift
)
440 KEY_MAP_GTK(Alphanumeric
, GDK_Eisu_toggle
)
443 KEY_MAP_GTK(CodeInput
, GDK_Codeinput
) // OADG 109, Kanji Bangou
446 KEY_MAP_GTK(Compose
, GDK_Multi_key
) // "Multi Key" is "Compose key" on X
449 KEY_MAP_WIN(Convert
, VK_CONVERT
)
450 KEY_MAP_GTK(Convert
, GDK_Henkan
)
451 KEY_MAP_ANDROID(Convert
, AKEYCODE_HENKAN
)
454 KEY_MAP_GTK(Dead
, GDK_dead_grave
)
455 KEY_MAP_GTK(Dead
, GDK_dead_acute
)
456 KEY_MAP_GTK(Dead
, GDK_dead_circumflex
)
457 KEY_MAP_GTK(Dead
, GDK_dead_tilde
) // Same as GDK_dead_perispomeni
458 KEY_MAP_GTK(Dead
, GDK_dead_macron
)
459 KEY_MAP_GTK(Dead
, GDK_dead_breve
)
460 KEY_MAP_GTK(Dead
, GDK_dead_abovedot
)
461 KEY_MAP_GTK(Dead
, GDK_dead_diaeresis
)
462 KEY_MAP_GTK(Dead
, GDK_dead_abovering
)
463 KEY_MAP_GTK(Dead
, GDK_dead_doubleacute
)
464 KEY_MAP_GTK(Dead
, GDK_dead_caron
)
465 KEY_MAP_GTK(Dead
, GDK_dead_cedilla
)
466 KEY_MAP_GTK(Dead
, GDK_dead_ogonek
)
467 KEY_MAP_GTK(Dead
, GDK_dead_iota
)
468 KEY_MAP_GTK(Dead
, GDK_dead_voiced_sound
)
469 KEY_MAP_GTK(Dead
, GDK_dead_semivoiced_sound
)
470 KEY_MAP_GTK(Dead
, GDK_dead_belowdot
)
471 KEY_MAP_GTK(Dead
, GDK_dead_hook
)
472 KEY_MAP_GTK(Dead
, GDK_dead_horn
)
473 KEY_MAP_GTK(Dead
, GDK_dead_stroke
)
474 KEY_MAP_GTK(Dead
, GDK_dead_abovecomma
) // Same as GDK_dead_psili
475 KEY_MAP_GTK(Dead
, GDK_dead_abovereversedcomma
) // Same as GDK_dead_dasia
476 KEY_MAP_GTK(Dead
, GDK_dead_doublegrave
)
477 KEY_MAP_GTK(Dead
, GDK_dead_belowring
)
478 KEY_MAP_GTK(Dead
, GDK_dead_belowmacron
)
479 KEY_MAP_GTK(Dead
, GDK_dead_belowcircumflex
)
480 KEY_MAP_GTK(Dead
, GDK_dead_belowtilde
)
481 KEY_MAP_GTK(Dead
, GDK_dead_belowbreve
)
482 KEY_MAP_GTK(Dead
, GDK_dead_belowdiaeresis
)
483 KEY_MAP_GTK(Dead
, GDK_dead_invertedbreve
)
484 KEY_MAP_GTK(Dead
, GDK_dead_belowcomma
)
485 KEY_MAP_GTK(Dead
, GDK_dead_currency
)
486 KEY_MAP_GTK(Dead
, GDK_dead_a
)
487 KEY_MAP_GTK(Dead
, GDK_dead_A
)
488 KEY_MAP_GTK(Dead
, GDK_dead_e
)
489 KEY_MAP_GTK(Dead
, GDK_dead_E
)
490 KEY_MAP_GTK(Dead
, GDK_dead_i
)
491 KEY_MAP_GTK(Dead
, GDK_dead_I
)
492 KEY_MAP_GTK(Dead
, GDK_dead_o
)
493 KEY_MAP_GTK(Dead
, GDK_dead_O
)
494 KEY_MAP_GTK(Dead
, GDK_dead_u
)
495 KEY_MAP_GTK(Dead
, GDK_dead_U
)
496 KEY_MAP_GTK(Dead
, GDK_dead_small_schwa
)
497 KEY_MAP_GTK(Dead
, GDK_dead_capital_schwa
)
498 KEY_MAP_GTK(Dead
, GDK_dead_greek
)
501 KEY_MAP_WIN(FinalMode
, VK_FINAL
)
504 KEY_MAP_GTK(GroupFirst
, GDK_ISO_First_Group
)
507 KEY_MAP_GTK(GroupLast
, GDK_ISO_Last_Group
)
510 KEY_MAP_GTK(GroupNext
, GDK_ISO_Next_Group
)
511 KEY_MAP_ANDROID(GroupNext
, AKEYCODE_LANGUAGE_SWITCH
)
514 KEY_MAP_GTK(GroupPrevious
, GDK_ISO_Prev_Group
)
517 KEY_MAP_WIN(ModeChange
, VK_MODECHANGE
)
518 KEY_MAP_ANDROID(ModeChange
, AKEYCODE_SWITCH_CHARSET
)
521 KEY_MAP_WIN(NonConvert
, VK_NONCONVERT
)
522 KEY_MAP_GTK(NonConvert
, GDK_Muhenkan
)
523 KEY_MAP_ANDROID(NonConvert
, AKEYCODE_MUHENKAN
)
526 KEY_MAP_GTK(PreviousCandidate
, GDK_PreviousCandidate
) // OADG 109, Mae Koho
529 KEY_MAP_WIN(Process
, VK_PROCESSKEY
)
532 KEY_MAP_GTK(SingleCandidate
, GDK_SingleCandidate
)
534 /******************************************************************************
535 * Keys specific to Korean keyboards
536 ******************************************************************************/
538 KEY_MAP_WIN_KOR(HangulMode
, VK_HANGUL
/* same as VK_KANA */)
541 KEY_MAP_WIN_KOR(HanjaMode
, VK_HANJA
/* same as VK_KANJI */)
544 KEY_MAP_WIN(JunjaMode
, VK_JUNJA
)
546 /******************************************************************************
547 * Keys specific to Japanese keyboards
548 ******************************************************************************/
550 KEY_MAP_COCOA(Eisu
, kVK_JIS_Eisu
)
551 KEY_MAP_ANDROID(Eisu
, AKEYCODE_EISU
)
554 KEY_MAP_WIN_JPN(Hankaku
, VK_OEM_AUTO
)
555 KEY_MAP_GTK(Hankaku
, GDK_Hankaku
)
558 KEY_MAP_WIN_JPN(Hiragana
, VK_OEM_COPY
)
559 KEY_MAP_GTK(Hiragana
, GDK_Hiragana
)
562 KEY_MAP_GTK(HiraganaKatakana
, GDK_Hiragana_Katakana
)
563 KEY_MAP_ANDROID(HiraganaKatakana
, AKEYCODE_KATAKANA_HIRAGANA
)
566 // VK_KANA is never used with modern Japanese keyboard, however, IE maps it to
567 // KanaMode, therefore, we should use same map for it.
568 KEY_MAP_WIN_JPN(KanaMode
, VK_KANA
/* same as VK_HANGUL */)
569 KEY_MAP_WIN_JPN(KanaMode
, VK_ATTN
)
570 KEY_MAP_GTK(KanaMode
, GDK_Kana_Lock
)
571 KEY_MAP_GTK(KanaMode
, GDK_Kana_Shift
)
574 KEY_MAP_WIN_JPN(KanjiMode
, VK_KANJI
/* same as VK_HANJA */)
575 KEY_MAP_COCOA(KanjiMode
, kVK_JIS_Kana
) // Kana key opens IME
576 KEY_MAP_GTK(KanjiMode
, GDK_Kanji
) // Typically, Alt + Hankaku/Zenkaku key
577 // Assuming that KANA key of Android is the Kana key on Mac keyboard.
578 KEY_MAP_ANDROID(KanjiMode
, AKEYCODE_KANA
)
581 KEY_MAP_WIN_JPN(Katakana
, VK_OEM_FINISH
)
582 KEY_MAP_GTK(Katakana
, GDK_Katakana
)
585 KEY_MAP_WIN_JPN(Romaji
, VK_OEM_BACKTAB
)
586 KEY_MAP_GTK(Romaji
, GDK_Romaji
)
589 KEY_MAP_WIN_JPN(Zenkaku
, VK_OEM_ENLW
)
590 KEY_MAP_GTK(Zenkaku
, GDK_Zenkaku
)
593 KEY_MAP_GTK(ZenkakuHankaku
, GDK_Zenkaku_Hankaku
)
594 KEY_MAP_ANDROID(ZenkakuHankaku
, AKEYCODE_ZENKAKU_HANKAKU
)
596 /******************************************************************************
597 * General-Purpose Function Keys
598 ******************************************************************************/
600 KEY_MAP_WIN(F1
, VK_F1
)
601 KEY_MAP_COCOA(F1
, kVK_F1
)
602 KEY_MAP_GTK(F1
, GDK_F1
)
603 KEY_MAP_GTK(F1
, GDK_KP_F1
)
604 KEY_MAP_ANDROID(F1
, AKEYCODE_F1
)
607 KEY_MAP_WIN(F2
, VK_F2
)
608 KEY_MAP_COCOA(F2
, kVK_F2
)
609 KEY_MAP_GTK(F2
, GDK_F2
)
610 KEY_MAP_GTK(F2
, GDK_KP_F2
)
611 KEY_MAP_ANDROID(F2
, AKEYCODE_F2
)
614 KEY_MAP_WIN(F3
, VK_F3
)
615 KEY_MAP_COCOA(F3
, kVK_F3
)
616 KEY_MAP_GTK(F3
, GDK_F3
)
617 KEY_MAP_GTK(F3
, GDK_KP_F3
)
618 KEY_MAP_ANDROID(F3
, AKEYCODE_F3
)
621 KEY_MAP_WIN(F4
, VK_F4
)
622 KEY_MAP_COCOA(F4
, kVK_F4
)
623 KEY_MAP_GTK(F4
, GDK_F4
)
624 KEY_MAP_GTK(F4
, GDK_KP_F4
)
625 KEY_MAP_ANDROID(F4
, AKEYCODE_F4
)
628 KEY_MAP_WIN(F5
, VK_F5
)
629 KEY_MAP_COCOA(F5
, kVK_F5
)
630 KEY_MAP_GTK(F5
, GDK_F5
)
631 KEY_MAP_ANDROID(F5
, AKEYCODE_F5
)
634 KEY_MAP_WIN(F6
, VK_F6
)
635 KEY_MAP_COCOA(F6
, kVK_F6
)
636 KEY_MAP_GTK(F6
, GDK_F6
)
637 KEY_MAP_ANDROID(F6
, AKEYCODE_F6
)
640 KEY_MAP_WIN(F7
, VK_F7
)
641 KEY_MAP_COCOA(F7
, kVK_F7
)
642 KEY_MAP_GTK(F7
, GDK_F7
)
643 KEY_MAP_ANDROID(F7
, AKEYCODE_F7
)
646 KEY_MAP_WIN(F8
, VK_F8
)
647 KEY_MAP_COCOA(F8
, kVK_F8
)
648 KEY_MAP_GTK(F8
, GDK_F8
)
649 KEY_MAP_ANDROID(F8
, AKEYCODE_F8
)
652 KEY_MAP_WIN(F9
, VK_F9
)
653 KEY_MAP_COCOA(F9
, kVK_F9
)
654 KEY_MAP_GTK(F9
, GDK_F9
)
655 KEY_MAP_ANDROID(F9
, AKEYCODE_F9
)
658 KEY_MAP_WIN(F10
, VK_F10
)
659 KEY_MAP_COCOA(F10
, kVK_F10
)
660 KEY_MAP_GTK(F10
, GDK_F10
)
661 KEY_MAP_ANDROID(F10
, AKEYCODE_F10
)
664 KEY_MAP_WIN(F11
, VK_F11
)
665 KEY_MAP_COCOA(F11
, kVK_F11
)
666 KEY_MAP_GTK(F11
, GDK_F11
/* same as GDK_L1 */)
667 KEY_MAP_ANDROID(F11
, AKEYCODE_F11
)
670 KEY_MAP_WIN(F12
, VK_F12
)
671 KEY_MAP_COCOA(F12
, kVK_F12
)
672 KEY_MAP_GTK(F12
, GDK_F12
/* same as GDK_L2 */)
673 KEY_MAP_ANDROID(F12
, AKEYCODE_F12
)
676 KEY_MAP_WIN(F13
, VK_F13
)
677 KEY_MAP_COCOA(F13
, kVK_F13
)
678 KEY_MAP_GTK(F13
, GDK_F13
/* same as GDK_L3 */)
681 KEY_MAP_WIN(F14
, VK_F14
)
682 KEY_MAP_COCOA(F14
, kVK_F14
)
683 KEY_MAP_GTK(F14
, GDK_F14
/* same as GDK_L4 */)
686 KEY_MAP_WIN(F15
, VK_F15
)
687 KEY_MAP_COCOA(F15
, kVK_F15
)
688 KEY_MAP_GTK(F15
, GDK_F15
/* same as GDK_L5 */)
691 KEY_MAP_WIN(F16
, VK_F16
)
692 KEY_MAP_COCOA(F16
, kVK_F16
)
693 KEY_MAP_GTK(F16
, GDK_F16
/* same as GDK_L6 */)
696 KEY_MAP_WIN(F17
, VK_F17
)
697 KEY_MAP_COCOA(F17
, kVK_F17
)
698 KEY_MAP_GTK(F17
, GDK_F17
/* same as GDK_L7 */)
701 KEY_MAP_WIN(F18
, VK_F18
)
702 KEY_MAP_COCOA(F18
, kVK_F18
)
703 KEY_MAP_GTK(F18
, GDK_F18
/* same as GDK_L8 */)
706 KEY_MAP_WIN(F19
, VK_F19
)
707 KEY_MAP_COCOA(F19
, kVK_F19
)
708 KEY_MAP_GTK(F19
, GDK_F19
/* same as GDK_L9 */)
711 KEY_MAP_WIN(F20
, VK_F20
)
712 KEY_MAP_GTK(F20
, GDK_F20
/* same as GDK_L10 */)
715 KEY_MAP_WIN(F21
, VK_F21
)
716 KEY_MAP_GTK(F21
, GDK_F21
/* same as GDK_R1 */)
719 KEY_MAP_WIN(F22
, VK_F22
)
720 KEY_MAP_GTK(F22
, GDK_F22
/* same as GDK_R2 */)
723 KEY_MAP_WIN(F23
, VK_F23
)
724 KEY_MAP_GTK(F23
, GDK_F23
/* same as GDK_R3 */)
727 KEY_MAP_WIN(F24
, VK_F24
)
728 KEY_MAP_GTK(F24
, GDK_F24
/* same as GDK_R4 */)
731 KEY_MAP_GTK(F25
, GDK_F25
/* same as GDK_R5 */)
734 KEY_MAP_GTK(F26
, GDK_F26
/* same as GDK_R6 */)
737 KEY_MAP_GTK(F27
, GDK_F27
/* same as GDK_R7 */)
740 KEY_MAP_GTK(F28
, GDK_F28
/* same as GDK_R8 */)
743 KEY_MAP_GTK(F29
, GDK_F29
/* same as GDK_R9 */)
746 KEY_MAP_GTK(F30
, GDK_F30
/* same as GDK_R10 */)
749 KEY_MAP_GTK(F31
, GDK_F31
/* same as GDK_R11 */)
752 KEY_MAP_GTK(F32
, GDK_F32
/* same as GDK_R12 */)
755 KEY_MAP_GTK(F33
, GDK_F33
/* same as GDK_R13 */)
758 KEY_MAP_GTK(F34
, GDK_F34
/* same as GDK_R14 */)
761 KEY_MAP_GTK(F35
, GDK_F35
/* same as GDK_R15 */)
763 /******************************************************************************
765 ******************************************************************************/
767 KEY_MAP_WIN_CMD(ChannelDown
, APPCOMMAND_MEDIA_CHANNEL_DOWN
)
768 KEY_MAP_ANDROID(ChannelDown
, AKEYCODE_CHANNEL_DOWN
)
771 KEY_MAP_WIN_CMD(ChannelUp
, APPCOMMAND_MEDIA_CHANNEL_UP
)
772 KEY_MAP_ANDROID(ChannelUp
, AKEYCODE_CHANNEL_UP
)
775 // NOTE: This is not a key to close disk tray, this is a key to close document
777 KEY_MAP_WIN_CMD(Close
, APPCOMMAND_CLOSE
)
778 KEY_MAP_GTK(Close
, GDK_Close
)
781 KEY_MAP_WIN_CMD(MailForward
, APPCOMMAND_FORWARD_MAIL
)
782 KEY_MAP_GTK(MailForward
, GDK_MailForward
)
785 KEY_MAP_WIN_CMD(MailReply
, APPCOMMAND_REPLY_TO_MAIL
)
786 KEY_MAP_GTK(MailReply
, GDK_Reply
)
789 KEY_MAP_WIN_CMD(MailSend
, APPCOMMAND_SEND_MAIL
)
790 KEY_MAP_GTK(MailSend
, GDK_Send
)
793 KEY_MAP_WIN_CMD(MediaFastForward
, APPCOMMAND_MEDIA_FAST_FORWARD
)
794 KEY_MAP_GTK(MediaFastForward
, GDK_AudioForward
)
795 KEY_MAP_ANDROID(MediaFastForward
, AKEYCODE_MEDIA_FAST_FORWARD
)
798 KEY_MAP_WIN_CMD(MediaPause
, APPCOMMAND_MEDIA_PAUSE
)
799 KEY_MAP_GTK(MediaPause
, GDK_AudioPause
)
800 KEY_MAP_ANDROID(MediaPause
, AKEYCODE_MEDIA_PAUSE
)
803 KEY_MAP_WIN_CMD(MediaPlay
, APPCOMMAND_MEDIA_PLAY
)
804 KEY_MAP_GTK(MediaPlay
, GDK_AudioPlay
)
805 KEY_MAP_ANDROID(MediaPlay
, AKEYCODE_MEDIA_PLAY
)
808 KEY_MAP_WIN(MediaPlayPause
, VK_MEDIA_PLAY_PAUSE
)
809 KEY_MAP_WIN_CMD(MediaPlayPause
, APPCOMMAND_MEDIA_PLAY_PAUSE
)
810 KEY_MAP_ANDROID(MediaPlayPause
, AKEYCODE_MEDIA_PLAY_PAUSE
)
813 KEY_MAP_WIN_CMD(MediaRecord
, APPCOMMAND_MEDIA_RECORD
)
814 KEY_MAP_GTK(MediaRecord
, GDK_AudioRecord
)
815 KEY_MAP_ANDROID(MediaRecord
, AKEYCODE_MEDIA_RECORD
)
818 KEY_MAP_WIN_CMD(MediaRewind
, APPCOMMAND_MEDIA_REWIND
)
819 KEY_MAP_GTK(MediaRewind
, GDK_AudioRewind
)
820 KEY_MAP_ANDROID(MediaRewind
, AKEYCODE_MEDIA_REWIND
)
823 KEY_MAP_WIN(MediaStop
, VK_MEDIA_STOP
)
824 KEY_MAP_WIN_CMD(MediaStop
, APPCOMMAND_MEDIA_STOP
)
825 KEY_MAP_GTK(MediaStop
, GDK_AudioStop
)
826 KEY_MAP_ANDROID(MediaStop
, AKEYCODE_MEDIA_STOP
)
829 KEY_MAP_WIN(MediaTrackNext
, VK_MEDIA_NEXT_TRACK
)
830 KEY_MAP_WIN_CMD(MediaTrackNext
, APPCOMMAND_MEDIA_NEXTTRACK
)
831 KEY_MAP_GTK(MediaTrackNext
, GDK_AudioNext
)
832 KEY_MAP_ANDROID(MediaTrackNext
, AKEYCODE_MEDIA_NEXT
)
834 // MediaTrackPrevious
835 KEY_MAP_WIN(MediaTrackPrevious
, VK_MEDIA_PREV_TRACK
)
836 KEY_MAP_WIN_CMD(MediaTrackPrevious
, APPCOMMAND_MEDIA_PREVIOUSTRACK
)
837 KEY_MAP_GTK(MediaTrackPrevious
, GDK_AudioPrev
)
838 KEY_MAP_ANDROID(MediaTrackPrevious
, AKEYCODE_MEDIA_PREVIOUS
)
841 KEY_MAP_WIN_CMD(New
, APPCOMMAND_NEW
)
842 KEY_MAP_GTK(New
, GDK_New
)
845 KEY_MAP_WIN_CMD(Open
, APPCOMMAND_OPEN
)
846 KEY_MAP_GTK(Open
, GDK_Open
)
849 KEY_MAP_WIN_CMD(Print
, APPCOMMAND_PRINT
)
852 KEY_MAP_WIN_CMD(Save
, APPCOMMAND_SAVE
)
853 KEY_MAP_GTK(Save
, GDK_Save
)
856 KEY_MAP_WIN_CMD(SpellCheck
, APPCOMMAND_SPELL_CHECK
)
857 KEY_MAP_GTK(SpellCheck
, GDK_Spell
)
859 /******************************************************************************
861 *****************************************************************************/
862 // AudioBassBoostDown
863 KEY_MAP_WIN_CMD(AudioBassBoostDown
, APPCOMMAND_BASS_DOWN
)
866 KEY_MAP_WIN_CMD(AudioBassBoostUp
, APPCOMMAND_BASS_UP
)
869 KEY_MAP_WIN(AudioVolumeDown
, VK_VOLUME_DOWN
)
870 KEY_MAP_WIN_CMD(AudioVolumeDown
, APPCOMMAND_VOLUME_DOWN
)
871 KEY_MAP_COCOA(AudioVolumeDown
, kVK_VolumeDown
)
872 KEY_MAP_GTK(AudioVolumeDown
, GDK_AudioLowerVolume
)
873 KEY_MAP_ANDROID(AudioVolumeDown
, AKEYCODE_VOLUME_DOWN
)
876 KEY_MAP_WIN(AudioVolumeUp
, VK_VOLUME_UP
)
877 KEY_MAP_WIN_CMD(AudioVolumeUp
, APPCOMMAND_VOLUME_UP
)
878 KEY_MAP_COCOA(AudioVolumeUp
, kVK_VolumeUp
)
879 KEY_MAP_GTK(AudioVolumeUp
, GDK_AudioRaiseVolume
)
880 KEY_MAP_ANDROID(AudioVolumeUp
, AKEYCODE_VOLUME_UP
)
883 KEY_MAP_WIN(AudioVolumeMute
, VK_VOLUME_MUTE
)
884 KEY_MAP_WIN_CMD(AudioVolumeMute
, APPCOMMAND_VOLUME_MUTE
)
885 KEY_MAP_COCOA(AudioVolumeMute
, kVK_Mute
)
886 KEY_MAP_GTK(AudioVolumeMute
, GDK_AudioMute
)
887 KEY_MAP_ANDROID(AudioVolumeMute
, AKEYCODE_VOLUME_MUTE
)
889 // MicrophoneVolumeMute
890 KEY_MAP_ANDROID(MicrophoneVolumeMute
, AKEYCODE_MUTE
)
892 /******************************************************************************
894 ******************************************************************************/
896 KEY_MAP_GTK(LaunchCalculator
, GDK_Calculator
)
897 KEY_MAP_ANDROID(LaunchCalculator
, AKEYCODE_CALCULATOR
)
900 KEY_MAP_GTK(LaunchCalendar
, GDK_Calendar
)
901 KEY_MAP_ANDROID(LaunchCalendar
, AKEYCODE_CALENDAR
)
904 KEY_MAP_ANDROID(LaunchContacts
, AKEYCODE_CONTACTS
)
907 KEY_MAP_WIN(LaunchMail
, VK_LAUNCH_MAIL
)
908 KEY_MAP_WIN_CMD(LaunchMail
, APPCOMMAND_LAUNCH_MAIL
)
909 KEY_MAP_GTK(LaunchMail
, GDK_Mail
)
910 KEY_MAP_ANDROID(LaunchMail
, AKEYCODE_ENVELOPE
)
913 KEY_MAP_WIN(LaunchMediaPlayer
, VK_LAUNCH_MEDIA_SELECT
)
914 KEY_MAP_WIN_CMD(LaunchMediaPlayer
, APPCOMMAND_LAUNCH_MEDIA_SELECT
)
915 // GDK_CD is defined as "Launch CD/DVD player" in XF86keysym.h.
916 // Therefore, let's map it to media player rather than music player.
917 KEY_MAP_GTK(LaunchMediaPlayer
, GDK_CD
)
918 KEY_MAP_GTK(LaunchMediaPlayer
, GDK_Video
)
919 KEY_MAP_GTK(LaunchMediaPlayer
, GDK_AudioMedia
)
922 KEY_MAP_GTK(LaunchMusicPlayer
, GDK_Music
)
923 KEY_MAP_ANDROID(LaunchMusicPlayer
, AKEYCODE_MUSIC
)
926 KEY_MAP_GTK(LaunchMyComputer
, GDK_MyComputer
)
927 KEY_MAP_GTK(LaunchMyComputer
, GDK_Explorer
)
930 KEY_MAP_GTK(LaunchScreenSaver
, GDK_ScreenSaver
)
933 KEY_MAP_GTK(LaunchSpreadsheet
, GDK_Excel
)
936 KEY_MAP_GTK(LaunchWebBrowser
, GDK_WWW
)
937 KEY_MAP_ANDROID(LaunchWebBrowser
, AKEYCODE_EXPLORER
)
940 KEY_MAP_GTK(LaunchWebCam
, GDK_WebCam
)
942 // LaunchWordProcessor
943 KEY_MAP_GTK(LaunchWordProcessor
, GDK_Word
)
945 // LaunchApplication1
946 KEY_MAP_WIN(LaunchApplication1
, VK_LAUNCH_APP1
)
947 KEY_MAP_WIN_CMD(LaunchApplication1
, APPCOMMAND_LAUNCH_APP1
)
948 KEY_MAP_GTK(LaunchApplication1
, GDK_Launch0
)
950 // LaunchApplication2
951 KEY_MAP_WIN(LaunchApplication2
, VK_LAUNCH_APP2
)
952 KEY_MAP_WIN_CMD(LaunchApplication2
, APPCOMMAND_LAUNCH_APP2
)
953 KEY_MAP_GTK(LaunchApplication2
, GDK_Launch1
)
955 // LaunchApplication3
956 KEY_MAP_GTK(LaunchApplication3
, GDK_Launch2
)
958 // LaunchApplication4
959 KEY_MAP_GTK(LaunchApplication4
, GDK_Launch3
)
961 // LaunchApplication5
962 KEY_MAP_GTK(LaunchApplication5
, GDK_Launch4
)
964 // LaunchApplication6
965 KEY_MAP_GTK(LaunchApplication6
, GDK_Launch5
)
967 // LaunchApplication7
968 KEY_MAP_GTK(LaunchApplication7
, GDK_Launch6
)
970 // LaunchApplication8
971 KEY_MAP_GTK(LaunchApplication8
, GDK_Launch7
)
973 // LaunchApplication9
974 KEY_MAP_GTK(LaunchApplication9
, GDK_Launch8
)
976 // LaunchApplication10
977 KEY_MAP_GTK(LaunchApplication10
, GDK_Launch9
)
979 // LaunchApplication11
980 KEY_MAP_GTK(LaunchApplication11
, GDK_LaunchA
)
982 // LaunchApplication12
983 KEY_MAP_GTK(LaunchApplication12
, GDK_LaunchB
)
985 // LaunchApplication13
986 KEY_MAP_GTK(LaunchApplication13
, GDK_LaunchC
)
988 // LaunchApplication14
989 KEY_MAP_GTK(LaunchApplication14
, GDK_LaunchD
)
991 // LaunchApplication15
992 KEY_MAP_GTK(LaunchApplication15
, GDK_LaunchE
)
994 // LaunchApplication16
995 KEY_MAP_GTK(LaunchApplication16
, GDK_LaunchF
)
997 // LaunchApplication17
999 // LaunchApplication18
1001 /******************************************************************************
1003 ******************************************************************************/
1005 KEY_MAP_WIN(BrowserBack
, VK_BROWSER_BACK
)
1006 KEY_MAP_WIN_CMD(BrowserBack
, APPCOMMAND_BROWSER_BACKWARD
)
1007 KEY_MAP_GTK(BrowserBack
, GDK_Back
)
1010 KEY_MAP_WIN(BrowserFavorites
, VK_BROWSER_FAVORITES
)
1011 KEY_MAP_WIN_CMD(BrowserFavorites
, APPCOMMAND_BROWSER_FAVORITES
)
1012 KEY_MAP_ANDROID(BrowserFavorites
, AKEYCODE_BOOKMARK
)
1015 KEY_MAP_WIN(BrowserForward
, VK_BROWSER_FORWARD
)
1016 KEY_MAP_WIN_CMD(BrowserForward
, APPCOMMAND_BROWSER_FORWARD
)
1017 KEY_MAP_GTK(BrowserForward
, GDK_Forward
)
1018 KEY_MAP_ANDROID(BrowserForward
, AKEYCODE_FORWARD
)
1021 KEY_MAP_WIN(BrowserHome
, VK_BROWSER_HOME
)
1022 KEY_MAP_WIN_CMD(BrowserHome
, APPCOMMAND_BROWSER_HOME
)
1023 KEY_MAP_GTK(BrowserHome
, GDK_HomePage
)
1026 KEY_MAP_WIN(BrowserRefresh
, VK_BROWSER_REFRESH
)
1027 KEY_MAP_WIN_CMD(BrowserRefresh
, APPCOMMAND_BROWSER_REFRESH
)
1028 KEY_MAP_GTK(BrowserRefresh
, GDK_Refresh
)
1029 KEY_MAP_GTK(BrowserRefresh
, GDK_Reload
)
1032 KEY_MAP_WIN(BrowserSearch
, VK_BROWSER_SEARCH
)
1033 KEY_MAP_WIN_CMD(BrowserSearch
, APPCOMMAND_BROWSER_SEARCH
)
1034 KEY_MAP_GTK(BrowserSearch
, GDK_Search
)
1035 KEY_MAP_ANDROID(BrowserSearch
, AKEYCODE_SEARCH
)
1038 KEY_MAP_WIN(BrowserStop
, VK_BROWSER_STOP
)
1039 KEY_MAP_WIN_CMD(BrowserStop
, APPCOMMAND_BROWSER_STOP
)
1040 KEY_MAP_GTK(BrowserStop
, GDK_Stop
)
1042 /******************************************************************************
1044 ******************************************************************************/
1046 KEY_MAP_ANDROID(AppSwitch
, AKEYCODE_APP_SWITCH
)
1049 KEY_MAP_ANDROID(Call
, AKEYCODE_CALL
)
1052 KEY_MAP_ANDROID(Camera
, AKEYCODE_CAMERA
)
1055 KEY_MAP_ANDROID(CameraFocus
, AKEYCODE_FOCUS
)
1058 KEY_MAP_ANDROID(EndCall
, AKEYCODE_ENDCALL
)
1061 KEY_MAP_ANDROID(GoBack
, AKEYCODE_BACK
)
1064 KEY_MAP_ANDROID(GoHome
, AKEYCODE_HOME
)
1067 KEY_MAP_ANDROID(HeadsetHook
, AKEYCODE_HEADSETHOOK
)
1070 KEY_MAP_ANDROID(Notification
, AKEYCODE_NOTIFICATION
)
1073 KEY_MAP_ANDROID(MannerMode
, AKEYCODE_MANNER_MODE
)
1075 /******************************************************************************
1077 ******************************************************************************/
1079 KEY_MAP_ANDROID(TV
, AKEYCODE_TV
)
1082 KEY_MAP_ANDROID(TV3DMode
, AKEYCODE_3D_MODE
)
1085 KEY_MAP_ANDROID(TVAntennaCable
, AKEYCODE_TV_ANTENNA_CABLE
)
1087 // TVAudioDescription
1088 KEY_MAP_ANDROID(TVAudioDescription
, AKEYCODE_TV_AUDIO_DESCRIPTION
)
1090 // TVAudioDescriptionMixDown
1091 KEY_MAP_ANDROID(TVAudioDescriptionMixDown
,
1092 AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN
)
1094 // TVAudioDescriptionMixUp
1095 KEY_MAP_ANDROID(TVAudioDescriptionMixUp
, AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP
)
1098 KEY_MAP_ANDROID(TVContentsMenu
, AKEYCODE_TV_CONTENTS_MENU
)
1101 KEY_MAP_ANDROID(TVDataService
, AKEYCODE_TV_DATA_SERVICE
)
1104 KEY_MAP_ANDROID(TVInput
, AKEYCODE_TV_INPUT
)
1106 // TVInputComponent1
1107 KEY_MAP_ANDROID(TVInputComponent1
, AKEYCODE_TV_INPUT_COMPONENT_1
)
1109 // TVInputComponent2
1110 KEY_MAP_ANDROID(TVInputComponent2
, AKEYCODE_TV_INPUT_COMPONENT_2
)
1112 // TVInputComposite1
1113 KEY_MAP_ANDROID(TVInputComposite1
, AKEYCODE_TV_INPUT_COMPOSITE_1
)
1115 // TVInputComposite2
1116 KEY_MAP_ANDROID(TVInputComposite2
, AKEYCODE_TV_INPUT_COMPOSITE_2
)
1119 KEY_MAP_ANDROID(TVInputHDMI1
, AKEYCODE_TV_INPUT_HDMI_1
)
1122 KEY_MAP_ANDROID(TVInputHDMI2
, AKEYCODE_TV_INPUT_HDMI_2
)
1125 KEY_MAP_ANDROID(TVInputHDMI3
, AKEYCODE_TV_INPUT_HDMI_3
)
1128 KEY_MAP_ANDROID(TVInputHDMI4
, AKEYCODE_TV_INPUT_HDMI_4
)
1131 KEY_MAP_ANDROID(TVInputVGA1
, AKEYCODE_TV_INPUT_VGA_1
)
1134 KEY_MAP_ANDROID(TVNetwork
, AKEYCODE_TV_NETWORK
)
1137 KEY_MAP_ANDROID(TVNumberEntry
, AKEYCODE_TV_NUMBER_ENTRY
)
1140 KEY_MAP_ANDROID(TVPower
, AKEYCODE_TV_POWER
)
1143 KEY_MAP_ANDROID(TVRadioService
, AKEYCODE_TV_RADIO_SERVICE
)
1146 KEY_MAP_ANDROID(TVSatellite
, AKEYCODE_TV_SATELLITE
)
1149 KEY_MAP_ANDROID(TVSatelliteBS
, AKEYCODE_TV_SATELLITE_BS
)
1152 KEY_MAP_ANDROID(TVSatelliteCS
, AKEYCODE_TV_SATELLITE_CS
)
1154 // TVSatelliteToggle
1155 KEY_MAP_ANDROID(TVSatelliteToggle
, AKEYCODE_TV_SATELLITE_SERVICE
)
1157 // TVTerrestrialAnalog
1158 KEY_MAP_ANDROID(TVTerrestrialAnalog
, AKEYCODE_TV_TERRESTRIAL_ANALOG
)
1160 // TVTerrestrialDigital
1161 KEY_MAP_ANDROID(TVTerrestrialDigital
, AKEYCODE_TV_TERRESTRIAL_DIGITAL
)
1164 KEY_MAP_ANDROID(TVTimer
, AKEYCODE_TV_TIMER_PROGRAMMING
)
1166 /******************************************************************************
1167 * Media Controller Keys
1168 ******************************************************************************/
1170 KEY_MAP_ANDROID(AVRInput
, AKEYCODE_AVR_INPUT
)
1173 KEY_MAP_ANDROID(AVRPower
, AKEYCODE_AVR_POWER
)
1176 KEY_MAP_GTK(ColorF0Red
, GDK_Red
)
1177 KEY_MAP_ANDROID(ColorF0Red
, AKEYCODE_PROG_RED
)
1180 KEY_MAP_GTK(ColorF1Green
, GDK_Green
)
1181 KEY_MAP_ANDROID(ColorF1Green
, AKEYCODE_PROG_GREEN
)
1184 KEY_MAP_GTK(ColorF2Yellow
, GDK_Yellow
)
1185 KEY_MAP_ANDROID(ColorF2Yellow
, AKEYCODE_PROG_YELLOW
)
1188 KEY_MAP_GTK(ColorF3Blue
, GDK_Blue
)
1189 KEY_MAP_ANDROID(ColorF3Blue
, AKEYCODE_PROG_BLUE
)
1191 // ClosedCaptionToggle
1192 KEY_MAP_ANDROID(ClosedCaptionToggle
, AKEYCODE_CAPTIONS
)
1195 KEY_MAP_GTK(Dimmer
, GDK_BrightnessAdjust
)
1198 KEY_MAP_ANDROID(DVR
, AKEYCODE_DVR
)
1201 KEY_MAP_ANDROID(Guide
, AKEYCODE_GUIDE
)
1204 KEY_MAP_ANDROID(Info
, AKEYCODE_INFO
)
1207 KEY_MAP_ANDROID(MediaAudioTrack
, AKEYCODE_MEDIA_AUDIO_TRACK
)
1210 KEY_MAP_ANDROID(MediaLast
, AKEYCODE_LAST_CHANNEL
)
1213 KEY_MAP_ANDROID(MediaTopMenu
, AKEYCODE_MEDIA_TOP_MENU
)
1215 // MediaSkipBackward
1216 KEY_MAP_ANDROID(MediaSkipBackward
, AKEYCODE_MEDIA_SKIP_BACKWARD
)
1219 KEY_MAP_ANDROID(MediaSkipForward
, AKEYCODE_MEDIA_SKIP_FORWARD
)
1221 // MediaStepBackward
1222 KEY_MAP_ANDROID(MediaStepBackward
, AKEYCODE_MEDIA_STEP_BACKWARD
)
1225 KEY_MAP_ANDROID(MediaStepForward
, AKEYCODE_MEDIA_STEP_FORWARD
)
1228 KEY_MAP_ANDROID(NavigateIn
, AKEYCODE_NAVIGATE_IN
)
1231 KEY_MAP_ANDROID(NavigateNext
, AKEYCODE_NAVIGATE_NEXT
)
1234 KEY_MAP_ANDROID(NavigateOut
, AKEYCODE_NAVIGATE_OUT
)
1237 KEY_MAP_ANDROID(NavigatePrevious
, AKEYCODE_NAVIGATE_PREVIOUS
)
1240 KEY_MAP_ANDROID(Pairing
, AKEYCODE_PAIRING
)
1243 KEY_MAP_ANDROID(PinPToggle
, AKEYCODE_WINDOW
)
1246 KEY_MAP_GTK(RandomToggle
, GDK_AudioRandomPlay
)
1249 KEY_MAP_ANDROID(Settings
, AKEYCODE_SETTINGS
)
1252 KEY_MAP_ANDROID(STBInput
, AKEYCODE_STB_INPUT
)
1255 KEY_MAP_ANDROID(STBPower
, AKEYCODE_STB_POWER
)
1258 KEY_MAP_GTK(Subtitle
, GDK_Subtitle
)
1261 KEY_MAP_ANDROID(Teletext
, AKEYCODE_TV_TELETEXT
)
1264 KEY_MAP_GTK(VideoModeNext
, GDK_Next_VMode
)
1267 KEY_MAP_WIN(ZoomToggle
, VK_ZOOM
)
1268 KEY_MAP_ANDROID(ZoomToggle
, AKEYCODE_TV_ZOOM_MODE
)
1270 /******************************************************************************
1271 * Keys not defined by any standards
1272 ******************************************************************************/
1274 KEY_MAP_ANDROID(SoftLeft
, AKEYCODE_SOFT_LEFT
)
1277 KEY_MAP_ANDROID(SoftRight
, AKEYCODE_SOFT_RIGHT
)
1280 #undef KEY_MAP_WIN_JPN
1281 #undef KEY_MAP_WIN_KOR
1282 #undef KEY_MAP_WIN_OTH
1283 #undef KEY_MAP_WIN_CMD
1284 #undef KEY_MAP_COCOA
1286 #undef KEY_MAP_ANDROID