/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ /** * This header file defines simple key mapping between native keycode value and * DOM key name index. * You must define NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX macro before include * this. * * It must have two arguments, (aNativeKey, aKeyNameIndex). * aNativeKey is a native keycode value. * aKeyNameIndex is the widget::KeyNameIndex value. */ // Windows #define KEY_MAP_WIN(aCPPKeyName, aNativeKey) #define KEY_MAP_WIN_JPN(aCPPKeyName, aNativeKey) #define KEY_MAP_WIN_KOR(aCPPKeyName, aNativeKey) #define KEY_MAP_WIN_OTH(aCPPKeyName, aNativeKey) #define KEY_MAP_WIN_CMD(aCPPKeyName, aAppCommand) // Mac OS X #define KEY_MAP_COCOA(aCPPKeyName, aNativeKey) // GTK #define KEY_MAP_GTK(aCPPKeyName, aNativeKey) // Only for Android #define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey) #if defined(XP_WIN) # if defined(NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX) // KEY_MAP_WIN() defines the mapping not depending on keyboard layout. # undef KEY_MAP_WIN # define KEY_MAP_WIN(aCPPKeyName, aNativeKey) \ NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \ KEY_NAME_INDEX_##aCPPKeyName) # elif defined(NS_JAPANESE_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX) // KEY_MAP_WIN_JPN() defines the mapping which is valid only with Japanese // keyboard layout. # undef KEY_MAP_WIN_JPN # define KEY_MAP_WIN_JPN(aCPPKeyName, aNativeKey) \ NS_JAPANESE_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX( \ aNativeKey, KEY_NAME_INDEX_##aCPPKeyName) # elif defined(NS_KOREAN_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX) // KEY_MAP_WIN_KOR() defines the mapping which is valid only with Korean // keyboard layout. # undef KEY_MAP_WIN_KOR # define KEY_MAP_WIN_KOR(aCPPKeyName, aNativeKey) \ NS_KOREAN_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \ KEY_NAME_INDEX_##aCPPKeyName) # elif defined(NS_OTHER_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX) // KEY_MAP_WIN_OTH() defines the mapping which is valid with neither // Japanese keyboard layout nor Korean keyboard layout. # undef KEY_MAP_WIN_OTH # define KEY_MAP_WIN_OTH(aCPPKeyName, aNativeKey) \ NS_OTHER_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \ KEY_NAME_INDEX_##aCPPKeyName) # elif defined(NS_APPCOMMAND_TO_DOM_KEY_NAME_INDEX) // KEY_MAP_WIN_CMD() defines the mapping from APPCOMMAND_* of WM_APPCOMMAND. # undef KEY_MAP_WIN_CMD # define KEY_MAP_WIN_CMD(aCPPKeyName, aAppCommand) \ NS_APPCOMMAND_TO_DOM_KEY_NAME_INDEX(aAppCommand, \ KEY_NAME_INDEX_##aCPPKeyName) # else # error Any NS_*_TO_DOM_KEY_NAME_INDEX() is not defined. # endif // #if defined(NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX) ... #elif defined(XP_MACOSX) # undef KEY_MAP_COCOA # define KEY_MAP_COCOA(aCPPKeyName, aNativeKey) \ NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \ KEY_NAME_INDEX_##aCPPKeyName) #elif defined(MOZ_WIDGET_GTK) # undef KEY_MAP_GTK # define KEY_MAP_GTK(aCPPKeyName, aNativeKey) \ NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \ KEY_NAME_INDEX_##aCPPKeyName) #elif defined(ANDROID) # undef KEY_MAP_ANDROID # define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey) \ NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, \ KEY_NAME_INDEX_##aCPPKeyName) #endif /****************************************************************************** * Modifier Keys ******************************************************************************/ // Alt KEY_MAP_WIN(Alt, VK_MENU) KEY_MAP_WIN(Alt, VK_LMENU) KEY_MAP_WIN(Alt, VK_RMENU) // This is ignored if active keyboard layout // has AltGr. In such case, AltGraph is mapped. KEY_MAP_COCOA(Alt, kVK_Option) KEY_MAP_COCOA(Alt, kVK_RightOption) KEY_MAP_GTK(Alt, GDK_Alt_L) KEY_MAP_GTK(Alt, GDK_Alt_R) KEY_MAP_GTK(Alt, GDK_Meta_L) KEY_MAP_GTK(Alt, GDK_Meta_R) KEY_MAP_ANDROID(Alt, AKEYCODE_ALT_LEFT) KEY_MAP_ANDROID(Alt, AKEYCODE_ALT_RIGHT) // AltGraph KEY_MAP_GTK (AltGraph, GDK_Mode_switch /* same as GDK_kana_switch, GDK_ISO_Group_Shift and GDK_script_switch */) // Let's treat both Level 3 shift and Level 5 shift as AltGr. // And also, let's treat Latch key and Lock key as AltGr key too like // GDK_Shift_Lock. KEY_MAP_GTK(AltGraph, GDK_ISO_Level3_Shift) KEY_MAP_GTK(AltGraph, GDK_ISO_Level3_Latch) KEY_MAP_GTK(AltGraph, GDK_ISO_Level3_Lock) KEY_MAP_GTK(AltGraph, GDK_ISO_Level5_Shift) KEY_MAP_GTK(AltGraph, GDK_ISO_Level5_Latch) KEY_MAP_GTK(AltGraph, GDK_ISO_Level5_Lock) // CapsLock KEY_MAP_WIN(CapsLock, VK_CAPITAL) KEY_MAP_COCOA(CapsLock, kVK_CapsLock) KEY_MAP_GTK(CapsLock, GDK_Caps_Lock) KEY_MAP_ANDROID(CapsLock, AKEYCODE_CAPS_LOCK) // Control KEY_MAP_WIN(Control, VK_CONTROL) KEY_MAP_WIN(Control, VK_LCONTROL) KEY_MAP_WIN(Control, VK_RCONTROL) KEY_MAP_COCOA(Control, kVK_Control) KEY_MAP_COCOA(Control, kVK_RightControl) KEY_MAP_GTK(Control, GDK_Control_L) KEY_MAP_GTK(Control, GDK_Control_R) KEY_MAP_ANDROID(Control, AKEYCODE_CTRL_LEFT) KEY_MAP_ANDROID(Control, AKEYCODE_CTRL_RIGHT) // Fn KEY_MAP_COCOA(Fn, kVK_Function) KEY_MAP_ANDROID(Fn, AKEYCODE_FUNCTION) // Meta KEY_MAP_WIN(Meta, VK_LWIN) KEY_MAP_WIN(Meta, VK_RWIN) KEY_MAP_COCOA(Meta, kVK_Command) KEY_MAP_COCOA(Meta, kVK_RightCommand) KEY_MAP_GTK(Meta, GDK_Super_L) KEY_MAP_GTK(Meta, GDK_Super_R) KEY_MAP_GTK(Meta, GDK_Hyper_L) KEY_MAP_GTK(Meta, GDK_Hyper_R) KEY_MAP_ANDROID(Meta, AKEYCODE_META_LEFT) KEY_MAP_ANDROID(Meta, AKEYCODE_META_RIGHT) // NumLock KEY_MAP_WIN(NumLock, VK_NUMLOCK) KEY_MAP_GTK(NumLock, GDK_Num_Lock) KEY_MAP_ANDROID(NumLock, AKEYCODE_NUM_LOCK) // ScrollLock KEY_MAP_WIN(ScrollLock, VK_SCROLL) KEY_MAP_GTK(ScrollLock, GDK_Scroll_Lock) KEY_MAP_ANDROID(ScrollLock, AKEYCODE_SCROLL_LOCK) // Shift KEY_MAP_WIN(Shift, VK_SHIFT) KEY_MAP_WIN(Shift, VK_LSHIFT) KEY_MAP_WIN(Shift, VK_RSHIFT) KEY_MAP_COCOA(Shift, kVK_Shift) KEY_MAP_COCOA(Shift, kVK_RightShift) KEY_MAP_GTK(Shift, GDK_Shift_L) KEY_MAP_GTK(Shift, GDK_Shift_R) KEY_MAP_GTK(Shift, GDK_Shift_Lock) // Let's treat as Shift key (bug 769159) KEY_MAP_ANDROID(Shift, AKEYCODE_SHIFT_LEFT) KEY_MAP_ANDROID(Shift, AKEYCODE_SHIFT_RIGHT) // Symbol KEY_MAP_ANDROID(Symbol, AKEYCODE_SYM) /****************************************************************************** * Whitespace Keys ******************************************************************************/ // Enter KEY_MAP_WIN(Enter, VK_RETURN) KEY_MAP_COCOA(Enter, kVK_Return) KEY_MAP_COCOA(Enter, kVK_ANSI_KeypadEnter) KEY_MAP_COCOA(Enter, kVK_Powerbook_KeypadEnter) KEY_MAP_GTK(Enter, GDK_Return) KEY_MAP_GTK(Enter, GDK_KP_Enter) KEY_MAP_GTK(Enter, GDK_ISO_Enter) KEY_MAP_GTK(Enter, GDK_3270_Enter) KEY_MAP_ANDROID(Enter, AKEYCODE_DPAD_CENTER) KEY_MAP_ANDROID(Enter, AKEYCODE_ENTER) KEY_MAP_ANDROID(Enter, AKEYCODE_NUMPAD_ENTER) // Tab KEY_MAP_WIN(Tab, VK_TAB) KEY_MAP_COCOA(Tab, kVK_Tab) KEY_MAP_GTK(Tab, GDK_Tab) KEY_MAP_GTK(Tab, GDK_ISO_Left_Tab) // Shift+Tab KEY_MAP_GTK(Tab, GDK_KP_Tab) KEY_MAP_ANDROID(Tab, AKEYCODE_TAB) /****************************************************************************** * Navigation Keys ******************************************************************************/ // ArrowDown KEY_MAP_WIN(ArrowDown, VK_DOWN) KEY_MAP_COCOA(ArrowDown, kVK_DownArrow) KEY_MAP_GTK(ArrowDown, GDK_Down) KEY_MAP_GTK(ArrowDown, GDK_KP_Down) KEY_MAP_ANDROID(ArrowDown, AKEYCODE_DPAD_DOWN) // ArrowLeft KEY_MAP_WIN(ArrowLeft, VK_LEFT) KEY_MAP_COCOA(ArrowLeft, kVK_LeftArrow) KEY_MAP_GTK(ArrowLeft, GDK_Left) KEY_MAP_GTK(ArrowLeft, GDK_KP_Left) KEY_MAP_ANDROID(ArrowLeft, AKEYCODE_DPAD_LEFT) // ArrowRight KEY_MAP_WIN(ArrowRight, VK_RIGHT) KEY_MAP_COCOA(ArrowRight, kVK_RightArrow) KEY_MAP_GTK(ArrowRight, GDK_Right) KEY_MAP_GTK(ArrowRight, GDK_KP_Right) KEY_MAP_ANDROID(ArrowRight, AKEYCODE_DPAD_RIGHT) // ArrowUp KEY_MAP_WIN(ArrowUp, VK_UP) KEY_MAP_COCOA(ArrowUp, kVK_UpArrow) KEY_MAP_GTK(ArrowUp, GDK_Up) KEY_MAP_GTK(ArrowUp, GDK_KP_Up) KEY_MAP_ANDROID(ArrowUp, AKEYCODE_DPAD_UP) // End KEY_MAP_WIN(End, VK_END) KEY_MAP_COCOA(End, kVK_End) KEY_MAP_GTK(End, GDK_End) KEY_MAP_GTK(End, GDK_KP_End) KEY_MAP_ANDROID(End, AKEYCODE_MOVE_END) // Home KEY_MAP_WIN(Home, VK_HOME) KEY_MAP_COCOA(Home, kVK_Home) KEY_MAP_GTK(Home, GDK_Home) KEY_MAP_GTK(Home, GDK_KP_Home) KEY_MAP_ANDROID(Home, AKEYCODE_MOVE_HOME) // PageDown KEY_MAP_WIN(PageDown, VK_NEXT) KEY_MAP_COCOA(PageDown, kVK_PageDown) KEY_MAP_GTK(PageDown, GDK_Page_Down /* same as GDK_Next */) KEY_MAP_GTK(PageDown, GDK_KP_Page_Down /* same as GDK_KP_Next */) KEY_MAP_ANDROID(PageDown, AKEYCODE_PAGE_DOWN) // PageUp KEY_MAP_WIN(PageUp, VK_PRIOR) KEY_MAP_COCOA(PageUp, kVK_PageUp) KEY_MAP_GTK(PageUp, GDK_Page_Up /* same as GDK_Prior */) KEY_MAP_GTK(PageUp, GDK_KP_Page_Up /* same as GDK_KP_Prior */) KEY_MAP_ANDROID(PageUp, AKEYCODE_PAGE_UP) /****************************************************************************** * Editing Keys ******************************************************************************/ // Backspace KEY_MAP_WIN(Backspace, VK_BACK) KEY_MAP_COCOA(Backspace, kVK_PC_Backspace) KEY_MAP_GTK(Backspace, GDK_BackSpace) KEY_MAP_ANDROID(Backspace, AKEYCODE_DEL) // Clear KEY_MAP_WIN(Clear, VK_CLEAR) KEY_MAP_WIN(Clear, VK_OEM_CLEAR) KEY_MAP_COCOA(Clear, kVK_ANSI_KeypadClear) KEY_MAP_GTK(Clear, GDK_Clear) KEY_MAP_ANDROID(Clear, AKEYCODE_CLEAR) // Copy KEY_MAP_WIN_CMD(Copy, APPCOMMAND_COPY) KEY_MAP_GTK(Copy, GDK_Copy) KEY_MAP_ANDROID(Copy, AKEYCODE_COPY) // CrSel KEY_MAP_WIN(CrSel, VK_CRSEL) KEY_MAP_GTK(CrSel, GDK_3270_CursorSelect) // legacy IBM keyboard layout // Cut KEY_MAP_WIN_CMD(Cut, APPCOMMAND_CUT) KEY_MAP_GTK(Cut, GDK_Cut) KEY_MAP_ANDROID(Cut, AKEYCODE_CUT) // Delete KEY_MAP_WIN(Delete, VK_DELETE) KEY_MAP_COCOA(Delete, kVK_PC_Delete) KEY_MAP_GTK(Delete, GDK_Delete) KEY_MAP_GTK(Delete, GDK_KP_Delete) KEY_MAP_ANDROID(Delete, AKEYCODE_FORWARD_DEL) // EraseEof KEY_MAP_WIN(EraseEof, VK_EREOF) KEY_MAP_GTK(EraseEof, GDK_3270_EraseEOF) // legacy IBM keyboard layout // ExSel KEY_MAP_WIN(ExSel, VK_EXSEL) KEY_MAP_GTK(ExSel, GDK_3270_ExSelect) // legacy IBM keyboard layout // Insert KEY_MAP_WIN(Insert, VK_INSERT) KEY_MAP_GTK(Insert, GDK_Insert) KEY_MAP_GTK(Insert, GDK_KP_Insert) KEY_MAP_ANDROID(Insert, AKEYCODE_INSERT) // Paste KEY_MAP_WIN_CMD(Paste, APPCOMMAND_PASTE) KEY_MAP_GTK(Paste, GDK_Paste) KEY_MAP_ANDROID(Paste, AKEYCODE_PASTE) // Redo KEY_MAP_WIN_CMD(Redo, APPCOMMAND_REDO) KEY_MAP_GTK(Redo, GDK_Redo) // Undo KEY_MAP_WIN_CMD(Undo, APPCOMMAND_UNDO) KEY_MAP_GTK(Undo, GDK_Undo) /****************************************************************************** * UI Keys ******************************************************************************/ // Accept KEY_MAP_WIN(Accept, VK_ACCEPT) // Attn KEY_MAP_WIN_OTH(Attn, VK_ATTN) // not valid with Japanese keyboard layout KEY_MAP_GTK(Attn, GDK_3270_Attn) // legacy IBM keyboard layout // Cancel KEY_MAP_WIN(Cancel, VK_CANCEL) KEY_MAP_GTK(Cancel, GDK_Cancel) // ContextMenu KEY_MAP_WIN(ContextMenu, VK_APPS) KEY_MAP_COCOA(ContextMenu, kVK_PC_ContextMenu) KEY_MAP_GTK(ContextMenu, GDK_Menu) KEY_MAP_ANDROID(ContextMenu, AKEYCODE_MENU) // Escape KEY_MAP_WIN(Escape, VK_ESCAPE) KEY_MAP_COCOA(Escape, kVK_Escape) KEY_MAP_GTK(Escape, GDK_Escape) KEY_MAP_ANDROID(Escape, AKEYCODE_ESCAPE) // Execute KEY_MAP_WIN(Execute, VK_EXECUTE) KEY_MAP_GTK(Execute, GDK_Execute) // Find KEY_MAP_WIN_CMD(Find, APPCOMMAND_FIND) KEY_MAP_GTK(Find, GDK_Find) // Help KEY_MAP_WIN(Help, VK_HELP) KEY_MAP_WIN_CMD(Help, APPCOMMAND_HELP) KEY_MAP_COCOA(Help, kVK_Help) KEY_MAP_GTK(Help, GDK_Help) KEY_MAP_ANDROID(Help, AKEYCODE_HELP) // Pause KEY_MAP_WIN(Pause, VK_PAUSE) KEY_MAP_GTK(Pause, GDK_Pause) // Break is typically mapped to Alt+Pause or Ctrl+Pause on GTK. KEY_MAP_GTK(Pause, GDK_Break) KEY_MAP_ANDROID(Pause, AKEYCODE_BREAK) // Play KEY_MAP_WIN(Play, VK_PLAY) KEY_MAP_GTK(Play, GDK_3270_Play) // legacy IBM keyboard layout // Select KEY_MAP_WIN(Select, VK_SELECT) KEY_MAP_GTK(Select, GDK_Select) // ZoomIn KEY_MAP_GTK(ZoomIn, GDK_ZoomIn) KEY_MAP_ANDROID(ZoomIn, AKEYCODE_ZOOM_IN) // ZoomOut KEY_MAP_GTK(ZoomOut, GDK_ZoomOut) KEY_MAP_ANDROID(ZoomOut, AKEYCODE_ZOOM_OUT) /****************************************************************************** * Device Keys ******************************************************************************/ // BrightnessDown KEY_MAP_GTK(BrightnessDown, GDK_MonBrightnessDown) KEY_MAP_ANDROID(BrightnessDown, AKEYCODE_BRIGHTNESS_DOWN) // BrightnessUp KEY_MAP_GTK(BrightnessUp, GDK_MonBrightnessUp) KEY_MAP_ANDROID(BrightnessUp, AKEYCODE_BRIGHTNESS_UP) // Eject KEY_MAP_GTK(Eject, GDK_Eject) KEY_MAP_ANDROID(Eject, AKEYCODE_MEDIA_EJECT) // LogOff KEY_MAP_GTK(LogOff, GDK_LogOff) // Power KEY_MAP_ANDROID(Power, AKEYCODE_POWER) // PowerOff KEY_MAP_GTK(PowerOff, GDK_PowerDown) KEY_MAP_GTK(PowerOff, GDK_PowerOff) // PrintScreen KEY_MAP_WIN(PrintScreen, VK_SNAPSHOT) KEY_MAP_GTK(PrintScreen, GDK_3270_PrintScreen) KEY_MAP_GTK(PrintScreen, GDK_Print) KEY_MAP_GTK(PrintScreen, GDK_Sys_Req) KEY_MAP_ANDROID(PrintScreen, AKEYCODE_SYSRQ) // Hibernate KEY_MAP_GTK(Hibernate, GDK_Hibernate) // Standby KEY_MAP_WIN(Standby, VK_SLEEP) KEY_MAP_GTK(Standby, GDK_Standby) KEY_MAP_GTK(Standby, GDK_Suspend) KEY_MAP_GTK(Standby, GDK_Sleep) KEY_MAP_ANDROID(Standby, AKEYCODE_SLEEP) // WakeUp KEY_MAP_GTK(WakeUp, GDK_WakeUp) KEY_MAP_ANDROID(WakeUp, AKEYCODE_WAKEUP) /****************************************************************************** * IME and Composition Keys ******************************************************************************/ // AllCandidates KEY_MAP_GTK(AllCandidates, GDK_MultipleCandidate) // OADG 109, Zen Koho // Alphanumeric KEY_MAP_WIN_JPN(Alphanumeric, VK_OEM_ATTN) KEY_MAP_GTK(Alphanumeric, GDK_Eisu_Shift) KEY_MAP_GTK(Alphanumeric, GDK_Eisu_toggle) // CodeInput KEY_MAP_GTK(CodeInput, GDK_Codeinput) // OADG 109, Kanji Bangou // Compose KEY_MAP_GTK(Compose, GDK_Multi_key) // "Multi Key" is "Compose key" on X // Convert KEY_MAP_WIN(Convert, VK_CONVERT) KEY_MAP_GTK(Convert, GDK_Henkan) KEY_MAP_ANDROID(Convert, AKEYCODE_HENKAN) // Dead KEY_MAP_GTK(Dead, GDK_dead_grave) KEY_MAP_GTK(Dead, GDK_dead_acute) KEY_MAP_GTK(Dead, GDK_dead_circumflex) KEY_MAP_GTK(Dead, GDK_dead_tilde) // Same as GDK_dead_perispomeni KEY_MAP_GTK(Dead, GDK_dead_macron) KEY_MAP_GTK(Dead, GDK_dead_breve) KEY_MAP_GTK(Dead, GDK_dead_abovedot) KEY_MAP_GTK(Dead, GDK_dead_diaeresis) KEY_MAP_GTK(Dead, GDK_dead_abovering) KEY_MAP_GTK(Dead, GDK_dead_doubleacute) KEY_MAP_GTK(Dead, GDK_dead_caron) KEY_MAP_GTK(Dead, GDK_dead_cedilla) KEY_MAP_GTK(Dead, GDK_dead_ogonek) KEY_MAP_GTK(Dead, GDK_dead_iota) KEY_MAP_GTK(Dead, GDK_dead_voiced_sound) KEY_MAP_GTK(Dead, GDK_dead_semivoiced_sound) KEY_MAP_GTK(Dead, GDK_dead_belowdot) KEY_MAP_GTK(Dead, GDK_dead_hook) KEY_MAP_GTK(Dead, GDK_dead_horn) KEY_MAP_GTK(Dead, GDK_dead_stroke) KEY_MAP_GTK(Dead, GDK_dead_abovecomma) // Same as GDK_dead_psili KEY_MAP_GTK(Dead, GDK_dead_abovereversedcomma) // Same as GDK_dead_dasia KEY_MAP_GTK(Dead, GDK_dead_doublegrave) KEY_MAP_GTK(Dead, GDK_dead_belowring) KEY_MAP_GTK(Dead, GDK_dead_belowmacron) KEY_MAP_GTK(Dead, GDK_dead_belowcircumflex) KEY_MAP_GTK(Dead, GDK_dead_belowtilde) KEY_MAP_GTK(Dead, GDK_dead_belowbreve) KEY_MAP_GTK(Dead, GDK_dead_belowdiaeresis) KEY_MAP_GTK(Dead, GDK_dead_invertedbreve) KEY_MAP_GTK(Dead, GDK_dead_belowcomma) KEY_MAP_GTK(Dead, GDK_dead_currency) KEY_MAP_GTK(Dead, GDK_dead_a) KEY_MAP_GTK(Dead, GDK_dead_A) KEY_MAP_GTK(Dead, GDK_dead_e) KEY_MAP_GTK(Dead, GDK_dead_E) KEY_MAP_GTK(Dead, GDK_dead_i) KEY_MAP_GTK(Dead, GDK_dead_I) KEY_MAP_GTK(Dead, GDK_dead_o) KEY_MAP_GTK(Dead, GDK_dead_O) KEY_MAP_GTK(Dead, GDK_dead_u) KEY_MAP_GTK(Dead, GDK_dead_U) KEY_MAP_GTK(Dead, GDK_dead_small_schwa) KEY_MAP_GTK(Dead, GDK_dead_capital_schwa) KEY_MAP_GTK(Dead, GDK_dead_greek) // FinalMode KEY_MAP_WIN(FinalMode, VK_FINAL) // GroupFirst KEY_MAP_GTK(GroupFirst, GDK_ISO_First_Group) // GroupLast KEY_MAP_GTK(GroupLast, GDK_ISO_Last_Group) // GroupNext KEY_MAP_GTK(GroupNext, GDK_ISO_Next_Group) KEY_MAP_ANDROID(GroupNext, AKEYCODE_LANGUAGE_SWITCH) // GroupPrevious KEY_MAP_GTK(GroupPrevious, GDK_ISO_Prev_Group) // ModeChange KEY_MAP_WIN(ModeChange, VK_MODECHANGE) KEY_MAP_ANDROID(ModeChange, AKEYCODE_SWITCH_CHARSET) // NonConvert KEY_MAP_WIN(NonConvert, VK_NONCONVERT) KEY_MAP_GTK(NonConvert, GDK_Muhenkan) KEY_MAP_ANDROID(NonConvert, AKEYCODE_MUHENKAN) // PreviousCandidate KEY_MAP_GTK(PreviousCandidate, GDK_PreviousCandidate) // OADG 109, Mae Koho // Process KEY_MAP_WIN(Process, VK_PROCESSKEY) // SingleCandidate KEY_MAP_GTK(SingleCandidate, GDK_SingleCandidate) /****************************************************************************** * Keys specific to Korean keyboards ******************************************************************************/ // HangulMode KEY_MAP_WIN_KOR(HangulMode, VK_HANGUL /* same as VK_KANA */) // HanjaMode KEY_MAP_WIN_KOR(HanjaMode, VK_HANJA /* same as VK_KANJI */) // JunjaMode KEY_MAP_WIN(JunjaMode, VK_JUNJA) /****************************************************************************** * Keys specific to Japanese keyboards ******************************************************************************/ // Eisu KEY_MAP_COCOA(Eisu, kVK_JIS_Eisu) KEY_MAP_ANDROID(Eisu, AKEYCODE_EISU) // Hankaku KEY_MAP_WIN_JPN(Hankaku, VK_OEM_AUTO) KEY_MAP_GTK(Hankaku, GDK_Hankaku) // Hiragana KEY_MAP_WIN_JPN(Hiragana, VK_OEM_COPY) KEY_MAP_GTK(Hiragana, GDK_Hiragana) // HiraganaKatakana KEY_MAP_GTK(HiraganaKatakana, GDK_Hiragana_Katakana) KEY_MAP_ANDROID(HiraganaKatakana, AKEYCODE_KATAKANA_HIRAGANA) // KanaMode // VK_KANA is never used with modern Japanese keyboard, however, IE maps it to // KanaMode, therefore, we should use same map for it. KEY_MAP_WIN_JPN(KanaMode, VK_KANA /* same as VK_HANGUL */) KEY_MAP_WIN_JPN(KanaMode, VK_ATTN) KEY_MAP_GTK(KanaMode, GDK_Kana_Lock) KEY_MAP_GTK(KanaMode, GDK_Kana_Shift) // KanjiMode KEY_MAP_WIN_JPN(KanjiMode, VK_KANJI /* same as VK_HANJA */) KEY_MAP_COCOA(KanjiMode, kVK_JIS_Kana) // Kana key opens IME KEY_MAP_GTK(KanjiMode, GDK_Kanji) // Typically, Alt + Hankaku/Zenkaku key // Assuming that KANA key of Android is the Kana key on Mac keyboard. KEY_MAP_ANDROID(KanjiMode, AKEYCODE_KANA) // Katakana KEY_MAP_WIN_JPN(Katakana, VK_OEM_FINISH) KEY_MAP_GTK(Katakana, GDK_Katakana) // Romaji KEY_MAP_WIN_JPN(Romaji, VK_OEM_BACKTAB) KEY_MAP_GTK(Romaji, GDK_Romaji) // Zenkaku KEY_MAP_WIN_JPN(Zenkaku, VK_OEM_ENLW) KEY_MAP_GTK(Zenkaku, GDK_Zenkaku) // ZenkakuHankaku KEY_MAP_GTK(ZenkakuHankaku, GDK_Zenkaku_Hankaku) KEY_MAP_ANDROID(ZenkakuHankaku, AKEYCODE_ZENKAKU_HANKAKU) /****************************************************************************** * General-Purpose Function Keys ******************************************************************************/ // F1 KEY_MAP_WIN(F1, VK_F1) KEY_MAP_COCOA(F1, kVK_F1) KEY_MAP_GTK(F1, GDK_F1) KEY_MAP_GTK(F1, GDK_KP_F1) KEY_MAP_ANDROID(F1, AKEYCODE_F1) // F2 KEY_MAP_WIN(F2, VK_F2) KEY_MAP_COCOA(F2, kVK_F2) KEY_MAP_GTK(F2, GDK_F2) KEY_MAP_GTK(F2, GDK_KP_F2) KEY_MAP_ANDROID(F2, AKEYCODE_F2) // F3 KEY_MAP_WIN(F3, VK_F3) KEY_MAP_COCOA(F3, kVK_F3) KEY_MAP_GTK(F3, GDK_F3) KEY_MAP_GTK(F3, GDK_KP_F3) KEY_MAP_ANDROID(F3, AKEYCODE_F3) // F4 KEY_MAP_WIN(F4, VK_F4) KEY_MAP_COCOA(F4, kVK_F4) KEY_MAP_GTK(F4, GDK_F4) KEY_MAP_GTK(F4, GDK_KP_F4) KEY_MAP_ANDROID(F4, AKEYCODE_F4) // F5 KEY_MAP_WIN(F5, VK_F5) KEY_MAP_COCOA(F5, kVK_F5) KEY_MAP_GTK(F5, GDK_F5) KEY_MAP_ANDROID(F5, AKEYCODE_F5) // F6 KEY_MAP_WIN(F6, VK_F6) KEY_MAP_COCOA(F6, kVK_F6) KEY_MAP_GTK(F6, GDK_F6) KEY_MAP_ANDROID(F6, AKEYCODE_F6) // F7 KEY_MAP_WIN(F7, VK_F7) KEY_MAP_COCOA(F7, kVK_F7) KEY_MAP_GTK(F7, GDK_F7) KEY_MAP_ANDROID(F7, AKEYCODE_F7) // F8 KEY_MAP_WIN(F8, VK_F8) KEY_MAP_COCOA(F8, kVK_F8) KEY_MAP_GTK(F8, GDK_F8) KEY_MAP_ANDROID(F8, AKEYCODE_F8) // F9 KEY_MAP_WIN(F9, VK_F9) KEY_MAP_COCOA(F9, kVK_F9) KEY_MAP_GTK(F9, GDK_F9) KEY_MAP_ANDROID(F9, AKEYCODE_F9) // F10 KEY_MAP_WIN(F10, VK_F10) KEY_MAP_COCOA(F10, kVK_F10) KEY_MAP_GTK(F10, GDK_F10) KEY_MAP_ANDROID(F10, AKEYCODE_F10) // F11 KEY_MAP_WIN(F11, VK_F11) KEY_MAP_COCOA(F11, kVK_F11) KEY_MAP_GTK(F11, GDK_F11 /* same as GDK_L1 */) KEY_MAP_ANDROID(F11, AKEYCODE_F11) // F12 KEY_MAP_WIN(F12, VK_F12) KEY_MAP_COCOA(F12, kVK_F12) KEY_MAP_GTK(F12, GDK_F12 /* same as GDK_L2 */) KEY_MAP_ANDROID(F12, AKEYCODE_F12) // F13 KEY_MAP_WIN(F13, VK_F13) KEY_MAP_COCOA(F13, kVK_F13) KEY_MAP_GTK(F13, GDK_F13 /* same as GDK_L3 */) // F14 KEY_MAP_WIN(F14, VK_F14) KEY_MAP_COCOA(F14, kVK_F14) KEY_MAP_GTK(F14, GDK_F14 /* same as GDK_L4 */) // F15 KEY_MAP_WIN(F15, VK_F15) KEY_MAP_COCOA(F15, kVK_F15) KEY_MAP_GTK(F15, GDK_F15 /* same as GDK_L5 */) // F16 KEY_MAP_WIN(F16, VK_F16) KEY_MAP_COCOA(F16, kVK_F16) KEY_MAP_GTK(F16, GDK_F16 /* same as GDK_L6 */) // F17 KEY_MAP_WIN(F17, VK_F17) KEY_MAP_COCOA(F17, kVK_F17) KEY_MAP_GTK(F17, GDK_F17 /* same as GDK_L7 */) // F18 KEY_MAP_WIN(F18, VK_F18) KEY_MAP_COCOA(F18, kVK_F18) KEY_MAP_GTK(F18, GDK_F18 /* same as GDK_L8 */) // F19 KEY_MAP_WIN(F19, VK_F19) KEY_MAP_COCOA(F19, kVK_F19) KEY_MAP_GTK(F19, GDK_F19 /* same as GDK_L9 */) // F20 KEY_MAP_WIN(F20, VK_F20) KEY_MAP_GTK(F20, GDK_F20 /* same as GDK_L10 */) // F21 KEY_MAP_WIN(F21, VK_F21) KEY_MAP_GTK(F21, GDK_F21 /* same as GDK_R1 */) // F22 KEY_MAP_WIN(F22, VK_F22) KEY_MAP_GTK(F22, GDK_F22 /* same as GDK_R2 */) // F23 KEY_MAP_WIN(F23, VK_F23) KEY_MAP_GTK(F23, GDK_F23 /* same as GDK_R3 */) // F24 KEY_MAP_WIN(F24, VK_F24) KEY_MAP_GTK(F24, GDK_F24 /* same as GDK_R4 */) // F25 KEY_MAP_GTK(F25, GDK_F25 /* same as GDK_R5 */) // F26 KEY_MAP_GTK(F26, GDK_F26 /* same as GDK_R6 */) // F27 KEY_MAP_GTK(F27, GDK_F27 /* same as GDK_R7 */) // F28 KEY_MAP_GTK(F28, GDK_F28 /* same as GDK_R8 */) // F29 KEY_MAP_GTK(F29, GDK_F29 /* same as GDK_R9 */) // F30 KEY_MAP_GTK(F30, GDK_F30 /* same as GDK_R10 */) // F31 KEY_MAP_GTK(F31, GDK_F31 /* same as GDK_R11 */) // F32 KEY_MAP_GTK(F32, GDK_F32 /* same as GDK_R12 */) // F33 KEY_MAP_GTK(F33, GDK_F33 /* same as GDK_R13 */) // F34 KEY_MAP_GTK(F34, GDK_F34 /* same as GDK_R14 */) // F35 KEY_MAP_GTK(F35, GDK_F35 /* same as GDK_R15 */) /****************************************************************************** * Multimedia Keys ******************************************************************************/ // ChannelDown KEY_MAP_WIN_CMD(ChannelDown, APPCOMMAND_MEDIA_CHANNEL_DOWN) KEY_MAP_ANDROID(ChannelDown, AKEYCODE_CHANNEL_DOWN) // ChannelUp KEY_MAP_WIN_CMD(ChannelUp, APPCOMMAND_MEDIA_CHANNEL_UP) KEY_MAP_ANDROID(ChannelUp, AKEYCODE_CHANNEL_UP) // Close // NOTE: This is not a key to close disk tray, this is a key to close document // or window. KEY_MAP_WIN_CMD(Close, APPCOMMAND_CLOSE) KEY_MAP_GTK(Close, GDK_Close) // MailForward KEY_MAP_WIN_CMD(MailForward, APPCOMMAND_FORWARD_MAIL) KEY_MAP_GTK(MailForward, GDK_MailForward) // MailReply KEY_MAP_WIN_CMD(MailReply, APPCOMMAND_REPLY_TO_MAIL) KEY_MAP_GTK(MailReply, GDK_Reply) // MailSend KEY_MAP_WIN_CMD(MailSend, APPCOMMAND_SEND_MAIL) KEY_MAP_GTK(MailSend, GDK_Send) // MediaFastForward KEY_MAP_WIN_CMD(MediaFastForward, APPCOMMAND_MEDIA_FAST_FORWARD) KEY_MAP_GTK(MediaFastForward, GDK_AudioForward) KEY_MAP_ANDROID(MediaFastForward, AKEYCODE_MEDIA_FAST_FORWARD) // MediaPause KEY_MAP_WIN_CMD(MediaPause, APPCOMMAND_MEDIA_PAUSE) KEY_MAP_GTK(MediaPause, GDK_AudioPause) KEY_MAP_ANDROID(MediaPause, AKEYCODE_MEDIA_PAUSE) // MediaPlay KEY_MAP_WIN_CMD(MediaPlay, APPCOMMAND_MEDIA_PLAY) KEY_MAP_GTK(MediaPlay, GDK_AudioPlay) KEY_MAP_ANDROID(MediaPlay, AKEYCODE_MEDIA_PLAY) // MediaPlayPause KEY_MAP_WIN(MediaPlayPause, VK_MEDIA_PLAY_PAUSE) KEY_MAP_WIN_CMD(MediaPlayPause, APPCOMMAND_MEDIA_PLAY_PAUSE) KEY_MAP_ANDROID(MediaPlayPause, AKEYCODE_MEDIA_PLAY_PAUSE) // MediaRecord KEY_MAP_WIN_CMD(MediaRecord, APPCOMMAND_MEDIA_RECORD) KEY_MAP_GTK(MediaRecord, GDK_AudioRecord) KEY_MAP_ANDROID(MediaRecord, AKEYCODE_MEDIA_RECORD) // MediaRewind KEY_MAP_WIN_CMD(MediaRewind, APPCOMMAND_MEDIA_REWIND) KEY_MAP_GTK(MediaRewind, GDK_AudioRewind) KEY_MAP_ANDROID(MediaRewind, AKEYCODE_MEDIA_REWIND) // MediaStop KEY_MAP_WIN(MediaStop, VK_MEDIA_STOP) KEY_MAP_WIN_CMD(MediaStop, APPCOMMAND_MEDIA_STOP) KEY_MAP_GTK(MediaStop, GDK_AudioStop) KEY_MAP_ANDROID(MediaStop, AKEYCODE_MEDIA_STOP) // MediaTrackNext KEY_MAP_WIN(MediaTrackNext, VK_MEDIA_NEXT_TRACK) KEY_MAP_WIN_CMD(MediaTrackNext, APPCOMMAND_MEDIA_NEXTTRACK) KEY_MAP_GTK(MediaTrackNext, GDK_AudioNext) KEY_MAP_ANDROID(MediaTrackNext, AKEYCODE_MEDIA_NEXT) // MediaTrackPrevious KEY_MAP_WIN(MediaTrackPrevious, VK_MEDIA_PREV_TRACK) KEY_MAP_WIN_CMD(MediaTrackPrevious, APPCOMMAND_MEDIA_PREVIOUSTRACK) KEY_MAP_GTK(MediaTrackPrevious, GDK_AudioPrev) KEY_MAP_ANDROID(MediaTrackPrevious, AKEYCODE_MEDIA_PREVIOUS) // New KEY_MAP_WIN_CMD(New, APPCOMMAND_NEW) KEY_MAP_GTK(New, GDK_New) // Open KEY_MAP_WIN_CMD(Open, APPCOMMAND_OPEN) KEY_MAP_GTK(Open, GDK_Open) // Print KEY_MAP_WIN_CMD(Print, APPCOMMAND_PRINT) // Save KEY_MAP_WIN_CMD(Save, APPCOMMAND_SAVE) KEY_MAP_GTK(Save, GDK_Save) // SpellCheck KEY_MAP_WIN_CMD(SpellCheck, APPCOMMAND_SPELL_CHECK) KEY_MAP_GTK(SpellCheck, GDK_Spell) /****************************************************************************** * Audio Keys *****************************************************************************/ // AudioBassBoostDown KEY_MAP_WIN_CMD(AudioBassBoostDown, APPCOMMAND_BASS_DOWN) // AudioBassBoostUp KEY_MAP_WIN_CMD(AudioBassBoostUp, APPCOMMAND_BASS_UP) // AudioVolumeDown KEY_MAP_WIN(AudioVolumeDown, VK_VOLUME_DOWN) KEY_MAP_WIN_CMD(AudioVolumeDown, APPCOMMAND_VOLUME_DOWN) KEY_MAP_COCOA(AudioVolumeDown, kVK_VolumeDown) KEY_MAP_GTK(AudioVolumeDown, GDK_AudioLowerVolume) KEY_MAP_ANDROID(AudioVolumeDown, AKEYCODE_VOLUME_DOWN) // AudioVolumeUp KEY_MAP_WIN(AudioVolumeUp, VK_VOLUME_UP) KEY_MAP_WIN_CMD(AudioVolumeUp, APPCOMMAND_VOLUME_UP) KEY_MAP_COCOA(AudioVolumeUp, kVK_VolumeUp) KEY_MAP_GTK(AudioVolumeUp, GDK_AudioRaiseVolume) KEY_MAP_ANDROID(AudioVolumeUp, AKEYCODE_VOLUME_UP) // AudioVolumeMute KEY_MAP_WIN(AudioVolumeMute, VK_VOLUME_MUTE) KEY_MAP_WIN_CMD(AudioVolumeMute, APPCOMMAND_VOLUME_MUTE) KEY_MAP_COCOA(AudioVolumeMute, kVK_Mute) KEY_MAP_GTK(AudioVolumeMute, GDK_AudioMute) KEY_MAP_ANDROID(AudioVolumeMute, AKEYCODE_VOLUME_MUTE) // MicrophoneVolumeMute KEY_MAP_ANDROID(MicrophoneVolumeMute, AKEYCODE_MUTE) /****************************************************************************** * Application Keys ******************************************************************************/ // LaunchCalculator KEY_MAP_GTK(LaunchCalculator, GDK_Calculator) KEY_MAP_ANDROID(LaunchCalculator, AKEYCODE_CALCULATOR) // LaunchCalendar KEY_MAP_GTK(LaunchCalendar, GDK_Calendar) KEY_MAP_ANDROID(LaunchCalendar, AKEYCODE_CALENDAR) // LaunchContacts KEY_MAP_ANDROID(LaunchContacts, AKEYCODE_CONTACTS) // LaunchMail KEY_MAP_WIN(LaunchMail, VK_LAUNCH_MAIL) KEY_MAP_WIN_CMD(LaunchMail, APPCOMMAND_LAUNCH_MAIL) KEY_MAP_GTK(LaunchMail, GDK_Mail) KEY_MAP_ANDROID(LaunchMail, AKEYCODE_ENVELOPE) // LaunchMediaPlayer KEY_MAP_WIN(LaunchMediaPlayer, VK_LAUNCH_MEDIA_SELECT) KEY_MAP_WIN_CMD(LaunchMediaPlayer, APPCOMMAND_LAUNCH_MEDIA_SELECT) // GDK_CD is defined as "Launch CD/DVD player" in XF86keysym.h. // Therefore, let's map it to media player rather than music player. KEY_MAP_GTK(LaunchMediaPlayer, GDK_CD) KEY_MAP_GTK(LaunchMediaPlayer, GDK_Video) KEY_MAP_GTK(LaunchMediaPlayer, GDK_AudioMedia) // LaunchMusicPlayer KEY_MAP_GTK(LaunchMusicPlayer, GDK_Music) KEY_MAP_ANDROID(LaunchMusicPlayer, AKEYCODE_MUSIC) // LaunchMyComputer KEY_MAP_GTK(LaunchMyComputer, GDK_MyComputer) KEY_MAP_GTK(LaunchMyComputer, GDK_Explorer) // LaunchScreenSaver KEY_MAP_GTK(LaunchScreenSaver, GDK_ScreenSaver) // LaunchSpreadsheet KEY_MAP_GTK(LaunchSpreadsheet, GDK_Excel) // LaunchWebBrowser KEY_MAP_GTK(LaunchWebBrowser, GDK_WWW) KEY_MAP_ANDROID(LaunchWebBrowser, AKEYCODE_EXPLORER) // LaunchWebCam KEY_MAP_GTK(LaunchWebCam, GDK_WebCam) // LaunchWordProcessor KEY_MAP_GTK(LaunchWordProcessor, GDK_Word) // LaunchApplication1 KEY_MAP_WIN(LaunchApplication1, VK_LAUNCH_APP1) KEY_MAP_WIN_CMD(LaunchApplication1, APPCOMMAND_LAUNCH_APP1) KEY_MAP_GTK(LaunchApplication1, GDK_Launch0) // LaunchApplication2 KEY_MAP_WIN(LaunchApplication2, VK_LAUNCH_APP2) KEY_MAP_WIN_CMD(LaunchApplication2, APPCOMMAND_LAUNCH_APP2) KEY_MAP_GTK(LaunchApplication2, GDK_Launch1) // LaunchApplication3 KEY_MAP_GTK(LaunchApplication3, GDK_Launch2) // LaunchApplication4 KEY_MAP_GTK(LaunchApplication4, GDK_Launch3) // LaunchApplication5 KEY_MAP_GTK(LaunchApplication5, GDK_Launch4) // LaunchApplication6 KEY_MAP_GTK(LaunchApplication6, GDK_Launch5) // LaunchApplication7 KEY_MAP_GTK(LaunchApplication7, GDK_Launch6) // LaunchApplication8 KEY_MAP_GTK(LaunchApplication8, GDK_Launch7) // LaunchApplication9 KEY_MAP_GTK(LaunchApplication9, GDK_Launch8) // LaunchApplication10 KEY_MAP_GTK(LaunchApplication10, GDK_Launch9) // LaunchApplication11 KEY_MAP_GTK(LaunchApplication11, GDK_LaunchA) // LaunchApplication12 KEY_MAP_GTK(LaunchApplication12, GDK_LaunchB) // LaunchApplication13 KEY_MAP_GTK(LaunchApplication13, GDK_LaunchC) // LaunchApplication14 KEY_MAP_GTK(LaunchApplication14, GDK_LaunchD) // LaunchApplication15 KEY_MAP_GTK(LaunchApplication15, GDK_LaunchE) // LaunchApplication16 KEY_MAP_GTK(LaunchApplication16, GDK_LaunchF) // LaunchApplication17 // LaunchApplication18 /****************************************************************************** * Browser Keys ******************************************************************************/ // BrowserBack KEY_MAP_WIN(BrowserBack, VK_BROWSER_BACK) KEY_MAP_WIN_CMD(BrowserBack, APPCOMMAND_BROWSER_BACKWARD) KEY_MAP_GTK(BrowserBack, GDK_Back) // BrowserFavorites KEY_MAP_WIN(BrowserFavorites, VK_BROWSER_FAVORITES) KEY_MAP_WIN_CMD(BrowserFavorites, APPCOMMAND_BROWSER_FAVORITES) KEY_MAP_ANDROID(BrowserFavorites, AKEYCODE_BOOKMARK) // BrowserForward KEY_MAP_WIN(BrowserForward, VK_BROWSER_FORWARD) KEY_MAP_WIN_CMD(BrowserForward, APPCOMMAND_BROWSER_FORWARD) KEY_MAP_GTK(BrowserForward, GDK_Forward) KEY_MAP_ANDROID(BrowserForward, AKEYCODE_FORWARD) // BrowserHome KEY_MAP_WIN(BrowserHome, VK_BROWSER_HOME) KEY_MAP_WIN_CMD(BrowserHome, APPCOMMAND_BROWSER_HOME) KEY_MAP_GTK(BrowserHome, GDK_HomePage) // BrowserRefresh KEY_MAP_WIN(BrowserRefresh, VK_BROWSER_REFRESH) KEY_MAP_WIN_CMD(BrowserRefresh, APPCOMMAND_BROWSER_REFRESH) KEY_MAP_GTK(BrowserRefresh, GDK_Refresh) KEY_MAP_GTK(BrowserRefresh, GDK_Reload) // BrowserSearch KEY_MAP_WIN(BrowserSearch, VK_BROWSER_SEARCH) KEY_MAP_WIN_CMD(BrowserSearch, APPCOMMAND_BROWSER_SEARCH) KEY_MAP_GTK(BrowserSearch, GDK_Search) KEY_MAP_ANDROID(BrowserSearch, AKEYCODE_SEARCH) // BrowserStop KEY_MAP_WIN(BrowserStop, VK_BROWSER_STOP) KEY_MAP_WIN_CMD(BrowserStop, APPCOMMAND_BROWSER_STOP) KEY_MAP_GTK(BrowserStop, GDK_Stop) /****************************************************************************** * Mobile Phone Keys ******************************************************************************/ // AppSwitch KEY_MAP_ANDROID(AppSwitch, AKEYCODE_APP_SWITCH) // Call KEY_MAP_ANDROID(Call, AKEYCODE_CALL) // Camera KEY_MAP_ANDROID(Camera, AKEYCODE_CAMERA) // CameraFocus KEY_MAP_ANDROID(CameraFocus, AKEYCODE_FOCUS) // EndCall KEY_MAP_ANDROID(EndCall, AKEYCODE_ENDCALL) // GoBack KEY_MAP_ANDROID(GoBack, AKEYCODE_BACK) // GoHome KEY_MAP_ANDROID(GoHome, AKEYCODE_HOME) // HeadsetHook KEY_MAP_ANDROID(HeadsetHook, AKEYCODE_HEADSETHOOK) // Notification KEY_MAP_ANDROID(Notification, AKEYCODE_NOTIFICATION) // MannerMode KEY_MAP_ANDROID(MannerMode, AKEYCODE_MANNER_MODE) /****************************************************************************** * TV Keys ******************************************************************************/ // TV KEY_MAP_ANDROID(TV, AKEYCODE_TV) // TV3DMode KEY_MAP_ANDROID(TV3DMode, AKEYCODE_3D_MODE) // TVAntennaCable KEY_MAP_ANDROID(TVAntennaCable, AKEYCODE_TV_ANTENNA_CABLE) // TVAudioDescription KEY_MAP_ANDROID(TVAudioDescription, AKEYCODE_TV_AUDIO_DESCRIPTION) // TVAudioDescriptionMixDown KEY_MAP_ANDROID(TVAudioDescriptionMixDown, AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN) // TVAudioDescriptionMixUp KEY_MAP_ANDROID(TVAudioDescriptionMixUp, AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP) // TVContentsMenu KEY_MAP_ANDROID(TVContentsMenu, AKEYCODE_TV_CONTENTS_MENU) // TVDataService KEY_MAP_ANDROID(TVDataService, AKEYCODE_TV_DATA_SERVICE) // TVInput KEY_MAP_ANDROID(TVInput, AKEYCODE_TV_INPUT) // TVInputComponent1 KEY_MAP_ANDROID(TVInputComponent1, AKEYCODE_TV_INPUT_COMPONENT_1) // TVInputComponent2 KEY_MAP_ANDROID(TVInputComponent2, AKEYCODE_TV_INPUT_COMPONENT_2) // TVInputComposite1 KEY_MAP_ANDROID(TVInputComposite1, AKEYCODE_TV_INPUT_COMPOSITE_1) // TVInputComposite2 KEY_MAP_ANDROID(TVInputComposite2, AKEYCODE_TV_INPUT_COMPOSITE_2) // TVInputHDMI1 KEY_MAP_ANDROID(TVInputHDMI1, AKEYCODE_TV_INPUT_HDMI_1) // TVInputHDMI2 KEY_MAP_ANDROID(TVInputHDMI2, AKEYCODE_TV_INPUT_HDMI_2) // TVInputHDMI3 KEY_MAP_ANDROID(TVInputHDMI3, AKEYCODE_TV_INPUT_HDMI_3) // TVInputHDMI4 KEY_MAP_ANDROID(TVInputHDMI4, AKEYCODE_TV_INPUT_HDMI_4) // TVInputVGA1 KEY_MAP_ANDROID(TVInputVGA1, AKEYCODE_TV_INPUT_VGA_1) // TVNetwork KEY_MAP_ANDROID(TVNetwork, AKEYCODE_TV_NETWORK) // TVNumberEntry KEY_MAP_ANDROID(TVNumberEntry, AKEYCODE_TV_NUMBER_ENTRY) // TVPower KEY_MAP_ANDROID(TVPower, AKEYCODE_TV_POWER) // TVRadioService KEY_MAP_ANDROID(TVRadioService, AKEYCODE_TV_RADIO_SERVICE) // TVSatellite KEY_MAP_ANDROID(TVSatellite, AKEYCODE_TV_SATELLITE) // TVSatelliteBS KEY_MAP_ANDROID(TVSatelliteBS, AKEYCODE_TV_SATELLITE_BS) // TVSatelliteCS KEY_MAP_ANDROID(TVSatelliteCS, AKEYCODE_TV_SATELLITE_CS) // TVSatelliteToggle KEY_MAP_ANDROID(TVSatelliteToggle, AKEYCODE_TV_SATELLITE_SERVICE) // TVTerrestrialAnalog KEY_MAP_ANDROID(TVTerrestrialAnalog, AKEYCODE_TV_TERRESTRIAL_ANALOG) // TVTerrestrialDigital KEY_MAP_ANDROID(TVTerrestrialDigital, AKEYCODE_TV_TERRESTRIAL_DIGITAL) // TVTimer KEY_MAP_ANDROID(TVTimer, AKEYCODE_TV_TIMER_PROGRAMMING) /****************************************************************************** * Media Controller Keys ******************************************************************************/ // AVRInput KEY_MAP_ANDROID(AVRInput, AKEYCODE_AVR_INPUT) // AVRPower KEY_MAP_ANDROID(AVRPower, AKEYCODE_AVR_POWER) // ColorF0Red KEY_MAP_GTK(ColorF0Red, GDK_Red) KEY_MAP_ANDROID(ColorF0Red, AKEYCODE_PROG_RED) // ColorF1Green KEY_MAP_GTK(ColorF1Green, GDK_Green) KEY_MAP_ANDROID(ColorF1Green, AKEYCODE_PROG_GREEN) // ColorF2Yellow KEY_MAP_GTK(ColorF2Yellow, GDK_Yellow) KEY_MAP_ANDROID(ColorF2Yellow, AKEYCODE_PROG_YELLOW) // ColorF3Blue KEY_MAP_GTK(ColorF3Blue, GDK_Blue) KEY_MAP_ANDROID(ColorF3Blue, AKEYCODE_PROG_BLUE) // ClosedCaptionToggle KEY_MAP_ANDROID(ClosedCaptionToggle, AKEYCODE_CAPTIONS) // Dimmer KEY_MAP_GTK(Dimmer, GDK_BrightnessAdjust) // DVR KEY_MAP_ANDROID(DVR, AKEYCODE_DVR) // Guide KEY_MAP_ANDROID(Guide, AKEYCODE_GUIDE) // Info KEY_MAP_ANDROID(Info, AKEYCODE_INFO) // MediaAudioTrack KEY_MAP_ANDROID(MediaAudioTrack, AKEYCODE_MEDIA_AUDIO_TRACK) // MediaLast KEY_MAP_ANDROID(MediaLast, AKEYCODE_LAST_CHANNEL) // MediaTopMenu KEY_MAP_ANDROID(MediaTopMenu, AKEYCODE_MEDIA_TOP_MENU) // MediaSkipBackward KEY_MAP_ANDROID(MediaSkipBackward, AKEYCODE_MEDIA_SKIP_BACKWARD) // MediaSkipForward KEY_MAP_ANDROID(MediaSkipForward, AKEYCODE_MEDIA_SKIP_FORWARD) // MediaStepBackward KEY_MAP_ANDROID(MediaStepBackward, AKEYCODE_MEDIA_STEP_BACKWARD) // MediaStepForward KEY_MAP_ANDROID(MediaStepForward, AKEYCODE_MEDIA_STEP_FORWARD) // NavigateIn KEY_MAP_ANDROID(NavigateIn, AKEYCODE_NAVIGATE_IN) // NavigateNext KEY_MAP_ANDROID(NavigateNext, AKEYCODE_NAVIGATE_NEXT) // NavigateOut KEY_MAP_ANDROID(NavigateOut, AKEYCODE_NAVIGATE_OUT) // NavigatePrevious KEY_MAP_ANDROID(NavigatePrevious, AKEYCODE_NAVIGATE_PREVIOUS) // Pairing KEY_MAP_ANDROID(Pairing, AKEYCODE_PAIRING) // PinPToggle KEY_MAP_ANDROID(PinPToggle, AKEYCODE_WINDOW) // RandomToggle KEY_MAP_GTK(RandomToggle, GDK_AudioRandomPlay) // Settings KEY_MAP_ANDROID(Settings, AKEYCODE_SETTINGS) // STBInput KEY_MAP_ANDROID(STBInput, AKEYCODE_STB_INPUT) // STBPower KEY_MAP_ANDROID(STBPower, AKEYCODE_STB_POWER) // Subtitle KEY_MAP_GTK(Subtitle, GDK_Subtitle) // Teletext KEY_MAP_ANDROID(Teletext, AKEYCODE_TV_TELETEXT) // VideoModeNext KEY_MAP_GTK(VideoModeNext, GDK_Next_VMode) // ZoomToggle KEY_MAP_WIN(ZoomToggle, VK_ZOOM) KEY_MAP_ANDROID(ZoomToggle, AKEYCODE_TV_ZOOM_MODE) /****************************************************************************** * Keys not defined by any standards ******************************************************************************/ // SoftLeft KEY_MAP_ANDROID(SoftLeft, AKEYCODE_SOFT_LEFT) // SoftRight KEY_MAP_ANDROID(SoftRight, AKEYCODE_SOFT_RIGHT) #undef KEY_MAP_WIN #undef KEY_MAP_WIN_JPN #undef KEY_MAP_WIN_KOR #undef KEY_MAP_WIN_OTH #undef KEY_MAP_WIN_CMD #undef KEY_MAP_COCOA #undef KEY_MAP_GTK #undef KEY_MAP_ANDROID