~ubuntu-branches/ubuntu/maverick/stormbaancoureur/maverick

« back to all changes in this revision

Viewing changes to src-common/joydb.h

  • Committer: Bazaar Package Importer
  • Author(s): Miriam Ruiz
  • Date: 2007-08-22 07:53:07 UTC
  • Revision ID: james.westby@ubuntu.com-20070822075307-60hr9y5jyeeob6as
Tags: upstream-1.5.2
ImportĀ upstreamĀ versionĀ 1.5.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef JOYDB_H
 
2
#define JOYDB_H
 
3
 
 
4
 
 
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)
 
16
 
 
17
 
 
18
 
 
19
const char *name0000 = "Logitech WingMan Formula Force";
 
20
int desc0000[] =
 
21
{
 
22
  JOYDB_STICK_AXES,
 
23
  JOYDB_WHEEL_AXES, 0,
 
24
  JOYDB_FOOT_PADDLE_AXES, 2, 1,
 
25
  JOYDB_SHIFT_PADDLE_BUTTONS, 0, 2,
 
26
  JOYDB_SHOULDER_AXES,
 
27
  JOYDB_SHOULDER_BUTTONS,
 
28
  JOYDB_GENERIC_BUTTONS, 1,3,4,5,
 
29
  JOYDB_DPAD_AXES,
 
30
  JOYDB_DPAD_BUTTONS,
 
31
  JOYDB_STICK_PRESS,
 
32
  JOYDB_END_TOKEN
 
33
};
 
34
 
 
35
const char *name0001 = "GreenAsia Inc.    USB Joystick     ";
 
36
int desc0001[] =
 
37
{
 
38
  JOYDB_STICK_AXES, 0, 1, 3, 2,
 
39
  JOYDB_WHEEL_AXES,
 
40
  JOYDB_FOOT_PADDLE_AXES,
 
41
  JOYDB_SHIFT_PADDLE_BUTTONS,
 
42
  JOYDB_SHOULDER_AXES,
 
43
  JOYDB_SHOULDER_BUTTONS, 4, 6, 5, 7,
 
44
  JOYDB_GENERIC_BUTTONS, 0, 1, 2, 3,
 
45
  JOYDB_DPAD_AXES, 4, 5,
 
46
  JOYDB_DPAD_BUTTONS,
 
47
  JOYDB_STICK_PRESS, 10, 11,
 
48
  JOYDB_END_TOKEN
 
49
};
 
50
 
 
51
const char *name0002 = "Logitech WingMan RumblePad";
 
52
int desc0002[] =
 
53
{
 
54
  JOYDB_STICK_AXES, 0, 1, 3, 4,
 
55
  JOYDB_WHEEL_AXES,
 
56
  JOYDB_FOOT_PADDLE_AXES,
 
57
  JOYDB_SHIFT_PADDLE_BUTTONS,
 
58
  JOYDB_SHOULDER_AXES,
 
59
  JOYDB_SHOULDER_BUTTONS, 6, 7,
 
60
  JOYDB_GENERIC_BUTTONS, 0, 1, 2, 3,
 
61
  JOYDB_DPAD_AXES, 5, 6,
 
62
  JOYDB_DPAD_BUTTONS,
 
63
  JOYDB_STICK_PRESS,
 
64
  JOYDB_END_TOKEN
 
65
};
 
66
 
 
67
const char *name0003 = "ThrustMaster Dual Power GamePad      ";
 
68
int desc0003[] =
 
69
{
 
70
  JOYDB_STICK_AXES, 0, 1, 3, 4,
 
71
  JOYDB_WHEEL_AXES,
 
72
  JOYDB_FOOT_PADDLE_AXES,
 
73
  JOYDB_SHIFT_PADDLE_BUTTONS,
 
74
  JOYDB_SHOULDER_AXES,
 
75
  JOYDB_SHOULDER_BUTTONS, 14, 15,
 
76
  JOYDB_GENERIC_BUTTONS, 8, 9, 10, 11, 12, 13, 
 
77
  JOYDB_DPAD_AXES,
 
78
  JOYDB_DPAD_BUTTONS, 2, 3, 0, 1,
 
79
  JOYDB_STICK_PRESS, 6, 7,
 
80
  JOYDB_END_TOKEN
 
81
};
 
