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/Common/Input/KeyCodes.h
Views: 1401
1
#pragma once
2
3
// These mostly match Android keycodes.
4
enum InputKeyCode {
5
NKCODE_BUTTON_CROSS = 23, // trackpad or X button(Xperia Play) is pressed
6
NKCODE_BUTTON_CROSS_PS3 = 96, // PS3 X button is pressed
7
NKCODE_BUTTON_CIRCLE = 1004, // Special custom keycode generated from 'O' button by our java code. Or 'O' button if Alt is pressed (TODO)
8
NKCODE_BUTTON_CIRCLE_PS3 = 97, // PS3 O button is pressed
9
NKCODE_BUTTON_SQUARE = 99, // Square button(Xperia Play) is pressed
10
NKCODE_BUTTON_TRIANGLE = 100, // 'Triangle button(Xperia Play) is pressed
11
NKCODE_DPAD_UP = 19,
12
NKCODE_DPAD_DOWN = 20,
13
NKCODE_DPAD_LEFT = 21,
14
NKCODE_DPAD_RIGHT = 22,
15
NKCODE_DPAD_CENTER = 23,
16
NKCODE_UNKNOWN = 0,
17
NKCODE_SOFT_LEFT = 1,
18
NKCODE_SOFT_RIGHT = 2,
19
NKCODE_HOME = 3,
20
NKCODE_BACK = 4,
21
NKCODE_CALL = 5,
22
NKCODE_ENDCALL = 6,
23
NKCODE_0 = 7,
24
NKCODE_1 = 8,
25
NKCODE_2 = 9,
26
NKCODE_3 = 10,
27
NKCODE_4 = 11,
28
NKCODE_5 = 12,
29
NKCODE_6 = 13,
30
NKCODE_7 = 14,
31
NKCODE_8 = 15,
32
NKCODE_9 = 16,
33
NKCODE_STAR = 17,
34
NKCODE_POUND = 18,
35
NKCODE_VOLUME_UP = 24,
36
NKCODE_VOLUME_DOWN = 25,
37
NKCODE_POWER = 26,
38
NKCODE_CAMERA = 27,
39
NKCODE_CLEAR = 28,
40
NKCODE_A = 29,
41
NKCODE_B = 30,
42
NKCODE_C = 31,
43
NKCODE_D = 32,
44
NKCODE_E = 33,
45
NKCODE_F = 34,
46
NKCODE_G = 35,
47
NKCODE_H = 36,
48
NKCODE_I = 37,
49
NKCODE_J = 38,
50
NKCODE_K = 39,
51
NKCODE_L = 40,
52
NKCODE_M = 41,
53
NKCODE_N = 42,
54
NKCODE_O = 43,
55
NKCODE_P = 44,
56
NKCODE_Q = 45,
57
NKCODE_R = 46,
58
NKCODE_S = 47,
59
NKCODE_T = 48,
60
NKCODE_U = 49,
61
NKCODE_V = 50,
62
NKCODE_W = 51,
63
NKCODE_X = 52,
64
NKCODE_Y = 53,
65
NKCODE_Z = 54,
66
NKCODE_COMMA = 55,
67
NKCODE_PERIOD = 56,
68
NKCODE_ALT_LEFT = 57,
69
NKCODE_ALT_RIGHT = 58,
70
NKCODE_SHIFT_LEFT = 59,
71
NKCODE_SHIFT_RIGHT = 60,
72
NKCODE_TAB = 61,
73
NKCODE_SPACE = 62,
74
NKCODE_SYM = 63,
75
NKCODE_EXPLORER = 64,
76
NKCODE_ENVELOPE = 65,
77
NKCODE_ENTER = 66,
78
NKCODE_DEL = 67,
79
NKCODE_GRAVE = 68,
80
NKCODE_MINUS = 69,
81
NKCODE_EQUALS = 70,
82
NKCODE_LEFT_BRACKET = 71,
83
NKCODE_RIGHT_BRACKET = 72,
84
NKCODE_BACKSLASH = 73,
85
NKCODE_SEMICOLON = 74,
86
NKCODE_APOSTROPHE = 75,
87
NKCODE_SLASH = 76,
88
NKCODE_AT = 77,
89
NKCODE_NUM = 78,
90
NKCODE_HEADSETHOOK = 79,
91
NKCODE_FOCUS = 80,
92
NKCODE_PLUS = 81,
93
NKCODE_MENU = 82,
94
NKCODE_NOTIFICATION = 83,
95
NKCODE_SEARCH = 84,
96
NKCODE_MEDIA_PLAY_PAUSE = 85,
97
NKCODE_MEDIA_STOP = 86,
98
NKCODE_MEDIA_NEXT = 87,
99
NKCODE_MEDIA_PREVIOUS = 88,
100
NKCODE_MEDIA_REWIND = 89,
101
NKCODE_MEDIA_FAST_FORWARD = 90,
102
NKCODE_MUTE = 91,
103
NKCODE_PAGE_UP = 92,
104
NKCODE_PAGE_DOWN = 93,
105
NKCODE_PICTSYMBOLS = 94,
106
NKCODE_SWITCH_CHARSET = 95,
107
NKCODE_BUTTON_A = 96,
108
NKCODE_BUTTON_B = 97,
109
NKCODE_BUTTON_C = 98,
110
NKCODE_BUTTON_X = 99,
111
NKCODE_BUTTON_Y = 100,
112
NKCODE_BUTTON_Z = 101,
113
NKCODE_BUTTON_L1 = 102,
114
NKCODE_BUTTON_R1 = 103,
115
NKCODE_BUTTON_L2 = 104,
116
NKCODE_BUTTON_R2 = 105,
117
NKCODE_BUTTON_THUMBL = 106,
118
NKCODE_BUTTON_THUMBR = 107,
119
NKCODE_BUTTON_START = 108,
120
NKCODE_BUTTON_SELECT = 109,
121
NKCODE_BUTTON_MODE = 110,
122
NKCODE_ESCAPE = 111,
123
NKCODE_FORWARD_DEL = 112,
124
NKCODE_CTRL_LEFT = 113,
125
NKCODE_CTRL_RIGHT = 114,
126
NKCODE_CAPS_LOCK = 115,
127
NKCODE_SCROLL_LOCK = 116,
128
NKCODE_META_LEFT = 117,
129
NKCODE_META_RIGHT = 118,
130
NKCODE_FUNCTION = 119,
131
NKCODE_SYSRQ = 120,
132
NKCODE_BREAK = 121,
133
NKCODE_MOVE_HOME = 122,
134
NKCODE_MOVE_END = 123,
135
NKCODE_INSERT = 124,
136
NKCODE_FORWARD = 125,
137
NKCODE_MEDIA_PLAY = 126,
138
NKCODE_MEDIA_PAUSE = 127,
139
NKCODE_MEDIA_CLOSE = 128,
140
NKCODE_MEDIA_EJECT = 129,
141
NKCODE_MEDIA_RECORD = 130,
142
NKCODE_F1 = 131,
143
NKCODE_F2 = 132,
144
NKCODE_F3 = 133,
145
NKCODE_F4 = 134,
146
NKCODE_F5 = 135,
147
NKCODE_F6 = 136,
148
NKCODE_F7 = 137,
149
NKCODE_F8 = 138,
150
NKCODE_F9 = 139,
151
NKCODE_F10 = 140,
152
NKCODE_F11 = 141,
153
NKCODE_F12 = 142,
154
NKCODE_NUM_LOCK = 143,
155
NKCODE_NUMPAD_0 = 144,
156
NKCODE_NUMPAD_1 = 145,
157
NKCODE_NUMPAD_2 = 146,
158
NKCODE_NUMPAD_3 = 147,
159
NKCODE_NUMPAD_4 = 148,
160
NKCODE_NUMPAD_5 = 149,
161
NKCODE_NUMPAD_6 = 150,
162
NKCODE_NUMPAD_7 = 151,
163
NKCODE_NUMPAD_8 = 152,
164
NKCODE_NUMPAD_9 = 153,
165
NKCODE_NUMPAD_DIVIDE = 154,
166
NKCODE_NUMPAD_MULTIPLY = 155,
167
NKCODE_NUMPAD_SUBTRACT = 156,
168
NKCODE_NUMPAD_ADD = 157,
169
NKCODE_NUMPAD_DOT = 158,
170
NKCODE_NUMPAD_COMMA = 159,
171
NKCODE_NUMPAD_ENTER = 160,
172
NKCODE_NUMPAD_EQUALS = 161,
173
NKCODE_NUMPAD_LEFT_PAREN = 162,
174
NKCODE_NUMPAD_RIGHT_PAREN = 163,
175
NKCODE_VOLUME_MUTE = 164,
176
NKCODE_INFO = 165,
177
NKCODE_CHANNEL_UP = 166,
178
NKCODE_CHANNEL_DOWN = 167,
179
NKCODE_ZOOM_IN = 168,
180
NKCODE_ZOOM_OUT = 169,
181
NKCODE_TV = 170,
182
NKCODE_WINDOW = 171,
183
NKCODE_GUIDE = 172,
184
NKCODE_DVR = 173,
185
NKCODE_BOOKMARK = 174,
186
NKCODE_CAPTIONS = 175,
187
NKCODE_SETTINGS = 176,
188
NKCODE_TV_POWER = 177,
189
NKCODE_TV_INPUT = 178,
190
NKCODE_STB_POWER = 179,
191
NKCODE_STB_INPUT = 180,
192
NKCODE_AVR_POWER = 181,
193
NKCODE_AVR_INPUT = 182,
194
NKCODE_PROG_RED = 183,
195
NKCODE_PROG_GREEN = 184,
196
NKCODE_PROG_YELLOW = 185,
197
NKCODE_PROG_BLUE = 186,
198
NKCODE_APP_SWITCH = 187,
199
NKCODE_BUTTON_1 = 188,
200
NKCODE_BUTTON_2 = 189,
201
NKCODE_BUTTON_3 = 190,
202
NKCODE_BUTTON_4 = 191,
203
NKCODE_BUTTON_5 = 192,
204
NKCODE_BUTTON_6 = 193,
205
NKCODE_BUTTON_7 = 194,
206
NKCODE_BUTTON_8 = 195,
207
NKCODE_BUTTON_9 = 196,
208
NKCODE_BUTTON_10 = 197,
209
NKCODE_BUTTON_11 = 198,
210
NKCODE_BUTTON_12 = 199,
211
NKCODE_BUTTON_13 = 200,
212
NKCODE_BUTTON_14 = 201,
213
NKCODE_BUTTON_15 = 202,
214
NKCODE_BUTTON_16 = 203,
215
NKCODE_LANGUAGE_SWITCH = 204,
216
NKCODE_MANNER_MODE = 205,
217
NKCODE_3D_MODE = 206,
218
NKCODE_CONTACTS = 207,
219
NKCODE_CALENDAR = 208,
220
NKCODE_MUSIC = 209,
221
NKCODE_CALCULATOR = 210,
222
NKCODE_ZENKAKU_HANKAKU = 211,
223
NKCODE_EISU = 212,
224
NKCODE_MUHENKAN = 213,
225
NKCODE_HENKAN = 214,
226
NKCODE_KATAKANA_HIRAGANA = 215,
227
NKCODE_YEN = 216,
228
NKCODE_RO = 217,
229
NKCODE_KANA = 218,
230
NKCODE_ASSIST = 219,
231
232
// Extended keycodes on latam kayboards.
233
234
NKCODE_START_QUESTION = 220,
235
NKCODE_LEFTBRACE = 221,
236
NKCODE_RIGHTBRACE = 222,
237
238
// Extended keycodes, not available on Android
239
NKCODE_EXT_PIPE = 1001, // The key next to Z on euro 102-key keyboards.
240
241
NKCODE_EXT_MOUSEBUTTON_1 = 1002,
242
NKCODE_EXT_MOUSEBUTTON_2 = 1003,
243
NKCODE_EXT_MOUSEBUTTON_3 = 1005,
244
NKCODE_EXT_MOUSEBUTTON_4 = 1006,
245
NKCODE_EXT_MOUSEBUTTON_5 = 1007,
246
NKCODE_EXT_MOUSEWHEEL_UP = 1008,
247
NKCODE_EXT_MOUSEWHEEL_DOWN = 1009,
248
249
NKCODE_MAX
250
};
251
252
// These mostly match Android axis IDs.
253
enum InputAxis {
254
// Field descriptor #15 I
255
JOYSTICK_AXIS_X = 0,
256
JOYSTICK_AXIS_Y = 1,
257
JOYSTICK_AXIS_PRESSURE = 2,
258
JOYSTICK_AXIS_SIZE = 3,
259
JOYSTICK_AXIS_TOUCH_MAJOR = 4,
260
JOYSTICK_AXIS_TOUCH_MINOR = 5,
261
JOYSTICK_AXIS_TOOL_MAJOR = 6,
262
JOYSTICK_AXIS_TOOL_MINOR = 7,
263
JOYSTICK_AXIS_ORIENTATION = 8,
264
JOYSTICK_AXIS_VSCROLL = 9,
265
JOYSTICK_AXIS_HSCROLL = 10,
266
JOYSTICK_AXIS_Z = 11,
267
JOYSTICK_AXIS_RX = 12,
268
JOYSTICK_AXIS_RY = 13,
269
JOYSTICK_AXIS_RZ = 14,
270
JOYSTICK_AXIS_HAT_X = 15,
271
JOYSTICK_AXIS_HAT_Y = 16,
272
JOYSTICK_AXIS_LTRIGGER = 17,
273
JOYSTICK_AXIS_RTRIGGER = 18,
274
JOYSTICK_AXIS_THROTTLE = 19,
275
JOYSTICK_AXIS_RUDDER = 20,
276
JOYSTICK_AXIS_WHEEL = 21,
277
JOYSTICK_AXIS_GAS = 22,
278
JOYSTICK_AXIS_BRAKE = 23,
279
JOYSTICK_AXIS_DISTANCE = 24,
280
JOYSTICK_AXIS_TILT = 25,
281
282
// Ouya axises. Just here for reference, they map straight to regular android axises
283
// and will be mapped the same way.
284
JOYSTICK_OUYA_AXIS_L2 = 17,
285
JOYSTICK_OUYA_AXIS_LS_X = 0,
286
JOYSTICK_OUYA_AXIS_LS_Y = 1,
287
JOYSTICK_OUYA_AXIS_R2 = 18,
288
JOYSTICK_OUYA_AXIS_RS_X = 11,
289
JOYSTICK_OUYA_AXIS_RS_Y = 14,
290
291
// Relative mouse axis for PC.
292
JOYSTICK_AXIS_MOUSE_REL_X = 26,
293
JOYSTICK_AXIS_MOUSE_REL_Y = 27,
294
295
// Mobile device accelerometer/gyro. NOTE: These are no longer passed around internally, only used for the plugin API.
296
JOYSTICK_AXIS_ACCELEROMETER_X = 40,
297
JOYSTICK_AXIS_ACCELEROMETER_Y = 41,
298
JOYSTICK_AXIS_ACCELEROMETER_Z = 42,
299
300
// The numbers must NOT be changed, only additions are allowed
301
JOYSTICK_AXIS_MAX = 44
302
};
303
304