Commit Graph

331 Commits

Author SHA1 Message Date
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
Jiwoong Yoo f35e3e5e06 #5578 Virtual key table mapped for inactive IMEs
Virtual key table is mapped for all IMEs not just active IME.

And this causes the wrong modifier key to be pressed. For example, if you use Korean and Japanese IMEs, pressing the Hangul key makes alt key pressed. So when I press just 'a', client interprets that as 'alt-a'.
2017-01-25 21:07:44 +00:00
Jiwoong Yoo 180d3e57d2 #5196 Korean and Japanese keyboards have same key code 2017-01-25 21:04:13 +00:00
James McMullan 0eff5a95be #3992 macOS: Dragging broken in Unity
OSXScreen was not adding mouse movement deltas to mouse events while
dragging. Some 3D applications rely on these deltas to implement
dragging. Adding the mouse deltas to the mouse event fixes dragging in
these applications. Ex: Unity3d
2017-01-25 20:46:00 +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
Fábio Oliveira 3d3b7ca881 #4288 Remove auto Alt+Printscreen on Windows
As per issue https://github.com/synergy/synergy/issues/4288
2017-01-25 20:25:49 +00:00
Andrew Nelless c27c094f9c Merge changes from v1.8.6 and v1.8.7 2017-01-20 23:18:03 +00:00
Jerry (Xinyu Hou) e8145aa779 #5592 Post keyboard events to lower level HID client 2016-11-22 15:19:58 +00:00
Andrew Nelless 96efe5fb73 Merge changes from v1.8.5 2016-10-31 16:14:39 +00:00
Jerry (Xinyu Hou) 0d4fd6dcef #5186 Reorder some functions call to make it clear 2016-10-28 06:00:11 -07:00
Jerry (Xinyu Hou) c2372bc9a8 #5186 Remove accumulate fraction DPI calculation 2016-10-28 05:24:07 -07:00
Jerry (Xinyu Hou) cf397a0d6f #5186 Remove Dpi calculation code 2016-10-28 04:50:06 -07:00
Andrew Nelless 5ea1fdc7c6 #5620 Remove deprecated NXClickTime call 2016-10-12 16:10:57 +01:00
Andrew Nelless df88faaad8 #5620 Convert OSXScreen into Objective C++ 2016-10-12 15:43:01 +01:00
Andrew Nelless 2b9f48602c #5620 Make Xcode 8 happy with null cast 2016-10-12 15:09:29 +01:00
Andrew Nelless 964f1aa093 Merge changes made in v1.8.4 2016-10-12 10:41:44 +01:00
Andrew Magill 217eb475de #5183 Accumulate fractional moves across updates. 2016-10-06 15:42:29 +01: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 26c11ec3c9 Restore horrible reinterpret_casts in OSXUchrKeyResource 2016-10-05 12:46:17 +01:00
Andrew Nelless 602fd3f649 Restore safe reinterpret_casts in OSXKeyState 2016-10-05 12:46:17 +01:00
Andrew Nelless 8072594008 Restore safe reinterpret_casts in OSXClipboardBMPConverter 2016-10-05 12:46:17 +01:00
Andrew Nelless 19b9be4593 Restore safe reinterpret_casts in MSWindowsScreenSaver 2016-10-05 12:46:17 +01:00
Andrew Nelless 788f6eab9f Restore safe reinterpret_casts in MSWindowsScreen 2016-10-05 12:46:17 +01:00
Andrew Nelless 2a5dc62747 Restore safe reinterpret_casts in MSWindowsDesks 2016-10-05 12:46:17 +01:00
Andrew Nelless f7ad162634 Fix up casts in MSWindowsClipboardBitmapConverter 2016-10-05 12:46:17 +01:00
Andrew Nelless 16977788d3 Restore safe reinterpret_casts in XWindowsClipboardBMPConverter 2016-10-05 12:46:16 +01:00
Andrew Nelless 5b8fb69124 Partially de-reinterpret_cast XWindowsClipboard 2016-10-05 12:46:16 +01:00
Andrew Nelless 5272c9dde4 Restore safe reinterpret_casts in XWindowsUtil 2016-10-05 12:46:16 +01:00
Andrew Nelless 50807bfcb6 Restore safe reinterpret_casts in XWindowsScreen 2016-10-05 12:46:16 +01:00
Andrew Nelless 055370412c Restore safe reinterpret_cast in clipboard converter 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 c7bf59e6c1 Merge changes from v1.8.3 2016-09-26 15:33:57 +01:00
Andrew Nelless c418d66f60 #3305 Rename macOS MediaKeySimulator to MediaKeySupport 2016-09-26 11:58:33 +01:00
Andrew Nelless e76b4a7747 #3305 Send macOS media key events to clients 2016-09-26 11:58:33 +01:00
Andrew Nelless 1b0d4308e2 #3305 Map brightness keys correctly on macOS servers 2016-09-26 11:58:33 +01:00
Andrew Nelless 6294679fcd #3305 Detect media keys on macOS server 2016-09-26 11:58:33 +01:00
Andrew Nelless 6d5b2707c8 #3305 Add logging for unknown macOS events 2016-09-26 11:58:33 +01:00
Andrew Nelless c3c0913633 Update company copyright notice 2016-09-26 11:58:33 +01:00
Andrew Nelless 36be2051c2 Change company domain name 2016-09-26 11:58:33 +01:00
Andrew Nelless 7d11004575 #4768 Expand scope of X display lock in getCurrentTime() 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou) de91be1035 #2765 Added unit tests for KeyMap 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou) 7a0fae2f6c #2765 Fixed wrong bit shifting to match OSX modifier mask 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou) 57950d39a3 Revert "Revert "Used input source ID as the key in group map #2765""
This reverts commit a70cba80ea.
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
Jerry (Xinyu Hou) df8443e795 #3305 Fixed Linux key types incompatible issue 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou) 1a4a313ece #3305 Added mission control and launchpad support 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou) ab4f59eac4 #3305 Made Mac clients aware of brightness keys 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
Jerry (Xinyu Hou) d9a6c14170 #3305 Used Mac native way to simulate media keys 2016-09-26 11:58:33 +01:00
Jake Petroules 433cfc232c #4978 Removed obsolete code for unsupported OS versions. 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou) 42494a72a5 #3305 Fixed class name convention for Mac and Linux 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou) e742269ada #3305 Fixed Linux key types incompatible issue 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou) 8f99911636 #3305 Added mission control and launchpad support 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou) 1f78fe6f6d #3305 Made Mac clients aware of brightness keys 2016-08-08 16:41:01 +01:00
Xinyu Hou (Jerry) 8058ed06a1 #3305 Added brightness up and down support 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou) 9115d5570b #3305 Used Mac native way to simulate media keys 2016-08-08 16:41:01 +01:00
Andrew Nelless f6e1dd51fa #4768 Workaround locking issue in X11 getCurrentTime() 2016-08-08 14:38:26 +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) a70cba80ea Revert "Used input source ID as the key in group map #2765"
This reverts commit 4208e89eaec211d332af9ac7b977107d6712e8dd.
2016-08-08 14:36:43 +01:00
Jerry (Xinyu Hou) 17c35f53f4 Applied name convention to KeyResource #2765 2016-08-08 14:27:13 +01:00
Jerry (Xinyu Hou) 8003c4a2ad Made IKeyResource OSX specific #2765 2016-08-08 14:27:13 +01:00
Jerry (Xinyu Hou) 6d2040b698 Reorganised KeyResource #2765 2016-08-08 14:27:13 +01:00
Jerry (Xinyu Hou) 6d93a28c2e Used input source ID as the key in group map #2765 2016-08-08 14:27:13 +01:00
Jerry (Xinyu Hou) 7f786cc884 Refactor KeyResource into own files #2765 2016-08-08 14:27:13 +01:00
Jerry (Xinyu Hou) ed0888880c Rename CUCHRKeyResource to UchrKeyResource #2765 2016-08-08 14:27:13 +01:00
Jerry (Xinyu Hou) 929431f5fc Remove support for OSX 10.4 and below #2765 2016-08-08 14:27:13 +01:00
Asbjorn Kjaer c7e723030b Fix log string to use the re-mapped button instead of the input ID #2975 2016-08-08 14:27:13 +01:00
Asbjorn Kjaer d93ff2f53f Fix comment #2975 2016-08-08 14:27:13 +01:00
Asbjorn Kjaer 5901fa8aed Correctly translate mouse events to the right and middle buttons #2975 2016-08-08 14:27:13 +01:00
Erik Swan 5e35fe2c1b Fix mouse speed increase with sleep on Mac server
As reported in #451, with the Mac server, sleeping and resuming (on the
server) causes the mouse speed to double on the client upon resume.