82
 
 
83
const char *name0004 = "Microsoft X-Box pad (US)";
 
84
int desc0004[] =
 
85
{
 
86
  JOYDB_STICK_AXES, 0, 1, 3, 4,
 
87
  JOYDB_WHEEL_AXES,
 
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,
 
94
  JOYDB_DPAD_BUTTONS,
 
95
  JOYDB_STICK_PRESS, 7, 8,
 
96
  JOYDB_END_TOKEN
 
97
};
 
98
 
 
99
const char *name0005  = "Saitek Saitek P3000 RF Game-Pad";
 
100
const char *name0005b = "Saitek P3000 Wireless Gamepad";
 
101
int desc0005[] =
 
102
{
 
103
  JOYDB_STICK_AXES, 0, 1, 2, 3,
 
104
  JOYDB_WHEEL_AXES,
 
105
  JOYDB_FOOT_PADDLE_AXES,
 
106
  JOYDB_SHIFT_PADDLE_BUTTONS,
 
107
  JOYDB_SHOULDER_AXES, 
 
108
  JOYDB_GENERIC_BUTTONS, 0,1,2,3,4,5,
 
109
  JOYDB_SHOULDER_BUTTONS, 6, 7,
 
110
  JOYDB_DPAD_AXES, 4, 5,
 
111
  JOYDB_DPAD_BUTTONS,
 
112
  JOYDB_STICK_PRESS, 8, 9,
 
113
  JOYDB_END_TOKEN
 
114
};
 
115
 
 
116
const char *name0006 = "Sony PLAYSTATION(R)3 Controller";
 
117
int desc0006[] =
 
118
{
 
119
  JOYDB_STICK_AXES, 0, 1, 2, 3,
 
120
  JOYDB_WHEEL_AXES,
 
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,
 
129
  JOYDB_END_TOKEN
 
130
};
 
131
 
 
132
const char *name0007  = "Microsoft\xae Microsoft\xae SideWinder\xae Plug & Play Game Pad";
 
133
int desc0007[] =
 
134
{
 
135
 JOYDB_STICK_AXES,
 
136
 JOYDB_WHEEL_AXES,
 
137
 JOYDB_FOOT_PADDLE_AXES,
 
138
 JOYDB_SHIFT_PADDLE_BUTTONS,
 
139
 JOYDB_SHOULDER_AXES,
 
140
 JOYDB_GENERIC_BUTTONS, 0,1,2,3,
 
141
 JOYDB_SHOULDER_BUTTONS, 4, 5,
 
142
 JOYDB_DPAD_AXES, 0, 1,
 
143
 JOYDB_DPAD_BUTTONS,
 
144
 JOYDB_STICK_PRESS,
 
145
 JOYDB_END_TOKEN
 
146
};
 
147
 
 
148
 
 
149
 
 
150
const char *joydb_names[] =
 
151
{
 
152
  name0000,
 
153
  name0001,
 
154
  name0002,
 
155
  name0003,
 
156
  name0004,
 
157
  name0005,
 
158
  name0005b,
 
159
  name0006,
 
160
  name0007,
 
161
  0
 
162
};
 
163
 
 
164
int *joydb_descs[] =
 
165
{
 
166
  desc0000,
 
167
  desc0001,
 
168
  desc0002,
 
169
  desc0003,
 
170
  desc0004,
 
171
  desc0005,
 
172
  desc0005,
 
173
  desc0006,
 
174
  desc0007,
 
175
  0
 
176
};
 
177
 
 
178
 
 
179
inline const int *joydb_search_cmd(int cmd, const int *desc)
 
180
{
 
181
  const int *i=desc;
 
182
  while (*i != JOYDB_END_TOKEN && *i != cmd)
 
183
    i++;
 
184
  if (*i == JOYDB_END_TOKEN) return 0;
 
185
  return i;
 
186
}
 
187
 
 
188
 
 
189
inline const int *joydb_get(int cmd, const int *desc, int *cnt)
 
190
{
 
191
  const int *retval = joydb_search_cmd(cmd, desc);
 
192
  assert(retval);
 
193
  retval++;
 
194
 
 
195
  const int *i=retval;
 
196
  while (*i < JOYDB_END_TOKEN) i++;
 
197
  *cnt = (i-retval);
 
198
  return retval;
 
199
};
 
200
 
 
201
 
 
202
#endif
 
203