Skip to content
This repository has been archived by the owner on Jan 23, 2024. It is now read-only.

Mouse pointer does not move when analog stick is not moving #74

Open
chewi opened this issue Nov 9, 2022 · 6 comments
Open

Mouse pointer does not move when analog stick is not moving #74

chewi opened this issue Nov 9, 2022 · 6 comments

Comments

@chewi
Copy link

chewi commented Nov 9, 2022

In short, this is a repeat of kozec/issues/576, which was fixed in kozec/sc-controller@2cddbc2, but the code was in C back then, and has since been rewritten in Python. kozec/issues/668 includes a good demonstration of the issue. Simply selecting the built-in Desktop profile is enough to see it. You really notice the difference when you wiggle the stick versus when you just hold it in one place.

@chewi
Copy link
Author

chewi commented Nov 9, 2022

Actually I've now realised this issue is not quite the same. In this case, the pointer jumps after moving the stick. In the original issue, it continued moving from where it was before. I had a go at implementing something similar to what was done before, but it didn't quite work right, and this is probably why.

@Ryochan7
Copy link
Owner

Ryochan7 commented Mar 8, 2023

RS mouse behavior has always been wrong. It still calculates based on a delta like if the input were from a Steam Controller touchpad. I only use SC Controller with the Steam Controller so it has not affected my use of the program. I think I have looked into it before and I think the issue is a bit more complicated than changing just changing the action method. I will briefly look into it. Maybe there will be an update in 5 months at this rate.

@Ryochan7
Copy link
Owner

Ryochan7 commented Mar 8, 2023

Got a preliminary draft going. Making the change also required changing the mapper class and the Mouse uinput class. Scaling is done in the Mouse class that would really throttle any mouse output from an analog stick. Currently have a flag in place to skip any extra scaling in that layer. That way the MouseAction class will be responsible for any applicable scaling.

Also, there seems to be an implicit dead zone even when one is not assigned in the profile. The dead zone is axial which means that proper circular movement cannot be achieved.

@chewi
Copy link
Author

chewi commented Mar 9, 2023

Has it been 5 months already? 😆 Sounds like a good start, thanks for your efforts.

@Ryochan7
Copy link
Owner

This problem is resolved at least when it comes to RS to mouse translation. Tested on the DualSense. Now RS Mouse works more like what I am used to from my other experiments.

fa32bb3

@chewi
Copy link
Author

chewi commented Apr 16, 2023

I've given it a brief try. It's certainly much better now, so thanks! It's still a little jumpy, but maybe it's difficult to fix properly. I've since finished and uninstalled the game I wanted this for, but I expect I'll need it for another one at some point.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants