More cleanup and fixes
This commit is contained in:
parent
6bb240d335
commit
8fdaea5d8b
1 changed files with 8 additions and 13 deletions
|
@ -28,7 +28,10 @@ static void JoystickCallback(int joystick_id, int event)
|
||||||
int total_axes;
|
int total_axes;
|
||||||
const float *axes = glfwGetJoystickAxes(joystick_id, &total_axes);
|
const float *axes = glfwGetJoystickAxes(joystick_id, &total_axes);
|
||||||
|
|
||||||
if (total_axes >= 2)
|
int total_buttons;
|
||||||
|
const unsigned char *buttons = glfwGetJoystickButtons(connected_joystick_id, &total_buttons);
|
||||||
|
|
||||||
|
if (total_axes >= 2 && total_buttons >= 6)
|
||||||
{
|
{
|
||||||
#if GLFW_VERSION_MAJOR > 3 || (GLFW_VERSION_MAJOR == 3 && GLFW_VERSION_MINOR >= 3)
|
#if GLFW_VERSION_MAJOR > 3 || (GLFW_VERSION_MAJOR == 3 && GLFW_VERSION_MINOR >= 3)
|
||||||
if (glfwJoystickIsGamepad(joystick_id) == GLFW_TRUE) // Avoid selecting things like laptop touchpads
|
if (glfwJoystickIsGamepad(joystick_id) == GLFW_TRUE) // Avoid selecting things like laptop touchpads
|
||||||
|
@ -92,7 +95,6 @@ BOOL ControllerBackend_GetJoystickStatus(JOYSTICK_STATUS *status)
|
||||||
|
|
||||||
int total_buttons;
|
int total_buttons;
|
||||||
const unsigned char *buttons = glfwGetJoystickButtons(connected_joystick_id, &total_buttons);
|
const unsigned char *buttons = glfwGetJoystickButtons(connected_joystick_id, &total_buttons);
|
||||||
total_buttons = 0;
|
|
||||||
|
|
||||||
int total_axes;
|
int total_axes;
|
||||||
const float *axes = glfwGetJoystickAxes(connected_joystick_id, &total_axes);
|
const float *axes = glfwGetJoystickAxes(connected_joystick_id, &total_axes);
|
||||||
|
@ -101,17 +103,10 @@ BOOL ControllerBackend_GetJoystickStatus(JOYSTICK_STATUS *status)
|
||||||
const unsigned char *hats = glfwGetJoystickHats(connected_joystick_id, &total_hats);
|
const unsigned char *hats = glfwGetJoystickHats(connected_joystick_id, &total_hats);
|
||||||
|
|
||||||
// Handle direction inputs
|
// Handle direction inputs
|
||||||
if (total_axes >= 1)
|
|
||||||
{
|
|
||||||
status->bLeft = axes[0] < -DEADZONE;
|
status->bLeft = axes[0] < -DEADZONE;
|
||||||
status->bRight = axes[0] > DEADZONE;
|
status->bRight = axes[0] > DEADZONE;
|
||||||
}
|
|
||||||
|
|
||||||
if (total_axes >= 2)
|
|
||||||
{
|
|
||||||
status->bUp = axes[1] < -DEADZONE;
|
status->bUp = axes[1] < -DEADZONE;
|
||||||
status->bDown = axes[1] > DEADZONE;
|
status->bDown = axes[1] > DEADZONE;
|
||||||
}
|
|
||||||
|
|
||||||
// Handle button inputs
|
// Handle button inputs
|
||||||
unsigned int buttons_done = 0;
|
unsigned int buttons_done = 0;
|
||||||
|
|
Loading…
Add table
Reference in a new issue