Craig Emery

Fwd & Back Mouse buttons

32 posts in this topic

I've got a Logitech M570 cordless trackball.

It's a mouse with forward & backwards buttons.

It's connected to a Del XPS13 w/ Win10 Pro x64 running latest stable 1.8.8 synergy + a Pro license

On the server machine the extra fwd & back buttons work fine in things like chrome & Windows explorer.

The client is a Surface Pro (new model 5) w/ Win10 Pro etc same as the server.

Any reason why the Fwd & Back mouse buttons don't work?

Could it just be that because I've not got the logitech software running on the Surface?

Share this post


Link to post
Share on other sites

There are a lot of things to consider why those buttons don't work. What we can do is to check how it is being recognized by both machines when you click those. Set both machine's logging level to debug1 first.

*Before starting with the steps, make sure that both machine's Synergy is not running (stopped)

  1. Click Edit (on top)
  2. Click Settings
  3. Set Logging level to Debug1
  4. Click OK
  5. Restart Synergy by closing and re-opening it

* Do the same steps on both machines before trying to reconnect

Then try clicking the extra buttons while the mouse cursor is on the client's monitor. Post the logs that shows what it detects when clicking the extra buttons.

Share this post


Link to post
Share on other sites

The server shows:

[2017-07-11T10:50:15] DEBUG1: event: button press button=0

[2017-07-11T10:50:15] DEBUG1: event: button release button=0

[2017-07-11T10:50:15] DEBUG1: event: button press button=0

[2017-07-11T10:50:15] DEBUG1: event: button release button=0

And that was one press of the fwd button & one press of the back button.

The client shows nothing at that time at all.

Share this post


Link to post
Share on other sites

So looking at master branch in git.

synergy/src/lib/platform/MSWindowsScreen.cpp lines 1322 and 1329 both have

if (button != kButtonNone) { ... }

 

And kButtonNone is zero, the button in the DEBUG1 diagnostic.

I would propose sending the button event to the primary screen and letting the client deal with it, or do more inspection of (say) the mask, which isn't in the diag so I can't tell you what it is.

Share this post


Link to post
Share on other sites

Can you try the same thing while the cursor is on the server's screen. Post the logs it generates here.

Share this post


Link to post
Share on other sites

Seem to be exactly the same:

[2017-07-12T09:01:14] DEBUG1: event: button press button=0

[2017-07-12T09:01:14] DEBUG1: event: button release button=0

[2017-07-12T09:01:14] DEBUG1: event: button press button=0

[2017-07-12T09:01:14] DEBUG1: event: button release button=0

Share this post


Link to post
Share on other sites

I already did had SetPoint installed before installing Synergy.

Share this post


Link to post
Share on other sites

Last night an automated Microsoft update rebooted my client PC and now the fwd & back buttons are working! :-O

I usually hibernate my client PC, so perhaps the reboot was needed at some point.

Share this post


Link to post
Share on other sites

Sorry, nope. It's really flaky. It's stopped working again.

I rebooted both server and client. No joy.

Share this post


Link to post
Share on other sites

I don't know if it's related, but sometimes the scroll wheel stops working too but it comes back if I moved the cursor off the client and back again.

Share this post


Link to post
Share on other sites

What does it show on either your server or client logs (should be on debug1) when scroll stops?

Share this post


Link to post
Share on other sites

When it's failing

With the cursor on the server I see button 4 & 5 presses & releases in the log.

[2017-07-18T13:46:37] DEBUG1: event: button press button=4
[2017-07-18T13:46:37] DEBUG1: onMouseDown id=4
[2017-07-18T13:46:37] DEBUG1: event: button release button=4
[2017-07-18T13:46:37] DEBUG1: onMouseUp id=4
[2017-07-18T13:46:38] DEBUG1: event: button press button=5
[2017-07-18T13:46:38] DEBUG1: onMouseDown id=5
[2017-07-18T13:46:38] DEBUG1: event: button release button=5
[2017-07-18T13:46:38] DEBUG1: onMouseUp id=5

With the cursor on the client I see nothing after the "entering screen" message despite pressing the mouse buttons.

[2017-07-18T13:46:56] DEBUG1: recv enter, 1367,459 18 2000

[2017-07-18T13:46:56] INFO: entering screen

[2017-07-18T13:47:00] DEBUG1: recv mouse down id=1

 

Share this post


Link to post
Share on other sites

Thank you for the information @Craig Emery.

You'll need to save your current configuration as a configuration file first so that you can edit it to add the configuration for the mouse buttons.

  1. On your server's Synergy user interface, please click on File
  2. Click on Save configuration as...
  3. Save it to your preferred location

You can now open the file and add the configuration (below).

mousebutton(4) = keystroke(WWWBack)
mousebutton(5) = keystroke(WWWForward)

 Add it under the section: options. So it should look like this (might have a slight difference with the options on top of it depending on what you set up on your end).

section: options
	relativeMouseMoves = true
	screenSaverSync = false
	win32KeepForeground = true
	clipboardSharing = true
	switchCorners = none 
	switchCornerSize = 0
	mousebutton(4) = keystroke(WWWBack)
	mousebutton(5) = keystroke(WWWForward)
end

Let us know how it goes. ;)

***If the buttons does the other way around, you can edit the config file and switch the numbers(mousebutton) then save and apply it.

Share this post


Link to post
Share on other sites

OK, this is annoying.
It'll look like it's working fine.

So I lower the logging verbosity.

And then some time in the next day, it'll stop working.

It just did it.

I put the logging back to DEBUG1 and after applying it it starts working again.

 

It looks to me that it's the server restart that does the trick.

Edited by Craig Emery

Share this post


Link to post
Share on other sites

And it's stopped again.

The server shows the button events, when the pointer is on the server. But it doesn't show the events when the cursor is on the client.

I've tried restarting the client, that does nothing.

I wish I knew what was making the sporadic difference.

Share this post


Link to post
Share on other sites

Hi @Craig Emery

Please set both machine's logging level to Debug 1.

*Before starting with the steps, make sure that both machine's Synergy is not running (stopped)

  1. Click Edit (on top)
  2. Click Settings
  3. Set Logging level to Debug1
  4. Click OK
  5. Restart Synergy by closing and re-opening it

* Do the same steps on both machines before trying to reconnect

Paste the log results on Pastebin or Gist then post the link here.

Share this post


Link to post
Share on other sites

And like before, after restarting all the instances of Synergy I've got the buttons back again.

But it always seem to stop working again.

So I'll leave the logs running and send them in when they stop doing so.

Share this post


Link to post
Share on other sites

And like before, after restarting all the instances of Synergy I've got the buttons back again.

But it always seem to stop working again.

So I'll leave the logs running and send them in when they stop doing so.

 

I've put the client to sleep and to hibernation and upon re-connect, I've still got the mouse buttons.

Share this post


Link to post
Share on other sites

And just FYI:

I stopped the client and the server so the log files weren't changing whilst I was taking copies.

And after I restarted them both the damned buttons are working again.

They definitely were not. Honest! :-D 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now