Fix by removing the CFRunLoopSource from the run loop on screen disable
before releasing it. CFRunLoopAddSource in enable() retains the
CFRunLoopSource, so even though the source is released in disable(), the
run loop still has a copy. When the server comes out of sleep and the
screen is enable()'d, another event tap and run loop source are created
and added to the run loop, so the callback is now being called twice for
every mouse movement, and so on for every additional time the server
sleeps.

This is a better approach than the fix in 267f3ac41f, because although
that fixes the issue by disabling the event tap before the event tap and
run loop source are released, a memory leak still occurs since they are
retained by the run loop.

Additional references on the behavior of CFRunLoopAddSource:
https://developer.apple.com/library/mac/documentation/CoreFoundation/Reference/CFRunLoopRef/index.html#//apple_ref/c/func/CFRunLoopAddSource
http://www.cocoabuilder.com/archive/cocoa/242438-trouble-with-event-taps.html
2016-03-15 12:57:54 -07:00
Jerry (Xinyu Hou) 5661a41d42 Fix code style 2016-03-15 12:57:06 -07:00
XinyuHou e5c1821088 Outpup log before return #4740 2016-03-15 12:57:06 -07:00
Jerry (Xinyu Hou) 3ce078f0e8 Fix wrong elevate information #5041 2016-03-15 12:57:06 -07:00
Jerry (Xinyu Hou) 70104190e4 Add elevate log info #5041 2016-03-15 12:57:06 -07:00
Jerry (Xinyu Hou) 20d9b80291 Remove checking system clipboard formats #5041 2016-03-15 12:57:06 -07:00
Jerry (Xinyu Hou) 1ac8db56d9 Revert "Workaround for Issue #5041 - prevent synergys from shutting down when screen saver activates"
This reverts commit beac70f90c37b626cb7b0ea7bf2d18fdd3729013.
2016-03-15 12:57:06 -07:00
Jerry (Xinyu Hou) 92a3c47ed2 Revert "Issue #5041 - properly update activeDesk and activeDeskName when screen saver activates"
This reverts commit 3615add7b80838dc8b93cb89f2c8f87254db6c21.
2016-03-15 12:57:06 -07:00
Jerry (Xinyu Hou) da5e9527a3 Revert "Refactor Issue #5041 workaround to make sure we still send the SCREENSAVER message"
This reverts commit 43ba3e889f88e526673ff70caf2b3efe26b13363.
2016-03-15 12:57:05 -07:00
Jerry (Xinyu Hou) 4d19941428 Revert "Revert to old behavior of checkDesk(), add workaround to broken EnumClipboardFormats() in the case where the server is started while the screen saver is active."
This reverts commit 38209e5079d1695ddd561f8045647e077fccff91.
2016-03-15 12:57:05 -07:00
Jerry (Xinyu Hou) 42038ce24e Revert "Minor cosmetic change - missing some debug stuff in this branch."
This reverts commit bd660fedbfbff2df1bf5921826dd7717c2839161.
2016-03-15 12:57:05 -07:00
Jerry (Xinyu Hou) 4344b16a20 Remove some hack code #2909 2016-03-15 12:57:05 -07:00
Jerry (Xinyu Hou) 6d0f820db5 Fix indentations 2016-03-15 12:57:05 -07:00
Jerry (Xinyu Hou) ee20d08080 Revert "Revert "Fixed using wrong local variable #4723""
This reverts commit a0beae0f4b5578a16178e6324f2d1f588caeb442.
2016-03-15 12:51:42 -07:00
Jerry (Xinyu Hou) 5fae9efe78 Revert "Revert "Added timeout for waiting active destop result #4723""
This reverts commit 0f8a5687719605af59d901f08dfbb5dde74a7dc9.
2016-03-15 12:51:42 -07:00
Jerry (Xinyu Hou) 2fb36c4f86 Revert "Revert "workaround for Fast cursor on any client with Mac server #451""
This reverts commit 6470240379c896ee13ee98b9a8c951d22f4351c1.
2016-03-15 12:51:22 -07:00
Nye Liu 6f904e55f1 Minor cosmetic change - missing some debug stuff in this branch. 2016-03-15 12:47:34 -07:00
Nye Liu bab2e985a3 Revert to old behavior of checkDesk(), add workaround to broken EnumClipboardFormats() in the case where the server is started while the screen saver is active. 2016-03-15 12:47:33 -07:00
Nye Liu 425fc8b925 Refactor Issue #5041 workaround to make sure we still send the SCREENSAVER message 2016-03-15 12:47:33 -07:00
Nye Liu 9036d42469 Issue #5041 - properly update activeDesk and activeDeskName when screen saver activates
Ensure that we actually kill the server if we go from screen saver desk to real
desk.
2016-03-15 12:47:33 -07:00
Nye Liu 1fc28392d0 Add error message to help debug Issue #5041 2016-03-15 12:47:33 -07:00
Nye Liu 3e37518b92 Workaround for Issue #5041 - prevent synergys from shutting down when screen saver activates
When it is restarted, and screen saver is active, the clipboard no longer works
correctly.

