a2stuff / a2d

Disassembly of the Apple II Desktop - ProDOS GUI
https://a2desktop.com
277 stars 20 forks source link

Mouse Track Speed in Control Panel #273

Closed matthewmpower closed 4 years ago

matthewmpower commented 4 years ago

Being able to adjust the mouse tracking speed along with the double-click speed would be fantastic!

inexorabletash commented 4 years ago

Plausible, using the MGTK ScaleMouse call. When you say "fantastic" are you currently annoyed by the scale factor in some particular configuration, or with your emulation/hardware setup, or ...? Just wondering what you'd consider an improvement.

matthewmpower commented 4 years ago

Ahh, ok. My setup is a IIe with a FastChip. I have other accelerators as well. I don't bother with emulators very often. The tracking is usable, just too slow. CPU speed does not seed to affect the tracking speed (at least I don't notice it). So my feature request is to add to control panel a mouse-speed slider. I like to cross the screen with one sweep of the mouse instead of picking it up and repeating. Perhaps others would like the option to slow it down. Thank you!

inexorabletash commented 4 years ago

ScaleMouse does appear to work, at least in a IIgs emulator. (The way Virtual II emulates the mouse means it has no effect there.)

MGTK on the IIe and IIgs uses (1,0) scaling (or 2:1x and 1:1y), and on the IIc and IIc+ uses (2,1) scaling (or 4:1x and 2:1y) by default per tech notes.

The scaling range is 0...3. Easiest is to offer "slow" and "fast", where the latter doubles the defaults for a given platform.

                      ##  ##  ##  ######
                                        ##
                                          ##
                                          ##
                                          ##

                                         ####

                                       ########

                                     ############
                            #########            #########
                          ##                              ##
            ##  ##  ##  ##    #  ####################  #    ##
                        ##   #   ##                ##   #   ##
           ##  ##  ###  ##   #   ## # # # # # # # ###   #   ##
                        ##   #   ##                ##   #   ##
          ##  ##  ####  ##   #   ##                ##   #   ##
                        ##   #   ####################   #   ##
         ##  ##  #####  ##   #                          #   ##
                        ##   #                          #   ##
        ##  ##  ######  ##   #                          #   ##
                        ##   #                          #   ##
       ##  ##  #######  ##   #                          #   ##
                        ##   #                          #   ##
      ##  ##  ########  ##   #                          #   ##
                        ##   #                          #   ##
    ##  ##  ##########  ##   #                          #   ##
                        ##   #                          #   ##
  ##  ##  ############  ##   #                          #   ##
                        ##   #                          #   ##
##  ##  ##############  ##   #                          #   ##
                        ##    ##########################    ##
                          ##                              ##
                            ##############################

I'll see where I can wedge this into the control panel. Probably need to pull Joystick Calibration out into its own CP.

inexorabletash commented 4 years ago

image

Give this a try in the next release? (Or maybe you're building it yourself...?)

This has no effect on emulators like Virtual II that map system mouse position into the emulated clamped mouse position. It works on GSplus though. Haven't tried on real hardware yet.

Only gotcha is that when you click on the Slow/Fast radio buttons the mouse cursor warps to a new position (scaled to 1/2x or 2x the current x/y position). MGTK tells the mouse card what resolution it wants (e.g. 280x192, 140x96, 70x48, etc) and reads the mouse position directly. It never forces the mouse to a position, so there's no call to adjust the current mouse pos. Since this will not be a frequently used feature I'm not going to waste bytes on fixing it.

matthewmpower commented 4 years ago

This looks awesome! I haven't tried building a2 desktop yet, but I'm going to give it a shot.

On Wed, Nov 11, 2020 at 11:21 PM Joshua Bell notifications@github.com wrote:

[image: image] https://user-images.githubusercontent.com/771547/98895039-fae68500-245a-11eb-8982-7e513a93e6c0.png

Give this a try in the next release? (Or maybe you're building it yourself...?)

This has no effect on emulators like Virtual II that map system mouse position into the emulated clamped mouse position. It works on GSplus though. Haven't tried on real hardware yet.

Only gotcha is that when you click on the Slow/Fast radio buttons the mouse cursor warps to a new position (scaled to 1/2x or 2x the current x/y position). MGTK tells the mouse card what resolution it wants (e.g. 280x192, 140x96, 70x48, etc) and reads the mouse position directly. It never forces the mouse to a position, so there's no call to adjust the current mouse pos. Since this will not be a frequently used feature I'm not going to waste bytes on fixing it.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/a2stuff/a2d/issues/273#issuecomment-725826458, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQ7DLWR2JHJ37CAOO5SOBALSPNPFXANCNFSM4RJVVA5Q .

I3arana commented 1 year ago

Many thanks