Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mouse wheel scroll stops working if you move mouse cursor while pressing Shift #7306

Open
hatarist opened this issue Nov 30, 2023 · 0 comments
Labels

Comments

@hatarist
Copy link

hatarist commented Nov 30, 2023

Operating Systems

Server: macOS Ventura 13.6
Client: Windows 11

Synergy Version

1.14.6-stable

Steps to Reproduce

Move the mouse cursor from the server (macOS) to the connected client (Windows). Some window that has both horizontal and vertical scrollbars available is opened on the client (just to see whether scroll events are working or not).

Hod down Shift (keycode=56 on server, outmask=0x0001), move scroll wheel in whatever direction - it works as expected.
But, if you move the mouse cursor (while still holding Shift) and then try to use mouse wheel - it won't trigger any mouse wheel events on the client anymore. Even if you stop holding Shift and try using the mouse wheel again, it won't trigger vertical scroll, either - not until you move the mouse cursor again.

Looks like the state of Shift being hold breaks mouse wheel scrolling when you move the mouse cursor. Well, it's not exactly breaking (judging by the logs) - but it starts using another axis to tell the delta on mouse wheel movements, and neither of it (vertical/horizontal scrolling) works on client when it's like that. Then, after mouse cursor moves, it goes back to normal.

Log URLs

Server log: https://pastebin.com/UjZiVRUQ
Client log: https://pastebin.com/2NbsrG9s

excerpts from logs with my comments:

...
# scroll up three times, scroll down three times, OK
server: [2023-11-30T13:43:20] DEBUG1: event: button wheel delta=+0,+120
client: [2023-11-30T13:43:20] DEBUG2: recv mouse wheel +0,+120

# hold left Shift
server: [2023-11-30T13:43:26] DEBUG1: event: Key event kind: 12, keycode=56
server: [2023-11-30T13:43:26] DEBUG1: mask=20102 outMask=0001
client: [2023-11-30T13:43:26] DEBUG1: recv key down id=0x0000efe1, mask=0x0001, button=0x0039, lang="en"

# scroll again (while holding Shift), everything's OK
server: [2023-11-30T13:43:28] DEBUG1: event: button wheel delta=+0,+120   
client: [2023-11-30T13:43:28] DEBUG2: recv mouse wheel +0,+120

# moved the mouse cursor
server: [2023-11-30T13:43:36] DEBUG2: mouse move +959.102905,+599.401917
client: [2023-11-30T13:43:36] DEBUG2: recv mouse move 956,763

# tried to move mouse wheel again, it seem to have sent horizontal scrolling maybe? but neither worked on the client
server: [2023-11-30T13:43:39] DEBUG1: event: button wheel delta=+120,+0
client: [2023-11-30T13:43:39] DEBUG2: recv mouse wheel +120,+0

# let go left Shift
server: [2023-11-30T13:43:45] DEBUG1: event: Key event kind: 12, keycode=56
server: [2023-11-30T13:43:45] DEBUG1: mask=0100 outMask=0000
client: [2023-11-30T13:43:45] DEBUG1: recv key up id=0x0000efe1, mask=0x0000, button=0x0039

# tried to scroll mouse wheel again - it also sent delta=120 on the other axis, neither of the scroll worked on client
server: [2023-11-30T13:43:47] DEBUG1: event: button wheel delta=+120,+0
client: [2023-11-30T13:43:47] DEBUG2: recv mouse wheel +120,+0

# moved the mouse cursor again
server: [2023-11-30T13:43:54] DEBUG2: mouse move +959.593018,+600.000000
client: [2023-11-30T13:43:54] DEBUG2: recv mouse move 955,758

# tried to scroll mouse wheel again - now it worked on client
server: [2023-11-30T13:43:56] DEBUG1: event: button wheel delta=+0,+120
client: [2023-11-30T13:43:56] DEBUG2: recv mouse wheel +0,+120

Also, I noticed that when I do Shift+Mouse wheel scroll on MacOS server, it gets detected as +120,0 (or -120,0) - and it works as horizontal scrolling. However, such events - when sent to the Windows client - don't trigger any movement at all (neither horizontal nor vertical). So, the client's mouse wheel scroll events work only if it's Y axis (i.e. 0,+120 or 0,-120). So if you are holding shift and Synergy sends 0,+120 (which should be vertical scroll, i guess) and synergy client receives 0,+120 as well, it triggers horizontal scroll (as expected).

@hatarist hatarist added the bug label Nov 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant