src/joystick/linux/SDL_sysjoystick.c
changeset 1302 94643e9bad18
parent 1275 4aa02c3e5e13
child 1305 babc963b6f8d
equal deleted inserted replaced
1301:a78446e47413 1302:94643e9bad18
    86 /* +23 */
    86 /* +23 */
    87    /* MP-8800 button map - map to {logical joystick #, logical button #} */
    87    /* MP-8800 button map - map to {logical joystick #, logical button #} */
    88    {0,0},{0,1},{0,2},{0,3},{0,4},{0,5},{0,6},{0,7},{0,8},{0,9},{0,10},{0,11},
    88    {0,0},{0,1},{0,2},{0,3},{0,4},{0,5},{0,6},{0,7},{0,8},{0,9},{0,10},{0,11},
    89    {1,0},{1,1},{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{1,11},
    89    {1,0},{1,1},{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{1,11},
    90    {2,0},{2,1},{2,2},{2,3},{2,4},{2,5},{2,6},{2,7},{2,8},{2,9},{2,10},{2,11},
    90    {2,0},{2,1},{2,2},{2,3},{2,4},{2,5},{2,6},{2,7},{2,8},{2,9},{2,10},{2,11},
    91    {3,0},{3,1},{3,2},{3,3},{3,4},{3,5},{3,6},{3,7},{3,8},{3,9},{3,10},{3,11}
    91    {3,0},{3,1},{3,2},{3,3},{3,4},{3,5},{3,6},{3,7},{3,8},{3,9},{3,10},{3,11},
       
    92 
       
    93 /* +71 */
       
    94    /* MP-8866 axes map - map to {logical joystick #, logical axis#} */
       
    95    {0,0},{0,1},{0,2},{0,3},
       
    96    {1,0},{1,1},{1,2},{1,3},
       
    97 
       
    98 /* +79 */
       
    99    /* MP-8866 hat map - map to {logical joystick #, logical hat #} */
       
   100    {0,0},{1,0},
       
   101 
       
   102 /* +81 */
       
   103    /* MP-8866 button map - map to {logical joystick #, logical button #} */
       
   104    {0,0},{0,1},{0,2},{0,3},{0,4},{0,5},{0,6},{0,7},{0,8},{0,9},{0,10},{0,11},
       
   105    {1,0},{1,1},{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{1,11}
    92 };
   106 };
    93 
   107 
    94 static struct joystick_logical_layout {
   108 static struct joystick_logical_layout {
    95         int naxes;
   109         int naxes;
    96         int nhats;
   110         int nhats;
    97         int nballs;
   111         int nballs;
    98         int nbuttons;
   112         int nbuttons;
    99 } joystick_logical_layout[] = {
   113 } joystick_logical_layout[] = {
       
   114 /* +0 */
   100         /* MP-8800 logical layout */
   115         /* MP-8800 logical layout */
   101         {5, 1, 0, 12},
   116         {5, 1, 0, 12},
   102         {5, 1, 0, 12},
   117         {5, 1, 0, 12},
   103         {5, 1, 0, 12},
   118         {5, 1, 0, 12},
   104         {4, 1, 0, 12}
   119         {4, 1, 0, 12},
       
   120 /* +4 */
       
   121 	/* MP-8866 logical layout */
       
   122 	{4, 1, 0, 12},
       
   123 	{4, 1, 0, 12}
   105 };
   124 };
       
   125 
   106 
   126 
   107 /*
   127 /*
   108    Some USB HIDs show up as a single joystick even though they actually
   128    Some USB HIDs show up as a single joystick even though they actually
   109    control 2 or more joysticks.  This array sets up a means of mapping
   129    control 2 or more joysticks.  This array sets up a means of mapping
   110    a single physical joystick to multiple logical joysticks. (djm)
   130    a single physical joystick to multiple logical joysticks. (djm)
   128         struct joystick_logical_values *buttons;
   148         struct joystick_logical_values *buttons;
   129 
   149 
   130 } joystick_logicalmap[] = {
   150 } joystick_logicalmap[] = {
   131         {"WiseGroup.,Ltd MP-8800 Quad USB Joypad", 4, joystick_logical_layout,
   151         {"WiseGroup.,Ltd MP-8800 Quad USB Joypad", 4, joystick_logical_layout,
   132          joystick_logical_values, joystick_logical_values+19, NULL,
   152          joystick_logical_values, joystick_logical_values+19, NULL,
   133          joystick_logical_values+23}
   153          joystick_logical_values+23},
       
   154 	/* WiseGroup MP-8866 Dual USB Joypad */
       
   155 	{"0925:8866", 2, joystick_logical_layout+4,
       
   156 	 joystick_logical_values+71, joystick_logical_values+79, NULL,
       
   157 	 joystick_logical_values+81}
       
   158 
   134 };
   159 };
   135 
   160 
   136 /* find the head of a linked list, given a point in it
   161 /* find the head of a linked list, given a point in it
   137  */
   162  */
   138 #define SDL_joylist_head(i, start)\
   163 #define SDL_joylist_head(i, start)\