5
#define JOYDB_END_TOKEN 65536
6
#define JOYDB_STICK_AXES (JOYDB_END_TOKEN+1)
7
#define JOYDB_WHEEL_AXES (JOYDB_END_TOKEN+2)
8
#define JOYDB_FOOT_PADDLE_AXES (JOYDB_END_TOKEN+3)
9
#define JOYDB_SHIFT_PADDLE_BUTTONS (JOYDB_END_TOKEN+4)
10
#define JOYDB_SHOULDER_AXES (JOYDB_END_TOKEN+5)
11
#define JOYDB_SHOULDER_BUTTONS (JOYDB_END_TOKEN+6)
12
#define JOYDB_GENERIC_BUTTONS (JOYDB_END_TOKEN+7)
13
#define JOYDB_DPAD_AXES (JOYDB_END_TOKEN+8)
14
#define JOYDB_DPAD_BUTTONS (JOYDB_END_TOKEN+9)
15
#define JOYDB_STICK_PRESS (JOYDB_END_TOKEN+10)
19
const char *name0000 = "Logitech WingMan Formula Force";
24
JOYDB_FOOT_PADDLE_AXES, 2, 1,
25
JOYDB_SHIFT_PADDLE_BUTTONS, 0, 2,
27
JOYDB_SHOULDER_BUTTONS,
28
JOYDB_GENERIC_BUTTONS, 1,3,4,5,
35
const char *name0001 = "GreenAsia Inc. USB Joystick ";
38
JOYDB_STICK_AXES, 0, 1, 3, 2,
40
JOYDB_FOOT_PADDLE_AXES,
41
JOYDB_SHIFT_PADDLE_BUTTONS,
43
JOYDB_SHOULDER_BUTTONS, 4, 6, 5, 7,
44
JOYDB_GENERIC_BUTTONS, 0, 1, 2, 3,
45
JOYDB_DPAD_AXES, 4, 5,
47
JOYDB_STICK_PRESS, 10, 11,
51
const char *name0002 = "Logitech WingMan RumblePad";
54
JOYDB_STICK_AXES, 0, 1, 3, 4,
56
JOYDB_FOOT_PADDLE_AXES,
57
JOYDB_SHIFT_PADDLE_BUTTONS,
59
JOYDB_SHOULDER_BUTTONS, 6, 7,
60
JOYDB_GENERIC_BUTTONS, 0, 1, 2, 3,
61
JOYDB_DPAD_AXES, 5, 6,
67
const char *name0003 = "ThrustMaster Dual Power GamePad ";
70
JOYDB_STICK_AXES, 0, 1, 3, 4,
72
JOYDB_FOOT_PADDLE_AXES,
73
JOYDB_SHIFT_PADDLE_BUTTONS,
75
JOYDB_SHOULDER_BUTTONS, 14, 15,
76
JOYDB_GENERIC_BUTTONS, 8, 9, 10, 11, 12, 13,
78
JOYDB_DPAD_BUTTONS, 2, 3, 0, 1,
79
JOYDB_STICK_PRESS, 6, 7,
83
const char *name0004 = "Microsoft X-Box pad (US)";
86
JOYDB_STICK_AXES, 0, 1, 3, 4,
88
JOYDB_FOOT_PADDLE_AXES,
89
JOYDB_SHIFT_PADDLE_BUTTONS,
90
JOYDB_SHOULDER_AXES, 2, 5,
91
JOYDB_SHOULDER_BUTTONS,
92
JOYDB_GENERIC_BUTTONS, 8, 9, 10, 11, 12, 13,
93
JOYDB_DPAD_AXES, 6, 7,
95
JOYDB_STICK_PRESS, 7, 8,
99
const char *name0005 = "Saitek Saitek P3000 RF Game-Pad";
100
const char *name0005b = "Saitek P3000 Wireless Gamepad";
103
JOYDB_STICK_AXES, 0, 1, 2, 3,
105
JOYDB_FOOT_PADDLE_AXES,
106
JOYDB_SHIFT_PADDLE_BUTTONS,
108
JOYDB_GENERIC_BUTTONS, 0,1,2,3,4,5,
109
JOYDB_SHOULDER_BUTTONS, 6, 7,
110
JOYDB_DPAD_AXES, 4, 5,
112
JOYDB_STICK_PRESS, 8, 9,
116
const char *name0006 = "Sony PLAYSTATION(R)3 Controller";
119
JOYDB_STICK_AXES, 0, 1, 2, 3,
121
JOYDB_FOOT_PADDLE_AXES,
122
JOYDB_SHIFT_PADDLE_BUTTONS,
123
JOYDB_SHOULDER_AXES, 12, 14, 13, 15,
124
JOYDB_SHOULDER_BUTTONS, 8, 10, 9, 11,
125
JOYDB_GENERIC_BUTTONS, 12, 13, 14, 15,
126
JOYDB_DPAD_AXES, 9, 8,
127
JOYDB_DPAD_BUTTONS, 7, 5, 6, 4,
128
JOYDB_STICK_PRESS, 1, 2,
132
const char *name0007 = "Microsoft\xae Microsoft\xae SideWinder\xae Plug & Play Game Pad";
137
JOYDB_FOOT_PADDLE_AXES,
138
JOYDB_SHIFT_PADDLE_BUTTONS,
140
JOYDB_GENERIC_BUTTONS, 0,1,2,3,
141
JOYDB_SHOULDER_BUTTONS, 4, 5,
142
JOYDB_DPAD_AXES, 0, 1,
150
const char *joydb_names[] =
179
inline const int *joydb_search_cmd(int cmd, const int *desc)
182
while (*i != JOYDB_END_TOKEN && *i != cmd)
184
if (*i == JOYDB_END_TOKEN) return 0;
189
inline const int *joydb_get(int cmd, const int *desc, int *cnt)
191
const int *retval = joydb_search_cmd(cmd, desc);
196
while (*i < JOYDB_END_TOKEN) i++;