// Copyright (C) 2003 Dolphin Project. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, version 2.0. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License 2.0 for more details. // A copy of the GPL 2.0 should have been included with the program. // If not, see http://www.gnu.org/licenses/ // Official Git repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ #include "WXInputBase.h" namespace InputCommon { const wxString WXKeyToString(int keycode) { switch (keycode) { case WXK_BACK: return _("Back"); case WXK_TAB: return _("Tab"); case WXK_RETURN: return _("Return"); case WXK_ESCAPE: return _("Escape"); case WXK_SPACE: return _("Space"); case WXK_DELETE: return _("Delete"); // Undocumented wx keycodes case 167: return _("Paragraph"); case 177: return _("Plus-Minus"); case WXK_START: return _("Start"); case WXK_LBUTTON: return _("L Button"); case WXK_RBUTTON: return _("R Button"); case WXK_CANCEL: return _("Cancel"); case WXK_MBUTTON: return _("M Button"); case WXK_CLEAR: return _("Clear"); case WXK_SHIFT: return wxT("Shift"); case WXK_ALT: return wxT("Alt"); case WXK_RAW_CONTROL: return _("Control"); #ifdef __WXOSX__ case WXK_COMMAND: return _("Command"); #endif case WXK_MENU: return _("Menu"); case WXK_PAUSE: return _("Pause"); case WXK_CAPITAL: return _("Caps Lock"); case WXK_END: return _("End"); case WXK_HOME: return _("Home"); case WXK_LEFT: return _("Left"); case WXK_UP: return _("Up"); case WXK_RIGHT: return _("Right"); case WXK_DOWN: return _("Down"); case WXK_SELECT: return _("Select"); case WXK_PRINT: return _("Print"); case WXK_EXECUTE: return _("Execute"); case WXK_SNAPSHOT: return _("Snapshot"); case WXK_INSERT: return _("Insert"); case WXK_HELP: return _("Help"); case WXK_NUMPAD0: return wxT("NP 0"); case WXK_NUMPAD1: return wxT("NP 1"); case WXK_NUMPAD2: return wxT("NP 2"); case WXK_NUMPAD3: return wxT("NP 3"); case WXK_NUMPAD4: return wxT("NP 4"); case WXK_NUMPAD5: return wxT("NP 5"); case WXK_NUMPAD6: return wxT("NP 6"); case WXK_NUMPAD7: return wxT("NP 7"); case WXK_NUMPAD8: return wxT("NP 8"); case WXK_NUMPAD9: return wxT("NP 9"); case WXK_MULTIPLY: return _("Multiply"); case WXK_ADD: return _("Add"); case WXK_SEPARATOR: return _("Separator"); case WXK_SUBTRACT: return _("Subtract"); case WXK_DECIMAL: return _("Decimal"); case WXK_DIVIDE: return _("Divide"); case WXK_F1: return wxT("F1"); case WXK_F2: return wxT("F2"); case WXK_F3: return wxT("F3"); case WXK_F4: return wxT("F4"); case WXK_F5: return wxT("F5"); case WXK_F6: return wxT("F6"); case WXK_F7: return wxT("F7"); case WXK_F8: return wxT("F8"); case WXK_F9: return wxT("F9"); case WXK_F10: return wxT("F10"); case WXK_F11: return wxT("F11"); case WXK_F12: return wxT("F12"); case WXK_F13: return wxT("F13"); case WXK_F14: return wxT("F14"); case WXK_F15: return wxT("F15"); case WXK_F16: return wxT("F16"); case WXK_F17: return wxT("F17"); case WXK_F18: return wxT("F19"); case WXK_F19: return wxT("F20"); case WXK_F20: return wxT("F21"); case WXK_F21: return wxT("F22"); case WXK_F22: return wxT("F23"); case WXK_F23: return wxT("F24"); case WXK_F24: return wxT("F25"); case WXK_NUMLOCK: return _("Num Lock"); case WXK_SCROLL: return _("Scroll Lock"); case WXK_PAGEUP: return _("Page Up"); case WXK_PAGEDOWN: return _("Page Down"); case WXK_NUMPAD_SPACE: return _("NP Space"); case WXK_NUMPAD_TAB: return _("NP Tab"); case WXK_NUMPAD_ENTER: return _("NP Enter"); case WXK_NUMPAD_F1: return wxT("NP F1"); case WXK_NUMPAD_F2: return wxT("NP F2"); case WXK_NUMPAD_F3: return wxT("NP F3"); case WXK_NUMPAD_F4: return wxT("NP F4"); case WXK_NUMPAD_HOME: return _("NP Home"); case WXK_NUMPAD_LEFT: return _("NP Left"); case WXK_NUMPAD_UP: return _("NP Up"); case WXK_NUMPAD_RIGHT: return _("NP Right"); case WXK_NUMPAD_DOWN: return _("NP Down"); case WXK_NUMPAD_PAGEUP: return _("NP Page Up"); case WXK_NUMPAD_PAGEDOWN: return _("NP Page Down"); case WXK_NUMPAD_END: return _("NP End"); case WXK_NUMPAD_BEGIN: return _("NP Begin"); case WXK_NUMPAD_INSERT: return _("NP Insert"); case WXK_NUMPAD_DELETE: return _("NP Delete"); case WXK_NUMPAD_EQUAL: return _("NP Equal"); case WXK_NUMPAD_MULTIPLY: return _("NP Multiply"); case WXK_NUMPAD_ADD: return _("NP Add"); case WXK_NUMPAD_SEPARATOR: return _("NP Separator"); case WXK_NUMPAD_SUBTRACT: return _("NP Subtract"); case WXK_NUMPAD_DECIMAL: return _("NP Decimal"); case WXK_NUMPAD_DIVIDE: return _("NP Divide"); case WXK_WINDOWS_LEFT: return _("Windows Left"); case WXK_WINDOWS_RIGHT: return _("Windows Right"); case WXK_WINDOWS_MENU: return _("Windows Menu"); } if (keycode > WXK_SPACE && keycode < WXK_DELETE) { return wxString((wxChar)keycode, 1); } return wxT(""); } const wxString WXKeymodToString(int modifier) { wxString mods; if (modifier & wxMOD_META) #ifdef __APPLE__ mods += wxT("Cmd+"); #elif defined _WIN32 mods += wxT("Win+"); #else mods += wxT("Meta+"); #endif if (modifier & wxMOD_CONTROL) mods += wxT("Ctrl+"); if (modifier & wxMOD_ALT) mods += wxT("Alt+"); if (modifier & wxMOD_SHIFT) mods += wxT("Shift+"); return mods; } }