MiSTer-devel / Linux-Kernel_MiSTer

Other
14 stars 19 forks source link

add support for NSO N64 controller #49

Closed Sheeg closed 1 year ago

Sheeg commented 1 year ago

Merged from patches posted here: https://aur.archlinux.org/packages/hid-nintendo-nso-dkms

Adds support for USB connection and rumble, which was previously missing.

mbaran5 commented 1 year ago

I posted this in Discord too, but this breaks the correct motion range of the N64 NSO Controller.

Using the existing linux config, here is the motion range using the N64 controller test N64-Orig

Here's the same test with the test build of linux as proposed N64-Mod

This is probably good for using this controller on other systems, but breaks the playability of N64 games which rely on the smaller movement range.

Sheeg commented 1 year ago

Thanks @mbaran5 , I've pushed a new commit that essentially just uses the values we were already getting and ignores the joycon calibration stuff, along with a suitable deadzone and center, please give it a try!

Sheeg commented 1 year ago

After some discussion on discord I've decided to revert the last change and leave the driver to map the full range a modern controller expects - this will allow the controller to work with other cores that can use an analog stick, and allows it use the more accurate calibration data in full range.

For accurate N64 usage, a change to MiSTer main is under development and testing by Markun and Lemonici that will allow the N64 core to clamp any controller to the range an N64 expects - it has been tested and works well with this controller in full range.