Ryochan7 / sc-controller

User-mode driver and GTK3 based GUI for Steam Controller
GNU General Public License v2.0
176 stars 23 forks source link

Fix input tester in the gui for all steam deck controls #93

Open Dark3clipse opened 1 year ago

Dark3clipse commented 1 year ago

I noticed that the input tester functionality was only half working on the steam deck. The right stick didn't show as well as some grips, dot button, and the dpad.

This PR attempts to fix this.

steam-deck-input-test-fix.webm

Dark3clipse commented 1 year ago

It seems dpad was not supported for other controllers as well. I will do some further testing with other controllers, I think I need to make the code more compatible before it can be merged.

Dark3clipse commented 1 year ago

I make the dpad test area configurable in the controller svg files and added it to ds5 and deck svgs. I only have those two controllers. Also, there was a bug in enable_test_mode when switching active controller. I made a fix for this.

A further improvement: it seems the input tester does not apply deadzones, resulting in the tester being visible in the center of the stick even when you have set a deadzone. I probably need some help to know how to solve this.

Ryochan7 commented 1 year ago

This cannot be merged as is. This commit breaks the GUI for Steam Controller mapping. It breaks mainly when it comes to the back grip buttons. Hopefully I will be able to take a look and see if something small can be changed to fix those buttons.

Ryochan7 commented 1 year ago

Looks like the GUI is actually wrong (at least the icons) in your video as well.

Dark3clipse commented 1 year ago

I don't have a steam controller to test with. What part exactly of the gui is wrong?

Im on vacation right now. Ill continue working on this when i am back home

Ryochan7 commented 10 months ago

Long time. Anyway, here is a small demo showing what I was talking about. LGRIP, RGRIP, Left Touchpad, and Right Touchpad use the wrong icon graphics although they are still linked to the correct inputs when opening the action editor. The original python3 interface is also shown for comparison.

The errors in the changed interface are as follows. LGRIP input uses the RGRIP icon graphic. RGRIP input uses the Left Touchpad icon graphic. Left Touchpad input uses the Stick icon graphic. Right Touchpad input uses the Left Touchpad icon graphic.

https://github.com/Ryochan7/sc-controller/assets/581968/2cf20724-1b75-42a4-b71c-072b89d54886