You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the Arkanoid controller input uses the same code as the Zapper input. This means that if you change the Zapper from touchscreen to mouse, etc., the Arkanoid controller makes a corresponding change, which isn't the behavior a user would expect.
Also, on my Win10 laptop, I tried using the touchpad as the Arkanoid controller, going through all the Zapper options. If memory serves (I don't have the ROM with me right now), with Zapper set to mouse, it didn't work at all. With Zapper set to touchscreen, it sort of worked, but if you went too far left or right, the paddle would jump on screen to the opposite side.
If I have time, I will try to see if I can sort all this out and post a PR, though I won't complain if someone beats me to it, or has some suggestions on how to do this properly.
My thinking is that ideally we want three modes for emulating the Arkanoid controller:
(1) touchscreen
(2) absolute mouse with movement scaled to the play area
(3) standard (relative) mouse with adjustable sensitivity.
Option (1) would be for touchscreen (or Wacom tablets or, if one is masochistic, lightguns). Here, movement should be capped at the edges of the Arkanoid controller movement, and I saw code to do that, but something goes wrong at least on Windows.
Option (2) would be for potentiometer-based encoders that emulate an absolute mouse. These encoders have a hard stop, and we should set it up so a full screen width corresponds to the full range of Arkanoid controller movement.
Option (3) is for regular mice, touchpads and arcade spinners. Ideally the sensitivity would be adjustable.
Option (1) is like the Zapper touchscreen option. Option (3) is like the Zapper mouse+crosshair option (minus the crosshairs). Option (2) is like the Zapper touchscreen option but with different scaling.
The text was updated successfully, but these errors were encountered:
arpruss
changed the title
Arkanoid controller uses Zapper input code!
Arkanoid controller uses Zapper input code
Mar 7, 2023
Currently, the Arkanoid controller input uses the same code as the Zapper input. This means that if you change the Zapper from touchscreen to mouse, etc., the Arkanoid controller makes a corresponding change, which isn't the behavior a user would expect.
Also, on my Win10 laptop, I tried using the touchpad as the Arkanoid controller, going through all the Zapper options. If memory serves (I don't have the ROM with me right now), with Zapper set to mouse, it didn't work at all. With Zapper set to touchscreen, it sort of worked, but if you went too far left or right, the paddle would jump on screen to the opposite side.
If I have time, I will try to see if I can sort all this out and post a PR, though I won't complain if someone beats me to it, or has some suggestions on how to do this properly.
My thinking is that ideally we want three modes for emulating the Arkanoid controller:
(1) touchscreen
(2) absolute mouse with movement scaled to the play area
(3) standard (relative) mouse with adjustable sensitivity.
Option (1) would be for touchscreen (or Wacom tablets or, if one is masochistic, lightguns). Here, movement should be capped at the edges of the Arkanoid controller movement, and I saw code to do that, but something goes wrong at least on Windows.
Option (2) would be for potentiometer-based encoders that emulate an absolute mouse. These encoders have a hard stop, and we should set it up so a full screen width corresponds to the full range of Arkanoid controller movement.
Option (3) is for regular mice, touchpads and arcade spinners. Ideally the sensitivity would be adjustable.
Option (1) is like the Zapper touchscreen option. Option (3) is like the Zapper mouse+crosshair option (minus the crosshairs). Option (2) is like the Zapper touchscreen option but with different scaling.
The text was updated successfully, but these errors were encountered: