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

udev rules make steam fail to recognize controllers #142

Open ngraham20 opened 1 week ago

ngraham20 commented 1 week ago

I installed joycond per the instructions, but once it was installed, Steam no longer could see the controllers. This was only resolved when I uninstalled joycond manually, and specifically when I removed the udev rules that joycond creates.

TheRamsWay commented 4 days ago

Seems to be by design, since in 89-joycond.rules, the first 5 lines are meant to block Steam. However, this doesn't only break Steam but also SDL's ability to merge the buttons-only and motion-only devices, for example causing Ryujinx to be unable to use motion controls on Pro Controllers. Commenting out line 3 and 5 of that file seems to let both joycond and SDL work as they should. If I remember correctly, Steam has some settings to disable Steam Input on Nintendo controllers anyway, meaning that joycond shouldn't really need to hide them from it. They could probably just be removed.

ngraham20 commented 4 days ago

Steam has some settings to disable Steam Input on Nintendo controllers anyway

Why would you want to disable Steam Input though, isn't the fact that Steam can handle any controller a good thing?

sp1ritCS commented 2 days ago

Why would you want to disable Steam Input though, isn't the fact that Steam can handle any controller a good thing?

I believe the reasoning is to avoid issues that occur in games that detect both the virtual steam input controller and the one from hid-nintendo/joycond, resulting in multiple connected controllers from the perspective of the game (they often don't let you disable one), even tho both of them are the same physical device.

Depending on what buttons you press during registration to joycond, it either lets steam recognize it or not. But it has issues with the gyro.

TheRamsWay commented 2 days ago

Why would you want to disable Steam Input though, isn't the fact that Steam can handle any controller a good thing?

I think you misunderstood what I said. Steam Input isn't a good or a bad thing, but making it impossible to use directly is something that joycond seems to do intentionally, probably because of what @sp1ritCS said. What I'm suggesting is that it shouldn't be joycond's concern whether or not Steam Input works correctly, as it's breaking other programs while doing so, and that it should be up to the user to disable Steam Input if it doesn't work.