Line data Source code
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/. */
6 :
7 : /**
8 : * This header file defines simple key mapping between native keycode value and
9 : * DOM key name index.
10 : * You must define NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX macro before include
11 : * this.
12 : *
13 : * It must have two arguments, (aNativeKey, aKeyNameIndex).
14 : * aNativeKey is a native keycode value.
15 : * aKeyNameIndex is the widget::KeyNameIndex value.
16 : */
17 :
18 : // Windows
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 : // Android and B2G
29 : #define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey)
30 : // Only for Android
31 : #define KEY_MAP_ANDROID_EXCEPT_B2G(aCPPKeyName, aNativeKey)
32 : // Only for B2G
33 : #define KEY_MAP_B2G(aCPPKeyName, aNativeKey)
34 :
35 : #if defined(XP_WIN)
36 : #if defined(NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
37 : // KEY_MAP_WIN() defines the mapping not depending on keyboard layout.
38 : #undef KEY_MAP_WIN
39 : #define KEY_MAP_WIN(aCPPKeyName, aNativeKey) \
40 : NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
41 : #elif defined(NS_JAPANESE_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
42 : // KEY_MAP_WIN_JPN() defines the mapping which is valid only with Japanese
43 : // keyboard layout.
44 : #undef KEY_MAP_WIN_JPN
45 : #define KEY_MAP_WIN_JPN(aCPPKeyName, aNativeKey) \
46 : NS_JAPANESE_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
47 : KEY_NAME_INDEX_##aCPPKeyName)
48 : #elif defined(NS_KOREAN_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
49 : // KEY_MAP_WIN_KOR() defines the mapping which is valid only with Korean
50 : // keyboard layout.
51 : #undef KEY_MAP_WIN_KOR
52 : #define KEY_MAP_WIN_KOR(aCPPKeyName, aNativeKey) \
53 : NS_KOREAN_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
54 : KEY_NAME_INDEX_##aCPPKeyName)
55 : #elif defined(NS_OTHER_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
56 : // KEY_MAP_WIN_OTH() defines the mapping which is valid with neither
57 : // Japanese keyboard layout nor Korean keyboard layout.
58 : #undef KEY_MAP_WIN_OTH
59 : #define KEY_MAP_WIN_OTH(aCPPKeyName, aNativeKey) \
60 : NS_OTHER_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \
61 : KEY_NAME_INDEX_##aCPPKeyName)
62 : #elif defined(NS_APPCOMMAND_TO_DOM_KEY_NAME_INDEX)
63 : // KEY_MAP_WIN_CMD() defines the mapping from APPCOMMAND_* of WM_APPCOMMAND.
64 : #undef KEY_MAP_WIN_CMD
65 : #define KEY_MAP_WIN_CMD(aCPPKeyName, aAppCommand) \
66 : NS_APPCOMMAND_TO_DOM_KEY_NAME_INDEX(aAppCommand, \
67 : KEY_NAME_INDEX_##aCPPKeyName)
68 : #else
69 : #error Any NS_*_TO_DOM_KEY_NAME_INDEX() is not defined.
70 : #endif // #if defined(NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX) ...
71 : #elif defined(XP_MACOSX)
72 : #undef KEY_MAP_COCOA
73 : #define KEY_MAP_COCOA(aCPPKeyName, aNativeKey) \
74 : NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
75 : #elif defined(MOZ_WIDGET_GTK)
76 : #undef KEY_MAP_GTK
77 : #define KEY_MAP_GTK(aCPPKeyName, aNativeKey) \
78 : NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
79 : #elif defined(ANDROID)
80 : #undef KEY_MAP_ANDROID
81 : #define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey) \
82 : NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
83 : #ifndef MOZ_B2G
84 : #undef KEY_MAP_ANDROID_EXCEPT_B2G
85 : #define KEY_MAP_ANDROID_EXCEPT_B2G(aCPPKeyName, aNativeKey) \
86 : NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
87 : #else // #ifndef MOZ_B2G
88 : #undef KEY_MAP_B2G
89 : #define KEY_MAP_B2G(aCPPKeyName, aNativeKey) \
90 : NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
91 : #endif // #ifndef MOZ_B2G #else
92 : #endif
93 :
94 : /******************************************************************************
95 : * Modifier Keys
96 : ******************************************************************************/
97 : // Alt
98 : KEY_MAP_WIN (Alt, VK_MENU)
99 : KEY_MAP_WIN (Alt, VK_LMENU)
100 : KEY_MAP_WIN (Alt, VK_RMENU)
101 : KEY_MAP_COCOA (Alt, kVK_Option)
102 : KEY_MAP_COCOA (Alt, kVK_RightOption)
103 0 : KEY_MAP_GTK (Alt, GDK_Alt_L)
104 0 : KEY_MAP_GTK (Alt, GDK_Alt_R)
105 : KEY_MAP_ANDROID (Alt, AKEYCODE_ALT_LEFT)
106 : KEY_MAP_ANDROID (Alt, AKEYCODE_ALT_RIGHT)
107 :
108 : // AltGraph
109 0 : KEY_MAP_GTK (AltGraph, GDK_Mode_switch /* same as GDK_kana_switch,
110 : GDK_ISO_Group_Shift and
111 : GDK_script_switch */)
112 : // Let's treat both Level 3 shift and Level 5 shift as AltGr.
113 : // And also, let's treat Latch key and Lock key as AltGr key too like
114 : // GDK_Shift_Lock.
115 0 : KEY_MAP_GTK (AltGraph, GDK_ISO_Level3_Shift)
116 0 : KEY_MAP_GTK (AltGraph, GDK_ISO_Level3_Latch)
117 0 : KEY_MAP_GTK (AltGraph, GDK_ISO_Level3_Lock)
118 0 : KEY_MAP_GTK (AltGraph, GDK_ISO_Level5_Shift)
119 0 : KEY_MAP_GTK (AltGraph, GDK_ISO_Level5_Latch)
120 0 : KEY_MAP_GTK (AltGraph, GDK_ISO_Level5_Lock)
121 :
122 : // CapsLock
123 : KEY_MAP_WIN (CapsLock, VK_CAPITAL)
124 : KEY_MAP_COCOA (CapsLock, kVK_CapsLock)
125 0 : KEY_MAP_GTK (CapsLock, GDK_Caps_Lock)
126 : KEY_MAP_ANDROID (CapsLock, AKEYCODE_CAPS_LOCK)
127 :
128 : // Control
129 : KEY_MAP_WIN (Control, VK_CONTROL)
130 : KEY_MAP_WIN (Control, VK_LCONTROL)
131 : KEY_MAP_WIN (Control, VK_RCONTROL)
132 : KEY_MAP_COCOA (Control, kVK_Control)
133 : KEY_MAP_COCOA (Control, kVK_RightControl)
134 0 : KEY_MAP_GTK (Control, GDK_Control_L)
135 0 : KEY_MAP_GTK (Control, GDK_Control_R)
136 : KEY_MAP_ANDROID (Control, AKEYCODE_CTRL_LEFT)
137 : KEY_MAP_ANDROID (Control, AKEYCODE_CTRL_RIGHT)
138 :
139 : // Fn
140 : KEY_MAP_COCOA (Fn, kVK_Function)
141 : KEY_MAP_ANDROID (Fn, AKEYCODE_FUNCTION)
142 :
143 : // Meta
144 : KEY_MAP_COCOA (Meta, kVK_Command)
145 : KEY_MAP_COCOA (Meta, kVK_RightCommand)
146 0 : KEY_MAP_GTK (Meta, GDK_Meta_L)
147 0 : KEY_MAP_GTK (Meta, GDK_Meta_R)
148 : KEY_MAP_ANDROID (Meta, AKEYCODE_META_LEFT)
149 : KEY_MAP_ANDROID (Meta, AKEYCODE_META_RIGHT)
150 :
151 : // NumLock
152 : KEY_MAP_WIN (NumLock, VK_NUMLOCK)
153 0 : KEY_MAP_GTK (NumLock, GDK_Num_Lock)
154 : KEY_MAP_ANDROID (NumLock, AKEYCODE_NUM_LOCK)
155 :
156 : // OS
157 : KEY_MAP_WIN (OS, VK_LWIN)
158 : KEY_MAP_WIN (OS, VK_RWIN)
159 0 : KEY_MAP_GTK (OS, GDK_Super_L)
160 0 : KEY_MAP_GTK (OS, GDK_Super_R)
161 0 : KEY_MAP_GTK (OS, GDK_Hyper_L)
162 0 : KEY_MAP_GTK (OS, GDK_Hyper_R)
163 :
164 : // ScrollLock
165 : KEY_MAP_WIN (ScrollLock, VK_SCROLL)
166 0 : KEY_MAP_GTK (ScrollLock, GDK_Scroll_Lock)
167 : KEY_MAP_ANDROID (ScrollLock, AKEYCODE_SCROLL_LOCK)
168 :
169 : // Shift
170 : KEY_MAP_WIN (Shift, VK_SHIFT)
171 : KEY_MAP_WIN (Shift, VK_LSHIFT)
172 : KEY_MAP_WIN (Shift, VK_RSHIFT)
173 : KEY_MAP_COCOA (Shift, kVK_Shift)
174 : KEY_MAP_COCOA (Shift, kVK_RightShift)
175 0 : KEY_MAP_GTK (Shift, GDK_Shift_L)
176 0 : KEY_MAP_GTK (Shift, GDK_Shift_R)
177 0 : KEY_MAP_GTK (Shift, GDK_Shift_Lock) // Let's treat as Shift key (bug 769159)
178 : KEY_MAP_ANDROID (Shift, AKEYCODE_SHIFT_LEFT)
179 : KEY_MAP_ANDROID (Shift, AKEYCODE_SHIFT_RIGHT)
180 :
181 : // Symbol
182 : KEY_MAP_ANDROID (Symbol, AKEYCODE_SYM)
183 :
184 : /******************************************************************************
185 : * Whitespace Keys
186 : ******************************************************************************/
187 : // Enter
188 : KEY_MAP_WIN (Enter, VK_RETURN)
189 : KEY_MAP_COCOA (Enter, kVK_Return)
190 : KEY_MAP_COCOA (Enter, kVK_ANSI_KeypadEnter)
191 : KEY_MAP_COCOA (Enter, kVK_Powerbook_KeypadEnter)
192 0 : KEY_MAP_GTK (Enter, GDK_Return)
193 0 : KEY_MAP_GTK (Enter, GDK_KP_Enter)
194 0 : KEY_MAP_GTK (Enter, GDK_ISO_Enter)
195 0 : KEY_MAP_GTK (Enter, GDK_3270_Enter)
196 : KEY_MAP_ANDROID (Enter, AKEYCODE_DPAD_CENTER)
197 : KEY_MAP_ANDROID (Enter, AKEYCODE_ENTER)
198 : KEY_MAP_ANDROID (Enter, AKEYCODE_NUMPAD_ENTER)
199 :
200 : // Tab
201 : KEY_MAP_WIN (Tab, VK_TAB)
202 : KEY_MAP_COCOA (Tab, kVK_Tab)
203 0 : KEY_MAP_GTK (Tab, GDK_Tab)
204 0 : KEY_MAP_GTK (Tab, GDK_ISO_Left_Tab) // Shift+Tab
205 0 : KEY_MAP_GTK (Tab, GDK_KP_Tab)
206 : KEY_MAP_ANDROID (Tab, AKEYCODE_TAB)
207 :
208 : /******************************************************************************
209 : * Navigation Keys
210 : ******************************************************************************/
211 : // ArrowDown
212 : KEY_MAP_WIN (ArrowDown, VK_DOWN)
213 : KEY_MAP_COCOA (ArrowDown, kVK_DownArrow)
214 0 : KEY_MAP_GTK (ArrowDown, GDK_Down)
215 0 : KEY_MAP_GTK (ArrowDown, GDK_KP_Down)
216 : KEY_MAP_ANDROID (ArrowDown, AKEYCODE_DPAD_DOWN)
217 :
218 : // ArrowLeft
219 : KEY_MAP_WIN (ArrowLeft, VK_LEFT)
220 : KEY_MAP_COCOA (ArrowLeft, kVK_LeftArrow)
221 0 : KEY_MAP_GTK (ArrowLeft, GDK_Left)
222 0 : KEY_MAP_GTK (ArrowLeft, GDK_KP_Left)
223 : KEY_MAP_ANDROID (ArrowLeft, AKEYCODE_DPAD_LEFT)
224 :
225 : // ArrowRight
226 : KEY_MAP_WIN (ArrowRight, VK_RIGHT)
227 : KEY_MAP_COCOA (ArrowRight, kVK_RightArrow)
228 0 : KEY_MAP_GTK (ArrowRight, GDK_Right)
229 0 : KEY_MAP_GTK (ArrowRight, GDK_KP_Right)
230 : KEY_MAP_ANDROID (ArrowRight, AKEYCODE_DPAD_RIGHT)
231 :
232 : // ArrowUp
233 : KEY_MAP_WIN (ArrowUp, VK_UP)
234 : KEY_MAP_COCOA (ArrowUp, kVK_UpArrow)
235 0 : KEY_MAP_GTK (ArrowUp, GDK_Up)
236 0 : KEY_MAP_GTK (ArrowUp, GDK_KP_Up)
237 : KEY_MAP_ANDROID (ArrowUp, AKEYCODE_DPAD_UP)
238 :
239 : // End
240 : KEY_MAP_WIN (End, VK_END)
241 : KEY_MAP_COCOA (End, kVK_End)
242 0 : KEY_MAP_GTK (End, GDK_End)
243 0 : KEY_MAP_GTK (End, GDK_KP_End)
244 : KEY_MAP_ANDROID (End, AKEYCODE_MOVE_END)
245 :
246 : // Home
247 : KEY_MAP_WIN (Home, VK_HOME)
248 : KEY_MAP_COCOA (Home, kVK_Home)
249 0 : KEY_MAP_GTK (Home, GDK_Home)
250 0 : KEY_MAP_GTK (Home, GDK_KP_Home)
251 : KEY_MAP_ANDROID (Home, AKEYCODE_MOVE_HOME)
252 :
253 : // PageDown
254 : KEY_MAP_WIN (PageDown, VK_NEXT)
255 : KEY_MAP_COCOA (PageDown, kVK_PageDown)
256 0 : KEY_MAP_GTK (PageDown, GDK_Page_Down /* same as GDK_Next */)
257 0 : KEY_MAP_GTK (PageDown, GDK_KP_Page_Down /* same as GDK_KP_Next */)
258 : KEY_MAP_ANDROID (PageDown, AKEYCODE_PAGE_DOWN)
259 :
260 : // PageUp
261 : KEY_MAP_WIN (PageUp, VK_PRIOR)
262 : KEY_MAP_COCOA (PageUp, kVK_PageUp)
263 0 : KEY_MAP_GTK (PageUp, GDK_Page_Up /* same as GDK_Prior */)
264 0 : KEY_MAP_GTK (PageUp, GDK_KP_Page_Up /* same as GDK_KP_Prior */)
265 : KEY_MAP_ANDROID (PageUp, AKEYCODE_PAGE_UP)
266 :
267 : /******************************************************************************
268 : * Editing Keys
269 : ******************************************************************************/
270 : // Backspace
271 : KEY_MAP_WIN (Backspace, VK_BACK)
272 : KEY_MAP_COCOA (Backspace, kVK_PC_Backspace)
273 0 : KEY_MAP_GTK (Backspace, GDK_BackSpace)
274 : KEY_MAP_ANDROID (Backspace, AKEYCODE_DEL)
275 :
276 : // Clear
277 : KEY_MAP_WIN (Clear, VK_CLEAR)
278 : KEY_MAP_WIN (Clear, VK_OEM_CLEAR)
279 : KEY_MAP_COCOA (Clear, kVK_ANSI_KeypadClear)
280 0 : KEY_MAP_GTK (Clear, GDK_Clear)
281 : KEY_MAP_ANDROID (Clear, AKEYCODE_CLEAR)
282 :
283 : // Copy
284 : KEY_MAP_WIN_CMD (Copy, APPCOMMAND_COPY)
285 0 : KEY_MAP_GTK (Copy, GDK_Copy)
286 : KEY_MAP_ANDROID (Copy, AKEYCODE_COPY)
287 :
288 : // CrSel
289 : KEY_MAP_WIN (CrSel, VK_CRSEL)
290 0 : KEY_MAP_GTK (CrSel, GDK_3270_CursorSelect) // legacy IBM keyboard layout
291 :
292 : // Cut
293 : KEY_MAP_WIN_CMD (Cut, APPCOMMAND_CUT)
294 0 : KEY_MAP_GTK (Cut, GDK_Cut)
295 : KEY_MAP_ANDROID (Cut, AKEYCODE_CUT)
296 :
297 : // Delete
298 : KEY_MAP_WIN (Delete, VK_DELETE)
299 : KEY_MAP_COCOA (Delete, kVK_PC_Delete)
300 0 : KEY_MAP_GTK (Delete, GDK_Delete)
301 0 : KEY_MAP_GTK (Delete, GDK_KP_Delete)
302 : KEY_MAP_ANDROID (Delete, AKEYCODE_FORWARD_DEL)
303 :
304 : // EraseEof
305 : KEY_MAP_WIN (EraseEof, VK_EREOF)
306 0 : KEY_MAP_GTK (EraseEof, GDK_3270_EraseEOF) // legacy IBM keyboard layout
307 :
308 : // ExSel
309 : KEY_MAP_WIN (ExSel, VK_EXSEL)
310 0 : KEY_MAP_GTK (ExSel, GDK_3270_ExSelect) // legacy IBM keyboard layout
311 :
312 : // Insert
313 : KEY_MAP_WIN (Insert, VK_INSERT)
314 0 : KEY_MAP_GTK (Insert, GDK_Insert)
315 0 : KEY_MAP_GTK (Insert, GDK_KP_Insert)
316 : KEY_MAP_ANDROID (Insert, AKEYCODE_INSERT)
317 :
318 : // Paste
319 : KEY_MAP_WIN_CMD (Paste, APPCOMMAND_PASTE)
320 0 : KEY_MAP_GTK (Paste, GDK_Paste)
321 : KEY_MAP_ANDROID (Paste, AKEYCODE_PASTE)
322 :
323 : // Redo
324 : KEY_MAP_WIN_CMD (Redo, APPCOMMAND_REDO)
325 0 : KEY_MAP_GTK (Redo, GDK_Redo)
326 :
327 : // Undo
328 : KEY_MAP_WIN_CMD (Undo, APPCOMMAND_UNDO)
329 0 : KEY_MAP_GTK (Undo, GDK_Undo)
330 :
331 : /******************************************************************************
332 : * UI Keys
333 : ******************************************************************************/
334 : // Accept
335 : KEY_MAP_WIN (Accept, VK_ACCEPT)
336 :
337 : // Attn
338 : KEY_MAP_WIN_OTH (Attn, VK_ATTN) // not valid with Japanese keyboard layout
339 0 : KEY_MAP_GTK (Attn, GDK_3270_Attn) // legacy IBM keyboard layout
340 :
341 : // Cancel
342 : KEY_MAP_WIN (Cancel, VK_CANCEL)
343 0 : KEY_MAP_GTK (Cancel, GDK_Cancel)
344 :
345 : // ContextMenu
346 : KEY_MAP_WIN (ContextMenu, VK_APPS)
347 : KEY_MAP_COCOA (ContextMenu, kVK_PC_ContextMenu)
348 0 : KEY_MAP_GTK (ContextMenu, GDK_Menu)
349 : KEY_MAP_ANDROID (ContextMenu, AKEYCODE_MENU)
350 :
351 : // Escape
352 : KEY_MAP_WIN (Escape, VK_ESCAPE)
353 : KEY_MAP_COCOA (Escape, kVK_Escape)
354 0 : KEY_MAP_GTK (Escape, GDK_Escape)
355 : KEY_MAP_ANDROID (Escape, AKEYCODE_ESCAPE)
356 :
357 : // Execute
358 : KEY_MAP_WIN (Execute, VK_EXECUTE)
359 0 : KEY_MAP_GTK (Execute, GDK_Execute)
360 :
361 : // Find
362 : KEY_MAP_WIN_CMD (Find, APPCOMMAND_FIND)
363 0 : KEY_MAP_GTK (Find, GDK_Find)
364 :
365 : // Help
366 : KEY_MAP_WIN (Help, VK_HELP)
367 : KEY_MAP_WIN_CMD (Help, APPCOMMAND_HELP)
368 : KEY_MAP_COCOA (Help, kVK_Help)
369 0 : KEY_MAP_GTK (Help, GDK_Help)
370 : KEY_MAP_ANDROID (Help, AKEYCODE_HELP)
371 :
372 : // Pause
373 : KEY_MAP_WIN (Pause, VK_PAUSE)
374 0 : KEY_MAP_GTK (Pause, GDK_Pause)
375 : // Break is typically mapped to Alt+Pause or Ctrl+Pause on GTK.
376 0 : KEY_MAP_GTK (Pause, GDK_Break)
377 : KEY_MAP_ANDROID (Pause, AKEYCODE_BREAK)
378 :
379 : // Play
380 : KEY_MAP_WIN (Play, VK_PLAY)
381 0 : KEY_MAP_GTK (Play, GDK_3270_Play) // legacy IBM keyboard layout
382 :
383 : // Select
384 : KEY_MAP_WIN (Select, VK_SELECT)
385 0 : KEY_MAP_GTK (Select, GDK_Select)
386 :
387 : // ZoomIn
388 0 : KEY_MAP_GTK (ZoomIn, GDK_ZoomIn)
389 : KEY_MAP_ANDROID (ZoomIn, AKEYCODE_ZOOM_IN)
390 :
391 : // ZoomOut
392 0 : KEY_MAP_GTK (ZoomOut, GDK_ZoomOut)
393 : KEY_MAP_ANDROID (ZoomOut, AKEYCODE_ZOOM_OUT)
394 :
395 : /******************************************************************************
396 : * Device Keys
397 : ******************************************************************************/
398 : // BrightnessDown
399 0 : KEY_MAP_GTK (BrightnessDown, GDK_MonBrightnessDown)
400 : KEY_MAP_ANDROID (BrightnessDown, AKEYCODE_BRIGHTNESS_DOWN)
401 :
402 : // BrightnessUp
403 0 : KEY_MAP_GTK (BrightnessUp, GDK_MonBrightnessUp)
404 : KEY_MAP_ANDROID (BrightnessUp, AKEYCODE_BRIGHTNESS_UP)
405 :
406 : // Eject
407 0 : KEY_MAP_GTK (Eject, GDK_Eject)
408 : KEY_MAP_ANDROID (Eject, AKEYCODE_MEDIA_EJECT)
409 :
410 : // LogOff
411 0 : KEY_MAP_GTK (LogOff, GDK_LogOff)
412 :
413 : // Power
414 : KEY_MAP_ANDROID (Power, AKEYCODE_POWER)
415 :
416 : // PowerOff
417 0 : KEY_MAP_GTK (PowerOff, GDK_PowerDown)
418 0 : KEY_MAP_GTK (PowerOff, GDK_PowerOff)
419 :
420 : // PrintScreen
421 : KEY_MAP_WIN (PrintScreen, VK_SNAPSHOT)
422 0 : KEY_MAP_GTK (PrintScreen, GDK_3270_PrintScreen)
423 0 : KEY_MAP_GTK (PrintScreen, GDK_Print)
424 0 : KEY_MAP_GTK (PrintScreen, GDK_Sys_Req)
425 : KEY_MAP_ANDROID (PrintScreen, AKEYCODE_SYSRQ)
426 :
427 : // Hibernate
428 0 : KEY_MAP_GTK (Hibernate, GDK_Hibernate)
429 :
430 : // Standby
431 : KEY_MAP_WIN (Standby, VK_SLEEP)
432 0 : KEY_MAP_GTK (Standby, GDK_Standby)
433 0 : KEY_MAP_GTK (Standby, GDK_Suspend)
434 0 : KEY_MAP_GTK (Standby, GDK_Sleep)
435 : KEY_MAP_ANDROID (Standby, AKEYCODE_SLEEP)
436 :
437 : // WakeUp
438 0 : KEY_MAP_GTK (WakeUp, GDK_WakeUp)
439 : KEY_MAP_ANDROID (WakeUp, AKEYCODE_WAKEUP)
440 :
441 : /******************************************************************************
442 : * IME and Composition Keys
443 : ******************************************************************************/
444 : // AllCandidates
445 0 : KEY_MAP_GTK (AllCandidates, GDK_MultipleCandidate) // OADG 109, Zen Koho
446 :
447 : // Alphanumeric
448 : KEY_MAP_WIN_JPN (Alphanumeric, VK_OEM_ATTN)
449 0 : KEY_MAP_GTK (Alphanumeric, GDK_Eisu_Shift)
450 0 : KEY_MAP_GTK (Alphanumeric, GDK_Eisu_toggle)
451 :
452 : // CodeInput
453 0 : KEY_MAP_GTK (CodeInput, GDK_Codeinput) // OADG 109, Kanji Bangou
454 :
455 : // Compose
456 0 : KEY_MAP_GTK (Compose, GDK_Multi_key) // "Multi Key" is "Compose key" on X
457 :
458 : // Convert
459 : KEY_MAP_WIN (Convert, VK_CONVERT)
460 0 : KEY_MAP_GTK (Convert, GDK_Henkan)
461 : KEY_MAP_ANDROID (Convert, AKEYCODE_HENKAN)
462 :
463 : // Dead
464 0 : KEY_MAP_GTK (Dead, GDK_dead_grave)
465 0 : KEY_MAP_GTK (Dead, GDK_dead_acute)
466 0 : KEY_MAP_GTK (Dead, GDK_dead_circumflex)
467 0 : KEY_MAP_GTK (Dead, GDK_dead_tilde) // Same as GDK_dead_perispomeni
468 0 : KEY_MAP_GTK (Dead, GDK_dead_macron)
469 0 : KEY_MAP_GTK (Dead, GDK_dead_breve)
470 0 : KEY_MAP_GTK (Dead, GDK_dead_abovedot)
471 0 : KEY_MAP_GTK (Dead, GDK_dead_diaeresis)
472 0 : KEY_MAP_GTK (Dead, GDK_dead_abovering)
473 0 : KEY_MAP_GTK (Dead, GDK_dead_doubleacute)
474 0 : KEY_MAP_GTK (Dead, GDK_dead_caron)
475 0 : KEY_MAP_GTK (Dead, GDK_dead_cedilla)
476 0 : KEY_MAP_GTK (Dead, GDK_dead_ogonek)
477 0 : KEY_MAP_GTK (Dead, GDK_dead_iota)
478 0 : KEY_MAP_GTK (Dead, GDK_dead_voiced_sound)
479 0 : KEY_MAP_GTK (Dead, GDK_dead_semivoiced_sound)
480 0 : KEY_MAP_GTK (Dead, GDK_dead_belowdot)
481 0 : KEY_MAP_GTK (Dead, GDK_dead_hook)
482 0 : KEY_MAP_GTK (Dead, GDK_dead_horn)
483 0 : KEY_MAP_GTK (Dead, GDK_dead_stroke)
484 0 : KEY_MAP_GTK (Dead, GDK_dead_abovecomma) // Same as GDK_dead_psili
485 0 : KEY_MAP_GTK (Dead, GDK_dead_abovereversedcomma) // Same as GDK_dead_dasia
486 0 : KEY_MAP_GTK (Dead, GDK_dead_doublegrave)
487 0 : KEY_MAP_GTK (Dead, GDK_dead_belowring)
488 0 : KEY_MAP_GTK (Dead, GDK_dead_belowmacron)
489 0 : KEY_MAP_GTK (Dead, GDK_dead_belowcircumflex)
490 0 : KEY_MAP_GTK (Dead, GDK_dead_belowtilde)
491 0 : KEY_MAP_GTK (Dead, GDK_dead_belowbreve)
492 0 : KEY_MAP_GTK (Dead, GDK_dead_belowdiaeresis)
493 0 : KEY_MAP_GTK (Dead, GDK_dead_invertedbreve)
494 0 : KEY_MAP_GTK (Dead, GDK_dead_belowcomma)
495 0 : KEY_MAP_GTK (Dead, GDK_dead_currency)
496 0 : KEY_MAP_GTK (Dead, GDK_dead_a)
497 0 : KEY_MAP_GTK (Dead, GDK_dead_A)
498 0 : KEY_MAP_GTK (Dead, GDK_dead_e)
499 0 : KEY_MAP_GTK (Dead, GDK_dead_E)
500 0 : KEY_MAP_GTK (Dead, GDK_dead_i)
501 0 : KEY_MAP_GTK (Dead, GDK_dead_I)
502 0 : KEY_MAP_GTK (Dead, GDK_dead_o)
503 0 : KEY_MAP_GTK (Dead, GDK_dead_O)
504 0 : KEY_MAP_GTK (Dead, GDK_dead_u)
505 0 : KEY_MAP_GTK (Dead, GDK_dead_U)
506 0 : KEY_MAP_GTK (Dead, GDK_dead_small_schwa)
507 0 : KEY_MAP_GTK (Dead, GDK_dead_capital_schwa)
508 0 : KEY_MAP_GTK (Dead, GDK_dead_greek)
509 :
510 : // FinalMode
511 : KEY_MAP_WIN (FinalMode, VK_FINAL)
512 :
513 : // GroupFirst
514 0 : KEY_MAP_GTK (GroupFirst, GDK_ISO_First_Group)
515 :
516 : // GroupLast
517 0 : KEY_MAP_GTK (GroupLast, GDK_ISO_Last_Group)
518 :
519 : // GroupNext
520 0 : KEY_MAP_GTK (GroupNext, GDK_ISO_Next_Group)
521 : KEY_MAP_ANDROID (GroupNext, AKEYCODE_LANGUAGE_SWITCH)
522 :
523 : // GroupPrevious
524 0 : KEY_MAP_GTK (GroupPrevious, GDK_ISO_Prev_Group)
525 :
526 : // ModeChange
527 : KEY_MAP_WIN (ModeChange, VK_MODECHANGE)
528 : KEY_MAP_ANDROID (ModeChange, AKEYCODE_SWITCH_CHARSET)
529 :
530 : // NonConvert
531 : KEY_MAP_WIN (NonConvert, VK_NONCONVERT)
532 0 : KEY_MAP_GTK (NonConvert, GDK_Muhenkan)
533 : KEY_MAP_ANDROID (NonConvert, AKEYCODE_MUHENKAN)
534 :
535 : // PreviousCandidate
536 0 : KEY_MAP_GTK (PreviousCandidate, GDK_PreviousCandidate) // OADG 109, Mae Koho
537 :
538 : // SingleCandidate
539 0 : KEY_MAP_GTK (SingleCandidate, GDK_SingleCandidate)
540 :
541 : /******************************************************************************
542 : * Keys specific to Korean keyboards
543 : ******************************************************************************/
544 : // HangulMode
545 : KEY_MAP_WIN_KOR (HangulMode, VK_HANGUL /* same as VK_KANA */)
546 :
547 : // HanjaMode
548 : KEY_MAP_WIN_KOR (HanjaMode, VK_HANJA /* same as VK_KANJI */)
549 :
550 : // JunjaMode
551 : KEY_MAP_WIN (JunjaMode, VK_JUNJA)
552 :
553 : /******************************************************************************
554 : * Keys specific to Japanese keyboards
555 : ******************************************************************************/
556 : // Eisu
557 : KEY_MAP_COCOA (Eisu, kVK_JIS_Eisu)
558 : KEY_MAP_ANDROID (Eisu, AKEYCODE_EISU)
559 :
560 : // Hankaku
561 : KEY_MAP_WIN_JPN (Hankaku, VK_OEM_AUTO)
562 0 : KEY_MAP_GTK (Hankaku, GDK_Hankaku)
563 :
564 : // Hiragana
565 : KEY_MAP_WIN_JPN (Hiragana, VK_OEM_COPY)
566 0 : KEY_MAP_GTK (Hiragana, GDK_Hiragana)
567 :
568 : // HiraganaKatakana
569 0 : KEY_MAP_GTK (HiraganaKatakana, GDK_Hiragana_Katakana)
570 : KEY_MAP_ANDROID (HiraganaKatakana, AKEYCODE_KATAKANA_HIRAGANA)
571 :
572 : // KanaMode
573 : // VK_KANA is never used with modern Japanese keyboard, however, IE maps it to
574 : // KanaMode, therefore, we should use same map for it.
575 : KEY_MAP_WIN_JPN (KanaMode, VK_KANA /* same as VK_HANGUL */)
576 : KEY_MAP_WIN_JPN (KanaMode, VK_ATTN)
577 0 : KEY_MAP_GTK (KanaMode, GDK_Kana_Lock)
578 0 : KEY_MAP_GTK (KanaMode, GDK_Kana_Shift)
579 :
580 : // KanjiMode
581 : KEY_MAP_WIN_JPN (KanjiMode, VK_KANJI /* same as VK_HANJA */)
582 : KEY_MAP_COCOA (KanjiMode, kVK_JIS_Kana) // Kana key opens IME
583 0 : KEY_MAP_GTK (KanjiMode, GDK_Kanji) // Typically, Alt + Hankaku/Zenkaku key
584 : // Assuming that KANA key of Android is the Kana key on Mac keyboard.
585 : KEY_MAP_ANDROID (KanjiMode, AKEYCODE_KANA)
586 :
587 : // Katakana
588 : KEY_MAP_WIN_JPN (Katakana, VK_OEM_FINISH)
589 0 : KEY_MAP_GTK (Katakana, GDK_Katakana)
590 :
591 : // Romaji
592 : KEY_MAP_WIN_JPN (Romaji, VK_OEM_BACKTAB)
593 0 : KEY_MAP_GTK (Romaji, GDK_Romaji)
594 :
595 : // Zenkaku
596 : KEY_MAP_WIN_JPN (Zenkaku, VK_OEM_ENLW)
597 0 : KEY_MAP_GTK (Zenkaku, GDK_Zenkaku)
598 :
599 : // ZenkakuHankaku
600 0 : KEY_MAP_GTK (ZenkakuHankaku, GDK_Zenkaku_Hankaku)
601 : KEY_MAP_ANDROID (ZenkakuHankaku, AKEYCODE_ZENKAKU_HANKAKU)
602 :
603 : /******************************************************************************
604 : * General-Purpose Function Keys
605 : ******************************************************************************/
606 : // F1
607 : KEY_MAP_WIN (F1, VK_F1)
608 : KEY_MAP_COCOA (F1, kVK_F1)
609 0 : KEY_MAP_GTK (F1, GDK_F1)
610 0 : KEY_MAP_GTK (F1, GDK_KP_F1)
611 : KEY_MAP_ANDROID (F1, AKEYCODE_F1)
612 :
613 : // F2
614 : KEY_MAP_WIN (F2, VK_F2)
615 : KEY_MAP_COCOA (F2, kVK_F2)
616 0 : KEY_MAP_GTK (F2, GDK_F2)
617 0 : KEY_MAP_GTK (F2, GDK_KP_F2)
618 : KEY_MAP_ANDROID (F2, AKEYCODE_F2)
619 :
620 : // F3
621 : KEY_MAP_WIN (F3, VK_F3)
622 : KEY_MAP_COCOA (F3, kVK_F3)
623 0 : KEY_MAP_GTK (F3, GDK_F3)
624 0 : KEY_MAP_GTK (F3, GDK_KP_F3)
625 : KEY_MAP_ANDROID (F3, AKEYCODE_F3)
626 :
627 : // F4
628 : KEY_MAP_WIN (F4, VK_F4)
629 : KEY_MAP_COCOA (F4, kVK_F4)
630 0 : KEY_MAP_GTK (F4, GDK_F4)
631 0 : KEY_MAP_GTK (F4, GDK_KP_F4)
632 : KEY_MAP_ANDROID (F4, AKEYCODE_F4)
633 :
634 : // F5
635 : KEY_MAP_WIN (F5, VK_F5)
636 : KEY_MAP_COCOA (F5, kVK_F5)
637 0 : KEY_MAP_GTK (F5, GDK_F5)
638 : KEY_MAP_ANDROID (F5, AKEYCODE_F5)
639 :
640 : // F6
641 : KEY_MAP_WIN (F6, VK_F6)
642 : KEY_MAP_COCOA (F6, kVK_F6)
643 0 : KEY_MAP_GTK (F6, GDK_F6)
644 : KEY_MAP_ANDROID (F6, AKEYCODE_F6)
645 :
646 : // F7
647 : KEY_MAP_WIN (F7, VK_F7)
648 : KEY_MAP_COCOA (F7, kVK_F7)
649 0 : KEY_MAP_GTK (F7, GDK_F7)
650 : KEY_MAP_ANDROID (F7, AKEYCODE_F7)
651 :
652 : // F8
653 : KEY_MAP_WIN (F8, VK_F8)
654 : KEY_MAP_COCOA (F8, kVK_F8)
655 0 : KEY_MAP_GTK (F8, GDK_F8)
656 : KEY_MAP_ANDROID (F8, AKEYCODE_F8)
657 :
658 : // F9
659 : KEY_MAP_WIN (F9, VK_F9)
660 : KEY_MAP_COCOA (F9, kVK_F9)
661 0 : KEY_MAP_GTK (F9, GDK_F9)
662 : KEY_MAP_ANDROID (F9, AKEYCODE_F9)
663 :
664 : // F10
665 : KEY_MAP_WIN (F10, VK_F10)
666 : KEY_MAP_COCOA (F10, kVK_F10)
667 0 : KEY_MAP_GTK (F10, GDK_F10)
668 : KEY_MAP_ANDROID (F10, AKEYCODE_F10)
669 :
670 : // F11
671 : KEY_MAP_WIN (F11, VK_F11)
672 : KEY_MAP_COCOA (F11, kVK_F11)
673 0 : KEY_MAP_GTK (F11, GDK_F11 /* same as GDK_L1 */)
674 : KEY_MAP_ANDROID (F11, AKEYCODE_F11)
675 :
676 : // F12
677 : KEY_MAP_WIN (F12, VK_F12)
678 : KEY_MAP_COCOA (F12, kVK_F12)
679 0 : KEY_MAP_GTK (F12, GDK_F12 /* same as GDK_L2 */)
680 : KEY_MAP_ANDROID (F12, AKEYCODE_F12)
681 :
682 : // F13
683 : KEY_MAP_WIN (F13, VK_F13)
684 : KEY_MAP_COCOA (F13, kVK_F13)
685 0 : KEY_MAP_GTK (F13, GDK_F13 /* same as GDK_L3 */)
686 :
687 : // F14
688 : KEY_MAP_WIN (F14, VK_F14)
689 : KEY_MAP_COCOA (F14, kVK_F14)
690 0 : KEY_MAP_GTK (F14, GDK_F14 /* same as GDK_L4 */)
691 :
692 : // F15
693 : KEY_MAP_WIN (F15, VK_F15)
694 : KEY_MAP_COCOA (F15, kVK_F15)
695 0 : KEY_MAP_GTK (F15, GDK_F15 /* same as GDK_L5 */)
696 :
697 : // F16
698 : KEY_MAP_WIN (F16, VK_F16)
699 : KEY_MAP_COCOA (F16, kVK_F16)
700 0 : KEY_MAP_GTK (F16, GDK_F16 /* same as GDK_L6 */)
701 :
702 : // F17
703 : KEY_MAP_WIN (F17, VK_F17)
704 : KEY_MAP_COCOA (F17, kVK_F17)
705 0 : KEY_MAP_GTK (F17, GDK_F17 /* same as GDK_L7 */)
706 :
707 : // F18
708 : KEY_MAP_WIN (F18, VK_F18)
709 : KEY_MAP_COCOA (F18, kVK_F18)
710 0 : KEY_MAP_GTK (F18, GDK_F18 /* same as GDK_L8 */)
711 :
712 : // F19
713 : KEY_MAP_WIN (F19, VK_F19)
714 : KEY_MAP_COCOA (F19, kVK_F19)
715 0 : KEY_MAP_GTK (F19, GDK_F19 /* same as GDK_L9 */)
716 :
717 : // F20
718 : KEY_MAP_WIN (F20, VK_F20)
719 0 : KEY_MAP_GTK (F20, GDK_F20 /* same as GDK_L10 */)
720 :
721 : // F21
722 : KEY_MAP_WIN (F21, VK_F21)
723 0 : KEY_MAP_GTK (F21, GDK_F21 /* same as GDK_R1 */)
724 :
725 : // F22
726 : KEY_MAP_WIN (F22, VK_F22)
727 0 : KEY_MAP_GTK (F22, GDK_F22 /* same as GDK_R2 */)
728 :
729 : // F23
730 : KEY_MAP_WIN (F23, VK_F23)
731 0 : KEY_MAP_GTK (F23, GDK_F23 /* same as GDK_R3 */)
732 :
733 : // F24
734 : KEY_MAP_WIN (F24, VK_F24)
735 0 : KEY_MAP_GTK (F24, GDK_F24 /* same as GDK_R4 */)
736 :
737 : // F25
738 0 : KEY_MAP_GTK (F25, GDK_F25 /* same as GDK_R5 */)
739 :
740 : // F26
741 0 : KEY_MAP_GTK (F26, GDK_F26 /* same as GDK_R6 */)
742 :
743 : // F27
744 0 : KEY_MAP_GTK (F27, GDK_F27 /* same as GDK_R7 */)
745 :
746 : // F28
747 0 : KEY_MAP_GTK (F28, GDK_F28 /* same as GDK_R8 */)
748 :
749 : // F29
750 0 : KEY_MAP_GTK (F29, GDK_F29 /* same as GDK_R9 */)
751 :
752 : // F30
753 0 : KEY_MAP_GTK (F30, GDK_F30 /* same as GDK_R10 */)
754 :
755 : // F31
756 0 : KEY_MAP_GTK (F31, GDK_F31 /* same as GDK_R11 */)
757 :
758 : // F32
759 0 : KEY_MAP_GTK (F32, GDK_F32 /* same as GDK_R12 */)
760 :
761 : // F33
762 0 : KEY_MAP_GTK (F33, GDK_F33 /* same as GDK_R13 */)
763 :
764 : // F34
765 0 : KEY_MAP_GTK (F34, GDK_F34 /* same as GDK_R14 */)
766 :
767 : // F35
768 0 : KEY_MAP_GTK (F35, GDK_F35 /* same as GDK_R15 */)
769 :
770 : /******************************************************************************
771 : * Multimedia Keys
772 : ******************************************************************************/
773 : // ChannelDown
774 : KEY_MAP_WIN_CMD (ChannelDown, APPCOMMAND_MEDIA_CHANNEL_DOWN)
775 : KEY_MAP_ANDROID (ChannelDown, AKEYCODE_CHANNEL_DOWN)
776 :
777 : // ChannelUp
778 : KEY_MAP_WIN_CMD (ChannelUp, APPCOMMAND_MEDIA_CHANNEL_UP)
779 : KEY_MAP_ANDROID (ChannelUp, AKEYCODE_CHANNEL_UP)
780 :
781 : // Close
782 : // NOTE: This is not a key to close disk tray, this is a key to close document
783 : // or window.
784 : KEY_MAP_WIN_CMD (Close, APPCOMMAND_CLOSE)
785 0 : KEY_MAP_GTK (Close, GDK_Close)
786 :
787 : // MailForward
788 : KEY_MAP_WIN_CMD (MailForward, APPCOMMAND_FORWARD_MAIL)
789 0 : KEY_MAP_GTK (MailForward, GDK_MailForward)
790 :
791 : // MailReply
792 : KEY_MAP_WIN_CMD (MailReply, APPCOMMAND_REPLY_TO_MAIL)
793 0 : KEY_MAP_GTK (MailReply, GDK_Reply)
794 :
795 : // MailSend
796 : KEY_MAP_WIN_CMD (MailSend, APPCOMMAND_SEND_MAIL)
797 0 : KEY_MAP_GTK (MailSend, GDK_Send)
798 :
799 : // MediaFastForward
800 : KEY_MAP_WIN_CMD (MediaFastForward, APPCOMMAND_MEDIA_FAST_FORWARD)
801 0 : KEY_MAP_GTK (MediaFastForward, GDK_AudioForward)
802 : KEY_MAP_ANDROID (MediaFastForward, AKEYCODE_MEDIA_FAST_FORWARD)
803 :
804 : // MediaPause
805 : KEY_MAP_WIN_CMD (MediaPause, APPCOMMAND_MEDIA_PAUSE)
806 0 : KEY_MAP_GTK (MediaPause, GDK_AudioPause)
807 : KEY_MAP_ANDROID (MediaPause, AKEYCODE_MEDIA_PAUSE)
808 :
809 : // MediaPlay
810 : KEY_MAP_WIN_CMD (MediaPlay, APPCOMMAND_MEDIA_PLAY)
811 0 : KEY_MAP_GTK (MediaPlay, GDK_AudioPlay)
812 : KEY_MAP_ANDROID (MediaPlay, AKEYCODE_MEDIA_PLAY)
813 :
814 : // MediaPlayPause
815 : KEY_MAP_WIN (MediaPlayPause, VK_MEDIA_PLAY_PAUSE)
816 : KEY_MAP_WIN_CMD (MediaPlayPause, APPCOMMAND_MEDIA_PLAY_PAUSE)
817 : KEY_MAP_ANDROID (MediaPlayPause, AKEYCODE_MEDIA_PLAY_PAUSE)
818 :
819 : // MediaRecord
820 : KEY_MAP_WIN_CMD (MediaRecord, APPCOMMAND_MEDIA_RECORD)
821 0 : KEY_MAP_GTK (MediaRecord, GDK_AudioRecord)
822 : KEY_MAP_ANDROID (MediaRecord, AKEYCODE_MEDIA_RECORD)
823 :
824 : // MediaRewind
825 : KEY_MAP_WIN_CMD (MediaRewind, APPCOMMAND_MEDIA_REWIND)
826 0 : KEY_MAP_GTK (MediaRewind, GDK_AudioRewind)
827 : KEY_MAP_ANDROID (MediaRewind, AKEYCODE_MEDIA_REWIND)
828 :
829 : // MediaStop
830 : KEY_MAP_WIN (MediaStop, VK_MEDIA_STOP)
831 : KEY_MAP_WIN_CMD (MediaStop, APPCOMMAND_MEDIA_STOP)
832 0 : KEY_MAP_GTK (MediaStop, GDK_AudioStop)
833 : KEY_MAP_ANDROID (MediaStop, AKEYCODE_MEDIA_STOP)
834 :
835 : // MediaTrackNext
836 : KEY_MAP_WIN (MediaTrackNext, VK_MEDIA_NEXT_TRACK)
837 : KEY_MAP_WIN_CMD (MediaTrackNext, APPCOMMAND_MEDIA_NEXTTRACK)
838 0 : KEY_MAP_GTK (MediaTrackNext, GDK_AudioNext)
839 : KEY_MAP_ANDROID (MediaTrackNext, AKEYCODE_MEDIA_NEXT)
840 :
841 : // MediaTrackPrevious
842 : KEY_MAP_WIN (MediaTrackPrevious, VK_MEDIA_PREV_TRACK)
843 : KEY_MAP_WIN_CMD (MediaTrackPrevious, APPCOMMAND_MEDIA_PREVIOUSTRACK)
844 0 : KEY_MAP_GTK (MediaTrackPrevious, GDK_AudioPrev)
845 : KEY_MAP_ANDROID (MediaTrackPrevious, AKEYCODE_MEDIA_PREVIOUS)
846 :
847 : // New
848 : KEY_MAP_WIN_CMD (New, APPCOMMAND_NEW)
849 0 : KEY_MAP_GTK (New, GDK_New)
850 :
851 : // Open
852 : KEY_MAP_WIN_CMD (Open, APPCOMMAND_OPEN)
853 0 : KEY_MAP_GTK (Open, GDK_Open)
854 :
855 : // Print
856 : KEY_MAP_WIN_CMD (Print, APPCOMMAND_PRINT)
857 :
858 : // Save
859 : KEY_MAP_WIN_CMD (Save, APPCOMMAND_SAVE)
860 0 : KEY_MAP_GTK (Save, GDK_Save)
861 :
862 : // SpellCheck
863 : KEY_MAP_WIN_CMD (SpellCheck, APPCOMMAND_SPELL_CHECK)
864 0 : KEY_MAP_GTK (SpellCheck, GDK_Spell)
865 :
866 : /******************************************************************************
867 : * Audio Keys
868 : *****************************************************************************/
869 : // AudioBassBoostDown
870 : KEY_MAP_WIN_CMD (AudioBassBoostDown, APPCOMMAND_BASS_DOWN)
871 :
872 : // AudioBassBoostUp
873 : KEY_MAP_WIN_CMD (AudioBassBoostUp, APPCOMMAND_BASS_UP)
874 :
875 : // AudioVolumeDown
876 : KEY_MAP_WIN (AudioVolumeDown, VK_VOLUME_DOWN)
877 : KEY_MAP_WIN_CMD (AudioVolumeDown, APPCOMMAND_VOLUME_DOWN)
878 : KEY_MAP_COCOA (AudioVolumeDown, kVK_VolumeDown)
879 0 : KEY_MAP_GTK (AudioVolumeDown, GDK_AudioLowerVolume)
880 : KEY_MAP_ANDROID (AudioVolumeDown, AKEYCODE_VOLUME_DOWN)
881 :
882 : // AudioVolumeUp
883 : KEY_MAP_WIN (AudioVolumeUp, VK_VOLUME_UP)
884 : KEY_MAP_WIN_CMD (AudioVolumeUp, APPCOMMAND_VOLUME_UP)
885 : KEY_MAP_COCOA (AudioVolumeUp, kVK_VolumeUp)
886 0 : KEY_MAP_GTK (AudioVolumeUp, GDK_AudioRaiseVolume)
887 : KEY_MAP_ANDROID (AudioVolumeUp, AKEYCODE_VOLUME_UP)
888 :
889 : // AudioVolumeMute
890 : KEY_MAP_WIN (AudioVolumeMute, VK_VOLUME_MUTE)
891 : KEY_MAP_WIN_CMD (AudioVolumeMute, APPCOMMAND_VOLUME_MUTE)
892 : KEY_MAP_COCOA (AudioVolumeMute, kVK_Mute)
893 0 : KEY_MAP_GTK (AudioVolumeMute, GDK_AudioMute)
894 : KEY_MAP_ANDROID (AudioVolumeMute, AKEYCODE_VOLUME_MUTE)
895 :
896 : // MicrophoneVolumeMute
897 : KEY_MAP_ANDROID (MicrophoneVolumeMute, AKEYCODE_MUTE)
898 :
899 : /******************************************************************************
900 : * Application Keys
901 : ******************************************************************************/
902 : // LaunchCalculator
903 0 : KEY_MAP_GTK (LaunchCalculator, GDK_Calculator)
904 : KEY_MAP_ANDROID (LaunchCalculator, AKEYCODE_CALCULATOR)
905 :
906 : // LaunchCalendar
907 0 : KEY_MAP_GTK (LaunchCalendar, GDK_Calendar)
908 : KEY_MAP_ANDROID (LaunchCalendar, AKEYCODE_CALENDAR)
909 :
910 : // LaunchContacts
911 : KEY_MAP_ANDROID (LaunchContacts, AKEYCODE_CONTACTS)
912 :
913 : // LaunchMail
914 : KEY_MAP_WIN (LaunchMail, VK_LAUNCH_MAIL)
915 : KEY_MAP_WIN_CMD (LaunchMail, APPCOMMAND_LAUNCH_MAIL)
916 0 : KEY_MAP_GTK (LaunchMail, GDK_Mail)
917 : KEY_MAP_ANDROID (LaunchMail, AKEYCODE_ENVELOPE)
918 :
919 : // LaunchMediaPlayer
920 : KEY_MAP_WIN (LaunchMediaPlayer, VK_LAUNCH_MEDIA_SELECT)
921 : KEY_MAP_WIN_CMD (LaunchMediaPlayer, APPCOMMAND_LAUNCH_MEDIA_SELECT)
922 : // GDK_CD is defined as "Launch CD/DVD player" in XF86keysym.h.
923 : // Therefore, let's map it to media player rather than music player.
924 0 : KEY_MAP_GTK (LaunchMediaPlayer, GDK_CD)
925 0 : KEY_MAP_GTK (LaunchMediaPlayer, GDK_Video)
926 0 : KEY_MAP_GTK (LaunchMediaPlayer, GDK_AudioMedia)
927 :
928 : // LaunchMusicPlayer
929 0 : KEY_MAP_GTK (LaunchMusicPlayer, GDK_Music)
930 : KEY_MAP_ANDROID (LaunchMusicPlayer, AKEYCODE_MUSIC)
931 :
932 : // LaunchMyComputer
933 0 : KEY_MAP_GTK (LaunchMyComputer, GDK_MyComputer)
934 0 : KEY_MAP_GTK (LaunchMyComputer, GDK_Explorer)
935 :
936 : // LaunchScreenSaver
937 0 : KEY_MAP_GTK (LaunchScreenSaver, GDK_ScreenSaver)
938 :
939 : // LaunchSpreadsheet
940 0 : KEY_MAP_GTK (LaunchSpreadsheet, GDK_Excel)
941 :
942 : // LaunchWebBrowser
943 0 : KEY_MAP_GTK (LaunchWebBrowser, GDK_WWW)
944 : KEY_MAP_ANDROID (LaunchWebBrowser, AKEYCODE_EXPLORER)
945 :
946 : // LaunchWebCam
947 0 : KEY_MAP_GTK (LaunchWebCam, GDK_WebCam)
948 :
949 : // LaunchWordProcessor
950 0 : KEY_MAP_GTK (LaunchWordProcessor, GDK_Word)
951 :
952 : // LaunchApplication1
953 : KEY_MAP_WIN (LaunchApplication1, VK_LAUNCH_APP1)
954 : KEY_MAP_WIN_CMD (LaunchApplication1, APPCOMMAND_LAUNCH_APP1)
955 0 : KEY_MAP_GTK (LaunchApplication1, GDK_Launch0)
956 :
957 : // LaunchApplication2
958 : KEY_MAP_WIN (LaunchApplication2, VK_LAUNCH_APP2)
959 : KEY_MAP_WIN_CMD (LaunchApplication2, APPCOMMAND_LAUNCH_APP2)
960 0 : KEY_MAP_GTK (LaunchApplication2, GDK_Launch1)
961 :
962 : // LaunchApplication3
963 0 : KEY_MAP_GTK (LaunchApplication3, GDK_Launch2)
964 :
965 : // LaunchApplication4
966 0 : KEY_MAP_GTK (LaunchApplication4, GDK_Launch3)
967 :
968 : // LaunchApplication5
969 0 : KEY_MAP_GTK (LaunchApplication5, GDK_Launch4)
970 :
971 : // LaunchApplication6
972 0 : KEY_MAP_GTK (LaunchApplication6, GDK_Launch5)
973 :
974 : // LaunchApplication7
975 0 : KEY_MAP_GTK (LaunchApplication7, GDK_Launch6)
976 :
977 : // LaunchApplication8
978 0 : KEY_MAP_GTK (LaunchApplication8, GDK_Launch7)
979 :
980 : // LaunchApplication9
981 0 : KEY_MAP_GTK (LaunchApplication9, GDK_Launch8)
982 :
983 : // LaunchApplication10
984 0 : KEY_MAP_GTK (LaunchApplication10, GDK_Launch9)
985 :
986 : // LaunchApplication11
987 0 : KEY_MAP_GTK (LaunchApplication11, GDK_LaunchA)
988 :
989 : // LaunchApplication12
990 0 : KEY_MAP_GTK (LaunchApplication12, GDK_LaunchB)
991 :
992 : // LaunchApplication13
993 0 : KEY_MAP_GTK (LaunchApplication13, GDK_LaunchC)
994 :
995 : // LaunchApplication14
996 0 : KEY_MAP_GTK (LaunchApplication14, GDK_LaunchD)
997 :
998 : // LaunchApplication15
999 0 : KEY_MAP_GTK (LaunchApplication15, GDK_LaunchE)
1000 :
1001 : // LaunchApplication16
1002 0 : KEY_MAP_GTK (LaunchApplication16, GDK_LaunchF)
1003 :
1004 : // LaunchApplication17
1005 :
1006 : // LaunchApplication18
1007 :
1008 : /******************************************************************************
1009 : * Browser Keys
1010 : ******************************************************************************/
1011 : // BrowserBack
1012 : KEY_MAP_WIN (BrowserBack, VK_BROWSER_BACK)
1013 : KEY_MAP_WIN_CMD (BrowserBack, APPCOMMAND_BROWSER_BACKWARD)
1014 0 : KEY_MAP_GTK (BrowserBack, GDK_Back)
1015 :
1016 : // BrowserFavorites
1017 : KEY_MAP_WIN (BrowserFavorites, VK_BROWSER_FAVORITES)
1018 : KEY_MAP_WIN_CMD (BrowserFavorites, APPCOMMAND_BROWSER_FAVORITES)
1019 : KEY_MAP_ANDROID (BrowserFavorites, AKEYCODE_BOOKMARK)
1020 :
1021 : // BrowserForward
1022 : KEY_MAP_WIN (BrowserForward, VK_BROWSER_FORWARD)
1023 : KEY_MAP_WIN_CMD (BrowserForward, APPCOMMAND_BROWSER_FORWARD)
1024 0 : KEY_MAP_GTK (BrowserForward, GDK_Forward)
1025 : KEY_MAP_ANDROID (BrowserForward, AKEYCODE_FORWARD)
1026 :
1027 : // BrowserHome
1028 : KEY_MAP_WIN (BrowserHome, VK_BROWSER_HOME)
1029 : KEY_MAP_WIN_CMD (BrowserHome, APPCOMMAND_BROWSER_HOME)
1030 0 : KEY_MAP_GTK (BrowserHome, GDK_HomePage)
1031 :
1032 : // BrowserRefresh
1033 : KEY_MAP_WIN (BrowserRefresh, VK_BROWSER_REFRESH)
1034 : KEY_MAP_WIN_CMD (BrowserRefresh, APPCOMMAND_BROWSER_REFRESH)
1035 0 : KEY_MAP_GTK (BrowserRefresh, GDK_Refresh)
1036 0 : KEY_MAP_GTK (BrowserRefresh, GDK_Reload)
1037 :
1038 : // BrowserSearch
1039 : KEY_MAP_WIN (BrowserSearch, VK_BROWSER_SEARCH)
1040 : KEY_MAP_WIN_CMD (BrowserSearch, APPCOMMAND_BROWSER_SEARCH)
1041 0 : KEY_MAP_GTK (BrowserSearch, GDK_Search)
1042 : KEY_MAP_ANDROID (BrowserSearch, AKEYCODE_SEARCH)
1043 :
1044 : // BrowserStop
1045 : KEY_MAP_WIN (BrowserStop, VK_BROWSER_STOP)
1046 : KEY_MAP_WIN_CMD (BrowserStop, APPCOMMAND_BROWSER_STOP)
1047 0 : KEY_MAP_GTK (BrowserStop, GDK_Stop)
1048 :
1049 : /******************************************************************************
1050 : * Mobile Phone Keys
1051 : ******************************************************************************/
1052 : // AppSwitch
1053 : KEY_MAP_ANDROID (AppSwitch, AKEYCODE_APP_SWITCH)
1054 :
1055 : // Call
1056 : KEY_MAP_ANDROID (Call, AKEYCODE_CALL)
1057 :
1058 : // Camera
1059 : KEY_MAP_ANDROID (Camera, AKEYCODE_CAMERA)
1060 :
1061 : // CameraFocus
1062 : KEY_MAP_ANDROID_EXCEPT_B2G(CameraFocus, AKEYCODE_FOCUS)
1063 :
1064 : // EndCall
1065 : KEY_MAP_ANDROID (EndCall, AKEYCODE_ENDCALL)
1066 :
1067 : // GoBack
1068 : KEY_MAP_ANDROID (GoBack, AKEYCODE_BACK)
1069 :
1070 : // GoHome
1071 : KEY_MAP_ANDROID_EXCEPT_B2G(GoHome, AKEYCODE_HOME)
1072 : KEY_MAP_B2G (HomeScreen, AKEYCODE_HOME)
1073 :
1074 : // HeadsetHook
1075 : KEY_MAP_ANDROID (HeadsetHook, AKEYCODE_HEADSETHOOK)
1076 :
1077 : // Notification
1078 : KEY_MAP_ANDROID (Notification, AKEYCODE_NOTIFICATION)
1079 :
1080 : // MannerMode
1081 : KEY_MAP_ANDROID (MannerMode, AKEYCODE_MANNER_MODE)
1082 :
1083 : /******************************************************************************
1084 : * TV Keys
1085 : ******************************************************************************/
1086 : // TV
1087 : KEY_MAP_ANDROID (TV, AKEYCODE_TV)
1088 :
1089 : // TV3DMode
1090 : KEY_MAP_ANDROID (TV3DMode, AKEYCODE_3D_MODE)
1091 :
1092 : // TVAntennaCable
1093 : KEY_MAP_ANDROID (TVAntennaCable, AKEYCODE_TV_ANTENNA_CABLE)
1094 :
1095 : // TVAudioDescription
1096 : KEY_MAP_ANDROID (TVAudioDescription, AKEYCODE_TV_AUDIO_DESCRIPTION)
1097 :
1098 : // TVAudioDescriptionMixDown
1099 : KEY_MAP_ANDROID (TVAudioDescriptionMixDown, AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN)
1100 :
1101 : // TVAudioDescriptionMixUp
1102 : KEY_MAP_ANDROID (TVAudioDescriptionMixUp, AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP)
1103 :
1104 : // TVContentsMenu
1105 : KEY_MAP_ANDROID (TVContentsMenu, AKEYCODE_TV_CONTENTS_MENU)
1106 :
1107 : // TVDataService
1108 : KEY_MAP_ANDROID (TVDataService, AKEYCODE_TV_DATA_SERVICE)
1109 :
1110 : // TVInput
1111 : KEY_MAP_ANDROID (TVInput, AKEYCODE_TV_INPUT)
1112 :
1113 : // TVInputComponent1
1114 : KEY_MAP_ANDROID (TVInputComponent1, AKEYCODE_TV_INPUT_COMPONENT_1)
1115 :
1116 : // TVInputComponent2
1117 : KEY_MAP_ANDROID (TVInputComponent2, AKEYCODE_TV_INPUT_COMPONENT_2)
1118 :
1119 : // TVInputComposite1
1120 : KEY_MAP_ANDROID (TVInputComposite1, AKEYCODE_TV_INPUT_COMPOSITE_1)
1121 :
1122 : // TVInputComposite2
1123 : KEY_MAP_ANDROID (TVInputComposite2, AKEYCODE_TV_INPUT_COMPOSITE_2)
1124 :
1125 : // TVInputHDMI1
1126 : KEY_MAP_ANDROID (TVInputHDMI1, AKEYCODE_TV_INPUT_HDMI_1)
1127 :
1128 : // TVInputHDMI2
1129 : KEY_MAP_ANDROID (TVInputHDMI2, AKEYCODE_TV_INPUT_HDMI_2)
1130 :
1131 : // TVInputHDMI3
1132 : KEY_MAP_ANDROID (TVInputHDMI3, AKEYCODE_TV_INPUT_HDMI_3)
1133 :
1134 : // TVInputHDMI4
1135 : KEY_MAP_ANDROID (TVInputHDMI4, AKEYCODE_TV_INPUT_HDMI_4)
1136 :
1137 : // TVInputVGA1
1138 : KEY_MAP_ANDROID (TVInputVGA1, AKEYCODE_TV_INPUT_VGA_1)
1139 :
1140 : // TVNetwork
1141 : KEY_MAP_ANDROID (TVNetwork, AKEYCODE_TV_NETWORK)
1142 :
1143 : // TVNumberEntry
1144 : KEY_MAP_ANDROID (TVNumberEntry, AKEYCODE_TV_NUMBER_ENTRY)
1145 :
1146 : // TVPower
1147 : KEY_MAP_ANDROID (TVPower, AKEYCODE_TV_POWER)
1148 :
1149 : // TVRadioService
1150 : KEY_MAP_ANDROID (TVRadioService, AKEYCODE_TV_RADIO_SERVICE)
1151 :
1152 : // TVSatellite
1153 : KEY_MAP_ANDROID (TVSatellite, AKEYCODE_TV_SATELLITE)
1154 :
1155 : // TVSatelliteBS
1156 : KEY_MAP_ANDROID (TVSatelliteBS, AKEYCODE_TV_SATELLITE_BS)
1157 :
1158 : // TVSatelliteCS
1159 : KEY_MAP_ANDROID (TVSatelliteCS, AKEYCODE_TV_SATELLITE_CS)
1160 :
1161 : // TVSatelliteToggle
1162 : KEY_MAP_ANDROID (TVSatelliteToggle, AKEYCODE_TV_SATELLITE_SERVICE)
1163 :
1164 : // TVTerrestrialAnalog
1165 : KEY_MAP_ANDROID (TVTerrestrialAnalog, AKEYCODE_TV_TERRESTRIAL_ANALOG)
1166 :
1167 : // TVTerrestrialDigital
1168 : KEY_MAP_ANDROID (TVTerrestrialDigital, AKEYCODE_TV_TERRESTRIAL_DIGITAL)
1169 :
1170 : // TVTimer
1171 : KEY_MAP_ANDROID (TVTimer, AKEYCODE_TV_TIMER_PROGRAMMING)
1172 :
1173 : /******************************************************************************
1174 : * Media Controller Keys
1175 : ******************************************************************************/
1176 : // AVRInput
1177 : KEY_MAP_ANDROID (AVRInput, AKEYCODE_AVR_INPUT)
1178 :
1179 : // AVRPower
1180 : KEY_MAP_ANDROID (AVRPower, AKEYCODE_AVR_POWER)
1181 :
1182 : // ColorF0Red
1183 0 : KEY_MAP_GTK (ColorF0Red, GDK_Red)
1184 : KEY_MAP_ANDROID (ColorF0Red, AKEYCODE_PROG_RED)
1185 :
1186 : // ColorF1Green
1187 0 : KEY_MAP_GTK (ColorF1Green, GDK_Green)
1188 : KEY_MAP_ANDROID (ColorF1Green, AKEYCODE_PROG_GREEN)
1189 :
1190 : // ColorF2Yellow
1191 0 : KEY_MAP_GTK (ColorF2Yellow, GDK_Yellow)
1192 : KEY_MAP_ANDROID (ColorF2Yellow, AKEYCODE_PROG_YELLOW)
1193 :
1194 : // ColorF3Blue
1195 0 : KEY_MAP_GTK (ColorF3Blue, GDK_Blue)
1196 : KEY_MAP_ANDROID (ColorF3Blue, AKEYCODE_PROG_BLUE)
1197 :
1198 : // ClosedCaptionToggle
1199 : KEY_MAP_ANDROID (ClosedCaptionToggle, AKEYCODE_CAPTIONS)
1200 :
1201 : // Dimmer
1202 0 : KEY_MAP_GTK (Dimmer, GDK_BrightnessAdjust)
1203 :
1204 : // DVR
1205 : KEY_MAP_ANDROID (DVR, AKEYCODE_DVR)
1206 :
1207 : // Guide
1208 : KEY_MAP_ANDROID (Guide, AKEYCODE_GUIDE)
1209 :
1210 : // Info
1211 : KEY_MAP_ANDROID (Info, AKEYCODE_INFO)
1212 :
1213 : // MediaAudioTrack
1214 : KEY_MAP_ANDROID (MediaAudioTrack, AKEYCODE_MEDIA_AUDIO_TRACK)
1215 :
1216 : // MediaLast
1217 : KEY_MAP_ANDROID (MediaLast, AKEYCODE_LAST_CHANNEL)
1218 :
1219 : // MediaTopMenu
1220 : KEY_MAP_ANDROID (MediaTopMenu, AKEYCODE_MEDIA_TOP_MENU)
1221 :
1222 : // MediaSkipBackward
1223 : KEY_MAP_ANDROID (MediaSkipBackward, AKEYCODE_MEDIA_SKIP_BACKWARD)
1224 :
1225 : // MediaSkipForward
1226 : KEY_MAP_ANDROID (MediaSkipForward, AKEYCODE_MEDIA_SKIP_FORWARD)
1227 :
1228 : // MediaStepBackward
1229 : KEY_MAP_ANDROID (MediaStepBackward, AKEYCODE_MEDIA_STEP_BACKWARD)
1230 :
1231 : // MediaStepForward
1232 : KEY_MAP_ANDROID (MediaStepForward, AKEYCODE_MEDIA_STEP_FORWARD)
1233 :
1234 : // NavigateIn
1235 : KEY_MAP_ANDROID (NavigateIn, AKEYCODE_NAVIGATE_IN)
1236 :
1237 : // NavigateNext
1238 : KEY_MAP_ANDROID (NavigateNext, AKEYCODE_NAVIGATE_NEXT)
1239 :
1240 : // NavigateOut
1241 : KEY_MAP_ANDROID (NavigateOut, AKEYCODE_NAVIGATE_OUT)
1242 :
1243 : // NavigatePrevious
1244 : KEY_MAP_ANDROID (NavigatePrevious, AKEYCODE_NAVIGATE_PREVIOUS)
1245 :
1246 : // Pairing
1247 : KEY_MAP_ANDROID (Pairing, AKEYCODE_PAIRING)
1248 :
1249 : // PinPToggle
1250 : KEY_MAP_ANDROID (PinPToggle, AKEYCODE_WINDOW)
1251 :
1252 : // RandomToggle
1253 0 : KEY_MAP_GTK (RandomToggle, GDK_AudioRandomPlay)
1254 :
1255 : // Settings
1256 : KEY_MAP_ANDROID (Settings, AKEYCODE_SETTINGS)
1257 :
1258 : // STBInput
1259 : KEY_MAP_ANDROID (STBInput, AKEYCODE_STB_INPUT)
1260 :
1261 : // STBPower
1262 : KEY_MAP_ANDROID (STBPower, AKEYCODE_STB_POWER)
1263 :
1264 : // Subtitle
1265 0 : KEY_MAP_GTK (Subtitle, GDK_Subtitle)
1266 :
1267 : // Teletext
1268 : KEY_MAP_ANDROID (Teletext, AKEYCODE_TV_TELETEXT)
1269 :
1270 : // VideoModeNext
1271 0 : KEY_MAP_GTK (VideoModeNext, GDK_Next_VMode)
1272 :
1273 : // ZoomToggle
1274 : KEY_MAP_WIN (ZoomToggle, VK_ZOOM)
1275 : KEY_MAP_ANDROID (ZoomToggle, AKEYCODE_TV_ZOOM_MODE)
1276 :
1277 : /******************************************************************************
1278 : * Keys not defined by any standards
1279 : ******************************************************************************/
1280 : // SoftLeft
1281 : KEY_MAP_ANDROID (SoftLeft, AKEYCODE_SOFT_LEFT)
1282 :
1283 : // SoftRight
1284 : KEY_MAP_ANDROID (SoftRight, AKEYCODE_SOFT_RIGHT)
1285 :
1286 : #undef KEY_MAP_WIN
1287 : #undef KEY_MAP_WIN_JPN
1288 : #undef KEY_MAP_WIN_KOR
1289 : #undef KEY_MAP_WIN_OTH
1290 : #undef KEY_MAP_WIN_CMD
1291 : #undef KEY_MAP_COCOA
1292 : #undef KEY_MAP_GTK
1293 : #undef KEY_MAP_ANDROID
1294 : #undef KEY_MAP_ANDROID_EXCEPT_B2G
1295 : #undef KEY_MAP_B2G
|