utmapp / UTM

Virtual machines for iOS and macOS
https://getutm.app
Apache License 2.0
27.05k stars 1.34k forks source link

Weird scrolling behavior #5693

Open DUOLabs333 opened 1 year ago

DUOLabs333 commented 1 year ago

Describe the issue
When scrolling with an external mouse slowly, you may have to turn the wheel 2-4 times before the scrollbar reacts. This happens on every app I tried, both GUI and TUI. This does not happen with the trackpad --- you can drag slowly and the scrollbar will still react.

Configuration

Crash log

Debug log

Upload VM

osy commented 1 year ago

Yeah this is a side effect of how SPICE sends the scroll events. It translates them to button presses (up or down) and sends the button presses to QEMU which gets sent to the guest and the guest re-intreprets them as scroll. My guess is that in this process, the guest does not see the scroll until a few "presses" in a single direction.

osy commented 1 year ago

I think a proper fix would be to pass the scroll events directly to QEMU as HID events. Or a new SPICE channel to send the scroll events directly.

alberthastings commented 1 year ago

I also suffer from this problem.

Processor: Intel Core i5 O.S.: MacOS Ventura 13.6.1 UTM version: 4.4.4 (92) Mode: Virtualized and with QEmu Engine Guest O.S.: Debian 12.2.0 x64

I just recently migrated from VirtualBox. It really strikes me that, until now (2 months ago), no one has reported this REAL problem. Please fix it as soon as possible because, in this case, the use of UTM becomes practically unfeasible.

sokurenko commented 8 months ago

I have the same issue, are there any workarounds ?

Robpeter commented 6 months ago

Any workarounds on this mouse issue?

sokurenko commented 6 months ago

I was forced to buy magic trackpad, it works excellent.

kmatheussen commented 4 months ago

Last comment in the other ticket has a working workaround: https://github.com/utmapp/UTM/issues/3417#issuecomment-2139633302

In the Mos program (which is the fix), I had to set "Step", "Speed", and "Duration" to minimum values though, and it still scrolls more than I would like, but at least it scrolls immediately now.

kmatheussen commented 4 months ago

Hold on, "Duration" has to be set to maximum value, not minimum value. But now the mouse wheel scrolls far too slow in the host. Well, I guess it's possible to configure both host and client to be decent somehow.

kmatheussen commented 4 months ago

Now it's working properly everywhere. Trick was to add UTM to the "Exception" tab of MOS, and enable the "Allowlist Mode" check button (i.e. whitelist instead of blacklist). This way MOS only works on UTM.