The desk swap detection routine just below does not work properly when the
desktop goes from screensaver back to normal. If it did, probably this
workaround would not be needed.
2016-03-15 12:47:33 -07:00
Nye Liu b85b9125ea Remove inadvertent additions 2016-03-15 12:46:45 -07:00
Nye Liu 8f0530c507 Add retry to CondVarBase wait(), make sure Stopwatch is started on construction (Issue #4735)
* ArchMultithreadPosix::waitCondVar() returns every 100ms, so retry until we
  hit timeout.

* Stopwatch constructor should be called with "false" (not "true") to make sure
  Stopwatch is actually running when instantiated.
2016-03-15 12:46:45 -07:00
Jerry (Xinyu Hou) 0207b697e3 Remove debug logging #5030 2015-11-30 12:01:00 -08:00
Jerry (Xinyu Hou) 42f201785c Revert "Added timeout for waiting active destop result #4723"
This reverts commit aec52c36e6.
2015-11-24 11:53:38 -08:00
Jerry (Xinyu Hou) 539ac32136 Revert "Fixed using wrong local variable #4723"
This reverts commit d7063a87c8.
2015-11-24 11:53:18 -08:00
Jerry (Xinyu Hou) 8a2106a09e Revert "workaround for Fast cursor on any client with Mac server #451"
This reverts commit 267f3ac41f.
2015-11-24 11:40:04 -08:00