00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00043 #ifndef _orxJOYSTICK_H_
00044 #define _orxJOYSTICK_H_
00045
00046 #include "orxInclude.h"
00047 #include "plugin/orxPluginCore.h"
00048
00049
00052 #define orxJOYSTICK_GET_AXIS_FOR_PLAYER(AXIS, PLAYER) (((AXIS) % orxJOYSTICK_AXIS_SINGLE_NUMBER) + ((PLAYER - 1) * orxJOYSTICK_AXIS_SINGLE_NUMBER))
00053 #define orxJOYSTICK_GET_BUTTON_FOR_PLAYER(BUTTON, PLAYER) (((BUTTON) % orxJOYSTICK_BUTTON_SINGLE_NUMBER) + ((PLAYER - 1) * orxJOYSTICK_BUTTON_SINGLE_NUMBER))
00054
00055 #define orxJOYSTICK_GET_PLAYER_FROM_AXIS(AXIS) (((AXIS) / orxJOYSTICK_AXIS_SINGLE_NUMBER) + 1)
00056 #define orxJOYSTICK_GET_PLAYER_FROM_BUTTON(BUTTON) (((BUTTON) / orxJOYSTICK_BUTTON_SINGLE_NUMBER) + 1)
00057
00058
00061 typedef enum __orxJOYSTICK_BUTTON_t
00062 {
00063 orxJOYSTICK_BUTTON_1_1 = 0,
00064 orxJOYSTICK_BUTTON_2_1,
00065 orxJOYSTICK_BUTTON_3_1,
00066 orxJOYSTICK_BUTTON_4_1,
00067 orxJOYSTICK_BUTTON_5_1,
00068 orxJOYSTICK_BUTTON_6_1,
00069 orxJOYSTICK_BUTTON_7_1,
00070 orxJOYSTICK_BUTTON_8_1,
00071 orxJOYSTICK_BUTTON_9_1,
00072 orxJOYSTICK_BUTTON_10_1,
00073 orxJOYSTICK_BUTTON_11_1,
00074 orxJOYSTICK_BUTTON_12_1,
00075 orxJOYSTICK_BUTTON_13_1,
00076 orxJOYSTICK_BUTTON_14_1,
00077 orxJOYSTICK_BUTTON_15_1,
00078 orxJOYSTICK_BUTTON_16_1,
00079
00080 orxJOYSTICK_BUTTON_SINGLE_NUMBER,
00081
00082 orxJOYSTICK_BUTTON_1_2 = orxJOYSTICK_BUTTON_SINGLE_NUMBER,
00083 orxJOYSTICK_BUTTON_2_2,
00084 orxJOYSTICK_BUTTON_3_2,
00085 orxJOYSTICK_BUTTON_4_2,
00086 orxJOYSTICK_BUTTON_5_2,
00087 orxJOYSTICK_BUTTON_6_2,
00088 orxJOYSTICK_BUTTON_7_2,
00089 orxJOYSTICK_BUTTON_8_2,
00090 orxJOYSTICK_BUTTON_9_2,
00091 orxJOYSTICK_BUTTON_10_2,
00092 orxJOYSTICK_BUTTON_11_2,
00093 orxJOYSTICK_BUTTON_12_2,
00094 orxJOYSTICK_BUTTON_13_2,
00095 orxJOYSTICK_BUTTON_14_2,
00096 orxJOYSTICK_BUTTON_15_2,
00097 orxJOYSTICK_BUTTON_16_2,
00098
00099 orxJOYSTICK_BUTTON_1_3,
00100 orxJOYSTICK_BUTTON_2_3,
00101 orxJOYSTICK_BUTTON_3_3,
00102 orxJOYSTICK_BUTTON_4_3,
00103 orxJOYSTICK_BUTTON_5_3,
00104 orxJOYSTICK_BUTTON_6_3,
00105 orxJOYSTICK_BUTTON_7_3,
00106 orxJOYSTICK_BUTTON_8_3,
00107 orxJOYSTICK_BUTTON_9_3,
00108 orxJOYSTICK_BUTTON_10_3,
00109 orxJOYSTICK_BUTTON_11_3,
00110 orxJOYSTICK_BUTTON_12_3,
00111 orxJOYSTICK_BUTTON_13_3,
00112 orxJOYSTICK_BUTTON_14_3,
00113 orxJOYSTICK_BUTTON_15_3,
00114 orxJOYSTICK_BUTTON_16_3,
00115
00116 orxJOYSTICK_BUTTON_1_4,
00117 orxJOYSTICK_BUTTON_2_4,
00118 orxJOYSTICK_BUTTON_3_4,
00119 orxJOYSTICK_BUTTON_4_4,
00120 orxJOYSTICK_BUTTON_5_4,
00121 orxJOYSTICK_BUTTON_6_4,
00122 orxJOYSTICK_BUTTON_7_4,
00123 orxJOYSTICK_BUTTON_8_4,
00124 orxJOYSTICK_BUTTON_9_4,
00125 orxJOYSTICK_BUTTON_10_4,
00126 orxJOYSTICK_BUTTON_11_4,
00127 orxJOYSTICK_BUTTON_12_4,
00128 orxJOYSTICK_BUTTON_13_4,
00129 orxJOYSTICK_BUTTON_14_4,
00130 orxJOYSTICK_BUTTON_15_4,
00131 orxJOYSTICK_BUTTON_16_4,
00132
00133 orxJOYSTICK_BUTTON_NUMBER,
00134
00135 orxJOYSTICK_BUTTON_NONE = orxENUM_NONE
00136
00137 } orxJOYSTICK_BUTTON;
00138
00139
00142 typedef enum __orxJOYSTICK_AXIS_t
00143 {
00144 orxJOYSTICK_AXIS_X_1 = 0,
00145 orxJOYSTICK_AXIS_Y_1,
00146 orxJOYSTICK_AXIS_Z_1,
00147 orxJOYSTICK_AXIS_R_1,
00148 orxJOYSTICK_AXIS_U_1,
00149 orxJOYSTICK_AXIS_V_1,
00150 orxJOYSTICK_AXIS_POV_1,
00151
00152 orxJOYSTICK_AXIS_SINGLE_NUMBER,
00153
00154 orxJOYSTICK_AXIS_X_2 = orxJOYSTICK_AXIS_SINGLE_NUMBER,
00155 orxJOYSTICK_AXIS_Y_2,
00156 orxJOYSTICK_AXIS_Z_2,
00157 orxJOYSTICK_AXIS_R_2,
00158 orxJOYSTICK_AXIS_U_2,
00159 orxJOYSTICK_AXIS_V_2,
00160 orxJOYSTICK_AXIS_POV_2,
00161
00162 orxJOYSTICK_AXIS_X_3,
00163 orxJOYSTICK_AXIS_Y_3,
00164 orxJOYSTICK_AXIS_Z_3,
00165 orxJOYSTICK_AXIS_R_3,
00166 orxJOYSTICK_AXIS_U_3,
00167 orxJOYSTICK_AXIS_V_3,
00168 orxJOYSTICK_AXIS_POV_3,
00169
00170 orxJOYSTICK_AXIS_X_4,
00171 orxJOYSTICK_AXIS_Y_4,
00172 orxJOYSTICK_AXIS_Z_4,
00173 orxJOYSTICK_AXIS_R_4,
00174 orxJOYSTICK_AXIS_U_4,
00175 orxJOYSTICK_AXIS_V_4,
00176 orxJOYSTICK_AXIS_POV_4,
00177
00178 orxJOYSTICK_AXIS_NUMBER,
00179
00180 orxJOYSTICK_AXIS_NONE = orxENUM_NONE
00181
00182 } orxJOYSTICK_AXIS;
00183
00184
00185
00186
00187
00188
00191 extern orxDLLAPI void orxFASTCALL orxJoystick_Setup();
00192
00193
00194
00195
00196
00197
00201 extern orxDLLAPI orxSTATUS orxFASTCALL orxJoystick_Init();
00202
00205 extern orxDLLAPI void orxFASTCALL orxJoystick_Exit();
00206
00211 extern orxDLLAPI orxFLOAT orxFASTCALL orxJoystick_GetAxisValue(orxJOYSTICK_AXIS _eAxis);
00212
00217 extern orxDLLAPI orxBOOL orxFASTCALL orxJoystick_IsButtonPressed(orxJOYSTICK_BUTTON _eButton);
00218
00223 extern orxDLLAPI const orxSTRING orxFASTCALL orxJoystick_GetButtonName(orxJOYSTICK_BUTTON _eButton);
00224
00229 extern orxDLLAPI const orxSTRING orxFASTCALL orxJoystick_GetAxisName(orxJOYSTICK_AXIS _eAxis);
00230
00231 #endif
00232