// -------------------------------------------------------------- // joy_get_pos() // // input: x => OUTPUT PARAMETER: x-axis position of stick (-1 to 1) // y => OUTPUT PARAMETER: y-axis position of stick (-1 to 1) // z => OUTPUT PARAMETER: z-axis (throttle) position of stick (-1 to 1) // r => OUTPUT PARAMETER: rudder position of stick (-1 to 1) // // return: success => 1 // failure => 0 // int joy_get_pos(int *x, int *y, int *z, int *rx) { int axis[JOY_NUM_AXES]; if (x) *x = 0; if (y) *y = 0; if (z) *z = 0; if (rx) *rx = 0; if (joy_num_sticks < 1) return 0; joystick_read_raw_axis( 6, axis ); // joy_get_scaled_reading will return a value represents the joystick pos from -1 to +1 if (x && joystick.axis_valid[0]) *x = joy_get_scaled_reading(axis[0], 0); if (y && joystick.axis_valid[1]) *y = joy_get_scaled_reading(axis[1], 1); if (z && joystick.axis_valid[2]) *z = joy_get_unscaled_reading(axis[2], 2); if (rx && joystick.axis_valid[3]) *rx = joy_get_scaled_reading(axis[3], 3); if (x) Joy_last_x_reading = *x; if (y) Joy_last_y_reading = *y; return 1; }
void joy_get_pos(int *x, int *y) { int axis[MAX_AXES]; if (!num_joysticks) { *x=*y=0; return; } joystick_read_raw_axis (JOY_ALL_AXIS, axis); *x = joy_get_scaled_reading( axis[0], 0 ); *y = joy_get_scaled_reading( axis[1], 1 ); }
void joy_get_pos( int *x, int *y ) { ubyte flags; int axis[JOY_NUM_AXES]; if ((!joy_installed)||(!joy_present)) { *x=*y=0; return; } flags=joystick_read_raw_axis( JOY_1_X_AXIS+JOY_1_Y_AXIS, axis ); if ( flags & JOY_1_X_AXIS ) *x = joy_get_scaled_reading( axis[0], 0 ); else *x = 0; if ( flags & JOY_1_Y_AXIS ) *y = joy_get_scaled_reading( axis[1], 1 ); else *y = 0; }
ubyte joy_read_stick( ubyte masks, int *axis ) { ubyte flags; int raw_axis[7]; if ((!joy_installed)||(!joy_present)) { axis[0] = 0; axis[1] = 0; axis[2] = 0; axis[3] = 0; axis[4] = 0; axis[5] = 0; axis[6] = 0; return 0; } flags=joystick_read_raw_axis( masks, raw_axis ); if ( flags & JOY_1_X_AXIS ) axis[0] = joy_get_scaled_reading( raw_axis[0], 0 ); else axis[0] = 0; if ( flags & JOY_1_Y_AXIS ) axis[1] = joy_get_scaled_reading( raw_axis[1], 1 ); else axis[1] = 0; if ( flags & JOY_1_Z_AXIS ) axis[2] = joy_get_scaled_reading( raw_axis[2], 2 ); else axis[2] = 0; if ( flags & JOY_1_R_AXIS ) axis[4] = joy_get_scaled_reading( raw_axis[4], 4 ); else axis[4] = 0; if ( flags & JOY_1_U_AXIS ) axis[5] = joy_get_scaled_reading( raw_axis[5], 5 ); else axis[5] = 0; if ( flags & JOY_1_V_AXIS ) axis[6] = joy_get_scaled_reading( raw_axis[6], 6 ); else axis[6] = 0; if ( flags & JOY_1_POV ) axis[3] = joy_get_scaled_reading( raw_axis[3], 3 ); else axis[3] = 0; return flags; }