265 lines
5.2 KiB
C++
265 lines
5.2 KiB
C++
// Copyright 2010 Dolphin Emulator Project
|
|
// Licensed under GPLv2+
|
|
// Refer to the license.txt file included.
|
|
|
|
#include <wx/chartype.h>
|
|
#include <wx/defs.h>
|
|
#include <wx/string.h>
|
|
#include <wx/translation.h>
|
|
|
|
#include "DolphinWX/WXInputBase.h"
|
|
|
|
namespace WxUtils
|
|
{
|
|
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 "Shift";
|
|
case WXK_ALT:
|
|
return "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 "NP 0";
|
|
case WXK_NUMPAD1:
|
|
return "NP 1";
|
|
case WXK_NUMPAD2:
|
|
return "NP 2";
|
|
case WXK_NUMPAD3:
|
|
return "NP 3";
|
|
case WXK_NUMPAD4:
|
|
return "NP 4";
|
|
case WXK_NUMPAD5:
|
|
return "NP 5";
|
|
case WXK_NUMPAD6:
|
|
return "NP 6";
|
|
case WXK_NUMPAD7:
|
|
return "NP 7";
|
|
case WXK_NUMPAD8:
|
|
return "NP 8";
|
|
case WXK_NUMPAD9:
|
|
return "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 "F1";
|
|
case WXK_F2:
|
|
return "F2";
|
|
case WXK_F3:
|
|
return "F3";
|
|
case WXK_F4:
|
|
return "F4";
|
|
case WXK_F5:
|
|
return "F5";
|
|
case WXK_F6:
|
|
return "F6";
|
|
case WXK_F7:
|
|
return "F7";
|
|
case WXK_F8:
|
|
return "F8";
|
|
case WXK_F9:
|
|
return "F9";
|
|
case WXK_F10:
|
|
return "F10";
|
|
case WXK_F11:
|
|
return "F11";
|
|
case WXK_F12:
|
|
return "F12";
|
|
case WXK_F13:
|
|
return "F13";
|
|
case WXK_F14:
|
|
return "F14";
|
|
case WXK_F15:
|
|
return "F15";
|
|
case WXK_F16:
|
|
return "F16";
|
|
case WXK_F17:
|
|
return "F17";
|
|
case WXK_F18:
|
|
return "F19";
|
|
case WXK_F19:
|
|
return "F20";
|
|
case WXK_F20:
|
|
return "F21";
|
|
case WXK_F21:
|
|
return "F22";
|
|
case WXK_F22:
|
|
return "F23";
|
|
case WXK_F23:
|
|
return "F24";
|
|
case WXK_F24:
|
|
return "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 "NP F1";
|
|
case WXK_NUMPAD_F2:
|
|
return "NP F2";
|
|
case WXK_NUMPAD_F3:
|
|
return "NP F3";
|
|
case WXK_NUMPAD_F4:
|
|
return "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 "";
|
|
}
|
|
|
|
const wxString WXKeymodToString(int modifier)
|
|
{
|
|
wxString mods;
|
|
|
|
if (modifier & wxMOD_META)
|
|
#ifdef __APPLE__
|
|
mods += "Cmd+";
|
|
#elif defined _WIN32
|
|
mods += "Win+";
|
|
#else
|
|
mods += "Meta+";
|
|
#endif
|
|
if (modifier & wxMOD_CONTROL)
|
|
mods += "Ctrl+";
|
|
if (modifier & wxMOD_ALT)
|
|
mods += "Alt+";
|
|
if (modifier & wxMOD_SHIFT)
|
|
mods += "Shift+";
|
|
|
|
return mods;
|
|
}
|
|
}
|