6 #define GAMEPAD_LOGICTECH_ID 0x046dc21a
27 extern input_device_t gamepad;
29 C_RESULT open_gamepad(void);
30 C_RESULT update_gamepad(void);
31 C_RESULT close_gamepad(void);
33 ///////////////////////////////////////////////////
34 typedef enum JOYTICK_DEVICES
36 JOYSTICK_DEVICE_SIDEWINDER,
37 JOYSTICK_DEVICE_CYBORG,
49 /* On Joystick Side winder, buttons can return analogic values (though non-precise) */
59 extern input_device_t joystick;
61 C_RESULT open_joystick(void);
62 C_RESULT update_joystick(void);
63 C_RESULT close_joystick(void);
64 C_RESULT (*button_callback)(JOYSTICK_BUTTONS button);
65 C_RESULT (*axis_callback)(JOYSTICK_AXIS axis);
67 ///////////////////////////////////////////////////////////////
68 #define GAMEPAD_PLAYSTATION3_ID 0x054C0268
91 /* On Playstation3 Gamepad, buttons can return analogic values (though non-precise) */
113 extern input_device_t ps3pad;
116 C_RESULT open_ps3pad(void);
117 C_RESULT update_ps3pad(void);
118 C_RESULT close_ps3pad(void);
121 //////////////////////////////////////////////////
122 #define RADIO_GP_ID 0x061c0010
132 typedef enum _ANALOGIC_RADIO_COMMAND_GP
140 } ANALOGIC_RADIO_COMMAND_GP;
142 #define NUM_A_GP_MIN GP_ROLL
143 #define NUM_A_GP_MAX GP_MAX
145 #define OFFSET_PITCH_GP 127
146 #define OFFSET_ROLL_GP 127
147 #define OFFSET_YAW_GP 127
148 #define OFFSET_GAZ_GP 198
150 #define NUM_PITCH_GP -3
151 #define NUM_ROLL_GP 3
153 #define NUM_GAZ_GP -7
155 #define DEC_PITCH_GP 1
156 #define DEC_ROLL_GP 1
161 typedef enum _BUTTON_RADIO_COMMAND_GP
163 GP_BOARD_LEFT = 0, // switch above left joystick
164 GP_SIDE_RIGHT = 1, // right corner switch
165 GP_IMPULSE = 2, // Red button
166 GP_SIDE_LEFT_DOWN = 3, // left corner switch, down position
167 GP_SIDE_LEFT_UP = 4, // left corner switch, up position
169 } BUTTON_RADIO_COMMAND_GP;
171 #define NUM_B_GP_MIN GP_BOARD_LEFT
172 #define NUM_B_GP_MAX GP_MAX
173 extern input_device_t radioGP;
175 C_RESULT open_radioGP(void);
176 C_RESULT update_radioGP(void);
177 C_RESULT close_radioGP(void);
179 #endif // _GAMEPAD_H_