LCOV - code coverage report
Current view: top level - widget - NativeKeyToDOMKeyName.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 258 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 0 -
Legend: Lines: hit not hit

          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

Generated by: LCOV version 1.13