#11904 closed defect (fixed)
BACKENDS: Android: Mouse pointer control with analog joystick is unusable
Reported by: | ellinge | Owned by: | antoniou79 |
---|---|---|---|
Priority: | normal | Component: | Port: Android |
Version: | Keywords: | joystick mouse stick | |
Cc: | Game: |
Description (last modified by )
I’ve compared the behaviour between ScummVM 2.0 (Google Play Store) and ScummVM 2.2 (sideloaded from scummvm.org) and it seems as if a regression bug has appeared which was fixed earlier in:
https://bugs.scummvm.org/ticket/6996
The mouse only moves if you use a left joystick which continuously outputs an axis change even when ”idle”.
To be fair the ScummVM 2.0 had issues as well with my Retroid Pocket 2. It did not stop when returning the left joystick to center but perhaps I need to change some additional setting for that. It stopped if I used the DPAD to move the mouse instead.
In ScummVM 2.1+ however the mouse stops as soon as my left stick is ”idle” (no new axis events even if ”in use”) which gives a feeling of lag or stutter.
The files involved in the earlier ”fix” seems to have been deprecated in this commit.
Attachments (4)
Change History (13)
comment:1 by , 4 years ago
Description: | modified (diff) |
---|
by , 4 years ago
Attachment: | leftstick.mp4 added |
---|
by , 4 years ago
Attachment: | events.mp4 added |
---|
comment:2 by , 4 years ago
Summary: | Android: Mouse pointer control with analog joystick is unusable → BACKENDS: Android: Mouse pointer control with analog joystick is unusable |
---|
comment:3 by , 4 years ago
by , 4 years ago
Attachment: | Sixaxis.mp4 added |
---|
comment:4 by , 4 years ago
So I tried with the PS3 controller as well and it seems to behave the same way. Scummvm seems to wait on an update event of the current position but it stops sending one as soon as you are idle with the stick. This cause the cursor to stop with the last event instead of moving until receiving an event that the stick has returned to center (0/0) (or moving in a new delta/direction).
I’ve a attached a video showing both the Retroid:s and PS3:s left stick behaviour.
https://bugs.scummvm.org/attachment/ticket/11904/Sixaxis.mp4
comment:5 by , 4 years ago
I can’t find my wireless receiver (usb) for the 360 controllers unfortunentely and did not find a way to pair it with the charging cables.
comment:6 by , 4 years ago
I think I understand the issue.
I've tried to fix it, but I am unsure this is the best way to go about it.
Anyway, the fix should appear on the developer builds by tomorrow if all goes well.
As I said, I can only test with a USB device that is an analogue joystick (not a gamepad).
I can think of quite a few stuff to optimize or rework for controller support, but those can be done in the future -- or by another developer who owns such controllers and can test more quickly!
Let me know if the issue has been fixed or improved with the new development build
by , 4 years ago
Attachment: | left_stick_latest_stable.mp4 added |
---|
comment:7 by , 4 years ago
Seems to work great! Nice work
https://bugs.scummvm.org/attachment/ticket/11904/left_stick_latest_stable.mp4
comment:8 by , 4 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Nice, thanks for the feedback.
Closing this as fixed by commit
https://github.com/scummvm/scummvm/commit/64eb1c0afe0bd8af9cf331b8ec62c0c6eee927d2
I am a bit confused about the issue and the details pertaining to it. I am also not in possession of a controller that can connect to my android devices (I own only last gen controllers, ie Xbox 360 and PS3), and so far the only joystick I have to test with is an actual USB joystick :D from Saitek (!) from back in the early '00s.
Could you clarify: