* SYNERGY-1397 MacOS function keys
* SYNERGY-1397 Update ChangeLog and version number
* SYNERGY-1397 Remove extra comment
* SYNERGY-1397 Remove assertions
* SYNERGY-1397 Change log level to warning
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix checkbox spelling
* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Temporary disable language sync logic
* SYNERGY-907 client tray language switcher reverts to en
*Update changelog
* Synergy 907 client tray language switcher reverts to en
*Fix sonar
* Synergy 907 client tray language switcher reverts to en
*Fix sonar
* Synergy 907 client tray language switcher reverts to en
*Fix chnagelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Add prototype of keyboard layout names transfer(Windows part)
* SYNERGY-907 Client tray language switcher reverts to EN
*Add keyboard layout determination(Mac part)
* SYNERGY-907 Client tray language switcher reverts to EN
*Add language check on client side
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix Windows build
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add logs
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add protocol update
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add server side of language sync
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Remove unused variables
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*AFix mac language determination
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Clean up logs
* SYNERGY-907 Client tray language switcher reverts to EN
*Replace logs with messagebox on Windows
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add mac messagebox, revert protocol changes
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix minor language bugs
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Update chagelog
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Minor fixes
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix Linux build
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar code smells
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix Linux build
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add Linux language determination
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar codesmells
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar codesmells
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Replace custom xml parser with tinyxml2
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix PR comments
* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix unix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix unix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smells
* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Replace tinuxml with pugixml
* SYNERGY-907 Client tray language switcher reverts to EN
*Add pugixml as a git submodule
* SYNERGY-907 Client tray language switcher reverts to EN
*Add missed files
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smells
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix comments from PR
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smell
* SYNERGY-907 Client tray language switcher reverts to EN
*add tests for x11 files parser
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix include for unix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Add test coverage for new logic
* SYNERGY-907 Client tray language switcher reverts to EN
*Add test coverage for new logic
* SYNERGY-907 Client tray language switcher reverts to EN
*Add code coverage
*Fix code smells
* SYNERGY-907 Client tray language switcher reverts to EN
*Return missed file
* SYNERGY-907 Client tray language switcher reverts to EN
*Improve code coverage of x11Layouts parser
* SYNERGY-907 Client tray language switcher reverts to EN
*Add client args code coverage
* SYNERGY-907 Client tray language switcher reverts to EN
*Return runtime language sync
* SYNERGY-907 Client tray language switcher reverts to EN
*Return windows current keyboard layout determination
* SYNERGY-907 Client tray language switcher reverts to EN
*Return Linux language determination
* SYNERGY-907 Client tray language switcher reverts to EN
*Remove debug code
* SYNERGY-907 Client tray language switcher reverts to EN
*Move back Carbon current language determination
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change for existed languages on iOS and Linux
* SYNERGY-907 Client tray language switcher reverts to EN
*Return protocol missed parameter
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS language change
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language sync (when it is disabled)
* SYNERGY-907 Client tray language switcher reverts to EN
*Add correct language choosing
*Fix code coverage tests
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix windows build and tests
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS build and tests
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change for first letter in keystroke
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS build
* SYNERGY-907 Client tray language switcher reverts to EN
*Partially fix Sonar codesmells
* SYNERGY-907 Client tray language switcher reverts to EN
*Partially fix Sonar codesmells
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Added logging for language change process
*Fixed language change process for Windows
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix double layout change in key repeat event
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix determination of current language on windows
*Removed legacy code of restoring language when leaving screen
*Fix double group change on Linux
* SYNERGY-907 Client tray language switcher reverts to EN
*Temp fix for language change on Linux
* SYNERGY-907 Client tray language switcher reverts to EN
*Add XSync to normalize Linux language polling and setting
*Remove setxkbmap using
* SYNERGY-907 Client tray language switcher reverts to EN
*Add keyboard layout changing on Linux with DBus
* SYNERGY-907 Client tray language switcher reverts to EN
*Add comments to new language change function
*Logical fix
* SYNERGY-907 Client tray language switcher reverts to EN
*Remove input attaching
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change on macOS
* SYNERGY-907 Fix review issues
* SYNERGY-907 Fix review comment for Windows
* SYNERGY-907 Removed debug trace
Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: user <user@users-Mac-mini.local>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
* SYNERGY-1089 There is no notification if user moves pointer between clients
* SYNERGY-1089 There is no notification if user moves pointer between 2 clients
* Update ChangeLog
* SYNERGY-1050 Synergy1. Floating issue. User is not able to paste to client in some cases
*Fix copy paste logic, when OS reported about clipboard update too late
* SYNERGY-1050 Synergy1. Floating issue. User is not able to paste to client in some cases
Update changelog
Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
* SYNERGY-988 - Normalize scrolling direction on Mac
* SYNERGY-988 - Scroll direction check on Windows
* SYNERGY-988 - Add check for registry key presence
* SYNERGY-988 - Normalize scrolling directino on Linux
* SYNERGY-988 - Detach scroll direction check on Windows
* SYNERGY-988 - Update changelog
* SYNERGY-988 - Resolve code smells
* SYNERGY-988 - Normalize scroll direction for Linux servers
* SYNERGY-988 - Removed unnecessary INFO level logs
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
* Support "Kana" and "Eisu" keys on Japanese Apple Pro Keyboard (JIS)
* Update ChangeLog
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
* Disable thread execution state changes preventing the system from going to sleep
* Update changelog
* Added option to the GUI
* Only set system to be in use
* Remove leftover code affecting display and system power off
* Add option parsing to the correct place
* Update changelog
* Remove prevent sleep option from struct initializer, replace NULL with nullptr in relevant places
* Remove duplicated code
* Prevent sleep on Mac clients
* SYNERGY-856 - Return language sync option
* Disable thread execution state changes preventing the system from going to sleep
* Update changelog
* Remove leftover code affecting display and system power off
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
* (WIP)-all issues corrected, tests started
* first test passing
alternative solution for SonarCloud check
fixed for to while translation
added changelog item
adding tests and fixes
more tests; avoid compiling BSD Tests on Windows
attempting a BSD compile patch
more tests
borrowing symbol detection from another test
more ambitious testing
changed the order of assertions for better info
more tests
fixed clear errors before executing
expanding transformation to use string comparison
including terminator on translation count
a different flag for testing MS Windows
differente Windows flag
more tests
fixing platform encoding match
Windows compiler difference on #ifdef
Google Test macro usage fix
test added
added keymap test
test and initialisation fixed
ms cl issue with named init
test for keymap
exercising keystate
more configuration exercises
one more test for config
added Unicode test
an IPv6 test
more portable networking code
using our own platform switching code
avoiding strcpy
* Fixed typo in Changelog.
* +appropriate memory handling
* one more test for coverage
* a tad more coverage
* expanded test on Config
Co-authored-by: Max <maxmommersteeg@hotmail.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
Capture all process information as they are created to properly kill off handles when process are stopped, also added in a kill everything when the program cleans up all synergy(s|c) processes
QLength() may return 0 even if there are events pending because they
need to be read from the display socket in order to become visible. We
must use XPending() which will poll the socket if QLength() == 0.
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.
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'.
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
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.
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/CFRunLoopAddSourcehttp://www.cocoabuilder.com/archive/cocoa/242438-trouble-with-event-taps.html
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.
* 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.
Revert "Moved note into either warning or info #4745"
This reverts
commit d3a4ce1f11.
Revert "Changed note to notify #4745"
This reverts commit
5006adedfe.
Conflicts:
src/test/unittests/ipc/IpcLogOutputterTests.cpp
Shortened transmission log #4858
Revert "Added code to throw an error if the plugin can't be deleted or
written to #4696"
This reverts commit
5696497bc0.
This patch corrects issues with double click and adds triple click to
MacOSX. Double click was functioning but double clicking and then
dragging would not work.
This patch corrects issues with double click and adds triple click to
MacOSX. Double click was functioning but double clicking and then
dragging would not work.
Many security solutions forbid other program from accessing their own process. So if ProcessIdToSessionId() is failed, simply ignore it.
Signed-off-by: SeokYeon Hwang <caramis@gmail.com>
This patch brings full 64-bit compatibility to Synergy on OS X by
replacing all obsolete 32-bit only Carbon functions with modern
equivalents. All functions introduced have been available since 10.4 so
this won't affect the minimum deployment target. Specifically:
Creating an empty CGEvent and getting its location is behaviourally
identical to GetGlobalMouse, and yes, both are in flipped coordinates.
This was tested with a multi-monitor configuration as well.
TrackMouseLocationWithOptions is behaviourally identical to
GetGlobalMouse in these cases because the timeout was 0 and none of the
other out params were used, except for the MouseTrackingResult in one
call was checked against kMouseTrackingTimedOut. Since the timeout was 0
and not kEventDurationForever, that value never could have been returned
anyway.
Instead of attempting to define SIntXX and UIntXX manually, MacTypes.h
is included on OS X. These types were wrong in 64-bit mode because of
this, causing type redefinition errors.
- renamed some functions for file drag/drop to be more similar to existing
- improved log messages for the library loader
- removed hack that blocked .exe and .lnk files (annoying for developers)
- removed hack that always clears dragging filename (not very robust)
- 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.
- temporarily drop dragging file to desktop (specified by command line arg --filetransfer-des)
- on Mac side, fake an esc key while dragging off the screen does not seem to work
- On Mac client main thread is used for cocoa application in order to simulate drag.
- Send dragging file dir from Windows server to Mac client while dragging after switching screen.
- Dragging information sending is immature now (need to support multi files dragging in the future).
- Used Cocoa function to monitor dragg pasteboard.
- Changed Mac client to use another thread for event queue instead of the main thread.
- Change fileRecieveComplete to fileRecieveCompleted.
- Fixed line endings
- Integ test for file transfer
- Fixed crashed problem when log info is larger than 2048 bytes
- Fixed compile error caused by std exception (by Feng ye)
- Fixed include path on Mac and linux (by Feng ye)
* added non-pod data support to events (event delete can now call dtors)
* improved cleanup of ipc message objects (because of non-pod event data support)
* moved the "message received" event up to ipc server and client (passed on from proxies)
* raised the log-to-console level to DEBUG2
* added force option to ipc log buffer (to side-step the anti-recursion "mechanism")
* made relauncher always relay server/client messages to ipc client (gui)
implemented ipc "hello" message (to identify client type)
integ tests working for hello message, but use of ipc in main program has problem with events.