Skip to content

Conversation

@mitchellcairns
Copy link

@mitchellcairns mitchellcairns commented Jan 26, 2026

Changes:

  • Implement a radial scaling deadzone
  • Split out config options for left/right joysticks
  • Implement an analog range option to more appropriately match real N64 controller behavior
  • Split out analog range options for left/right joysticks

The joystick deadzone as applied currently locks the axis to the X or Y axis rather than only applying the deadzone according to a magnitude from center. 

This results in games being rather hard to control how we'd remember them performing on original hardware unless we disable deadzones. 

This will allow more gamepads to use a well-adjusted deadzone without impacting precise movement.
- N64 typically only uses about 66% of the real input range (-85 to +85 rather than the full -127 to +127)
- Games often feel too sensitive as a result
- This change implements a separate option for joystick input range to allow customization of this feature (Some N64 controllers are as low as (-65 to +65)
- This update also splits out the deadzone for left/right joystick respectively
@mitchellcairns mitchellcairns changed the title Radial scaling joystick deadzone handling in input_state.cpp Update Joystick Scaling Algorithms Jan 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant