CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
hrydgard

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

GitHub Repository: hrydgard/ppsspp
Path: blob/master/UWP/NKCodeFromWindowsSystem.cpp
Views: 1401
1
#include "pch.h"
2
#include "NKCodeFromWindowsSystem.h"
3
4
using namespace Windows::System;
5
6
std::map<Windows::System::VirtualKey, InputKeyCode> virtualKeyCodeToNKCode{
7
{ VirtualKey::A, NKCODE_A },
8
{ VirtualKey::B, NKCODE_B },
9
{ VirtualKey::C, NKCODE_C },
10
{ VirtualKey::D, NKCODE_D },
11
{ VirtualKey::E, NKCODE_E },
12
{ VirtualKey::F, NKCODE_F },
13
{ VirtualKey::G, NKCODE_G },
14
{ VirtualKey::H, NKCODE_H },
15
{ VirtualKey::I, NKCODE_I },
16
{ VirtualKey::J, NKCODE_J },
17
{ VirtualKey::K, NKCODE_K },
18
{ VirtualKey::L, NKCODE_L },
19
{ VirtualKey::M, NKCODE_M },
20
{ VirtualKey::N, NKCODE_N },
21
{ VirtualKey::O, NKCODE_O },
22
{ VirtualKey::P, NKCODE_P },
23
{ VirtualKey::Q, NKCODE_Q },
24
{ VirtualKey::R, NKCODE_R },
25
{ VirtualKey::S, NKCODE_S },
26
{ VirtualKey::T, NKCODE_T },
27
{ VirtualKey::U, NKCODE_U },
28
{ VirtualKey::V, NKCODE_V },
29
{ VirtualKey::W, NKCODE_W },
30
{ VirtualKey::X, NKCODE_X },
31
{ VirtualKey::Y, NKCODE_Y },
32
{ VirtualKey::Z, NKCODE_Z },
33
{ VirtualKey::Number0, NKCODE_0 },
34
{ VirtualKey::Number1, NKCODE_1 },
35
{ VirtualKey::Number2, NKCODE_2 },
36
{ VirtualKey::Number3, NKCODE_3 },
37
{ VirtualKey::Number4, NKCODE_4 },
38
{ VirtualKey::Number5, NKCODE_5 },
39
{ VirtualKey::Number6, NKCODE_6 },
40
{ VirtualKey::Number7, NKCODE_7 },
41
{ VirtualKey::Number8, NKCODE_8 },
42
{ VirtualKey::Number9, NKCODE_9 },
43
{ VirtualKey::Decimal, NKCODE_PERIOD },
44
// { VirtualKey::Comma, NKCODE_COMMA },
45
{ VirtualKey::NumberPad0, NKCODE_NUMPAD_0 },
46
{ VirtualKey::NumberPad1, NKCODE_NUMPAD_1 },
47
{ VirtualKey::NumberPad2, NKCODE_NUMPAD_2 },
48
{ VirtualKey::NumberPad3, NKCODE_NUMPAD_3 },
49
{ VirtualKey::NumberPad4, NKCODE_NUMPAD_4 },
50
{ VirtualKey::NumberPad5, NKCODE_NUMPAD_5 },
51
{ VirtualKey::NumberPad6, NKCODE_NUMPAD_6 },
52
{ VirtualKey::NumberPad7, NKCODE_NUMPAD_7 },
53
{ VirtualKey::NumberPad8, NKCODE_NUMPAD_8 },
54
{ VirtualKey::NumberPad9, NKCODE_NUMPAD_9 },
55
{ VirtualKey::Decimal, NKCODE_NUMPAD_DOT },
56
{ VirtualKey::Divide, NKCODE_NUMPAD_DIVIDE },
57
{ VirtualKey::Multiply, NKCODE_NUMPAD_MULTIPLY },
58
{ VirtualKey::Subtract, NKCODE_NUMPAD_SUBTRACT },
59
{ VirtualKey::Add, NKCODE_NUMPAD_ADD },
60
{ VirtualKey::Separator, NKCODE_NUMPAD_COMMA },
61
{ VirtualKey::LeftControl, NKCODE_CTRL_LEFT },
62
{ VirtualKey::RightControl, NKCODE_CTRL_RIGHT },
63
{ VirtualKey::LeftShift, NKCODE_SHIFT_LEFT },
64
{ VirtualKey::RightShift, NKCODE_SHIFT_RIGHT },
65
//{ VK_LMENU, NKCODE_ALT_LEFT },
66
//{ VK_RMENU, NKCODE_ALT_RIGHT },
67
{ VirtualKey::GoBack, NKCODE_BACK },
68
{ VirtualKey::Space, NKCODE_SPACE },
69
{ VirtualKey::Escape, NKCODE_ESCAPE },
70
{ VirtualKey::Up, NKCODE_DPAD_UP },
71
{ VirtualKey::Insert, NKCODE_INSERT },
72
{ VirtualKey::Home, NKCODE_MOVE_HOME },
73
{ VirtualKey::PageUp, NKCODE_PAGE_UP },
74
{ VirtualKey::PageDown, NKCODE_PAGE_DOWN },
75
{ VirtualKey::Delete, NKCODE_FORWARD_DEL },
76
{ VirtualKey::Back, NKCODE_DEL },
77
{ VirtualKey::End, NKCODE_MOVE_END },
78
{ VirtualKey::Tab, NKCODE_TAB },
79
{ VirtualKey::Down, NKCODE_DPAD_DOWN },
80
{ VirtualKey::Left, NKCODE_DPAD_LEFT },
81
{ VirtualKey::Right, NKCODE_DPAD_RIGHT },
82
{ VirtualKey::CapitalLock, NKCODE_CAPS_LOCK },
83
{ VirtualKey::Clear, NKCODE_CLEAR },
84
// { VirtualKey::, NKCODE_SYSRQ },
85
{ VirtualKey::Scroll, NKCODE_SCROLL_LOCK },
86
// { , NKCODE_SEMICOLON },
87
// { VK_OEM_2, NKCODE_SLASH },
88
// { VK_OEM_3, NKCODE_GRAVE },
89
// { VK_OEM_4, NKCODE_LEFT_BRACKET },
90
// { VK_OEM_5, NKCODE_BACKSLASH },
91
// { VK_OEM_6, NKCODE_RIGHT_BRACKET },
92
// { VK_OEM_7, NKCODE_APOSTROPHE },
93
{ VirtualKey::Enter, NKCODE_ENTER },
94
// { VK_APPS, NKCODE_MENU }, // Context menu key, let's call this "menu".
95
{ VirtualKey::Pause, NKCODE_BREAK },
96
{ VirtualKey::F1, NKCODE_F1 },
97
{ VirtualKey::F2, NKCODE_F2 },
98
{ VirtualKey::F3, NKCODE_F3 },
99
{ VirtualKey::F4, NKCODE_F4 },
100
{ VirtualKey::F5, NKCODE_F5 },
101
{ VirtualKey::F6, NKCODE_F6 },
102
{ VirtualKey::F7, NKCODE_F7 },
103
{ VirtualKey::F8, NKCODE_F8 },
104
{ VirtualKey::F9, NKCODE_F9 },
105
{ VirtualKey::F10, NKCODE_F10 },
106
{ VirtualKey::F11, NKCODE_F11 },
107
{ VirtualKey::F12, NKCODE_F12 },
108
//{ VK_OEM_102, NKCODE_EXT_PIPE },
109
//{ VK_LBUTTON, NKCODE_EXT_MOUSEBUTTON_1 },
110
//{ VK_RBUTTON, NKCODE_EXT_MOUSEBUTTON_2 },;
111
};
112
113