mirror of https://github.com/stenzek/duckstation
InputManager: Use scancodes for key mapping
parent
08901c0638
commit
c33131d153
@ -0,0 +1,236 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
enum class USBKeyCode : uint32_t
|
||||
{
|
||||
Hyper = 0x10,
|
||||
Super = 0x11,
|
||||
Fn = 0x12,
|
||||
PrivacyScreenToggle = 0x17,
|
||||
Sleep = 0x10082,
|
||||
WakeUp = 0x10083,
|
||||
DisplayToggleIntExt = 0x100b5,
|
||||
A = 0x70004,
|
||||
B = 0x70005,
|
||||
C = 0x70006,
|
||||
D = 0x70007,
|
||||
E = 0x70008,
|
||||
F = 0x70009,
|
||||
G = 0x7000a,
|
||||
H = 0x7000b,
|
||||
I = 0x7000c,
|
||||
J = 0x7000d,
|
||||
K = 0x7000e,
|
||||
L = 0x7000f,
|
||||
M = 0x70010,
|
||||
N = 0x70011,
|
||||
O = 0x70012,
|
||||
P = 0x70013,
|
||||
Q = 0x70014,
|
||||
R = 0x70015,
|
||||
S = 0x70016,
|
||||
T = 0x70017,
|
||||
U = 0x70018,
|
||||
V = 0x70019,
|
||||
W = 0x7001a,
|
||||
X = 0x7001b,
|
||||
Y = 0x7001c,
|
||||
Z = 0x7001d,
|
||||
Digit1 = 0x7001e,
|
||||
Digit2 = 0x7001f,
|
||||
Digit3 = 0x70020,
|
||||
Digit4 = 0x70021,
|
||||
Digit5 = 0x70022,
|
||||
Digit6 = 0x70023,
|
||||
Digit7 = 0x70024,
|
||||
Digit8 = 0x70025,
|
||||
Digit9 = 0x70026,
|
||||
Digit0 = 0x70027,
|
||||
Enter = 0x70028,
|
||||
Escape = 0x70029,
|
||||
Backspace = 0x7002a,
|
||||
Tab = 0x7002b,
|
||||
Space = 0x7002c,
|
||||
Minus = 0x7002d,
|
||||
Equal = 0x7002e,
|
||||
BracketLeft = 0x7002f,
|
||||
BracketRight = 0x70030,
|
||||
Backslash = 0x70031,
|
||||
Semicolon = 0x70033,
|
||||
Quote = 0x70034,
|
||||
Backquote = 0x70035,
|
||||
Comma = 0x70036,
|
||||
Period = 0x70037,
|
||||
Slash = 0x70038,
|
||||
CapsLock = 0x70039,
|
||||
F1 = 0x7003a,
|
||||
F2 = 0x7003b,
|
||||
F3 = 0x7003c,
|
||||
F4 = 0x7003d,
|
||||
F5 = 0x7003e,
|
||||
F6 = 0x7003f,
|
||||
F7 = 0x70040,
|
||||
F8 = 0x70041,
|
||||
F9 = 0x70042,
|
||||
F10 = 0x70043,
|
||||
F11 = 0x70044,
|
||||
F12 = 0x70045,
|
||||
PrintScreen = 0x70046,
|
||||
ScrollLock = 0x70047,
|
||||
Pause = 0x70048,
|
||||
Insert = 0x70049,
|
||||
Home = 0x7004a,
|
||||
PageUp = 0x7004b,
|
||||
Delete = 0x7004c,
|
||||
End = 0x7004d,
|
||||
PageDown = 0x7004e,
|
||||
ArrowRight = 0x7004f,
|
||||
ArrowLeft = 0x70050,
|
||||
ArrowDown = 0x70051,
|
||||
ArrowUp = 0x70052,
|
||||
NumLock = 0x70053,
|
||||
NumpadDivide = 0x70054,
|
||||
NumpadMultiply = 0x70055,
|
||||
NumpadSubtract = 0x70056,
|
||||
NumpadAdd = 0x70057,
|
||||
NumpadEnter = 0x70058,
|
||||
Numpad1 = 0x70059,
|
||||
Numpad2 = 0x7005a,
|
||||
Numpad3 = 0x7005b,
|
||||
Numpad4 = 0x7005c,
|
||||
Numpad5 = 0x7005d,
|
||||
Numpad6 = 0x7005e,
|
||||
Numpad7 = 0x7005f,
|
||||
Numpad8 = 0x70060,
|
||||
Numpad9 = 0x70061,
|
||||
Numpad0 = 0x70062,
|
||||
NumpadDecimal = 0x70063,
|
||||
IntlBackslash = 0x70064,
|
||||
ContextMenu = 0x70065,
|
||||
Power = 0x70066,
|
||||
NumpadEqual = 0x70067,
|
||||
F13 = 0x70068,
|
||||
F14 = 0x70069,
|
||||
F15 = 0x7006a,
|
||||
F16 = 0x7006b,
|
||||
F17 = 0x7006c,
|
||||
F18 = 0x7006d,
|
||||
F19 = 0x7006e,
|
||||
F20 = 0x7006f,
|
||||
F21 = 0x70070,
|
||||
F22 = 0x70071,
|
||||
F23 = 0x70072,
|
||||
F24 = 0x70073,
|
||||
Open = 0x70074,
|
||||
Help = 0x70075,
|
||||
Select = 0x70077,
|
||||
Again = 0x70079,
|
||||
Undo = 0x7007a,
|
||||
Cut = 0x7007b,
|
||||
Copy = 0x7007c,
|
||||
Paste = 0x7007d,
|
||||
Find = 0x7007e,
|
||||
AudioVolumeMute = 0x7007f,
|
||||
AudioVolumeUp = 0x70080,
|
||||
AudioVolumeDown = 0x70081,
|
||||
NumpadComma = 0x70085,
|
||||
IntlRo = 0x70087,
|
||||
KanaMode = 0x70088,
|
||||
IntlYen = 0x70089,
|
||||
Convert = 0x7008a,
|
||||
NonConvert = 0x7008b,
|
||||
Lang1 = 0x70090,
|
||||
Lang2 = 0x70091,
|
||||
Lang3 = 0x70092,
|
||||
Lang4 = 0x70093,
|
||||
Lang5 = 0x70094,
|
||||
Abort = 0x7009b,
|
||||
Props = 0x700a3,
|
||||
NumpadParenLeft = 0x700b6,
|
||||
NumpadParenRight = 0x700b7,
|
||||
NumpadBackspace = 0x700bb,
|
||||
NumpadMemoryStore = 0x700d0,
|
||||
NumpadMemoryRecall = 0x700d1,
|
||||
NumpadMemoryClear = 0x700d2,
|
||||
NumpadMemoryAdd = 0x700d3,
|
||||
NumpadMemorySubtract = 0x700d4,
|
||||
NumpadSignChange = 0x700d7,
|
||||
NumpadClear = 0x700d8,
|
||||
NumpadClearEntry = 0x700d9,
|
||||
ControlLeft = 0x700e0,
|
||||
ShiftLeft = 0x700e1,
|
||||
AltLeft = 0x700e2,
|
||||
MetaLeft = 0x700e3,
|
||||
ControlRight = 0x700e4,
|
||||
ShiftRight = 0x700e5,
|
||||
AltRight = 0x700e6,
|
||||
MetaRight = 0x700e7,
|
||||
Info = 0xc0060,
|
||||
ClosedCaptionToggle = 0xc0061,
|
||||
BrightnessUp = 0xc006f,
|
||||
BrightnessDown = 0xc0070,
|
||||
BrightnessToggle = 0xc0072,
|
||||
BrightnessMinimum = 0xc0073,
|
||||
BrightnessMaximum = 0xc0074,
|
||||
BrightnessAuto = 0xc0075,
|
||||
IllumUp = 0xc0079,
|
||||
IllumDown = 0xc007a,
|
||||
MediaLast = 0xc0083,
|
||||
LaunchPhone = 0xc008c,
|
||||
ProgramGuide = 0xc008d,
|
||||
Exit = 0xc0094,
|
||||
ChannelUp = 0xc009c,
|
||||
ChannelDown = 0xc009d,
|
||||
MediaPlay = 0xc00b0,
|
||||
MediaPause = 0xc00b1,
|
||||
MediaRecord = 0xc00b2,
|
||||
MediaFastForward = 0xc00b3,
|
||||
MediaRewind = 0xc00b4,
|
||||
MediaTrackNext = 0xc00b5,
|
||||
MediaTrackPrevious = 0xc00b6,
|
||||
MediaStop = 0xc00b7,
|
||||
Eject = 0xc00b8,
|
||||
MediaPlayPause = 0xc00cd,
|
||||
SpeechInputToggle = 0xc00cf,
|
||||
BassBoost = 0xc00e5,
|
||||
MediaSelect = 0xc0183,
|
||||
LaunchWordProcessor = 0xc0184,
|
||||
LaunchSpreadsheet = 0xc0186,
|
||||
LaunchMail = 0xc018a,
|
||||
LaunchContacts = 0xc018d,
|
||||
LaunchCalendar = 0xc018e,
|
||||
LaunchApp2 = 0xc0192,
|
||||
LaunchApp1 = 0xc0194,
|
||||
LaunchInternetBrowser = 0xc0196,
|
||||
LogOff = 0xc019c,
|
||||
LockScreen = 0xc019e,
|
||||
LaunchControlPanel = 0xc019f,
|
||||
SelectTask = 0xc01a2,
|
||||
LaunchDocuments = 0xc01a7,
|
||||
SpellCheck = 0xc01ab,
|
||||
LaunchKeyboardLayout = 0xc01ae,
|
||||
LaunchScreenSaver = 0xc01b1,
|
||||
LaunchAudioBrowser = 0xc01b7,
|
||||
LaunchAssistant = 0xc01cb,
|
||||
New = 0xc0201,
|
||||
Close = 0xc0203,
|
||||
Save = 0xc0207,
|
||||
Print = 0xc0208,
|
||||
BrowserSearch = 0xc0221,
|
||||
BrowserHome = 0xc0223,
|
||||
BrowserBack = 0xc0224,
|
||||
BrowserForward = 0xc0225,
|
||||
BrowserStop = 0xc0226,
|
||||
BrowserRefresh = 0xc0227,
|
||||
BrowserFavorites = 0xc022a,
|
||||
ZoomIn = 0xc022d,
|
||||
ZoomOut = 0xc022e,
|
||||
ZoomToggle = 0xc0232,
|
||||
Redo = 0xc0279,
|
||||
MailReply = 0xc0289,
|
||||
MailForward = 0xc028b,
|
||||
MailSend = 0xc028c,
|
||||
KeyboardLayoutSelect = 0xc029d,
|
||||
ShowAllWindows = 0xc029f,
|
||||
};
|
||||
@ -0,0 +1,234 @@
|
||||
// Derived from Chromium dom_code_data.inc.
|
||||
// Copyright 2013 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
KEY_ENTRY(HYPER, 0x0010, 0x0000, 0x0000, 0x0000, 0xffff, "Hyper", nullptr)
|
||||
KEY_ENTRY(SUPER, 0x0011, 0x0000, 0x0000, 0x0000, 0xffff, "Super", ICON_PF_SUPER)
|
||||
KEY_ENTRY(FN, 0x0012, 0x0000, 0x0000, 0x0000, 0xffff, "Fn", ICON_PF_FN)
|
||||
KEY_ENTRY(PRIVACY_SCREEN_TOGGLE, 0x0017, 0x0279, 0x0281, 0x0000, 0xffff, "PrivacyScreenToggle", nullptr)
|
||||
KEY_ENTRY(SLEEP, 0x10082, 0x008e, 0x0096, 0xe05f, 0xffff, "Sleep", nullptr)
|
||||
KEY_ENTRY(WAKE_UP, 0x10083, 0x008f, 0x0097, 0xe063, 0xffff, "WakeUp", nullptr)
|
||||
KEY_ENTRY(DISPLAY_TOGGLE_INT_EXT, 0x100b5, 0x00e3, 0x00eb, 0x0000, 0xffff, "DisplayToggleIntExt", nullptr)
|
||||
KEY_ENTRY(A, 0x70004, 0x001e, 0x0026, 0x001e, 0x0000, "A", ICON_PF_KEY_A)
|
||||
KEY_ENTRY(B, 0x70005, 0x0030, 0x0038, 0x0030, 0x000b, "B", ICON_PF_KEY_B)
|
||||
KEY_ENTRY(C, 0x70006, 0x002e, 0x0036, 0x002e, 0x0008, "C", ICON_PF_KEY_C)
|
||||
KEY_ENTRY(D, 0x70007, 0x0020, 0x0028, 0x0020, 0x0002, "D", ICON_PF_KEY_D)
|
||||
KEY_ENTRY(E, 0x70008, 0x0012, 0x001a, 0x0012, 0x000e, "E", ICON_PF_KEY_E)
|
||||
KEY_ENTRY(F, 0x70009, 0x0021, 0x0029, 0x0021, 0x0003, "F", ICON_PF_KEY_F)
|
||||
KEY_ENTRY(G, 0x7000a, 0x0022, 0x002a, 0x0022, 0x0005, "G", ICON_PF_KEY_G)
|
||||
KEY_ENTRY(H, 0x7000b, 0x0023, 0x002b, 0x0023, 0x0004, "H", ICON_PF_KEY_H)
|
||||
KEY_ENTRY(I, 0x7000c, 0x0017, 0x001f, 0x0017, 0x0022, "I", ICON_PF_KEY_I)
|
||||
KEY_ENTRY(J, 0x7000d, 0x0024, 0x002c, 0x0024, 0x0026, "J", ICON_PF_KEY_J)
|
||||
KEY_ENTRY(K, 0x7000e, 0x0025, 0x002d, 0x0025, 0x0028, "K", ICON_PF_KEY_K)
|
||||
KEY_ENTRY(L, 0x7000f, 0x0026, 0x002e, 0x0026, 0x0025, "L", ICON_PF_KEY_L)
|
||||
KEY_ENTRY(M, 0x70010, 0x0032, 0x003a, 0x0032, 0x002e, "M", ICON_PF_KEY_M)
|
||||
KEY_ENTRY(N, 0x70011, 0x0031, 0x0039, 0x0031, 0x002d, "N", ICON_PF_KEY_N)
|
||||
KEY_ENTRY(O, 0x70012, 0x0018, 0x0020, 0x0018, 0x001f, "O", ICON_PF_KEY_O)
|
||||
KEY_ENTRY(P, 0x70013, 0x0019, 0x0021, 0x0019, 0x0023, "P", ICON_PF_KEY_P)
|
||||
KEY_ENTRY(Q, 0x70014, 0x0010, 0x0018, 0x0010, 0x000c, "Q", ICON_PF_KEY_Q)
|
||||
KEY_ENTRY(R, 0x70015, 0x0013, 0x001b, 0x0013, 0x000f, "R", ICON_PF_KEY_R)
|
||||
KEY_ENTRY(S, 0x70016, 0x001f, 0x0027, 0x001f, 0x0001, "S", ICON_PF_KEY_S)
|
||||
KEY_ENTRY(T, 0x70017, 0x0014, 0x001c, 0x0014, 0x0011, "T", ICON_PF_KEY_T)
|
||||
KEY_ENTRY(U, 0x70018, 0x0016, 0x001e, 0x0016, 0x0020, "U", ICON_PF_KEY_U)
|
||||
KEY_ENTRY(V, 0x70019, 0x002f, 0x0037, 0x002f, 0x0009, "V", ICON_PF_KEY_V)
|
||||
KEY_ENTRY(W, 0x7001a, 0x0011, 0x0019, 0x0011, 0x000d, "W", ICON_PF_KEY_W)
|
||||
KEY_ENTRY(X, 0x7001b, 0x002d, 0x0035, 0x002d, 0x0007, "X", ICON_PF_KEY_X)
|
||||
KEY_ENTRY(Y, 0x7001c, 0x0015, 0x001d, 0x0015, 0x0010, "Y", ICON_PF_KEY_Y)
|
||||
KEY_ENTRY(Z, 0x7001d, 0x002c, 0x0034, 0x002c, 0x0006, "Z", ICON_PF_KEY_Z)
|
||||
KEY_ENTRY(1, 0x7001e, 0x0002, 0x000a, 0x0002, 0x0012, "1", ICON_PF_KEY_1)
|
||||
KEY_ENTRY(2, 0x7001f, 0x0003, 0x000b, 0x0003, 0x0013, "2", ICON_PF_KEY_2)
|
||||
KEY_ENTRY(3, 0x70020, 0x0004, 0x000c, 0x0004, 0x0014, "3", ICON_PF_KEY_3)
|
||||
KEY_ENTRY(4, 0x70021, 0x0005, 0x000d, 0x0005, 0x0015, "4", ICON_PF_KEY_4)
|
||||
KEY_ENTRY(5, 0x70022, 0x0006, 0x000e, 0x0006, 0x0017, "5", ICON_PF_KEY_5)
|
||||
KEY_ENTRY(6, 0x70023, 0x0007, 0x000f, 0x0007, 0x0016, "6", ICON_PF_KEY_6)
|
||||
KEY_ENTRY(7, 0x70024, 0x0008, 0x0010, 0x0008, 0x001a, "7", ICON_PF_KEY_7)
|
||||
KEY_ENTRY(8, 0x70025, 0x0009, 0x0011, 0x0009, 0x001c, "8", ICON_PF_KEY_8)
|
||||
KEY_ENTRY(9, 0x70026, 0x000a, 0x0012, 0x000a, 0x0019, "9", ICON_PF_KEY_9)
|
||||
KEY_ENTRY(0, 0x70027, 0x000b, 0x0013, 0x000b, 0x001d, "0", ICON_PF_KEY_0)
|
||||
KEY_ENTRY(ENTER, 0x70028, 0x001c, 0x0024, 0x001c, 0x0024, "Enter", ICON_PF_ENTER)
|
||||
KEY_ENTRY(ESCAPE, 0x70029, 0x0001, 0x0009, 0x0001, 0x0035, "Escape", ICON_PF_ESC)
|
||||
KEY_ENTRY(BACKSPACE, 0x7002a, 0x000e, 0x0016, 0x000e, 0x0033, "Backspace", ICON_PF_BACKSPACE)
|
||||
KEY_ENTRY(TAB, 0x7002b, 0x000f, 0x0017, 0x000f, 0x0030, "Tab", ICON_PF_TAB)
|
||||
KEY_ENTRY(SPACE, 0x7002c, 0x0039, 0x0041, 0x0039, 0x0031, "Space", ICON_PF_SPACE)
|
||||
KEY_ENTRY(MINUS, 0x7002d, 0x000c, 0x0014, 0x000c, 0x001b, "Minus", ICON_PF_MINUS)
|
||||
KEY_ENTRY(EQUAL, 0x7002e, 0x000d, 0x0015, 0x000d, 0x0018, "Equal", ICON_PF_KEY_EQUAL)
|
||||
KEY_ENTRY(BRACKET_LEFT, 0x7002f, 0x001a, 0x0022, 0x001a, 0x0021, "BracketLeft", ICON_PF_KEY_OPEN_BRACKET)
|
||||
KEY_ENTRY(BRACKET_RIGHT, 0x70030, 0x001b, 0x0023, 0x001b, 0x001e, "BracketRight", ICON_PF_KEY_CLOSE_BRACKET)
|
||||
KEY_ENTRY(BACKSLASH, 0x70031, 0x002b, 0x0033, 0x002b, 0x002a, "Backslash", ICON_PF_KEY_BACKSLASH)
|
||||
KEY_ENTRY(SEMICOLON, 0x70033, 0x0027, 0x002f, 0x0027, 0x0029, "Semicolon", ICON_PF_KEY_SEMICOLON)
|
||||
KEY_ENTRY(QUOTE, 0x70034, 0x0028, 0x0030, 0x0028, 0x0027, "Quote", ICON_PF_KEY_APOSTROPHE)
|
||||
KEY_ENTRY(BACKQUOTE, 0x70035, 0x0029, 0x0031, 0x0029, 0x0032, "Backquote", ICON_PF_KEY_TILDE)
|
||||
KEY_ENTRY(COMMA, 0x70036, 0x0033, 0x003b, 0x0033, 0x002b, "Comma", ICON_PF_KEY_COMMA)
|
||||
KEY_ENTRY(PERIOD, 0x70037, 0x0034, 0x003c, 0x0034, 0x002f, "Period", ICON_PF_KEY_PERIOD)
|
||||
KEY_ENTRY(SLASH, 0x70038, 0x0035, 0x003d, 0x0035, 0x002c, "Slash", ICON_PF_KEY_SLASH)
|
||||
KEY_ENTRY(CAPS_LOCK, 0x70039, 0x003a, 0x0042, 0x003a, 0x0039, "CapsLock", ICON_PF_CAPS)
|
||||
KEY_ENTRY(F1, 0x7003a, 0x003b, 0x0043, 0x003b, 0x007a, "F1", ICON_PF_F1)
|
||||
KEY_ENTRY(F2, 0x7003b, 0x003c, 0x0044, 0x003c, 0x0078, "F2", ICON_PF_F2)
|
||||
KEY_ENTRY(F3, 0x7003c, 0x003d, 0x0045, 0x003d, 0x0063, "F3", ICON_PF_F3)
|
||||
KEY_ENTRY(F4, 0x7003d, 0x003e, 0x0046, 0x003e, 0x0076, "F4", ICON_PF_F4)
|
||||
KEY_ENTRY(F5, 0x7003e, 0x003f, 0x0047, 0x003f, 0x0060, "F5", ICON_PF_F5)
|
||||
KEY_ENTRY(F6, 0x7003f, 0x0040, 0x0048, 0x0040, 0x0061, "F6", ICON_PF_F6)
|
||||
KEY_ENTRY(F7, 0x70040, 0x0041, 0x0049, 0x0041, 0x0062, "F7", ICON_PF_F7)
|
||||
KEY_ENTRY(F8, 0x70041, 0x0042, 0x004a, 0x0042, 0x0064, "F8", ICON_PF_F8)
|
||||
KEY_ENTRY(F9, 0x70042, 0x0043, 0x004b, 0x0043, 0x0065, "F9", ICON_PF_F9)
|
||||
KEY_ENTRY(F10, 0x70043, 0x0044, 0x004c, 0x0044, 0x006d, "F10", ICON_PF_F10)
|
||||
KEY_ENTRY(F11, 0x70044, 0x0057, 0x005f, 0x0057, 0x0067, "F11", ICON_PF_F11)
|
||||
KEY_ENTRY(F12, 0x70045, 0x0058, 0x0060, 0x0058, 0x006f, "F12", ICON_PF_F12)
|
||||
KEY_ENTRY(PRINT_SCREEN, 0x70046, 0x0063, 0x006b, 0xe037, 0xffff, "PrintScreen", ICON_PF_PRTSC)
|
||||
KEY_ENTRY(SCROLL_LOCK, 0x70047, 0x0046, 0x004e, 0x0046, 0xffff, "ScrollLock", ICON_PF_SCRLK)
|
||||
KEY_ENTRY(PAUSE, 0x70048, 0x0077, 0x007f, 0x0045, 0xffff, "Pause", ICON_PF_PAUSE)
|
||||
KEY_ENTRY(INSERT, 0x70049, 0x006e, 0x0076, 0xe052, 0x0072, "Insert", ICON_PF_INSERT)
|
||||
KEY_ENTRY(HOME, 0x7004a, 0x0066, 0x006e, 0xe047, 0x0073, "Home", ICON_PF_HOME)
|
||||
KEY_ENTRY(PAGE_UP, 0x7004b, 0x0068, 0x0070, 0xe049, 0x0074, "PageUp", ICON_PF_PAGE_UP)
|
||||
KEY_ENTRY(DEL, 0x7004c, 0x006f, 0x0077, 0xe053, 0x0075, "Delete", ICON_PF_DELETE)
|
||||
KEY_ENTRY(END, 0x7004d, 0x006b, 0x0073, 0xe04f, 0x0077, "End", ICON_PF_END)
|
||||
KEY_ENTRY(PAGE_DOWN, 0x7004e, 0x006d, 0x0075, 0xe051, 0x0079, "PageDown", ICON_PF_PAGE_DOWN)
|
||||
KEY_ENTRY(ARROW_RIGHT, 0x7004f, 0x006a, 0x0072, 0xe04d, 0x007c, "RightArrow", ICON_PF_ARROW_RIGHT)
|
||||
KEY_ENTRY(ARROW_LEFT, 0x70050, 0x0069, 0x0071, 0xe04b, 0x007b, "LeftArrow", ICON_PF_ARROW_LEFT)
|
||||
KEY_ENTRY(ARROW_DOWN, 0x70051, 0x006c, 0x0074, 0xe050, 0x007d, "DownArrow", ICON_PF_ARROW_DOWN)
|
||||
KEY_ENTRY(ARROW_UP, 0x70052, 0x0067, 0x006f, 0xe048, 0x007e, "UpArrow", ICON_PF_ARROW_UP)
|
||||
KEY_ENTRY(NUM_LOCK, 0x70053, 0x0045, 0x004d, 0xe045, 0x0047, "NumLock", ICON_PF_NUMLOCK)
|
||||
KEY_ENTRY(NUMPAD_DIVIDE, 0x70054, 0x0062, 0x006a, 0xe035, 0x004b, "NumpadDivide", nullptr)
|
||||
KEY_ENTRY(NUMPAD_MULTIPLY, 0x70055, 0x0037, 0x003f, 0x0037, 0x0043, "NumpadMultiply", nullptr)
|
||||
KEY_ENTRY(NUMPAD_SUBTRACT, 0x70056, 0x004a, 0x0052, 0x004a, 0x004e, "NumpadSubtract", nullptr)
|
||||
KEY_ENTRY(NUMPAD_ADD, 0x70057, 0x004e, 0x0056, 0x004e, 0x0045, "NumpadAdd", nullptr)
|
||||
KEY_ENTRY(NUMPAD_ENTER, 0x70058, 0x0060, 0x0068, 0xe01c, 0x004c, "NumpadEnter", nullptr)
|
||||
KEY_ENTRY(NUMPAD1, 0x70059, 0x004f, 0x0057, 0x004f, 0x0053, "Numpad1", nullptr)
|
||||
KEY_ENTRY(NUMPAD2, 0x7005a, 0x0050, 0x0058, 0x0050, 0x0054, "Numpad2", nullptr)
|
||||
KEY_ENTRY(NUMPAD3, 0x7005b, 0x0051, 0x0059, 0x0051, 0x0055, "Numpad3", nullptr)
|
||||
KEY_ENTRY(NUMPAD4, 0x7005c, 0x004b, 0x0053, 0x004b, 0x0056, "Numpad4", nullptr)
|
||||
KEY_ENTRY(NUMPAD5, 0x7005d, 0x004c, 0x0054, 0x004c, 0x0057, "Numpad5", nullptr)
|
||||
KEY_ENTRY(NUMPAD6, 0x7005e, 0x004d, 0x0055, 0x004d, 0x0058, "Numpad6", nullptr)
|
||||
KEY_ENTRY(NUMPAD7, 0x7005f, 0x0047, 0x004f, 0x0047, 0x0059, "Numpad7", nullptr)
|
||||
KEY_ENTRY(NUMPAD8, 0x70060, 0x0048, 0x0050, 0x0048, 0x005b, "Numpad8", nullptr)
|
||||
KEY_ENTRY(NUMPAD9, 0x70061, 0x0049, 0x0051, 0x0049, 0x005c, "Numpad9", nullptr)
|
||||
KEY_ENTRY(NUMPAD0, 0x70062, 0x0052, 0x005a, 0x0052, 0x0052, "Numpad0", nullptr)
|
||||
KEY_ENTRY(NUMPAD_DECIMAL, 0x70063, 0x0053, 0x005b, 0x0053, 0x0041, "NumpadDecimal", nullptr)
|
||||
KEY_ENTRY(INTL_BACKSLASH, 0x70064, 0x0056, 0x005e, 0x0056, 0x000a, "IntlBackslash", nullptr)
|
||||
KEY_ENTRY(CONTEXT_MENU, 0x70065, 0x007f, 0x0087, 0xe05d, 0x006e, "ContextMenu", nullptr)
|
||||
KEY_ENTRY(POWER, 0x70066, 0x0074, 0x007c, 0xe05e, 0xffff, "Power", nullptr)
|
||||
KEY_ENTRY(NUMPAD_EQUAL, 0x70067, 0x0075, 0x007d, 0x0059, 0x0051, "NumpadEqual", nullptr)
|
||||
KEY_ENTRY(F13, 0x70068, 0x00b7, 0x00bf, 0x0064, 0x0069, "F13", nullptr)
|
||||
KEY_ENTRY(F14, 0x70069, 0x00b8, 0x00c0, 0x0065, 0x006b, "F14", nullptr)
|
||||
KEY_ENTRY(F15, 0x7006a, 0x00b9, 0x00c1, 0x0066, 0x0071, "F15", nullptr)
|
||||
KEY_ENTRY(F16, 0x7006b, 0x00ba, 0x00c2, 0x0067, 0x006a, "F16", nullptr)
|
||||
KEY_ENTRY(F17, 0x7006c, 0x00bb, 0x00c3, 0x0068, 0x0040, "F17", nullptr)
|
||||
KEY_ENTRY(F18, 0x7006d, 0x00bc, 0x00c4, 0x0069, 0x004f, "F18", nullptr)
|
||||
KEY_ENTRY(F19, 0x7006e, 0x00bd, 0x00c5, 0x006a, 0x0050, "F19", nullptr)
|
||||
KEY_ENTRY(F20, 0x7006f, 0x00be, 0x00c6, 0x006b, 0x005a, "F20", nullptr)
|
||||
KEY_ENTRY(F21, 0x70070, 0x00bf, 0x00c7, 0x006c, 0xffff, "F21", nullptr)
|
||||
KEY_ENTRY(F22, 0x70071, 0x00c0, 0x00c8, 0x006d, 0xffff, "F22", nullptr)
|
||||
KEY_ENTRY(F23, 0x70072, 0x00c1, 0x00c9, 0x006e, 0xffff, "F23", nullptr)
|
||||
KEY_ENTRY(F24, 0x70073, 0x00c2, 0x00ca, 0x0076, 0xffff, "F24", nullptr)
|
||||
KEY_ENTRY(OPEN, 0x70074, 0x0086, 0x008e, 0x0000, 0xffff, "Open", nullptr)
|
||||
KEY_ENTRY(HELP, 0x70075, 0x008a, 0x0092, 0xe03b, 0xffff, "Help", nullptr)
|
||||
KEY_ENTRY(SELECT, 0x70077, 0x0084, 0x008c, 0x0000, 0xffff, "Select", nullptr)
|
||||
KEY_ENTRY(AGAIN, 0x70079, 0x0081, 0x0089, 0x0000, 0xffff, "Again", nullptr)
|
||||
KEY_ENTRY(UNDO, 0x7007a, 0x0083, 0x008b, 0xe008, 0xffff, "Undo", nullptr)
|
||||
KEY_ENTRY(CUT, 0x7007b, 0x0089, 0x0091, 0xe017, 0xffff, "Cut", nullptr)
|
||||
KEY_ENTRY(COPY, 0x7007c, 0x0085, 0x008d, 0xe018, 0xffff, "Copy", nullptr)
|
||||
KEY_ENTRY(PASTE, 0x7007d, 0x0087, 0x008f, 0xe00a, 0xffff, "Paste", nullptr)
|
||||
KEY_ENTRY(FIND, 0x7007e, 0x0088, 0x0090, 0x0000, 0xffff, "Find", nullptr)
|
||||
KEY_ENTRY(VOLUME_MUTE, 0x7007f, 0x0071, 0x0079, 0xe020, 0x004a, "AudioVolumeMute", nullptr)
|
||||
KEY_ENTRY(VOLUME_UP, 0x70080, 0x0073, 0x007b, 0xe030, 0x0048, "AudioVolumeUp", nullptr)
|
||||
KEY_ENTRY(VOLUME_DOWN, 0x70081, 0x0072, 0x007a, 0xe02e, 0x0049, "AudioVolumeDown", nullptr)
|
||||
KEY_ENTRY(NUMPAD_COMMA, 0x70085, 0x0079, 0x0081, 0x007e, 0x005f, "NumpadComma", nullptr)
|
||||
KEY_ENTRY(INTL_RO, 0x70087, 0x0059, 0x0061, 0x0073, 0x005e, "IntlRo", nullptr)
|
||||
KEY_ENTRY(KANA_MODE, 0x70088, 0x005d, 0x0065, 0x0070, 0xffff, "KanaMode", nullptr)
|
||||
KEY_ENTRY(INTL_YEN, 0x70089, 0x007c, 0x0084, 0x007d, 0x005d, "IntlYen", nullptr)
|
||||
KEY_ENTRY(CONVERT, 0x7008a, 0x005c, 0x0064, 0x0079, 0xffff, "Convert", nullptr)
|
||||
KEY_ENTRY(NON_CONVERT, 0x7008b, 0x005e, 0x0066, 0x007b, 0xffff, "NonConvert", nullptr)
|
||||
KEY_ENTRY(LANG1, 0x70090, 0x007a, 0x0082, 0x0072, 0x0068, "Lang1", nullptr)
|
||||
KEY_ENTRY(LANG2, 0x70091, 0x007b, 0x0083, 0x0071, 0x0066, "Lang2", nullptr)
|
||||
KEY_ENTRY(LANG3, 0x70092, 0x005a, 0x0062, 0x0078, 0xffff, "Lang3", nullptr)
|
||||
KEY_ENTRY(LANG4, 0x70093, 0x005b, 0x0063, 0x0077, 0xffff, "Lang4", nullptr)
|
||||
KEY_ENTRY(LANG5, 0x70094, 0x0055, 0x005d, 0x0000, 0xffff, "Lang5", nullptr)
|
||||
KEY_ENTRY(ABORT, 0x7009b, 0x0000, 0x0000, 0x0000, 0xffff, "Abort", nullptr)
|
||||
KEY_ENTRY(PROPS, 0x700a3, 0x0000, 0x0000, 0x0000, 0xffff, "Props", nullptr)
|
||||
KEY_ENTRY(NUMPAD_PAREN_LEFT, 0x700b6, 0x00b3, 0x00bb, 0x0000, 0xffff, "NumpadParenLeft", nullptr)
|
||||
KEY_ENTRY(NUMPAD_PAREN_RIGHT, 0x700b7, 0x00b4, 0x00bc, 0x0000, 0xffff, "NumpadParenRight", nullptr)
|
||||
KEY_ENTRY(NUMPAD_BACKSPACE, 0x700bb, 0x0000, 0x0000, 0x0000, 0xffff, "NumpadBackspace", nullptr)
|
||||
KEY_ENTRY(NUMPAD_MEMORY_STORE, 0x700d0, 0x0000, 0x0000, 0x0000, 0xffff, "NumpadMemoryStore", nullptr)
|
||||
KEY_ENTRY(NUMPAD_MEMORY_RECALL, 0x700d1, 0x0000, 0x0000, 0x0000, 0xffff, "NumpadMemoryRecall", nullptr)
|
||||
KEY_ENTRY(NUMPAD_MEMORY_CLEAR, 0x700d2, 0x0000, 0x0000, 0x0000, 0xffff, "NumpadMemoryClear", nullptr)
|
||||
KEY_ENTRY(NUMPAD_MEMORY_ADD, 0x700d3, 0x0000, 0x0000, 0x0000, 0xffff, "NumpadMemoryAdd", nullptr)
|
||||
KEY_ENTRY(NUMPAD_MEMORY_SUBTRACT, 0x700d4, 0x0000, 0x0000, 0x0000, 0xffff, "NumpadMemorySubtract", nullptr)
|
||||
KEY_ENTRY(NUMPAD_SIGN_CHANGE, 0x700d7, 0x0076, 0x007e, 0x0000, 0xffff, "NumpadSignChange", nullptr)
|
||||
KEY_ENTRY(NUMPAD_CLEAR, 0x700d8, 0x0000, 0x0000, 0x0000, 0xffff, "NumpadClear", nullptr)
|
||||
KEY_ENTRY(NUMPAD_CLEAR_ENTRY, 0x700d9, 0x0000, 0x0000, 0x0000, 0xffff, "NumpadClearEntry", nullptr)
|
||||
KEY_ENTRY(CONTROL_LEFT, 0x700e0, 0x001d, 0x0025, 0x001d, 0x003b, "LeftControl", ICON_PF_KEY_LEFT_CTRL)
|
||||
KEY_ENTRY(SHIFT_LEFT, 0x700e1, 0x002a, 0x0032, 0x002a, 0x0038, "LeftShift", ICON_PF_KEY_LEFT_SHIFT)
|
||||
KEY_ENTRY(ALT_LEFT, 0x700e2, 0x0038, 0x0040, 0x0038, 0x003a, "LeftAlt", ICON_PF_KEY_LEFT_ALT)
|
||||
KEY_ENTRY(META_LEFT, 0x700e3, 0x007d, 0x0085, 0xe05b, 0x0037, "LeftMeta", ICON_PF_WINDOWS)
|
||||
KEY_ENTRY(CONTROL_RIGHT, 0x700e4, 0x0061, 0x0069, 0xe01d, 0x003e, "RightControl", ICON_PF_KEY_RIGHT_CTRL)
|
||||
KEY_ENTRY(SHIFT_RIGHT, 0x700e5, 0x0036, 0x003e, 0x0036, 0x003c, "RightShift", ICON_PF_KEY_RIGHT_SHIFT)
|
||||
KEY_ENTRY(ALT_RIGHT, 0x700e6, 0x0064, 0x006c, 0xe038, 0x003d, "RightAlt", ICON_PF_KEY_RIGHT_ALT)
|
||||
KEY_ENTRY(META_RIGHT, 0x700e7, 0x007e, 0x0086, 0xe05c, 0x0036, "RightMeta", ICON_PF_WINDOWS)
|
||||
KEY_ENTRY(INFO, 0xc0060, 0x0166, 0x016e, 0x0000, 0xffff, "Info", nullptr)
|
||||
KEY_ENTRY(CLOSED_CAPTION_TOGGLE, 0xc0061, 0x0172, 0x017a, 0x0000, 0xffff, "ClosedCaptionToggle", nullptr)
|
||||
KEY_ENTRY(BRIGHTNESS_UP, 0xc006f, 0x00e1, 0x00e9, 0x0000, 0xffff, "BrightnessUp", nullptr)
|
||||
KEY_ENTRY(BRIGHTNESS_DOWN, 0xc0070, 0x00e0, 0x00e8, 0x0000, 0xffff, "BrightnessDown", nullptr)
|
||||
KEY_ENTRY(BRIGHTNESS_TOGGLE, 0xc0072, 0x01af, 0x01b7, 0x0000, 0xffff, "BrightnessToggle", nullptr)
|
||||
KEY_ENTRY(BRIGHTNESS_MINIMIUM, 0xc0073, 0x0250, 0x0258, 0x0000, 0xffff, "BrightnessMinimum", nullptr)
|
||||
KEY_ENTRY(BRIGHTNESS_MAXIMUM, 0xc0074, 0x0251, 0x0259, 0x0000, 0xffff, "BrightnessMaximum", nullptr)
|
||||
KEY_ENTRY(BRIGHTNESS_AUTO, 0xc0075, 0x00f4, 0x00fc, 0x0000, 0xffff, "BrightnessAuto", nullptr)
|
||||
KEY_ENTRY(KBD_ILLUM_UP, 0xc0079, 0x00e6, 0x00ee, 0x0000, 0xffff, "IllumUp", nullptr)
|
||||
KEY_ENTRY(KBD_ILLUM_DOWN, 0xc007a, 0x00e5, 0x00ed, 0x0000, 0xffff, "IllumDown", nullptr)
|
||||
KEY_ENTRY(MEDIA_LAST, 0xc0083, 0x0195, 0x019d, 0x0000, 0xffff, "MediaLast", nullptr)
|
||||
KEY_ENTRY(LAUNCH_PHONE, 0xc008c, 0x00a9, 0x00b1, 0x0000, 0xffff, "LaunchPhone", nullptr)
|
||||
KEY_ENTRY(PROGRAM_GUIDE, 0xc008d, 0x016a, 0x0172, 0x0000, 0xffff, "ProgramGuide", nullptr)
|
||||
KEY_ENTRY(EXIT, 0xc0094, 0x00ae, 0x00b6, 0x0000, 0xffff, "Exit", nullptr)
|
||||
KEY_ENTRY(CHANNEL_UP, 0xc009c, 0x019a, 0x01a2, 0x0000, 0xffff, "ChannelUp", nullptr)
|
||||
KEY_ENTRY(CHANNEL_DOWN, 0xc009d, 0x019b, 0x01a3, 0x0000, 0xffff, "ChannelDown", nullptr)
|
||||
KEY_ENTRY(MEDIA_PLAY, 0xc00b0, 0x00cf, 0x00d7, 0x0000, 0xffff, "MediaPlay", nullptr)
|
||||
KEY_ENTRY(MEDIA_PAUSE, 0xc00b1, 0x00c9, 0x00d1, 0x0000, 0xffff, "MediaPause", nullptr)
|
||||
KEY_ENTRY(MEDIA_RECORD, 0xc00b2, 0x00a7, 0x00af, 0x0000, 0xffff, "MediaRecord", nullptr)
|
||||
KEY_ENTRY(MEDIA_FAST_FORWARD, 0xc00b3, 0x00d0, 0x00d8, 0x0000, 0xffff, "MediaFastForward", nullptr)
|
||||
KEY_ENTRY(MEDIA_REWIND, 0xc00b4, 0x00a8, 0x00b0, 0x0000, 0xffff, "MediaRewind", nullptr)
|
||||
KEY_ENTRY(MEDIA_TRACK_NEXT, 0xc00b5, 0x00a3, 0x00ab, 0xe019, 0xffff, "MediaTrackNext", nullptr)
|
||||
KEY_ENTRY(MEDIA_TRACK_PREVIOUS, 0xc00b6, 0x00a5, 0x00ad, 0xe010, 0xffff, "MediaTrackPrevious", nullptr)
|
||||
KEY_ENTRY(MEDIA_STOP, 0xc00b7, 0x00a6, 0x00ae, 0xe024, 0xffff, "MediaStop", nullptr)
|
||||
KEY_ENTRY(EJECT, 0xc00b8, 0x00a1, 0x00a9, 0xe02c, 0xffff, "Eject", nullptr)
|
||||
KEY_ENTRY(MEDIA_PLAY_PAUSE, 0xc00cd, 0x00a4, 0x00ac, 0xe022, 0xffff, "MediaPlayPause", nullptr)
|
||||
KEY_ENTRY(SPEECH_INPUT_TOGGLE, 0xc00cf, 0x0246, 0x024e, 0x0000, 0xffff, "SpeechInputToggle", nullptr)
|
||||
KEY_ENTRY(BASS_BOOST, 0xc00e5, 0x00d1, 0x00d9, 0x0000, 0xffff, "BassBoost", nullptr)
|
||||
KEY_ENTRY(MEDIA_SELECT, 0xc0183, 0x00ab, 0x00b3, 0xe06d, 0xffff, "MediaSelect", nullptr)
|
||||
KEY_ENTRY(LAUNCH_WORD_PROCESSOR, 0xc0184, 0x01a5, 0x01ad, 0x0000, 0xffff, "LaunchWordProcessor", nullptr)
|
||||
KEY_ENTRY(LAUNCH_SPREADSHEET, 0xc0186, 0x01a7, 0x01af, 0x0000, 0xffff, "LaunchSpreadsheet", nullptr)
|
||||
KEY_ENTRY(LAUNCH_MAIL, 0xc018a, 0x009b, 0x00a3, 0xe06c, 0xffff, "LaunchMail", nullptr)
|
||||
KEY_ENTRY(LAUNCH_CONTACTS, 0xc018d, 0x01ad, 0x01b5, 0x0000, 0xffff, "LaunchContacts", nullptr)
|
||||
KEY_ENTRY(LAUNCH_CALENDAR, 0xc018e, 0x018d, 0x0195, 0x0000, 0xffff, "LaunchCalendar", nullptr)
|
||||
KEY_ENTRY(LAUNCH_APP2, 0xc0192, 0x008c, 0x0094, 0xe021, 0xffff, "LaunchApp2", nullptr)
|
||||
KEY_ENTRY(LAUNCH_APP1, 0xc0194, 0x0090, 0x0098, 0xe06b, 0xffff, "LaunchApp1", nullptr)
|
||||
KEY_ENTRY(LAUNCH_INTERNET_BROWSER, 0xc0196, 0x0096, 0x009e, 0x0000, 0xffff, "LaunchInternetBrowser", nullptr)
|
||||
KEY_ENTRY(LOG_OFF, 0xc019c, 0x01b1, 0x01b9, 0x0000, 0xffff, "LogOff", nullptr)
|
||||
KEY_ENTRY(LOCK_SCREEN, 0xc019e, 0x0098, 0x00a0, 0x0000, 0xffff, "LockScreen", nullptr)
|
||||
KEY_ENTRY(LAUNCH_CONTROL_PANEL, 0xc019f, 0x0243, 0x024b, 0x0000, 0xffff, "LaunchControlPanel", nullptr)
|
||||
KEY_ENTRY(SELECT_TASK, 0xc01a2, 0x0244, 0x024c, 0x0000, 0xffff, "SelectTask", nullptr)
|
||||
KEY_ENTRY(LAUNCH_DOCUMENTS, 0xc01a7, 0x00eb, 0x00f3, 0x0000, 0xffff, "LaunchDocuments", nullptr)
|
||||
KEY_ENTRY(SPELL_CHECK, 0xc01ab, 0x01b0, 0x01b8, 0x0000, 0xffff, "SpellCheck", nullptr)
|
||||
KEY_ENTRY(LAUNCH_KEYBOARD_LAYOUT, 0xc01ae, 0x0176, 0x017e, 0x0000, 0xffff, "LaunchKeyboardLayout", nullptr)
|
||||
KEY_ENTRY(LAUNCH_SCREEN_SAVER, 0xc01b1, 0x0245, 0x024d, 0x0000, 0xffff, "LaunchScreenSaver", nullptr)
|
||||
KEY_ENTRY(LAUNCH_AUDIO_BROWSER, 0xc01b7, 0x0188, 0x0190, 0x0000, 0xffff, "LaunchAudioBrowser", nullptr)
|
||||
KEY_ENTRY(LAUNCH_ASSISTANT, 0xc01cb, 0x0247, 0x024f, 0x0000, 0xffff, "LaunchAssistant", nullptr)
|
||||
KEY_ENTRY(NEW, 0xc0201, 0x00b5, 0x00bd, 0x0000, 0xffff, "New", nullptr)
|
||||
KEY_ENTRY(CLOSE, 0xc0203, 0x00ce, 0x00d6, 0x0000, 0xffff, "Close", nullptr)
|
||||
KEY_ENTRY(SAVE, 0xc0207, 0x00ea, 0x00f2, 0x0000, 0xffff, "Save", nullptr)
|
||||
KEY_ENTRY(PRINT, 0xc0208, 0x00d2, 0x00da, 0x0000, 0xffff, "Print", nullptr)
|
||||
KEY_ENTRY(BROWSER_SEARCH, 0xc0221, 0x00d9, 0x00e1, 0xe065, 0xffff, "BrowserSearch", nullptr)
|
||||
KEY_ENTRY(BROWSER_HOME, 0xc0223, 0x00ac, 0x00b4, 0xe032, 0xffff, "BrowserHome", nullptr)
|
||||
KEY_ENTRY(BROWSER_BACK, 0xc0224, 0x009e, 0x00a6, 0xe06a, 0xffff, "BrowserBack", nullptr)
|
||||
KEY_ENTRY(BROWSER_FORWARD, 0xc0225, 0x009f, 0x00a7, 0xe069, 0xffff, "BrowserForward", nullptr)
|
||||
KEY_ENTRY(BROWSER_STOP, 0xc0226, 0x0080, 0x0088, 0xe068, 0xffff, "BrowserStop", nullptr)
|
||||
KEY_ENTRY(BROWSER_REFRESH, 0xc0227, 0x00ad, 0x00b5, 0xe067, 0xffff, "BrowserRefresh", nullptr)
|
||||
KEY_ENTRY(BROWSER_FAVORITES, 0xc022a, 0x009c, 0x00a4, 0xe066, 0xffff, "BrowserFavorites", nullptr)
|
||||
KEY_ENTRY(ZOOM_IN, 0xc022d, 0x01a2, 0x01aa, 0x0000, 0xffff, "ZoomIn", nullptr)
|
||||
KEY_ENTRY(ZOOM_OUT, 0xc022e, 0x01a3, 0x01ab, 0x0000, 0xffff, "ZoomOut", nullptr)
|
||||
KEY_ENTRY(ZOOM_TOGGLE, 0xc0232, 0x0174, 0x017c, 0x0000, 0xffff, "ZoomToggle", nullptr)
|
||||
KEY_ENTRY(REDO, 0xc0279, 0x00b6, 0x00be, 0x0000, 0xffff, "Redo", nullptr)
|
||||
KEY_ENTRY(MAIL_REPLY, 0xc0289, 0x00e8, 0x00f0, 0x0000, 0xffff, "MailReply", nullptr)
|
||||
KEY_ENTRY(MAIL_FORWARD, 0xc028b, 0x00e9, 0x00f1, 0x0000, 0xffff, "MailForward", nullptr)
|
||||
KEY_ENTRY(MAIL_SEND, 0xc028c, 0x00e7, 0x00ef, 0x0000, 0xffff, "MailSend", nullptr)
|
||||
KEY_ENTRY(KEYBOARD_LAYOUT_SELECT, 0xc029d, 0x0248, 0x0250, 0x0000, 0xffff, "KeyboardLayoutSelect", nullptr)
|
||||
KEY_ENTRY(SHOW_ALL_WINDOWS, 0xc029f, 0x0078, 0x0080, 0x0000, 0xffff, "ShowAllWindows", nullptr)
|
||||
@ -1,265 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <stenzek@gmail.com>
|
||||
// SPDX-License-Identifier: CC-BY-NC-ND-4.0
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "common/types.h"
|
||||
|
||||
#include <cstring>
|
||||
#include <map>
|
||||
#include <optional>
|
||||
#include <string_view>
|
||||
|
||||
#include "SDL3/SDL.h"
|
||||
|
||||
namespace SDLKeyNames {
|
||||
|
||||
inline const std::map<int, const char*> s_sdl_key_names = {
|
||||
{SDLK_RETURN, "Return"},
|
||||
{SDLK_ESCAPE, "Escape"},
|
||||
{SDLK_BACKSPACE, "Backspace"},
|
||||
{SDLK_TAB, "Tab"},
|
||||
{SDLK_SPACE, "Space"},
|
||||
{SDLK_EXCLAIM, "Exclam"},
|
||||
{SDLK_DBLAPOSTROPHE, "QuoteDbl"},
|
||||
{SDLK_HASH, "Hash"},
|
||||
{SDLK_PERCENT, "Percent"},
|
||||
{SDLK_DOLLAR, "Dollar"},
|
||||
{SDLK_AMPERSAND, "Ampersand"},
|
||||
{SDLK_APOSTROPHE, "Apostrophe"},
|
||||
{SDLK_LEFTPAREN, "ParenLeft"},
|
||||
{SDLK_RIGHTPAREN, "ParenRight"},
|
||||
{SDLK_ASTERISK, "Asterisk"},
|
||||
{SDLK_PLUS, "PLus"},
|
||||
{SDLK_COMMA, "Comma"},
|
||||
{SDLK_MINUS, "Minus"},
|
||||
{SDLK_PERIOD, "Period"},
|
||||
{SDLK_SLASH, "Slash"},
|
||||
{SDLK_0, "0"},
|
||||
{SDLK_1, "1"},
|
||||
{SDLK_2, "2"},
|
||||
{SDLK_3, "3"},
|
||||
{SDLK_4, "4"},
|
||||
{SDLK_5, "5"},
|
||||
{SDLK_6, "6"},
|
||||
{SDLK_7, "7"},
|
||||
{SDLK_8, "8"},
|
||||
{SDLK_9, "9"},
|
||||
{SDLK_COLON, "Colon"},
|
||||
{SDLK_SEMICOLON, "Semcolon"},
|
||||
{SDLK_LESS, "Less"},
|
||||
{SDLK_EQUALS, "Equal"},
|
||||
{SDLK_GREATER, "Greater"},
|
||||
{SDLK_QUESTION, "Question"},
|
||||
{SDLK_AT, "AT"},
|
||||
{SDLK_LEFTBRACKET, "BracketLeft"},
|
||||
{SDLK_BACKSLASH, "Backslash"},
|
||||
{SDLK_RIGHTBRACKET, "BracketRight"},
|
||||
{SDLK_CARET, "Caret"},
|
||||
{SDLK_UNDERSCORE, "Underscore"},
|
||||
{SDLK_GRAVE, "Backquote"},
|
||||
{SDLK_A, "A"},
|
||||
{SDLK_B, "B"},
|
||||
{SDLK_C, "C"},
|
||||
{SDLK_D, "D"},
|
||||
{SDLK_E, "E"},
|
||||
{SDLK_F, "F"},
|
||||
{SDLK_G, "G"},
|
||||
{SDLK_H, "H"},
|
||||
{SDLK_I, "I"},
|
||||
{SDLK_J, "J"},
|
||||
{SDLK_K, "K"},
|
||||
{SDLK_L, "L"},
|
||||
{SDLK_M, "M"},
|
||||
{SDLK_N, "N"},
|
||||
{SDLK_O, "O"},
|
||||
{SDLK_P, "P"},
|
||||
{SDLK_Q, "Q"},
|
||||
{SDLK_R, "R"},
|
||||
{SDLK_S, "S"},
|
||||
{SDLK_T, "T"},
|
||||
{SDLK_U, "U"},
|
||||
{SDLK_V, "V"},
|
||||
{SDLK_W, "W"},
|
||||
{SDLK_X, "X"},
|
||||
{SDLK_Y, "Y"},
|
||||
{SDLK_Z, "Z"},
|
||||
{SDLK_CAPSLOCK, "CapsLock"},
|
||||
{SDLK_F1, "F1"},
|
||||
{SDLK_F2, "F2"},
|
||||
{SDLK_F3, "F3"},
|
||||
{SDLK_F4, "F4"},
|
||||
{SDLK_F5, "F5"},
|
||||
{SDLK_F6, "F6"},
|
||||
{SDLK_F7, "F7"},
|
||||
{SDLK_F8, "F8"},
|
||||
{SDLK_F9, "F9"},
|
||||
{SDLK_F10, "F10"},
|
||||
{SDLK_F11, "F11"},
|
||||
{SDLK_F12, "F12"},
|
||||
{SDLK_PRINTSCREEN, "Print"},
|
||||
{SDLK_SCROLLLOCK, "ScrollLock"},
|
||||
{SDLK_PAUSE, "Pause"},
|
||||
{SDLK_INSERT, "Insert"},
|
||||
{SDLK_HOME, "Home"},
|
||||
{SDLK_PAGEUP, "PageUp"},
|
||||
{SDLK_DELETE, "Delete"},
|
||||
{SDLK_END, "End"},
|
||||
{SDLK_PAGEDOWN, "PageDown"},
|
||||
{SDLK_RIGHT, "Right"},
|
||||
{SDLK_LEFT, "Left"},
|
||||
{SDLK_DOWN, "Down"},
|
||||
{SDLK_UP, "Up"},
|
||||
{SDLK_NUMLOCKCLEAR, "NumLock"},
|
||||
{SDLK_KP_DIVIDE, "Keypad+Divide"},
|
||||
{SDLK_KP_MULTIPLY, "Keypad+Multiply"},
|
||||
{SDLK_KP_MINUS, "Keypad+Minus"},
|
||||
{SDLK_KP_PLUS, "Keypad+Plus"},
|
||||
{SDLK_KP_ENTER, "Keypad+Return"},
|
||||
{SDLK_KP_1, "Keypad+1"},
|
||||
{SDLK_KP_2, "Keypad+2"},
|
||||
{SDLK_KP_3, "Keypad+3"},
|
||||
{SDLK_KP_4, "Keypad+4"},
|
||||
{SDLK_KP_5, "Keypad+5"},
|
||||
{SDLK_KP_6, "Keypad+6"},
|
||||
{SDLK_KP_7, "Keypad+7"},
|
||||
{SDLK_KP_8, "Keypad+8"},
|
||||
{SDLK_KP_9, "Keypad+9"},
|
||||
{SDLK_KP_0, "Keypad+0"},
|
||||
{SDLK_KP_PERIOD, "Keypad+Period"},
|
||||
{SDLK_APPLICATION, "Application"},
|
||||
{SDLK_POWER, "Power"},
|
||||
{SDLK_KP_EQUALS, "Keypad+Equal"},
|
||||
{SDLK_F13, "F13"},
|
||||
{SDLK_F14, "F14"},
|
||||
{SDLK_F15, "F15"},
|
||||
{SDLK_F16, "F16"},
|
||||
{SDLK_F17, "F17"},
|
||||
{SDLK_F18, "F18"},
|
||||
{SDLK_F19, "F19"},
|
||||
{SDLK_F20, "F20"},
|
||||
{SDLK_F21, "F21"},
|
||||
{SDLK_F22, "F22"},
|
||||
{SDLK_F23, "F23"},
|
||||
{SDLK_F24, "F24"},
|
||||
{SDLK_EXECUTE, "Execute"},
|
||||
{SDLK_HELP, "Help"},
|
||||
{SDLK_MENU, "Menu"},
|
||||
{SDLK_SELECT, "Select"},
|
||||
{SDLK_STOP, "Stop"},
|
||||
{SDLK_AGAIN, "Again"},
|
||||
{SDLK_UNDO, "Undo"},
|
||||
{SDLK_CUT, "Cut"},
|
||||
{SDLK_COPY, "Copy"},
|
||||
{SDLK_PASTE, "Paste"},
|
||||
{SDLK_FIND, "Find"},
|
||||
{SDLK_MUTE, "Mute"},
|
||||
{SDLK_VOLUMEUP, "VolumeUp"},
|
||||
{SDLK_VOLUMEDOWN, "VolumeDown"},
|
||||
{SDLK_KP_COMMA, "Keypad+Comma"},
|
||||
{SDLK_KP_EQUALSAS400, "Keypad+EqualAS400"},
|
||||
{SDLK_ALTERASE, "AltErase"},
|
||||
{SDLK_SYSREQ, "SysReq"},
|
||||
{SDLK_CANCEL, "Cancel"},
|
||||
{SDLK_CLEAR, "Clear"},
|
||||
{SDLK_PRIOR, "Prior"},
|
||||
{SDLK_RETURN2, "Return2"},
|
||||
{SDLK_SEPARATOR, "Separator"},
|
||||
{SDLK_OUT, "Out"},
|
||||
{SDLK_OPER, "Oper"},
|
||||
{SDLK_CLEARAGAIN, "ClearAgain"},
|
||||
{SDLK_CRSEL, "CrSel"},
|
||||
{SDLK_EXSEL, "ExSel"},
|
||||
{SDLK_KP_00, "Keypad+00"},
|
||||
{SDLK_KP_000, "Keypad+000"},
|
||||
{SDLK_THOUSANDSSEPARATOR, "ThousandsSeparator"},
|
||||
{SDLK_DECIMALSEPARATOR, "DecimalSeparator"},
|
||||
{SDLK_CURRENCYUNIT, "CurrencyUnit"},
|
||||
{SDLK_CURRENCYSUBUNIT, "CurrencySubunit"},
|
||||
{SDLK_KP_LEFTPAREN, "Keypad+ParenLeft"},
|
||||
{SDLK_KP_RIGHTPAREN, "Keypad+ParenRight"},
|
||||
{SDLK_KP_LEFTBRACE, "Keypad+LeftBrace"},
|
||||
{SDLK_KP_RIGHTBRACE, "Keypad+RightBrace"},
|
||||
{SDLK_KP_TAB, "Keypad+Tab"},
|
||||
{SDLK_KP_BACKSPACE, "Keypad+Backspace"},
|
||||
{SDLK_KP_A, "Keypad+A"},
|
||||
{SDLK_KP_B, "Keypad+B"},
|
||||
{SDLK_KP_C, "Keypad+C"},
|
||||
{SDLK_KP_D, "Keypad+D"},
|
||||
{SDLK_KP_E, "Keypad+E"},
|
||||
{SDLK_KP_F, "Keypad+F"},
|
||||
{SDLK_KP_XOR, "Keypad+XOR"},
|
||||
{SDLK_KP_POWER, "Keypad+Power"},
|
||||
{SDLK_KP_PERCENT, "Keypad+Percent"},
|
||||
{SDLK_KP_LESS, "Keypad+Less"},
|
||||
{SDLK_KP_GREATER, "Keypad+Greater"},
|
||||
{SDLK_KP_AMPERSAND, "Keypad+Ampersand"},
|
||||
{SDLK_KP_DBLAMPERSAND, "Keypad+AmpersandDbl"},
|
||||
{SDLK_KP_VERTICALBAR, "Keypad+Bar"},
|
||||
{SDLK_KP_DBLVERTICALBAR, "Keypad+BarDbl"},
|
||||
{SDLK_KP_COLON, "Keypad+Colon"},
|
||||
{SDLK_KP_HASH, "Keypad+Hash"},
|
||||
{SDLK_KP_SPACE, "Keypad+Space"},
|
||||
{SDLK_KP_AT, "Keypad+At"},
|
||||
{SDLK_KP_EXCLAM, "Keypad+Exclam"},
|
||||
{SDLK_KP_MEMSTORE, "Keypad+MemStore"},
|
||||
{SDLK_KP_MEMRECALL, "Keypad+MemRecall"},
|
||||
{SDLK_KP_MEMCLEAR, "Keypad+MemClear"},
|
||||
{SDLK_KP_MEMADD, "Keypad+MemAdd"},
|
||||
{SDLK_KP_MEMSUBTRACT, "Keypad+MemSubtract"},
|
||||
{SDLK_KP_MEMMULTIPLY, "Keypad+MemMultiply"},
|
||||
{SDLK_KP_MEMDIVIDE, "Keypad+MemDivide"},
|
||||
{SDLK_KP_PLUSMINUS, "Keypad+PlusMinus"},
|
||||
{SDLK_KP_CLEAR, "Keypad+Clear"},
|
||||
{SDLK_KP_CLEARENTRY, "Keypad+ClearEntry"},
|
||||
{SDLK_KP_BINARY, "Keypad+Binary"},
|
||||
{SDLK_KP_OCTAL, "Keypad+Octal"},
|
||||
{SDLK_KP_DECIMAL, "Keypad+Decimal"},
|
||||
{SDLK_KP_HEXADECIMAL, "Keypad+Hexadecimal"},
|
||||
{SDLK_LCTRL, "LeftControl"},
|
||||
{SDLK_LSHIFT, "LeftShift"},
|
||||
{SDLK_LALT, "LeftAlt"},
|
||||
{SDLK_LGUI, "Super_L"},
|
||||
{SDLK_RCTRL, "RightCtrl"},
|
||||
{SDLK_RSHIFT, "RightShift"},
|
||||
{SDLK_RALT, "RightAlt"},
|
||||
{SDLK_RGUI, "RightSuper"},
|
||||
{SDLK_MODE, "Mode"},
|
||||
{SDLK_MEDIA_NEXT_TRACK, "MediaNext"},
|
||||
{SDLK_MEDIA_PREVIOUS_TRACK, "MediaPrevious"},
|
||||
{SDLK_MEDIA_STOP, "MediaStop"},
|
||||
{SDLK_MEDIA_PLAY, "MediaPlay"},
|
||||
{SDLK_MEDIA_PLAY_PAUSE, "MediaPlayPause"},
|
||||
{SDLK_MEDIA_SELECT, "MediaSelect"},
|
||||
{SDLK_MEDIA_REWIND, "MediaRewind"},
|
||||
{SDLK_MEDIA_FAST_FORWARD, "MediaFastForward"},
|
||||
{SDLK_MUTE, "VolumeMute"},
|
||||
{SDLK_AC_SEARCH, "Search"},
|
||||
{SDLK_AC_HOME, "Home"},
|
||||
{SDLK_AC_BACK, "Back"},
|
||||
{SDLK_AC_FORWARD, "Forward"},
|
||||
{SDLK_AC_STOP, "Stop"},
|
||||
{SDLK_AC_REFRESH, "Refresh"},
|
||||
{SDLK_AC_BOOKMARKS, "Bookmarks"},
|
||||
{SDLK_MEDIA_EJECT, "Eject"},
|
||||
{SDLK_SLEEP, "Sleep"},
|
||||
};
|
||||
|
||||
inline const char* GetKeyName(u32 key)
|
||||
{
|
||||
const auto it = s_sdl_key_names.find(key);
|
||||
return it == s_sdl_key_names.end() ? nullptr : it->second;
|
||||
}
|
||||
|
||||
inline std::optional<u32> GetKeyCodeForName(const std::string_view key_name)
|
||||
{
|
||||
for (const auto& it : s_sdl_key_names)
|
||||
{
|
||||
if (key_name == it.second)
|
||||
return it.first;
|
||||
}
|
||||
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
} // namespace SDLKeyNames
|
||||
@ -1,538 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <stenzek@gmail.com>
|
||||
// SPDX-License-Identifier: CC-BY-NC-ND-4.0
|
||||
|
||||
#include "qtutils.h"
|
||||
|
||||
#include "common/string_util.h"
|
||||
|
||||
#include "IconsPromptFont.h"
|
||||
|
||||
#include "fmt/format.h"
|
||||
#include "util/input_manager.h"
|
||||
|
||||
#include <QtGui/QKeyEvent>
|
||||
|
||||
struct KeyCodeName
|
||||
{
|
||||
int code;
|
||||
const char* name;
|
||||
const char* icon_name;
|
||||
};
|
||||
|
||||
static constexpr KeyCodeName s_qt_key_names[] = {{Qt::Key_Escape, "Escape", ICON_PF_ESC},
|
||||
{Qt::Key_Tab, "Tab", ICON_PF_TAB},
|
||||
{Qt::Key_Backtab, "Backtab", nullptr},
|
||||
{Qt::Key_Backspace, "Backspace", ICON_PF_BACKSPACE},
|
||||
{Qt::Key_Return, "Return", ICON_PF_ENTER},
|
||||
{Qt::Key_Enter, "Enter", ICON_PF_ENTER},
|
||||
{Qt::Key_Insert, "Insert", ICON_PF_INSERT},
|
||||
{Qt::Key_Delete, "Delete", ICON_PF_DELETE},
|
||||
{Qt::Key_Pause, "Pause", ICON_PF_PAUSE},
|
||||
{Qt::Key_Print, "Print", ICON_PF_PRTSC},
|
||||
{Qt::Key_SysReq, "SysReq", ICON_PF_PAUSE},
|
||||
{Qt::Key_Clear, "Clear", nullptr},
|
||||
{Qt::Key_Home, "Home", ICON_PF_HOME},
|
||||
{Qt::Key_End, "End", ICON_PF_END},
|
||||
{Qt::Key_Left, "Left", ICON_PF_ARROW_LEFT},
|
||||
{Qt::Key_Up, "Up", ICON_PF_ARROW_UP},
|
||||
{Qt::Key_Right, "Right", ICON_PF_ARROW_RIGHT},
|
||||
{Qt::Key_Down, "Down", ICON_PF_ARROW_DOWN},
|
||||
{Qt::Key_PageUp, "PageUp", ICON_PF_PAGE_UP},
|
||||
{Qt::Key_PageDown, "PageDown", ICON_PF_PAGE_DOWN},
|
||||
{Qt::Key_Shift, "Shift", ICON_PF_SHIFT},
|
||||
{Qt::Key_Control, "Control", ICON_PF_CTRL},
|
||||
{Qt::Key_Meta, "Meta", ICON_PF_SUPER},
|
||||
{Qt::Key_Alt, "Alt", ICON_PF_ALT},
|
||||
{Qt::Key_CapsLock, "CapsLock", ICON_PF_CAPS},
|
||||
{Qt::Key_NumLock, "NumLock", ICON_PF_NUMLOCK},
|
||||
{Qt::Key_ScrollLock, "ScrollLock", ICON_PF_SCRLK},
|
||||
{Qt::Key_F1, "F1", ICON_PF_F1},
|
||||
{Qt::Key_F2, "F2", ICON_PF_F2},
|
||||
{Qt::Key_F3, "F3", ICON_PF_F3},
|
||||
{Qt::Key_F4, "F4", ICON_PF_F4},
|
||||
{Qt::Key_F5, "F5", ICON_PF_F5},
|
||||
{Qt::Key_F6, "F6", ICON_PF_F6},
|
||||
{Qt::Key_F7, "F7", ICON_PF_F7},
|
||||
{Qt::Key_F8, "F8", ICON_PF_F8},
|
||||
{Qt::Key_F9, "F9", ICON_PF_F9},
|
||||
{Qt::Key_F10, "F10", ICON_PF_F10},
|
||||
{Qt::Key_F11, "F11", ICON_PF_F11},
|
||||
{Qt::Key_F12, "F12", ICON_PF_F12},
|
||||
{Qt::Key_F13, "F13", nullptr},
|
||||
{Qt::Key_F14, "F14", nullptr},
|
||||
{Qt::Key_F15, "F15", nullptr},
|
||||
{Qt::Key_F16, "F16", nullptr},
|
||||
{Qt::Key_F17, "F17", nullptr},
|
||||
{Qt::Key_F18, "F18", nullptr},
|
||||
{Qt::Key_F19, "F19", nullptr},
|
||||
{Qt::Key_F20, "F20", nullptr},
|
||||
{Qt::Key_F21, "F21", nullptr},
|
||||
{Qt::Key_F22, "F22", nullptr},
|
||||
{Qt::Key_F23, "F23", nullptr},
|
||||
{Qt::Key_F24, "F24", nullptr},
|
||||
{Qt::Key_F25, "F25", nullptr},
|
||||
{Qt::Key_F26, "F26", nullptr},
|
||||
{Qt::Key_F27, "F27", nullptr},
|
||||
{Qt::Key_F28, "F28", nullptr},
|
||||
{Qt::Key_F29, "F29", nullptr},
|
||||
{Qt::Key_F30, "F30", nullptr},
|
||||
{Qt::Key_F31, "F31", nullptr},
|
||||
{Qt::Key_F32, "F32", nullptr},
|
||||
{Qt::Key_F33, "F33", nullptr},
|
||||
{Qt::Key_F34, "F34", nullptr},
|
||||
{Qt::Key_F35, "F35", nullptr},
|
||||
{Qt::Key_Super_L, "Super_L", nullptr},
|
||||
{Qt::Key_Super_R, "Super_R", nullptr},
|
||||
{Qt::Key_Menu, "Menu", nullptr},
|
||||
{Qt::Key_Hyper_L, "Hyper_L", nullptr},
|
||||
{Qt::Key_Hyper_R, "Hyper_R", nullptr},
|
||||
{Qt::Key_Help, "Help", nullptr},
|
||||
{Qt::Key_Direction_L, "Direction_L", nullptr},
|
||||
{Qt::Key_Direction_R, "Direction_R", nullptr},
|
||||
{Qt::Key_Space, "Space", ICON_PF_SPACE},
|
||||
{Qt::Key_Any, "Any", nullptr},
|
||||
{Qt::Key_Exclam, "Exclam", nullptr},
|
||||
{Qt::Key_QuoteDbl, "QuoteDbl", nullptr},
|
||||
{Qt::Key_NumberSign, "NumberSign", nullptr},
|
||||
{Qt::Key_Dollar, "Dollar", nullptr},
|
||||
{Qt::Key_Percent, "Percent", nullptr},
|
||||
{Qt::Key_Ampersand, "Ampersand", nullptr},
|
||||
{Qt::Key_Apostrophe, "Apostrophe", ICON_PF_KEY_APOSTROPHE},
|
||||
{Qt::Key_ParenLeft, "ParenLeft", nullptr},
|
||||
{Qt::Key_ParenRight, "ParenRight", nullptr},
|
||||
{Qt::Key_Asterisk, "Asterisk", nullptr},
|
||||
{Qt::Key_Plus, "Plus", nullptr},
|
||||
{Qt::Key_Comma, "Comma", ICON_PF_KEY_COMMA},
|
||||
{Qt::Key_Minus, "Minus", ICON_PF_KEY_DASH},
|
||||
{Qt::Key_Period, "Period", ICON_PF_KEY_PERIOD},
|
||||
{Qt::Key_Slash, "Slash", ICON_PF_KEY_SLASH},
|
||||
{Qt::Key_0, "0", ICON_PF_0},
|
||||
{Qt::Key_1, "1", ICON_PF_1},
|
||||
{Qt::Key_2, "2", ICON_PF_2},
|
||||
{Qt::Key_3, "3", ICON_PF_3},
|
||||
{Qt::Key_4, "4", ICON_PF_4},
|
||||
{Qt::Key_5, "5", ICON_PF_5},
|
||||
{Qt::Key_6, "6", ICON_PF_6},
|
||||
{Qt::Key_7, "7", ICON_PF_7},
|
||||
{Qt::Key_8, "8", ICON_PF_8},
|
||||
{Qt::Key_9, "9", ICON_PF_9},
|
||||
{Qt::Key_Colon, "Colon", nullptr},
|
||||
{Qt::Key_Semicolon, "Semicolon", ICON_PF_KEY_SEMICOLON},
|
||||
{Qt::Key_Less, "Less", nullptr},
|
||||
{Qt::Key_Equal, "Equal", ICON_PF_KEY_EQUAL},
|
||||
{Qt::Key_Greater, "Greater", nullptr},
|
||||
{Qt::Key_Question, "Question", nullptr},
|
||||
{Qt::Key_At, "At", nullptr},
|
||||
{Qt::Key_A, "A", ICON_PF_KEY_A},
|
||||
{Qt::Key_B, "B", ICON_PF_KEY_B},
|
||||
{Qt::Key_C, "C", ICON_PF_KEY_C},
|
||||
{Qt::Key_D, "D", ICON_PF_KEY_D},
|
||||
{Qt::Key_E, "E", ICON_PF_KEY_E},
|
||||
{Qt::Key_F, "F", ICON_PF_KEY_F},
|
||||
{Qt::Key_G, "G", ICON_PF_KEY_G},
|
||||
{Qt::Key_H, "H", ICON_PF_KEY_H},
|
||||
{Qt::Key_I, "I", ICON_PF_KEY_I},
|
||||
{Qt::Key_J, "J", ICON_PF_KEY_J},
|
||||
{Qt::Key_K, "K", ICON_PF_KEY_K},
|
||||
{Qt::Key_L, "L", ICON_PF_KEY_L},
|
||||
{Qt::Key_M, "M", ICON_PF_KEY_M},
|
||||
{Qt::Key_N, "N", ICON_PF_KEY_N},
|
||||
{Qt::Key_O, "O", ICON_PF_KEY_O},
|
||||
{Qt::Key_P, "P", ICON_PF_KEY_P},
|
||||
{Qt::Key_Q, "Q", ICON_PF_KEY_Q},
|
||||
{Qt::Key_R, "R", ICON_PF_KEY_R},
|
||||
{Qt::Key_S, "S", ICON_PF_KEY_S},
|
||||
{Qt::Key_T, "T", ICON_PF_KEY_T},
|
||||
{Qt::Key_U, "U", ICON_PF_KEY_U},
|
||||
{Qt::Key_V, "V", ICON_PF_KEY_V},
|
||||
{Qt::Key_W, "W", ICON_PF_KEY_W},
|
||||
{Qt::Key_X, "X", ICON_PF_KEY_X},
|
||||
{Qt::Key_Y, "Y", ICON_PF_KEY_Y},
|
||||
{Qt::Key_Z, "Z", ICON_PF_KEY_Z},
|
||||
{Qt::Key_BracketLeft, "BracketLeft", ICON_PF_KEY_OPEN_BRACKET},
|
||||
{Qt::Key_Backslash, "Backslash", ICON_PF_KEY_BACKSLASH},
|
||||
{Qt::Key_BracketRight, "BracketRight", ICON_PF_KEY_CLOSE_BRACKET},
|
||||
{Qt::Key_AsciiCircum, "AsciiCircum", nullptr},
|
||||
{Qt::Key_Underscore, "Underscore", nullptr},
|
||||
{Qt::Key_QuoteLeft, "QuoteLeft", ICON_PF_KEY_TILDE},
|
||||
{Qt::Key_BraceLeft, "BraceLeft", nullptr},
|
||||
{Qt::Key_Bar, "Bar", nullptr},
|
||||
{Qt::Key_BraceRight, "BraceRight", nullptr},
|
||||
{Qt::Key_AsciiTilde, "AsciiTilde", nullptr},
|
||||
{Qt::Key_nobreakspace, "nobreakspace", nullptr},
|
||||
{Qt::Key_exclamdown, "exclamdown", nullptr},
|
||||
{Qt::Key_cent, "cent", nullptr},
|
||||
{Qt::Key_sterling, "sterling", nullptr},
|
||||
{Qt::Key_currency, "currency", nullptr},
|
||||
{Qt::Key_yen, "yen", nullptr},
|
||||
{Qt::Key_brokenbar, "brokenbar", nullptr},
|
||||
{Qt::Key_section, "section", nullptr},
|
||||
{Qt::Key_diaeresis, "diaeresis", nullptr},
|
||||
{Qt::Key_copyright, "copyright", nullptr},
|
||||
{Qt::Key_ordfeminine, "ordfeminine", nullptr},
|
||||
{Qt::Key_guillemotleft, "guillemotleft", nullptr},
|
||||
{Qt::Key_notsign, "notsign", nullptr},
|
||||
{Qt::Key_hyphen, "hyphen", nullptr},
|
||||
{Qt::Key_registered, "registered", nullptr},
|
||||
{Qt::Key_macron, "macron", nullptr},
|
||||
{Qt::Key_degree, "degree", nullptr},
|
||||
{Qt::Key_plusminus, "plusminus", nullptr},
|
||||
{Qt::Key_twosuperior, "twosuperior", nullptr},
|
||||
{Qt::Key_threesuperior, "threesuperior", nullptr},
|
||||
{Qt::Key_acute, "acute", nullptr},
|
||||
{Qt::Key_micro, "micro", nullptr},
|
||||
{Qt::Key_paragraph, "paragraph", nullptr},
|
||||
{Qt::Key_periodcentered, "periodcentered", nullptr},
|
||||
{Qt::Key_cedilla, "cedilla", nullptr},
|
||||
{Qt::Key_onesuperior, "onesuperior", nullptr},
|
||||
{Qt::Key_masculine, "masculine", nullptr},
|
||||
{Qt::Key_guillemotright, "guillemotright", nullptr},
|
||||
{Qt::Key_onequarter, "onequarter", nullptr},
|
||||
{Qt::Key_onehalf, "onehalf", nullptr},
|
||||
{Qt::Key_threequarters, "threequarters", nullptr},
|
||||
{Qt::Key_questiondown, "questiondown", nullptr},
|
||||
{Qt::Key_Agrave, "Agrave", nullptr},
|
||||
{Qt::Key_Aacute, "Aacute", nullptr},
|
||||
{Qt::Key_Acircumflex, "Acircumflex", nullptr},
|
||||
{Qt::Key_Atilde, "Atilde", nullptr},
|
||||
{Qt::Key_Adiaeresis, "Adiaeresis", nullptr},
|
||||
{Qt::Key_Aring, "Aring", nullptr},
|
||||
{Qt::Key_AE, "AE", nullptr},
|
||||
{Qt::Key_Ccedilla, "Ccedilla", nullptr},
|
||||
{Qt::Key_Egrave, "Egrave", nullptr},
|
||||
{Qt::Key_Eacute, "Eacute", nullptr},
|
||||
{Qt::Key_Ecircumflex, "Ecircumflex", nullptr},
|
||||
{Qt::Key_Ediaeresis, "Ediaeresis", nullptr},
|
||||
{Qt::Key_Igrave, "Igrave", nullptr},
|
||||
{Qt::Key_Iacute, "Iacute", nullptr},
|
||||
{Qt::Key_Icircumflex, "Icircumflex", nullptr},
|
||||
{Qt::Key_Idiaeresis, "Idiaeresis", nullptr},
|
||||
{Qt::Key_ETH, "ETH", nullptr},
|
||||
{Qt::Key_Ntilde, "Ntilde", nullptr},
|
||||
{Qt::Key_Ograve, "Ograve", nullptr},
|
||||
{Qt::Key_Oacute, "Oacute", nullptr},
|
||||
{Qt::Key_Ocircumflex, "Ocircumflex", nullptr},
|
||||
{Qt::Key_Otilde, "Otilde", nullptr},
|
||||
{Qt::Key_Odiaeresis, "Odiaeresis", nullptr},
|
||||
{Qt::Key_multiply, "multiply", nullptr},
|
||||
{Qt::Key_Ooblique, "Ooblique", nullptr},
|
||||
{Qt::Key_Ugrave, "Ugrave", nullptr},
|
||||
{Qt::Key_Uacute, "Uacute", nullptr},
|
||||
{Qt::Key_Ucircumflex, "Ucircumflex", nullptr},
|
||||
{Qt::Key_Udiaeresis, "Udiaeresis", nullptr},
|
||||
{Qt::Key_Yacute, "Yacute", nullptr},
|
||||
{Qt::Key_THORN, "THORN", nullptr},
|
||||
{Qt::Key_ssharp, "ssharp", nullptr},
|
||||
{Qt::Key_division, "division", nullptr},
|
||||
{Qt::Key_ydiaeresis, "ydiaeresis", nullptr},
|
||||
{Qt::Key_AltGr, "AltGr", nullptr},
|
||||
{Qt::Key_Multi_key, "Multi_key", nullptr},
|
||||
{Qt::Key_Codeinput, "Codeinput", nullptr},
|
||||
{Qt::Key_SingleCandidate, "SingleCandidate", nullptr},
|
||||
{Qt::Key_MultipleCandidate, "MultipleCandidate", nullptr},
|
||||
{Qt::Key_PreviousCandidate, "PreviousCandidate", nullptr},
|
||||
{Qt::Key_Mode_switch, "Mode_switch", nullptr},
|
||||
{Qt::Key_Kanji, "Kanji", nullptr},
|
||||
{Qt::Key_Muhenkan, "Muhenkan", nullptr},
|
||||
{Qt::Key_Henkan, "Henkan", nullptr},
|
||||
{Qt::Key_Romaji, "Romaji", nullptr},
|
||||
{Qt::Key_Hiragana, "Hiragana", nullptr},
|
||||
{Qt::Key_Katakana, "Katakana", nullptr},
|
||||
{Qt::Key_Hiragana_Katakana, "Hiragana_Katakana", nullptr},
|
||||
{Qt::Key_Zenkaku, "Zenkaku", nullptr},
|
||||
{Qt::Key_Hankaku, "Hankaku", nullptr},
|
||||
{Qt::Key_Zenkaku_Hankaku, "Zenkaku_Hankaku", nullptr},
|
||||
{Qt::Key_Touroku, "Touroku", nullptr},
|
||||
{Qt::Key_Massyo, "Massyo", nullptr},
|
||||
{Qt::Key_Kana_Lock, "Kana_Lock", nullptr},
|
||||
{Qt::Key_Kana_Shift, "Kana_Shift", nullptr},
|
||||
{Qt::Key_Eisu_Shift, "Eisu_Shift", nullptr},
|
||||
{Qt::Key_Eisu_toggle, "Eisu_toggle", nullptr},
|
||||
{Qt::Key_Hangul, "Hangul", nullptr},
|
||||
{Qt::Key_Hangul_Start, "Hangul_Start", nullptr},
|
||||
{Qt::Key_Hangul_End, "Hangul_End", nullptr},
|
||||
{Qt::Key_Hangul_Hanja, "Hangul_Hanja", nullptr},
|
||||
{Qt::Key_Hangul_Jamo, "Hangul_Jamo", nullptr},
|
||||
{Qt::Key_Hangul_Romaja, "Hangul_Romaja", nullptr},
|
||||
{Qt::Key_Hangul_Jeonja, "Hangul_Jeonja", nullptr},
|
||||
{Qt::Key_Hangul_Banja, "Hangul_Banja", nullptr},
|
||||
{Qt::Key_Hangul_PreHanja, "Hangul_PreHanja", nullptr},
|
||||
{Qt::Key_Hangul_PostHanja, "Hangul_PostHanja", nullptr},
|
||||
{Qt::Key_Hangul_Special, "Hangul_Special", nullptr},
|
||||
{Qt::Key_Dead_Grave, "Dead_Grave", nullptr},
|
||||
{Qt::Key_Dead_Acute, "Dead_Acute", nullptr},
|
||||
{Qt::Key_Dead_Circumflex, "Dead_Circumflex", nullptr},
|
||||
{Qt::Key_Dead_Tilde, "Dead_Tilde", nullptr},
|
||||
{Qt::Key_Dead_Macron, "Dead_Macron", nullptr},
|
||||
{Qt::Key_Dead_Breve, "Dead_Breve", nullptr},
|
||||
{Qt::Key_Dead_Abovedot, "Dead_Abovedot", nullptr},
|
||||
{Qt::Key_Dead_Diaeresis, "Dead_Diaeresis", nullptr},
|
||||
{Qt::Key_Dead_Abovering, "Dead_Abovering", nullptr},
|
||||
{Qt::Key_Dead_Doubleacute, "Dead_Doubleacute", nullptr},
|
||||
{Qt::Key_Dead_Caron, "Dead_Caron", nullptr},
|
||||
{Qt::Key_Dead_Cedilla, "Dead_Cedilla", nullptr},
|
||||
{Qt::Key_Dead_Ogonek, "Dead_Ogonek", nullptr},
|
||||
{Qt::Key_Dead_Iota, "Dead_Iota", nullptr},
|
||||
{Qt::Key_Dead_Voiced_Sound, "Dead_Voiced_Sound", nullptr},
|
||||
{Qt::Key_Dead_Semivoiced_Sound, "Dead_Semivoiced_Sound", nullptr},
|
||||
{Qt::Key_Dead_Belowdot, "Dead_Belowdot", nullptr},
|
||||
{Qt::Key_Dead_Hook, "Dead_Hook", nullptr},
|
||||
{Qt::Key_Dead_Horn, "Dead_Horn", nullptr},
|
||||
{Qt::Key_Back, "Back", nullptr},
|
||||
{Qt::Key_Forward, "Forward", nullptr},
|
||||
{Qt::Key_Stop, "Stop", nullptr},
|
||||
{Qt::Key_Refresh, "Refresh", nullptr},
|
||||
{Qt::Key_VolumeDown, "VolumeDown", nullptr},
|
||||
{Qt::Key_VolumeMute, "VolumeMute", nullptr},
|
||||
{Qt::Key_VolumeUp, "VolumeUp", nullptr},
|
||||
{Qt::Key_BassBoost, "BassBoost", nullptr},
|
||||
{Qt::Key_BassUp, "BassUp", nullptr},
|
||||
{Qt::Key_BassDown, "BassDown", nullptr},
|
||||
{Qt::Key_TrebleUp, "TrebleUp", nullptr},
|
||||
{Qt::Key_TrebleDown, "TrebleDown", nullptr},
|
||||
{Qt::Key_MediaPlay, "MediaPlay", nullptr},
|
||||
{Qt::Key_MediaStop, "MediaStop", nullptr},
|
||||
{Qt::Key_MediaPrevious, "MediaPrevious", nullptr},
|
||||
{Qt::Key_MediaNext, "MediaNext", nullptr},
|
||||
{Qt::Key_MediaRecord, "MediaRecord", nullptr},
|
||||
{Qt::Key_MediaPause, "MediaPause", nullptr},
|
||||
{Qt::Key_MediaTogglePlayPause, "MediaTogglePlayPause", nullptr},
|
||||
{Qt::Key_HomePage, "HomePage", nullptr},
|
||||
{Qt::Key_Favorites, "Favorites", nullptr},
|
||||
{Qt::Key_Search, "Search", nullptr},
|
||||
{Qt::Key_Standby, "Standby", nullptr},
|
||||
{Qt::Key_OpenUrl, "OpenUrl", nullptr},
|
||||
{Qt::Key_LaunchMail, "LaunchMail", nullptr},
|
||||
{Qt::Key_LaunchMedia, "LaunchMedia", nullptr},
|
||||
{Qt::Key_Launch0, "Launch0", nullptr},
|
||||
{Qt::Key_Launch1, "Launch1", nullptr},
|
||||
{Qt::Key_Launch2, "Launch2", nullptr},
|
||||
{Qt::Key_Launch3, "Launch3", nullptr},
|
||||
{Qt::Key_Launch4, "Launch4", nullptr},
|
||||
{Qt::Key_Launch5, "Launch5", nullptr},
|
||||
{Qt::Key_Launch6, "Launch6", nullptr},
|
||||
{Qt::Key_Launch7, "Launch7", nullptr},
|
||||
{Qt::Key_Launch8, "Launch8", nullptr},
|
||||
{Qt::Key_Launch9, "Launch9", nullptr},
|
||||
{Qt::Key_LaunchA, "LaunchA", nullptr},
|
||||
{Qt::Key_LaunchB, "LaunchB", nullptr},
|
||||
{Qt::Key_LaunchC, "LaunchC", nullptr},
|
||||
{Qt::Key_LaunchD, "LaunchD", nullptr},
|
||||
{Qt::Key_LaunchE, "LaunchE", nullptr},
|
||||
{Qt::Key_LaunchF, "LaunchF", nullptr},
|
||||
{Qt::Key_MonBrightnessUp, "MonBrightnessUp", nullptr},
|
||||
{Qt::Key_MonBrightnessDown, "MonBrightnessDown", nullptr},
|
||||
{Qt::Key_KeyboardLightOnOff, "KeyboardLightOnOff", nullptr},
|
||||
{Qt::Key_KeyboardBrightnessUp, "KeyboardBrightnessUp", nullptr},
|
||||
{Qt::Key_KeyboardBrightnessDown, "KeyboardBrightnessDown", nullptr},
|
||||
{Qt::Key_PowerOff, "PowerOff", nullptr},
|
||||
{Qt::Key_WakeUp, "WakeUp", nullptr},
|
||||
{Qt::Key_Eject, "Eject", nullptr},
|
||||
{Qt::Key_ScreenSaver, "ScreenSaver", nullptr},
|
||||
{Qt::Key_WWW, "WWW", nullptr},
|
||||
{Qt::Key_Memo, "Memo", nullptr},
|
||||
{Qt::Key_LightBulb, "LightBulb", nullptr},
|
||||
{Qt::Key_Shop, "Shop", nullptr},
|
||||
{Qt::Key_History, "History", nullptr},
|
||||
{Qt::Key_AddFavorite, "AddFavorite", nullptr},
|
||||
{Qt::Key_HotLinks, "HotLinks", nullptr},
|
||||
{Qt::Key_BrightnessAdjust, "BrightnessAdjust", nullptr},
|
||||
{Qt::Key_Finance, "Finance", nullptr},
|
||||
{Qt::Key_Community, "Community", nullptr},
|
||||
{Qt::Key_AudioRewind, "AudioRewind", nullptr},
|
||||
{Qt::Key_BackForward, "BackForward", nullptr},
|
||||
{Qt::Key_ApplicationLeft, "ApplicationLeft", nullptr},
|
||||
{Qt::Key_ApplicationRight, "ApplicationRight", nullptr},
|
||||
{Qt::Key_Book, "Book", nullptr},
|
||||
{Qt::Key_CD, "CD", nullptr},
|
||||
{Qt::Key_Calculator, "Calculator", nullptr},
|
||||
{Qt::Key_ToDoList, "ToDoList", nullptr},
|
||||
{Qt::Key_ClearGrab, "ClearGrab", nullptr},
|
||||
{Qt::Key_Close, "Close", nullptr},
|
||||
{Qt::Key_Copy, "Copy", nullptr},
|
||||
{Qt::Key_Cut, "Cut", nullptr},
|
||||
{Qt::Key_Display, "Display", nullptr},
|
||||
{Qt::Key_DOS, "DOS", nullptr},
|
||||
{Qt::Key_Documents, "Documents", nullptr},
|
||||
{Qt::Key_Excel, "Excel", nullptr},
|
||||
{Qt::Key_Explorer, "Explorer", nullptr},
|
||||
{Qt::Key_Game, "Game", nullptr},
|
||||
{Qt::Key_Go, "Go", nullptr},
|
||||
{Qt::Key_iTouch, "iTouch", nullptr},
|
||||
{Qt::Key_LogOff, "LogOff", nullptr},
|
||||
{Qt::Key_Market, "Market", nullptr},
|
||||
{Qt::Key_Meeting, "Meeting", nullptr},
|
||||
{Qt::Key_MenuKB, "MenuKB", nullptr},
|
||||
{Qt::Key_MenuPB, "MenuPB", nullptr},
|
||||
{Qt::Key_MySites, "MySites", nullptr},
|
||||
{Qt::Key_News, "News", nullptr},
|
||||
{Qt::Key_OfficeHome, "OfficeHome", nullptr},
|
||||
{Qt::Key_Option, "Option", nullptr},
|
||||
{Qt::Key_Paste, "Paste", nullptr},
|
||||
{Qt::Key_Phone, "Phone", nullptr},
|
||||
{Qt::Key_Calendar, "Calendar", nullptr},
|
||||
{Qt::Key_Reply, "Reply", nullptr},
|
||||
{Qt::Key_Reload, "Reload", nullptr},
|
||||
{Qt::Key_RotateWindows, "RotateWindows", nullptr},
|
||||
{Qt::Key_RotationPB, "RotationPB", nullptr},
|
||||
{Qt::Key_RotationKB, "RotationKB", nullptr},
|
||||
{Qt::Key_Save, "Save", nullptr},
|
||||
{Qt::Key_Send, "Send", nullptr},
|
||||
{Qt::Key_Spell, "Spell", nullptr},
|
||||
{Qt::Key_SplitScreen, "SplitScreen", nullptr},
|
||||
{Qt::Key_Support, "Support", nullptr},
|
||||
{Qt::Key_TaskPane, "TaskPane", nullptr},
|
||||
{Qt::Key_Terminal, "Terminal", nullptr},
|
||||
{Qt::Key_Tools, "Tools", nullptr},
|
||||
{Qt::Key_Travel, "Travel", nullptr},
|
||||
{Qt::Key_Video, "Video", nullptr},
|
||||
{Qt::Key_Word, "Word", nullptr},
|
||||
{Qt::Key_Xfer, "Xfer", nullptr},
|
||||
{Qt::Key_ZoomIn, "ZoomIn", nullptr},
|
||||
{Qt::Key_ZoomOut, "ZoomOut", nullptr},
|
||||
{Qt::Key_Away, "Away", nullptr},
|
||||
{Qt::Key_Messenger, "Messenger", nullptr},
|
||||
{Qt::Key_WebCam, "WebCam", nullptr},
|
||||
{Qt::Key_MailForward, "MailForward", nullptr},
|
||||
{Qt::Key_Pictures, "Pictures", nullptr},
|
||||
{Qt::Key_Music, "Music", nullptr},
|
||||
{Qt::Key_Battery, "Battery", nullptr},
|
||||
{Qt::Key_Bluetooth, "Bluetooth", nullptr},
|
||||
{Qt::Key_WLAN, "WLAN", nullptr},
|
||||
{Qt::Key_UWB, "UWB", nullptr},
|
||||
{Qt::Key_AudioForward, "AudioForward", nullptr},
|
||||
{Qt::Key_AudioRepeat, "AudioRepeat", nullptr},
|
||||
{Qt::Key_AudioRandomPlay, "AudioRandomPlay", nullptr},
|
||||
{Qt::Key_Subtitle, "Subtitle", nullptr},
|
||||
{Qt::Key_AudioCycleTrack, "AudioCycleTrack", nullptr},
|
||||
{Qt::Key_Time, "Time", nullptr},
|
||||
{Qt::Key_Hibernate, "Hibernate", nullptr},
|
||||
{Qt::Key_View, "View", nullptr},
|
||||
{Qt::Key_TopMenu, "TopMenu", nullptr},
|
||||
{Qt::Key_PowerDown, "PowerDown", nullptr},
|
||||
{Qt::Key_Suspend, "Suspend", nullptr},
|
||||
{Qt::Key_ContrastAdjust, "ContrastAdjust", nullptr},
|
||||
{Qt::Key_LaunchG, "LaunchG", nullptr},
|
||||
{Qt::Key_LaunchH, "LaunchH", nullptr},
|
||||
{Qt::Key_TouchpadToggle, "TouchpadToggle", nullptr},
|
||||
{Qt::Key_TouchpadOn, "TouchpadOn", nullptr},
|
||||
{Qt::Key_TouchpadOff, "TouchpadOff", nullptr},
|
||||
{Qt::Key_MicMute, "MicMute", nullptr},
|
||||
{Qt::Key_Red, "Red", nullptr},
|
||||
{Qt::Key_Green, "Green", nullptr},
|
||||
{Qt::Key_Yellow, "Yellow", nullptr},
|
||||
{Qt::Key_Blue, "Blue", nullptr},
|
||||
{Qt::Key_ChannelUp, "ChannelUp", nullptr},
|
||||
{Qt::Key_ChannelDown, "ChannelDown", nullptr},
|
||||
{Qt::Key_Guide, "Guide", nullptr},
|
||||
{Qt::Key_Info, "Info", nullptr},
|
||||
{Qt::Key_Settings, "Settings", nullptr},
|
||||
{Qt::Key_MicVolumeUp, "MicVolumeUp", nullptr},
|
||||
{Qt::Key_MicVolumeDown, "MicVolumeDown", nullptr},
|
||||
{Qt::Key_New, "New", nullptr},
|
||||
{Qt::Key_Open, "Open", nullptr},
|
||||
{Qt::Key_Find, "Find", nullptr},
|
||||
{Qt::Key_Undo, "Undo", nullptr},
|
||||
{Qt::Key_Redo, "Redo", nullptr},
|
||||
{Qt::Key_MediaLast, "MediaLast", nullptr},
|
||||
{Qt::Key_Select, "Select", nullptr},
|
||||
{Qt::Key_Yes, "Yes", nullptr},
|
||||
{Qt::Key_No, "No", nullptr},
|
||||
{Qt::Key_Cancel, "Cancel", nullptr},
|
||||
{Qt::Key_Printer, "Printer", nullptr},
|
||||
{Qt::Key_Execute, "Execute", nullptr},
|
||||
{Qt::Key_Sleep, "Sleep", nullptr},
|
||||
{Qt::Key_Play, "Play", nullptr},
|
||||
{Qt::Key_Zoom, "Zoom", nullptr},
|
||||
{Qt::Key_Exit, "Exit", nullptr},
|
||||
{Qt::Key_Context1, "Context1", nullptr},
|
||||
{Qt::Key_Context2, "Context2", nullptr},
|
||||
{Qt::Key_Context3, "Context3", nullptr},
|
||||
{Qt::Key_Context4, "Context4", nullptr},
|
||||
{Qt::Key_Call, "Call", nullptr},
|
||||
{Qt::Key_Hangup, "Hangup", nullptr},
|
||||
{Qt::Key_Flip, "Flip", nullptr},
|
||||
{Qt::Key_ToggleCallHangup, "ToggleCallHangup", nullptr},
|
||||
{Qt::Key_VoiceDial, "VoiceDial", nullptr},
|
||||
{Qt::Key_LastNumberRedial, "LastNumberRedial", nullptr},
|
||||
{Qt::Key_Camera, "Camera", nullptr},
|
||||
{Qt::Key_CameraFocus, "CameraFocus", nullptr}};
|
||||
|
||||
std::optional<u32> InputManager::ConvertHostKeyboardStringToCode(std::string_view str)
|
||||
{
|
||||
std::string_view compare_name = str;
|
||||
u32 modifier_bits = 0;
|
||||
if (compare_name.starts_with("Numpad"))
|
||||
{
|
||||
compare_name = compare_name.substr(6);
|
||||
modifier_bits |= Qt::KeypadModifier;
|
||||
}
|
||||
|
||||
for (const KeyCodeName& name : s_qt_key_names)
|
||||
{
|
||||
if (compare_name == name.name)
|
||||
return static_cast<u32>(name.code) | modifier_bits;
|
||||
}
|
||||
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
std::optional<std::string> InputManager::ConvertHostKeyboardCodeToString(u32 code)
|
||||
{
|
||||
std::optional<std::string> ret;
|
||||
|
||||
const u32 modifier_bits = (code & Qt::KeyboardModifierMask);
|
||||
const u32 masked_code = (code & ~Qt::KeyboardModifierMask);
|
||||
|
||||
for (const KeyCodeName& name : s_qt_key_names)
|
||||
{
|
||||
if (static_cast<int>(masked_code) == name.code)
|
||||
{
|
||||
if (modifier_bits & Qt::KeypadModifier)
|
||||
ret = fmt::format("Numpad{}", name.name);
|
||||
else
|
||||
ret = std::string(name.name);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
const char* InputManager::ConvertHostKeyboardCodeToIcon(u32 code)
|
||||
{
|
||||
if (code & Qt::KeyboardModifierMask)
|
||||
return nullptr;
|
||||
|
||||
const u32 masked_code = (code & ~Qt::KeyboardModifierMask);
|
||||
for (const KeyCodeName& name : s_qt_key_names)
|
||||
{
|
||||
if (static_cast<int>(masked_code) == name.code)
|
||||
return name.icon_name;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
u32 QtUtils::KeyEventToCode(const QKeyEvent* ev)
|
||||
{
|
||||
int key = ev->key();
|
||||
Qt::KeyboardModifiers modifiers = ev->modifiers();
|
||||
|
||||
#ifdef __APPLE__
|
||||
// On macOS, Qt applies the Keypad modifier regardless of whether the arrow keys, or numpad was pressed.
|
||||
// The only way to differentiate between the keypad and the arrow keys is by the text.
|
||||
// Hopefully some keyboard layouts don't change the numpad positioning...
|
||||
if (modifiers & Qt::KeypadModifier && key >= Qt::Key_Insert && key <= Qt::Key_PageDown)
|
||||
{
|
||||
if (ev->text().isEmpty())
|
||||
{
|
||||
// Drop the modifier, because it's probably not actually a numpad push.
|
||||
modifiers &= ~Qt::KeypadModifier;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return static_cast<u32>(key) | (static_cast<u32>(modifiers) & static_cast<u32>(Qt::KeypadModifier));
|
||||
}
|
||||
Loading…
Reference in New Issue