DanielOgorchock / joycond

userspace daemon to combine joy-cons from the hid-nintendo kernel driver
GNU General Public License v3.0
338 stars 68 forks source link

Pro controller gyro axes mixed up #128

Open zeusttu opened 9 months ago

zeusttu commented 9 months ago

I managed to pair a Pro Controller, and it'r recognised mostly fine. Motion controls are also being recognised, but every motion is misinterpreted.

When testing from Steam's settings dialog (I read on the internet Steam used to use its own driver but it probably no longer does?):

When testing with evtest:

I know these axes have official names, but I don't know which is which, so I hope I described each axis in an understandable way. I also don't know whether this is an issue with Joycond or with the underlying hid-nintendo driver, so if I created this issue for the wrong project, feel free to redirect me to the correct one.

Could there be a mismatch between Joycond and the underlying driver regarding the gyro axes? I think I read something somewhere about something like that happening in the past.

For what it's worth:

$ uname -r
6.5.5-arch1-1

$ pacman -Qi joycond-git
Name            : joycond-git
Version         : v0.1.0.r52.g5b590ec-1
Description     : Userspace daemon to combine joy-cons from the hid-joycon kernel driver
Architecture    : x86_64
URL             : https://github.com/DanielOgorchock/joycond
Licenses        : GPL3
Groups          : None
Provides        : joycond-git
Depends On      : libevdev
Optional Deps   : hid-nintendo-dkms: provides driver for pre-5.16 kernels
Required By     : None
Optional For    : None
Conflicts With  : joycond-git
Replaces        : None
Installed Size  : 120.84 KiB
Packager        : Unknown Packager
Build Date      : Sun 01 Oct 2023 02:29:35 PM CEST
Install Date    : Sun 01 Oct 2023 02:30:02 PM CEST
Install Reason  : Explicitly installed
Install Script  : Yes
Validated By    : None

The installed commit hash seems to be 5b590ecc9bca181d8bc21377e752126bc9180319, which matches the current state of the master branch. I don't have hid-nintendo-dkms installed because my kernel is recent enough to have it built-in.

zeusttu commented 9 months ago

Further detail: the controller wasn't fully up-to-date when I created this issue, but it is now, and the issue persists with no change in the behaviour I'm seeing.

Victor-Silva-3000 commented 6 months ago

I'm currently having the same issue. Have you found any workarounds?

Tostibrand commented 5 months ago

same issue here. I use doyoko gamecube. nobara 39. gyro is not functioning

edbefee3-3888-462a-9411-741b7e9eb54e commented 4 months ago

image it seems to be an SDL thing, this results in correct motion data

DarBar92 commented 2 months ago

I am also having this issue. Have you or anyone found a workaround?

Victor-Silva-3000 commented 2 months ago

My solution was to just drop joycond altogether and use the built-in driver in the Linux Kernel for the Nintendo Controllers.

I also had an issue related to the controller not being recognized in any application due to it being assigned (for some reason) to the root user. If anyone has a similar issue feel free to ask and I will try to elaborate as best I can.

Note that at the time I posted this I was using an older version of Manjaro KDE and after updating everything worked flawlessly.