NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
uinput.h
1
/******************************************************************************
2
*
3
* Copyright (C) 2009-2012 Broadcom Corporation
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at:
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
******************************************************************************/
18
19
#ifndef __UINPUT_H
20
#define __UINPUT_H
21
22
#ifdef __cplusplus
23
extern
"C"
{
24
#endif
25
26
#include <stdint.h>
27
#include <sys/time.h>
28
#include <sys/ioctl.h>
29
30
/*******************************************************************************
31
** Constants & Macros
32
********************************************************************************/
33
34
/* Events */
35
36
#define EV_SYN 0x00
37
#define EV_KEY 0x01
38
#define EV_REL 0x02
39
#define EV_ABS 0x03
40
#define EV_MSC 0x04
41
#define EV_LED 0x11
42
#define EV_SND 0x12
43
#define EV_REP 0x14
44
#define EV_FF 0x15
45
#define EV_PWR 0x16
46
#define EV_FF_STATUS 0x17
47
#define EV_MAX 0x1f
48
49
/* Synchronization events */
50
51
#define SYN_REPORT 0
52
#define SYN_CONFIG 1
53
54
/* Keys and buttons */
55
56
#define KEY_RESERVED 0
57
#define KEY_ESC 1
58
#define KEY_1 2
59
#define KEY_2 3
60
#define KEY_3 4
61
#define KEY_4 5
62
#define KEY_5 6
63
#define KEY_6 7
64
#define KEY_7 8
65
#define KEY_8 9
66
#define KEY_9 10
67
#define KEY_0 11
68
#define KEY_MINUS 12
69
#define KEY_EQUAL 13
70
#define KEY_BACKSPACE 14
71
#define KEY_TAB 15
72
#define KEY_Q 16
73
#define KEY_W 17
74
#define KEY_E 18
75
#define KEY_R 19
76
#define KEY_T 20
77
#define KEY_Y 21
78
#define KEY_U 22
79
#define KEY_I 23
80
#define KEY_O 24
81
#define KEY_P 25
82
#define KEY_LEFTBRACE 26
83
#define KEY_RIGHTBRACE 27
84
#define KEY_ENTER 28
85
#define KEY_LEFTCTRL 29
86
#define KEY_A 30
87
#define KEY_S 31
88
#define KEY_D 32
89
#define KEY_F 33
90
#define KEY_G 34
91
#define KEY_H 35
92
#define KEY_J 36
93
#define KEY_K 37
94
#define KEY_L 38
95
#define KEY_SEMICOLON 39
96
#define KEY_APOSTROPHE 40
97
#define KEY_GRAVE 41
98
#define KEY_LEFTSHIFT 42
99
#define KEY_BACKSLASH 43
100
#define KEY_Z 44
101
#define KEY_X 45
102
#define KEY_C 46
103
#define KEY_V 47
104
#define KEY_B 48
105
#define KEY_N 49
106
#define KEY_M 50
107
#define KEY_COMMA 51
108
#define KEY_DOT 52
109
#define KEY_SLASH 53
110
#define KEY_RIGHTSHIFT 54
111
#define KEY_KPASTERISK 55
112
#define KEY_LEFTALT 56
113
#define KEY_SPACE 57
114
#define KEY_CAPSLOCK 58
115
#define KEY_F1 59
116
#define KEY_F2 60
117
#define KEY_F3 61
118
#define KEY_F4 62
119
#define KEY_F5 63
120
#define KEY_F6 64
121
#define KEY_F7 65
122
#define KEY_F8 66
123
#define KEY_F9 67
124
#define KEY_F10 68
125
#define KEY_NUMLOCK 69
126
#define KEY_SCROLLLOCK 70
127
#define KEY_KP7 71
128
#define KEY_KP8 72
129
#define KEY_KP9 73
130
#define KEY_KPMINUS 74
131
#define KEY_KP4 75
132
#define KEY_KP5 76
133
#define KEY_KP6 77
134
#define KEY_KPPLUS 78
135
#define KEY_KP1 79
136
#define KEY_KP2 80
137
#define KEY_KP3 81
138
#define KEY_KP0 82
139
#define KEY_KPDOT 83
140
#define KEY_103RD 84
141
#define KEY_F13 85
142
#define KEY_102ND 86
143
#define KEY_F11 87
144
#define KEY_F12 88
145
#define KEY_F14 89
146
#define KEY_F15 90
147
#define KEY_F16 91
148
#define KEY_F17 92
149
#define KEY_F18 93
150
#define KEY_F19 94
151
#define KEY_F20 95
152
#define KEY_KPENTER 96
153
#define KEY_RIGHTCTRL 97
154
#define KEY_KPSLASH 98
155
#define KEY_SYSRQ 99
156
#define KEY_RIGHTALT 100
157
#define KEY_LINEFEED 101
158
#define KEY_HOME 102
159
#define KEY_UP 103
160
#define KEY_PAGEUP 104
161
#define KEY_LEFT 105
162
#define KEY_RIGHT 106
163
#define KEY_END 107
164
#define KEY_DOWN 108
165
#define KEY_PAGEDOWN 109
166
#define KEY_INSERT 110
167
#define KEY_DELETE 111
168
#define KEY_MACRO 112
169
#define KEY_MUTE 113
170
#define KEY_VOLUMEDOWN 114
171
#define KEY_VOLUMEUP 115
172
#define KEY_POWER 116
173
#define KEY_KPEQUAL 117
174
#define KEY_KPPLUSMINUS 118
175
#define KEY_PAUSE 119
176
#define KEY_F21 120
177
#define KEY_F22 121
178
#define KEY_F23 122
179
#define KEY_F24 123
180
#define KEY_KPCOMMA 124
181
#define KEY_LEFTMETA 125
182
#define KEY_RIGHTMETA 126
183
#define KEY_COMPOSE 127
184
185
#define KEY_STOP 128
186
#define KEY_AGAIN 129
187
#define KEY_PROPS 130
188
#define KEY_UNDO 131
189
#define KEY_FRONT 132
190
#define KEY_COPY 133
191
#define KEY_OPEN 134
192
#define KEY_PASTE 135
193
#define KEY_FIND 136
194
#define KEY_CUT 137
195
#define KEY_HELP 138
196
#define KEY_MENU 139
197
#define KEY_CALC 140
198
#define KEY_SETUP 141
199
#define KEY_SLEEP 142
200
#define KEY_WAKEUP 143
201
#define KEY_FILE 144
202
#define KEY_SENDFILE 145
203
#define KEY_DELETEFILE 146
204
#define KEY_XFER 147
205
#define KEY_PROG1 148
206
#define KEY_PROG2 149
207
#define KEY_WWW 150
208
#define KEY_MSDOS 151
209
#define KEY_COFFEE 152
210
#define KEY_DIRECTION 153
211
#define KEY_CYCLEWINDOWS 154
212
#define KEY_MAIL 155
213
#define KEY_BOOKMARKS 156
214
#define KEY_COMPUTER 157
215
#define KEY_BACK 158
216
#define KEY_FORWARD 159
217
#define KEY_CLOSECD 160
218
#define KEY_EJECTCD 161
219
#define KEY_EJECTCLOSECD 162
220
#define KEY_NEXTSONG 163
221
#define KEY_PLAYPAUSE 164
222
#define KEY_PREVIOUSSONG 165
223
#define KEY_STOPCD 166
224
#define KEY_RECORD 167
225
#define KEY_REWIND 168
226
#define KEY_PHONE 169
227
#define KEY_ISO 170
228
#define KEY_CONFIG 171
229
#define KEY_HOMEPAGE 172
230
#define KEY_REFRESH 173
231
#define KEY_EXIT 174
232
#define KEY_MOVE 175
233
#define KEY_EDIT 176
234
#define KEY_SCROLLUP 177
235
#define KEY_SCROLLDOWN 178
236
#define KEY_KPLEFTPAREN 179
237
#define KEY_KPRIGHTPAREN 180
238
239
#define KEY_INTL1 181
240
#define KEY_INTL2 182
241
#define KEY_INTL3 183
242
#define KEY_INTL4 184
243
#define KEY_INTL5 185
244
#define KEY_INTL6 186
245
#define KEY_INTL7 187
246
#define KEY_INTL8 188
247
#define KEY_INTL9 189
248
#define KEY_LANG1 190
249
#define KEY_LANG2 191
250
#define KEY_LANG3 192
251
#define KEY_LANG4 193
252
#define KEY_LANG5 194
253
#define KEY_LANG6 195
254
#define KEY_LANG7 196
255
#define KEY_LANG8 197
256
#define KEY_LANG9 198
257
258
#define KEY_PLAYCD 200
259
#define KEY_PAUSECD 201
260
#define KEY_PROG3 202
261
#define KEY_PROG4 203
262
#define KEY_SUSPEND 205
263
#define KEY_CLOSE 206
264
#define KEY_PLAY 207
265
266
#define KEY_UNKNOWN 220
267
268
#define KEY_BRIGHTNESSDOWN 224
269
#define KEY_BRIGHTNESSUP 225
270
271
#define BTN_MISC 0x100
272
#define BTN_0 0x100
273
#define BTN_1 0x101
274
#define BTN_2 0x102
275
#define BTN_3 0x103
276
#define BTN_4 0x104
277
#define BTN_5 0x105
278
#define BTN_6 0x106
279
#define BTN_7 0x107
280
#define BTN_8 0x108
281
#define BTN_9 0x109
282
283
#define BTN_MOUSE 0x110
284
#define BTN_LEFT 0x110
285
#define BTN_RIGHT 0x111
286
#define BTN_MIDDLE 0x112
287
#define BTN_SIDE 0x113
288
#define BTN_EXTRA 0x114
289
#define BTN_FORWARD 0x115
290
#define BTN_BACK 0x116
291
#define BTN_TASK 0x117
292
293
#define BTN_JOYSTICK 0x120
294
#define BTN_TRIGGER 0x120
295
#define BTN_THUMB 0x121
296
#define BTN_THUMB2 0x122
297
#define BTN_TOP 0x123
298
#define BTN_TOP2 0x124
299
#define BTN_PINKIE 0x125
300
#define BTN_BASE 0x126
301
#define BTN_BASE2 0x127
302
#define BTN_BASE3 0x128
303
#define BTN_BASE4 0x129
304
#define BTN_BASE5 0x12a
305
#define BTN_BASE6 0x12b
306
#define BTN_DEAD 0x12f
307
308
#define BTN_GAMEPAD 0x130
309
#define BTN_A 0x130
310
#define BTN_B 0x131
311
#define BTN_C 0x132
312
#define BTN_X 0x133
313
#define BTN_Y 0x134
314
#define BTN_Z 0x135
315
#define BTN_TL 0x136
316
#define BTN_TR 0x137
317
#define BTN_TL2 0x138
318
#define BTN_TR2 0x139
319
#define BTN_SELECT 0x13a
320
#define BTN_START 0x13b
321
#define BTN_MODE 0x13c
322
#define BTN_THUMBL 0x13d
323
#define BTN_THUMBR 0x13e
324
325
#define BTN_DIGI 0x140
326
#define BTN_TOOL_PEN 0x140
327
#define BTN_TOOL_RUBBER 0x141
328
#define BTN_TOOL_BRUSH 0x142
329
#define BTN_TOOL_PENCIL 0x143
330
#define BTN_TOOL_AIRBRUSH 0x144
331
#define BTN_TOOL_FINGER 0x145
332
#define BTN_TOOL_MOUSE 0x146
333
#define BTN_TOOL_LENS 0x147
334
#define BTN_TOUCH 0x14a
335
#define BTN_STYLUS 0x14b
336
#define BTN_STYLUS2 0x14c
337
#define BTN_TOOL_DOUBLETAP 0x14d
338
#define BTN_TOOL_TRIPLETAP 0x14e
339
340
#define BTN_WHEEL 0x150
341
#define BTN_GEAR_DOWN 0x150
342
#define BTN_GEAR_UP 0x151
343
344
#define KEY_OK 0x160
345
#define KEY_SELECT 0x161
346
#define KEY_GOTO 0x162
347
#define KEY_CLEAR 0x163
348
#define KEY_POWER2 0x164
349
#define KEY_OPTION 0x165
350
#define KEY_INFO 0x166
351
#define KEY_TIME 0x167
352
#define KEY_VENDOR 0x168
353
#define KEY_ARCHIVE 0x169
354
#define KEY_PROGRAM 0x16a
355
#define KEY_CHANNEL 0x16b
356
#define KEY_FAVORITES 0x16c
357
#define KEY_EPG 0x16d
358
#define KEY_PVR 0x16e
359
#define KEY_MHP 0x16f
360
#define KEY_LANGUAGE 0x170
361
#define KEY_TITLE 0x171
362
#define KEY_SUBTITLE 0x172
363
#define KEY_ANGLE 0x173
364
#define KEY_ZOOM 0x174
365
#define KEY_MODE 0x175
366
#define KEY_KEYBOARD 0x176
367
#define KEY_SCREEN 0x177
368
#define KEY_PC 0x178
369
#define KEY_TV 0x179
370
#define KEY_TV2 0x17a
371
#define KEY_VCR 0x17b
372
#define KEY_VCR2 0x17c
373
#define KEY_SAT 0x17d
374
#define KEY_SAT2 0x17e
375
#define KEY_CD 0x17f
376
#define KEY_TAPE 0x180
377
#define KEY_RADIO 0x181
378
#define KEY_TUNER 0x182
379
#define KEY_PLAYER 0x183
380
#define KEY_TEXT 0x184
381
#define KEY_DVD 0x185
382
#define KEY_AUX 0x186
383
#define KEY_MP3 0x187
384
#define KEY_AUDIO 0x188
385
#define KEY_VIDEO 0x189
386
#define KEY_DIRECTORY 0x18a
387
#define KEY_LIST 0x18b
388
#define KEY_MEMO 0x18c
389
#define KEY_CALENDAR 0x18d
390
#define KEY_RED 0x18e
391
#define KEY_GREEN 0x18f
392
#define KEY_YELLOW 0x190
393
#define KEY_BLUE 0x191
394
#define KEY_CHANNELUP 0x192
395
#define KEY_CHANNELDOWN 0x193
396
#define KEY_FIRST 0x194
397
#define KEY_LAST 0x195
398
#define KEY_AB 0x196
399
#define KEY_NEXT 0x197
400
#define KEY_RESTART 0x198
401
#define KEY_SLOW 0x199
402
#define KEY_SHUFFLE 0x19a
403
#define KEY_BREAK 0x19b
404
#define KEY_PREVIOUS 0x19c
405
#define KEY_DIGITS 0x19d
406
#define KEY_TEEN 0x19e
407
#define KEY_TWEN 0x19f
408
409
#define KEY_FRAMEBACK 0x1b2
410
#define KEY_FRAMEFORWARD 0x1b3
411
#define KEY_CONTEXT_MENU 0x1fb
412
413
#define KEY_MAX 0x1ff
414
415
/* Relative axes */
416
417
#define REL_X 0x00
418
#define REL_Y 0x01
419
#define REL_Z 0x02
420
#define REL_RX 0x03
421
#define REL_RY 0x04
422
#define REL_RZ 0x05
423
#define REL_HWHEEL 0x06
424
#define REL_DIAL 0x07
425
#define REL_WHEEL 0x08
426
#define REL_MISC 0x09
427
#define REL_MAX 0x0f
428
429
/* Absolute axes */
430
431
#define ABS_X 0x00
432
#define ABS_Y 0x01
433
#define ABS_Z 0x02
434
#define ABS_RX 0x03
435
#define ABS_RY 0x04
436
#define ABS_RZ 0x05
437
#define ABS_THROTTLE 0x06
438
#define ABS_RUDDER 0x07
439
#define ABS_WHEEL 0x08
440
#define ABS_GAS 0x09
441
#define ABS_BRAKE 0x0a
442
#define ABS_HAT0X 0x10
443
#define ABS_HAT0Y 0x11
444
#define ABS_HAT1X 0x12
445
#define ABS_HAT1Y 0x13
446
#define ABS_HAT2X 0x14
447
#define ABS_HAT2Y 0x15
448
#define ABS_HAT3X 0x16
449
#define ABS_HAT3Y 0x17
450
#define ABS_PRESSURE 0x18
451
#define ABS_DISTANCE 0x19
452
#define ABS_TILT_X 0x1a
453
#define ABS_TILT_Y 0x1b
454
#define ABS_TOOL_WIDTH 0x1c
455
#define ABS_VOLUME 0x20
456
#define ABS_MISC 0x28
457
#define ABS_MAX 0x3f
458
459
/* Switch events */
460
461
#define SW_0 0x00
462
#define SW_1 0x01
463
#define SW_2 0x02
464
#define SW_3 0x03
465
#define SW_4 0x04
466
#define SW_5 0x05
467
#define SW_6 0x06
468
#define SW_7 0x07
469
#define SW_MAX 0x0f
470
471
/* Misc events */
472
473
#define MSC_SERIAL 0x00
474
#define MSC_PULSELED 0x01
475
#define MSC_GESTURE 0x02
476
#define MSC_RAW 0x03
477
#define MSC_SCAN 0x04
478
#define MSC_MAX 0x07
479
480
/* LEDs */
481
482
#define LED_NUML 0x00
483
#define LED_CAPSL 0x01
484
#define LED_SCROLLL 0x02
485
#define LED_COMPOSE 0x03
486
#define LED_KANA 0x04
487
#define LED_SLEEP 0x05
488
#define LED_SUSPEND 0x06
489
#define LED_MUTE 0x07
490
#define LED_MISC 0x08
491
#define LED_MAIL 0x09
492
#define LED_CHARGING 0x0a
493
#define LED_MAX 0x0f
494
495
/* Autorepeat values */
496
497
#define REP_DELAY 0x00
498
#define REP_PERIOD 0x01
499
#define REP_MAX 0x01
500
501
/* Sounds */
502
503
#define SND_CLICK 0x00
504
#define SND_BELL 0x01
505
#define SND_TONE 0x02
506
#define SND_MAX 0x07
507
508
/* Identifiers */
509
510
#define ID_BUS 0
511
#define ID_VENDOR 1
512
#define ID_PRODUCT 2
513
#define ID_VERSION 3
514
515
#define BUS_PCI 0x01
516
#define BUS_ISAPNP 0x02
517
#define BUS_USB 0x03
518
#define BUS_HIL 0x04
519
#define BUS_BLUETOOTH 0x05
520
521
#define BUS_ISA 0x10
522
#define BUS_I8042 0x11
523
#define BUS_XTKBD 0x12
524
#define BUS_RS232 0x13
525
#define BUS_GAMEPORT 0x14
526
#define BUS_PARPORT 0x15
527
#define BUS_AMIGA 0x16
528
#define BUS_ADB 0x17
529
#define BUS_I2C 0x18
530
#define BUS_HOST 0x19
531
#define BUS_GSC 0x1A
532
533
/* User input interface */
534
535
#define UINPUT_IOCTL_BASE 'U'
536
537
#define UI_DEV_CREATE _IO(UINPUT_IOCTL_BASE, 1)
538
#define UI_DEV_DESTROY _IO(UINPUT_IOCTL_BASE, 2)
539
540
#define UI_SET_EVBIT _IOW(UINPUT_IOCTL_BASE, 100, int)
541
#define UI_SET_KEYBIT _IOW(UINPUT_IOCTL_BASE, 101, int)
542
#define UI_SET_RELBIT _IOW(UINPUT_IOCTL_BASE, 102, int)
543
#define UI_SET_ABSBIT _IOW(UINPUT_IOCTL_BASE, 103, int)
544
#define UI_SET_MSCBIT _IOW(UINPUT_IOCTL_BASE, 104, int)
545
#define UI_SET_LEDBIT _IOW(UINPUT_IOCTL_BASE, 105, int)
546
#define UI_SET_SNDBIT _IOW(UINPUT_IOCTL_BASE, 106, int)
547
#define UI_SET_FFBIT _IOW(UINPUT_IOCTL_BASE, 107, int)
548
#define UI_SET_PHYS _IOW(UINPUT_IOCTL_BASE, 108, char*)
549
#define UI_SET_SWBIT _IOW(UINPUT_IOCTL_BASE, 109, int)
550
551
#ifndef NBITS
552
#define NBITS(x) ((((x) - 1) / (sizeof(long) * 8)) + 1)
553
#endif
554
555
#define UINPUT_MAX_NAME_SIZE 80
556
557
558
/*******************************************************************************
559
** Type definitions and return values
560
********************************************************************************/
561
562
struct
uinput_id
{
563
uint16_t bustype;
564
uint16_t vendor;
565
uint16_t product;
566
uint16_t version;
567
};
568
569
struct
uinput_dev
{
570
char
name[UINPUT_MAX_NAME_SIZE];
571
struct
uinput_id
id;
572
int
ff_effects_max;
573
int
absmax[ABS_MAX + 1];
574
int
absmin[ABS_MAX + 1];
575
int
absfuzz[ABS_MAX + 1];
576
int
absflat[ABS_MAX + 1];
577
};
578
579
struct
uinput_event
{
580
struct
timeval time;
581
uint16_t type;
582
uint16_t code;
583
int32_t value;
584
};
585
586
#ifdef __cplusplus
587
}
588
#endif
589
590
#endif
/* __UINPUT_H */
uinput_dev
Definition
uinput.h:569
uinput_event
Definition
uinput.h:579
uinput_id
Definition
uinput.h:562
include
lib
revolution
BTE
btif
include
uinput.h
Made with ❤️ by
CLF78
and
RootCubed
. Logos by
Chasical
and
B1
. Website generated by
Doxygen
1.13.2