Commit Graph

30 Commits

Author SHA1 Message Date
Andrew Nelless
b70b8e0fc4 Merge pull request #6276 from symless/issue6267-linux-switch
#6267 Stop detecting mouse movement for local input
2018-03-19 11:25:17 +00:00
Erik de Castro Lopo
cbd742ebb5 Fix -Wreorder warnings 2018-03-11 14:00:08 +11:00
Danielle Church
ffb0a5e1ed Initialize XWindowsScreen to offscreen for secondary displays (#6249)
XWindowsScreen::m_isOnScreen currently initializes to true for all
screens, meaning that every screen assumes it currently has control of
the shared mouse pointer when it starts up. For the primary (server)
screen, this is appropriate; when synergy starts, the local mouse should
still move the cursor on the local screen.

However, for secondary screens, this is incorrect; when the client
connects, it does _not_ have control of the shared mouse pointer, as the
server's mouse still moves the server's cursor.

This doesn't make much difference in most cases, as the secondary screen
behaves almost identically whether m_isOnScreen is true or false;
however, the local input detection code will only fire if the variable
is false, meaning that once the client connects, it first has to gain
the cursor and then lose it before it will detect local input.

Since the Synergy 2.0 service relies on synergy-core's local input
detection to determine when to switch to server mode, this means that a
Linux desktop can only ever claim primary if the shared cursor has at
some point moved to that screen, then left it.

This fixes the bug so that local input on a Linux desktop can reclaim
the primary role immediately after losing it.

Fixes #6248.
2018-03-09 15:27:56 +00:00
Jerry (Xinyu Hou)
ec3e0b2f71 #6267 Stop detecting mouse movement for local input 2018-03-08 16:40:23 +00:00
Andrew Nelless
75b2cd0b41 Apply clang-tidy fixes 2017-11-26 16:42:00 +00:00
Nick Bolton
4fe38023aa #6151 Rename synergy lib to core lib 2017-09-14 13:28:16 +01:00
Andrew Nelless
41721e9eac Partial local input detection for Linux 2017-05-19 20:16:30 +01:00
Andrew Nelless
0ac42d4d05 Experiment catching client-side native clicks 2017-05-16 14:26:19 +01:00
Martin Wilck
ed17e9275d XRandR: fix screen size calculation
XWindowsScreen::saveShape() using XRRSizes / XRRRotations to
calculate screen dimensions when XRandR and a rotated screen
was detected. This is wrong. The screen dimensions in the
display properties already reflect rotation.

Moreover, on servers supporting XRandR >= 1.2, the XRRSizes()
and XRRRotations calls from XRandR 1.1 will return the
properties of the "primary output" in XRandR 1.2 terms rather than
the properties of the entire screen.
2017-02-06 12:45:39 +00:00
Andreas Eriksson
ba55369d42 #3197 Disable regular motion events when using XInput 2 2017-01-25 20:36:56 +00:00
Christian Schmidt
21d4e6a908 #4477 Only allow mouse buttons 1-10 for XTestFakeButtons call.
These are the only valid ones:
[~]>for i in `seq 0 1 11`; do echo Testing $i; xte "mouseclick $i"; done
Testing 0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  132 (XTEST)
  Minor opcode of failed request:  2 (X_XTestFakeInput)
  Value in failed request:  0x0
  Serial number of failed request:  12
  Current serial number in output stream:  15
Testing 1
Testing 2
Testing 3
Testing 4
Testing 5
Testing 6
Testing 7
Testing 8
Testing 9
Testing 10
Testing 11
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  132 (XTEST)
  Minor opcode of failed request:  2 (X_XTestFakeInput)
  Value in failed request:  0xb
  Serial number of failed request:  12

And there are mice out there where buttons 11+ can be pressed accidentally,
terminating the synergy client and often leaving the system in a bad state.
2017-01-25 20:30:15 +00:00
Andrew Nelless
6892664f4a Fix cast of XRRNotifyEvent 2016-10-05 15:10:40 +01:00
Andrew Nelless
360d5a7c17 Merge Linux xrandr branch into v1.8.4 2016-10-05 15:05:31 +01:00
Andrew Nelless
dd88e324d7 #4420 Send screen shape change event on Linux (xrandr) 2016-10-05 12:54:57 +01:00
Andrew Nelless
50807bfcb6 Restore safe reinterpret_casts in XWindowsScreen 2016-10-05 12:46:16 +01:00
Andrew Nelless
f3d1470e58 Brutally replace all reinterpret_casts with static_casts 2016-10-05 12:46:16 +01:00
Andrew Nelless
c3c0913633 Update company copyright notice 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
f4bd2dab82 #3305 Fixed class name convention for Mac and Linux 2016-09-26 11:58:33 +01:00
Xinyu Hou (Jerry)
67f14da691 #3305 Added brightness up and down support 2016-09-26 11:58:33 +01:00
Andrew Nelless
8a4caba386 #5087 Ensure createBlankCursor() doesn't try to create 0x0 cursor
XQueryBestCursor sometimes returns 0 for both width and height of the
cursor pixmap. Also caused #5322 and #5068
2016-08-08 14:38:26 +01:00
Jerry (Xinyu Hou)
86d5567e74 Removed redundant logging #4721 2015-07-31 13:57:18 -07:00
Jerry (Xinyu Hou)
7dbe30cb61 Fixed Linux uses wrong clipboard event #4601 2015-05-20 14:43:58 -07:00
Nigel Armstrong
d71304ee55 Modified header of every file COPYING to LICENSE
Modified to match the updated name of the license file
2015-05-06 22:12:44 -04:00
Xinyu Hou
e5e0a3b653 Drop C prefix on Linux 2014-11-12 11:28:41 +00:00
Nick Bolton
41d6080028 changed company name in copyright notice 2014-11-11 13:52:03 +00:00
Nick Bolton
e8e156f0e2 dropped "c" prefix from class names 2014-11-11 13:51:47 +00:00
Patrick Decat
aeab72f724 Apply patch from https://github.com/synergy/synergy/issues/3749 2014-10-15 14:51:44 +02:00
Nick Bolton
0745d5884b Task #3969 - Merge String.cpp and StringUtil.cpp 2014-03-21 08:32:36 +00:00
Nick Bolton
4675f29a4c code style fixes:
- reordered includes to prevent accidental dependencies.
- moved arch specific files into their own folder (easier to include with cmake).
- renamed non-class files to reflect new code style (lower case with underscores).
- using full relative paths for includes (easier for understanding dependencies).
- using #pragma once instead of classic-style header guards.
2014-02-28 12:36:45 +00:00
Nick Bolton
8e74710dad code style: dropped C prefix 2014-02-27 17:45:17 +00:00