--- a/src/joystick/linux/SDL_sysjoystick.c Tue Jan 31 01:16:21 2006 +0000
+++ b/src/joystick/linux/SDL_sysjoystick.c Tue Jan 31 14:59:43 2006 +0000
@@ -88,7 +88,21 @@
{0,0},{0,1},{0,2},{0,3},{0,4},{0,5},{0,6},{0,7},{0,8},{0,9},{0,10},{0,11},
{1,0},{1,1},{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{1,11},
{2,0},{2,1},{2,2},{2,3},{2,4},{2,5},{2,6},{2,7},{2,8},{2,9},{2,10},{2,11},
- {3,0},{3,1},{3,2},{3,3},{3,4},{3,5},{3,6},{3,7},{3,8},{3,9},{3,10},{3,11}
+ {3,0},{3,1},{3,2},{3,3},{3,4},{3,5},{3,6},{3,7},{3,8},{3,9},{3,10},{3,11},
+
+/* +71 */
+ /* MP-8866 axes map - map to {logical joystick #, logical axis#} */
+ {0,0},{0,1},{0,2},{0,3},
+ {1,0},{1,1},{1,2},{1,3},
+
+/* +79 */
+ /* MP-8866 hat map - map to {logical joystick #, logical hat #} */
+ {0,0},{1,0},
+
+/* +81 */
+ /* MP-8866 button map - map to {logical joystick #, logical button #} */
+ {0,0},{0,1},{0,2},{0,3},{0,4},{0,5},{0,6},{0,7},{0,8},{0,9},{0,10},{0,11},
+ {1,0},{1,1},{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{1,11}
};
static struct joystick_logical_layout {
@@ -97,13 +111,19 @@
int nballs;
int nbuttons;
} joystick_logical_layout[] = {
+/* +0 */
/* MP-8800 logical layout */
{5, 1, 0, 12},
{5, 1, 0, 12},
{5, 1, 0, 12},
- {4, 1, 0, 12}
+ {4, 1, 0, 12},
+/* +4 */
+ /* MP-8866 logical layout */
+ {4, 1, 0, 12},
+ {4, 1, 0, 12}
};
+
/*
Some USB HIDs show up as a single joystick even though they actually
control 2 or more joysticks. This array sets up a means of mapping
@@ -130,7 +150,12 @@
} joystick_logicalmap[] = {
{"WiseGroup.,Ltd MP-8800 Quad USB Joypad", 4, joystick_logical_layout,
joystick_logical_values, joystick_logical_values+19, NULL,
- joystick_logical_values+23}
+ joystick_logical_values+23},
+ /* WiseGroup MP-8866 Dual USB Joypad */
+ {"0925:8866", 2, joystick_logical_layout+4,
+ joystick_logical_values+71, joystick_logical_values+79, NULL,
+ joystick_logical_values+81}
+
};
/* find the head of a linked list, given a point in it