Updates for Version 1.1.3.
This commit is contained in:
parent
8d0a2fa043
commit
3c29242208
4
AUTHORS
4
AUTHORS
|
@ -1,4 +1,6 @@
|
|||
Synergy Authors
|
||||
===============
|
||||
|
||||
Chris Schoeneman <crs23@bigfoot.com>
|
||||
Chris Schoeneman <crs23@bigfoot.com> -- creator, maintainer, X11, Win32
|
||||
Ryan Breen <ryan@ryanbreen.com> -- Mac OS X port
|
||||
Guido Poschta <moolder@gmx.net> -- Windows installer
|
||||
|
|
49
COPYING
49
COPYING
|
@ -2,14 +2,14 @@ Synergy is copyright (C) 2002 Chris Schoeneman.
|
|||
Synergy is distributed under the following license.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
|
@ -59,7 +59,7 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
|
@ -258,26 +258,29 @@ make exceptions for this. Our decision will be guided by the two goals
|
|||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE
|
||||
IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
|
||||
COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
|
||||
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
|
||||
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
|
||||
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
|
||||
TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY
|
||||
WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED
|
||||
ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
|
||||
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF
|
||||
THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
|
||||
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
|
||||
LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
|
||||
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
|
||||
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
|
830
ChangeLog
830
ChangeLog
|
@ -1,3 +1,833 @@
|
|||
2004/03/28 14:53:01 crs
|
||||
lib/platform/CXWindowsKeyState.cpp
|
||||
|
||||
Added ISO_Level3_Shift as a synonym for Mode_switch. I've no idea
|
||||
if this will work as hoped but I've seen documentation that XFree
|
||||
4.3 uses ISO_Level3_Shift rather than Mode_switch.
|
||||
|
||||
----------
|
||||
2004/03/28 14:07:58 crs
|
||||
lib/platform/CMSWindowsDesks.cpp
|
||||
lib/platform/CMSWindowsKeyState.cpp
|
||||
lib/platform/CMSWindowsKeyState.h
|
||||
lib/platform/CMSWindowsScreen.cpp
|
||||
lib/platform/CMSWindowsScreen.h
|
||||
lib/platform/CSynergyHook.cpp
|
||||
lib/platform/CSynergyHook.h
|
||||
lib/synergy/CKeyState.h
|
||||
|
||||
Fixed keyboard handling on windows 95 family.
|
||||
|
||||
----------
|
||||
2004/03/28 14:07:37 crs
|
||||
lib/platform/Makefile.am
|
||||
|
||||
Updated makefile to reflect renaming of platform files for win32.
|
||||
|
||||
----------
|
||||
2004/03/28 14:06:40 crs
|
||||
lib/platform/CMSWindowsScreenSaver.cpp
|
||||
|
||||
Fixed windows 95 family screen saver stuff.
|
||||
|
||||
----------
|
||||
2004/03/28 14:05:52 crs
|
||||
lib/client/CServerProxy.cpp
|
||||
|
||||
Changed debug logging of key IDs to use hex.
|
||||
|
||||
----------
|
||||
2004/03/28 14:05:31 crs
|
||||
cmd/launcher/CAutoStart.cpp
|
||||
cmd/launcher/launcher.rc
|
||||
cmd/launcher/resource.h
|
||||
lib/arch/CArchDaemonWindows.cpp
|
||||
|
||||
Fixed bugs in installing per-user startup programs on windows 95
|
||||
family.
|
||||
|
||||
----------
|
||||
2004/03/26 20:59:26 crs
|
||||
lib/platform/CMSWindowsDesks.cpp
|
||||
lib/platform/CMSWindowsDesks.h
|
||||
lib/platform/CMSWindowsDesktop.cpp
|
||||
lib/platform/CMSWindowsDesktop.h
|
||||
lib/platform/CMSWindowsKeyMapper.cpp
|
||||
lib/platform/CMSWindowsKeyMapper.h
|
||||
lib/platform/CMSWindowsKeyState.cpp
|
||||
lib/platform/CMSWindowsKeyState.h
|
||||
lib/platform/CMSWindowsScreen.cpp
|
||||
lib/platform/CMSWindowsScreen.h
|
||||
lib/platform/CSynergyHook.cpp
|
||||
lib/platform/CXWindowsKeyState.cpp
|
||||
lib/platform/CXWindowsKeyState.h
|
||||
lib/platform/CXWindowsScreen.cpp
|
||||
lib/platform/CXWindowsScreen.h
|
||||
lib/platform/platform.dsp
|
||||
lib/server/CServer.cpp
|
||||
lib/server/CServer.h
|
||||
lib/synergy/CKeyState.cpp
|
||||
lib/synergy/CKeyState.h
|
||||
lib/synergy/CPlatformScreen.cpp
|
||||
lib/synergy/CPlatformScreen.h
|
||||
lib/synergy/CScreen.cpp
|
||||
lib/synergy/IKeyState.h
|
||||
lib/synergy/IPlatformScreen.h
|
||||
lib/synergy/ISecondaryScreen.h
|
||||
lib/synergy/libsynergy.dsp
|
||||
|
||||
Converted win32 to new keyboard state tracking design. Also
|
||||
changed locking to screen so that keys no longer count (only
|
||||
mouse buttons and scroll lock toggled on). This is to deal
|
||||
with the unreliability of key event reporting which can leave
|
||||
us locked to a screen with no key physically pressed. The
|
||||
result of this is that clients get key repeats and releases
|
||||
without the corresponding key press. CKeyState handles this
|
||||
by discarding repeat/release events on keys it hasn't seen go
|
||||
down. Also made a few other minor fixes to win32 keyboard
|
||||
handling.
|
||||
|
||||
----------
|
||||
2004/03/26 20:59:21 crs
|
||||
lib/arch/CArchMiscWindows.cpp
|
||||
|
||||
Fixed handling of reading strings from the registry. This was
|
||||
broken when support for binary data was added. The terminating
|
||||
NUL was included in the string as a character (that's in addition
|
||||
to the terminating NUL added by std::string).
|
||||
|
||||
----------
|
||||
2004/03/21 20:01:41 crs
|
||||
lib/client/CClient.cpp
|
||||
lib/platform/CXWindowsKeyMapper.cpp
|
||||
lib/platform/CXWindowsKeyMapper.h
|
||||
lib/platform/CXWindowsKeyState.cpp
|
||||
lib/platform/CXWindowsKeyState.h
|
||||
lib/platform/CXWindowsScreen.cpp
|
||||
lib/platform/CXWindowsScreen.h
|
||||
lib/platform/Makefile.am
|
||||
lib/server/CPrimaryClient.cpp
|
||||
lib/synergy/CKeyState.cpp
|
||||
lib/synergy/CKeyState.h
|
||||
lib/synergy/CPlatformScreen.cpp
|
||||
lib/synergy/CPlatformScreen.h
|
||||
lib/synergy/CScreen.cpp
|
||||
lib/synergy/CScreen.h
|
||||
lib/synergy/IKeyState.cpp
|
||||
lib/synergy/IKeyState.h
|
||||
lib/synergy/IPlatformScreen.h
|
||||
lib/synergy/IPrimaryScreen.cpp
|
||||
lib/synergy/IPrimaryScreen.h
|
||||
lib/synergy/ISecondaryScreen.h
|
||||
lib/synergy/Makefile.am
|
||||
|
||||
Checkpoint. Converted X11 to new keyboard state tracking design.
|
||||
This new design is simpler. For keyboard support, clients need only
|
||||
implement 4 virtual methods on a class derived from CKeyState and
|
||||
one trivial method in the class derived from CPlatformScreen, which
|
||||
is now the superclass of platform screens instead of IPlatformScreen.
|
||||
Keyboard methods have been removed from IPlatformScreen, IPrimaryScreen
|
||||
and ISecondaryScreen. Also, all keyboard state tracking is now in
|
||||
exactly one place (the CKeyState subclass) rather than in CScreen,
|
||||
the platform screen, and the key mapper. Still need to convert Win32.
|
||||
|
||||
----------
|
||||
2004/03/17 20:59:25 crs
|
||||
lib/platform/CMSWindowsKeyMapper.cpp
|
||||
lib/platform/CMSWindowsKeyMapper.h
|
||||
lib/platform/CMSWindowsScreen.cpp
|
||||
lib/platform/CMSWindowsScreen.h
|
||||
lib/synergy/CScreen.cpp
|
||||
lib/synergy/CScreen.h
|
||||
lib/synergy/IKeyState.h
|
||||
lib/synergy/libsynergy.dsp
|
||||
|
||||
Updated keyboard handling on win32. Still needs some work to
|
||||
avoid shadowing key state in multiple places. Also got locked
|
||||
to screen and reported key appeared to be wrong.
|
||||
|
||||
----------
|
||||
2004/03/14 17:55:53 crs
|
||||
lib/platform/CXWindowsKeyMapper.cpp
|
||||
lib/platform/CXWindowsScreen.cpp
|
||||
lib/platform/CXWindowsScreen.h
|
||||
lib/synergy/CScreen.cpp
|
||||
lib/synergy/CScreen.h
|
||||
lib/synergy/IKeyState.h
|
||||
lib/synergy/IPlatformScreen.cpp
|
||||
lib/synergy/IPlatformScreen.h
|
||||
lib/synergy/IPrimaryScreen.cpp
|
||||
lib/synergy/IPrimaryScreen.h
|
||||
lib/synergy/Makefile.am
|
||||
|
||||
Changed how key state is tracked on X11. Now updating key state
|
||||
on every key press and release so we don't have to updateKeys()
|
||||
in isLockedToScreen(). However, if any key appears to be down
|
||||
we still call updateKeys() to double check that it's really down.
|
||||
If not we note the spurious lock and don't lock to the screen.
|
||||
|
||||
----------
|
||||
2004/03/14 17:50:37 crs
|
||||
lib/io/IStream.h
|
||||
|
||||
Fixed doxygen formatting error.
|
||||
|
||||
----------
|
||||
2004/03/13 19:01:27 crs
|
||||
lib/platform/CMSWindowsScreen.cpp
|
||||
|
||||
Improved handling of active window on win32. Synergy no longer
|
||||
takes activation so the previously active window doesn't pop to
|
||||
the top of the window stack when it regains activation. One
|
||||
drawback of this is that the mouse cursor isn't shown when
|
||||
a window (other than synergy's) is activated. However, synergy
|
||||
does detect mouse motion as before and shows the cursor when it
|
||||
sees any.
|
||||
|
||||
----------
|
||||
2004/03/13 18:58:20 crs
|
||||
lib/platform/CMSWindowsScreen.h
|
||||
|
||||
Fixed error in previous submit.
|
||||
|
||||
----------
|
||||
2004/03/13 17:16:24 crs
|
||||
lib/client/CClient.cpp
|
||||
lib/client/CClient.h
|
||||
lib/client/CServerProxy.cpp
|
||||
lib/client/CServerProxy.h
|
||||
|
||||
Fixed handling of handshake complete. Was posting an event for it
|
||||
but making direct calls for other messages from the server. This
|
||||
could cause messages to be handled out of order. Now making a
|
||||
direct call for handshake complete.
|
||||
|
||||
----------
|
||||
2004/03/13 17:14:32 crs
|
||||
lib/platform/CMSWindowsEventQueueBuffer.cpp
|
||||
|
||||
Fixed win32 taskbar icon event handling. Wasn't responding to
|
||||
messages sent via SendMessage (rather than PostMessage).
|
||||
|
||||
----------
|
||||
2004/03/13 17:13:55 crs
|
||||
cmd/synergyc/resource.h
|
||||
cmd/synergyc/synergyc.cpp
|
||||
cmd/synergys/synergys.cpp
|
||||
lib/arch/CArchMiscWindows.cpp
|
||||
lib/arch/CArchMiscWindows.h
|
||||
lib/platform/CMSWindowsScreen.cpp
|
||||
lib/platform/CMSWindowsScreen.h
|
||||
lib/platform/CMSWindowsScreenSaver.cpp
|
||||
lib/platform/CMSWindowsScreenSaver.h
|
||||
|
||||
Added win32 support for power management.
|
||||
|
||||
----------
|
||||
2004/03/10 22:03:01 crs
|
||||
configure.in
|
||||
lib/platform/CXWindowsScreenSaver.cpp
|
||||
lib/platform/CXWindowsScreenSaver.h
|
||||
|
||||
Added support for DPMS in X11 screen saver. DPMS is the extension
|
||||
that allows you to power down the display. Previously, synergy
|
||||
would not power on the display if DPMS was enabled and activated
|
||||
and xscreensaver was not running. It also wouldn't disable DPMS
|
||||
so the display would power down normally on a synergy client if
|
||||
there was no input activity.
|
||||
|
||||
----------
|
||||
2004/03/10 20:35:03 crs
|
||||
acinclude.m4
|
||||
lib/arch/CArchNetworkBSD.cpp
|
||||
|
||||
Added check for inet_aton and a simple implementation for platforms
|
||||
that are missing it.
|
||||
|
||||
----------
|
||||
2004/03/08 21:18:36 crs
|
||||
configure.in
|
||||
lib/platform/CXWindowsKeyMapper.cpp
|
||||
|
||||
Removed dependency on X11/XF86keysym.h. There are several versions
|
||||
of that file in existance, not all of which have all the symbols we
|
||||
require and none of which provide any convenient means of telling
|
||||
what groups of symbols they define.
|
||||
|
||||
----------
|
||||
2004/03/08 20:53:32 crs
|
||||
lib/platform/CMSWindowsKeyMapper.cpp
|
||||
lib/platform/CMSWindowsKeyMapper.h
|
||||
lib/platform/CMSWindowsScreen.cpp
|
||||
lib/platform/CMSWindowsScreen.h
|
||||
lib/platform/CSynergyHook.cpp
|
||||
lib/server/CServer.cpp
|
||||
|
||||
Win32 fixes. Fixed slightly off cursor positioning when using
|
||||
absolute mouse_event(). Improved keyboard handling: now using
|
||||
keyboard layout of last foreground window when leaving server
|
||||
so users can meaningfully choose the locale, moved dead key
|
||||
handling into hook library so there should be no more race
|
||||
conditions involving the keyboard dead key buffer, simplified
|
||||
keyboard and cursor handling by using a full screen transparent
|
||||
window when not using low level hooks, fixed error in restoring
|
||||
buffered dead key when checking for dead keys. This hopefully
|
||||
fixes all known keyboard bugs on win32.
|
||||
|
||||
----------
|
||||
2004/03/08 20:45:53 crs
|
||||
lib/arch/CArchNetworkBSD.cpp
|
||||
lib/arch/CArchNetworkBSD.h
|
||||
|
||||
Typecasting fix to compile on old solaris.
|
||||
|
||||
----------
|
||||
2004/03/06 16:20:08 crs
|
||||
lib/platform/CXWindowsScreen.cpp
|
||||
lib/server/CServer.cpp
|
||||
|
||||
Server now disables jump zones when scroll lock is active.
|
||||
|
||||
----------
|
||||
2004/02/29 21:34:30 crs
|
||||
lib/platform/CMSWindowsEventQueueBuffer.cpp
|
||||
|
||||
Fixed processing of events. Was waking up on a sent (rather than
|
||||
posted) message but then blocking in GetMessage() which handles
|
||||
the sent message directly. No longer blocking on sent messages.
|
||||
|
||||
----------
|
||||
2004/02/29 21:33:20 crs
|
||||
lib/arch/CArchNetworkWinsock.cpp
|
||||
|
||||
Fixed handling of winsock connect event. Was always immediately
|
||||
indicating socket had connected.
|
||||
|
||||
----------
|
||||
2004/02/29 21:32:00 crs
|
||||
lib/platform/CMSWindowsScreen.cpp
|
||||
|
||||
Fixed cursor hiding on win32. Still fails occassionally.
|
||||
|
||||
----------
|
||||
2004/02/29 21:31:24 crs
|
||||
cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp
|
||||
cmd/synergys/resource.h
|
||||
cmd/synergys/synergys.cpp
|
||||
cmd/synergys/synergys.rc
|
||||
|
||||
Added reload configuration menu item to win32 task bar.
|
||||
|
||||
----------
|
||||
2004/02/29 17:36:32 crs
|
||||
lib/arch/IArchMultithread.h
|
||||
|
||||
Fixed comment.
|
||||
|
||||
----------
|
||||
2004/02/29 17:29:01 crs
|
||||
lib/arch/CArchMultithreadWindows.h
|
||||
|
||||
Switched to doxygen comments.
|
||||
|
||||
----------
|
||||
2004/02/29 17:28:51 crs
|
||||
lib/client/CClient.cpp
|
||||
lib/client/CClient.h
|
||||
lib/server/CClientProxy.cpp
|
||||
lib/server/CClientProxy.h
|
||||
lib/server/CServer.cpp
|
||||
lib/synergy/IScreen.cpp
|
||||
lib/synergy/IScreen.h
|
||||
|
||||
Moved clipboard changed event to CClientProxy because only it
|
||||
and CServer use it. CServerProxy instead makes a direct call
|
||||
to CClient, like it does for most other messages.
|
||||
|
||||
----------
|
||||
2004/02/29 16:48:22 crs
|
||||
lib/arch/CArchMultithreadPosix.cpp
|
||||
lib/arch/CArchMultithreadPosix.h
|
||||
lib/arch/CArchNetworkBSD.cpp
|
||||
lib/arch/CArchNetworkBSD.h
|
||||
|
||||
Fixed BSD unblockPollSocket(). Was signaling to break out of
|
||||
poll() but there was a race condition where the thread trying
|
||||
to unblock poll() could send the signal before the polling
|
||||
thread had entered poll(). Now using a pipe and polling on
|
||||
that and the client's sockets, and just writing a byte into
|
||||
the pipe to unblock poll. This persists until the next call
|
||||
to poll() so we might force poll() to return once unnecessarily
|
||||
but that's not a problem. This change makes the BSD code
|
||||
similar to the winsock code, which uses a winsock event instead
|
||||
of a pipe.
|
||||
|
||||
----------
|
||||
2004/02/29 16:11:17 crs
|
||||
lib/arch/CArch.cpp
|
||||
lib/arch/CArch.h
|
||||
lib/arch/CArchNetworkBSD.cpp
|
||||
lib/arch/CArchNetworkBSD.h
|
||||
lib/arch/CArchNetworkWinsock.cpp
|
||||
lib/arch/CArchNetworkWinsock.h
|
||||
lib/arch/IArchNetwork.h
|
||||
lib/arch/XArch.h
|
||||
lib/net/CTCPListenSocket.cpp
|
||||
lib/net/CTCPSocket.cpp
|
||||
|
||||
Made all arch sockets non-blocking.
|
||||
|
||||
----------
|
||||
2004/02/28 17:51:55 crs
|
||||
cmd/synergyc/synergyc.cpp
|
||||
cmd/synergys/synergys.cpp
|
||||
|
||||
Enabled running at high priority on windows.
|
||||
|
||||
----------
|
||||
2004/02/28 17:49:29 crs
|
||||
cmd/synergyc/synergyc.cpp
|
||||
cmd/synergys/synergys.cpp
|
||||
lib/arch/CArch.cpp
|
||||
lib/arch/CArch.h
|
||||
lib/arch/CArchConsoleWindows.cpp
|
||||
lib/arch/CArchMultithreadPosix.cpp
|
||||
lib/arch/CArchMultithreadPosix.h
|
||||
lib/arch/CArchMultithreadWindows.cpp
|
||||
lib/arch/CArchMultithreadWindows.h
|
||||
lib/arch/IArchMultithread.h
|
||||
lib/base/CEventQueue.cpp
|
||||
|
||||
Generalized signal handling. Now handling SIGHUP in addition
|
||||
to SIGINT and SIGTERM. Setup SIGHUP to reload the server's
|
||||
configuration.
|
||||
|
||||
----------
|
||||
2004/02/28 16:06:00 crs
|
||||
lib/base/CLog.cpp
|
||||
|
||||
Fixed incorrect accumulation of newlines in log.
|
||||
|
||||
----------
|
||||
2004/02/28 16:00:54 crs
|
||||
lib/client/CServerProxy.cpp
|
||||
|
||||
Now using first set options message as end of handshake.
|
||||
|
||||
----------
|
||||
2004/02/28 12:30:52 crs
|
||||
lib/platform/CMSWindowsUtil.cpp
|
||||
lib/platform/CMSWindowsUtil.h
|
||||
|
||||
Added missing files.
|
||||
|
||||
----------
|
||||
2004/02/28 12:24:47 crs
|
||||
lib/common/Version.cpp
|
||||
|
||||
Added missing file.
|
||||
|
||||
----------
|
||||
2004/02/28 12:19:49 crs
|
||||
acinclude.m4
|
||||
cmd/launcher/LaunchUtil.cpp
|
||||
cmd/launcher/launcher.rc
|
||||
cmd/launcher/resource.h
|
||||
cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp
|
||||
cmd/synergyc/CMSWindowsClientTaskBarReceiver.h
|
||||
cmd/synergyc/CXWindowsClientTaskBarReceiver.cpp
|
||||
cmd/synergyc/CXWindowsClientTaskBarReceiver.h
|
||||
cmd/synergyc/Makefile.am
|
||||
cmd/synergyc/resource.h
|
||||
cmd/synergyc/synergyc.cpp
|
||||
cmd/synergyc/synergyc.rc
|
||||
cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp
|
||||
cmd/synergys/CMSWindowsServerTaskBarReceiver.h
|
||||
cmd/synergys/CXWindowsServerTaskBarReceiver.cpp
|
||||
cmd/synergys/CXWindowsServerTaskBarReceiver.h
|
||||
cmd/synergys/Makefile.am
|
||||
cmd/synergys/resource.h
|
||||
cmd/synergys/synergys.cpp
|
||||
cmd/synergys/synergys.rc
|
||||
configure.in
|
||||
lib/arch/CArch.cpp
|
||||
lib/arch/CArch.h
|
||||
lib/arch/CArchConsoleWindows.cpp
|
||||
lib/arch/CArchDaemonWindows.cpp
|
||||
lib/arch/CArchDaemonWindows.h
|
||||
lib/arch/CArchMiscWindows.cpp
|
||||
lib/arch/CArchMiscWindows.h
|
||||
lib/arch/CArchMultithreadPosix.cpp
|
||||
lib/arch/CArchMultithreadPosix.h
|
||||
lib/arch/CArchMultithreadWindows.cpp
|
||||
lib/arch/CArchMultithreadWindows.h
|
||||
lib/arch/CArchNetworkBSD.cpp
|
||||
lib/arch/CArchNetworkBSD.h
|
||||
lib/arch/CArchNetworkWinsock.cpp
|
||||
lib/arch/CArchNetworkWinsock.h
|
||||
lib/arch/CArchTaskBarWindows.cpp
|
||||
lib/arch/CArchTaskBarWindows.h
|
||||
lib/arch/IArchMultithread.h
|
||||
lib/arch/IArchNetwork.h
|
||||
lib/arch/arch.dsp
|
||||
lib/base/CEventQueue.cpp
|
||||
lib/base/CPriorityQueue.h
|
||||
lib/base/CSimpleEventQueueBuffer.cpp
|
||||
lib/client/CServerProxy.cpp
|
||||
lib/client/CServerProxy.h
|
||||
lib/common/Makefile.am
|
||||
lib/common/Version.h
|
||||
lib/common/common.dsp
|
||||
lib/mt/CThread.cpp
|
||||
lib/mt/CThread.h
|
||||
lib/net/CSocketMultiplexer.cpp
|
||||
lib/net/IDataSocket.cpp
|
||||
lib/net/IDataSocket.h
|
||||
lib/platform/CMSWindowsDesktop.h
|
||||
lib/platform/CMSWindowsEventQueueBuffer.cpp
|
||||
lib/platform/CMSWindowsEventQueueBuffer.h
|
||||
lib/platform/CMSWindowsKeyMapper.cpp
|
||||
lib/platform/CMSWindowsScreen.cpp
|
||||
lib/platform/CMSWindowsScreen.h
|
||||
lib/platform/CSynergyHook.cpp
|
||||
lib/platform/CSynergyHook.h
|
||||
lib/platform/CXWindowsClipboard.cpp
|
||||
lib/platform/CXWindowsEventQueueBuffer.cpp
|
||||
lib/platform/CXWindowsKeyMapper.cpp
|
||||
lib/platform/CXWindowsScreen.cpp
|
||||
lib/platform/Makefile.am
|
||||
lib/platform/platform.dsp
|
||||
lib/server/CClientListener.cpp
|
||||
lib/server/CServer.cpp
|
||||
lib/synergy/CProtocolUtil.cpp
|
||||
lib/synergy/CProtocolUtil.h
|
||||
lib/synergy/CScreen.cpp
|
||||
lib/synergy/IScreen.h
|
||||
|
||||
Merged Win32 updates. Added full warnings on g++. Fixed bug in
|
||||
client when handling server rejection.
|
||||
|
||||
----------
|
||||
2004/02/15 18:12:35 crs
|
||||
lib/base/CFunctionEventJob.cpp
|
||||
lib/base/CJobList.cpp
|
||||
lib/base/CJobList.h
|
||||
lib/base/Makefile.am
|
||||
lib/base/base.dsp
|
||||
lib/io/io.dsp
|
||||
lib/mt/CTimerThread.cpp
|
||||
lib/mt/CTimerThread.h
|
||||
lib/mt/Makefile.am
|
||||
lib/mt/mt.dsp
|
||||
lib/net/net.dsp
|
||||
lib/platform/CMSWindowsEventQueueBuffer.cpp
|
||||
lib/platform/CMSWindowsEventQueueBuffer.h
|
||||
lib/platform/Makefile.am
|
||||
lib/platform/platform.dsp
|
||||
lib/server/server.dsp
|
||||
lib/synergy/libsynergy.dsp
|
||||
|
||||
Updated Makefiles and win32 projects and removed dead classes.
|
||||
|
||||
----------
|
||||
2004/02/15 17:32:11 crs
|
||||
cmd/synergyc/CClientTaskBarReceiver.cpp
|
||||
cmd/synergyc/CClientTaskBarReceiver.h
|
||||
cmd/synergyc/CXWindowsClientTaskBarReceiver.cpp
|
||||
cmd/synergyc/CXWindowsClientTaskBarReceiver.h
|
||||
cmd/synergyc/synergyc.cpp
|
||||
cmd/synergys/CServerTaskBarReceiver.cpp
|
||||
cmd/synergys/synergys.cpp
|
||||
lib/arch/CArchNetworkBSD.cpp
|
||||
lib/arch/XArch.h
|
||||
lib/base/CEvent.cpp
|
||||
lib/base/CEvent.h
|
||||
lib/client/CClient.cpp
|
||||
lib/client/CClient.h
|
||||
lib/client/CServerProxy.cpp
|
||||
lib/client/CServerProxy.h
|
||||
lib/io/CStreamFilter.cpp
|
||||
lib/net/CNetworkAddress.cpp
|
||||
lib/net/CTCPListenSocket.cpp
|
||||
lib/net/CTCPSocket.cpp
|
||||
lib/net/CTCPSocket.h
|
||||
lib/net/IDataSocket.h
|
||||
lib/net/XSocket.cpp
|
||||
lib/net/XSocket.h
|
||||
lib/platform/CXWindowsScreen.cpp
|
||||
lib/platform/CXWindowsScreen.h
|
||||
lib/server/CClientProxy.h
|
||||
lib/server/CClientProxy1_0.cpp
|
||||
lib/server/CClientProxy1_0.h
|
||||
lib/server/CConfig.cpp
|
||||
lib/server/CPrimaryClient.cpp
|
||||
lib/server/CPrimaryClient.h
|
||||
lib/server/CServer.cpp
|
||||
lib/synergy/CClipboard.cpp
|
||||
lib/synergy/CClipboard.h
|
||||
lib/synergy/CPacketStreamFilter.cpp
|
||||
lib/synergy/IClient.h
|
||||
lib/synergy/IClipboard.cpp
|
||||
lib/synergy/IClipboard.h
|
||||
lib/synergy/IPlatformScreen.cpp
|
||||
lib/synergy/IPlatformScreen.h
|
||||
lib/synergy/Makefile.am
|
||||
lib/synergy/ProtocolTypes.h
|
||||
|
||||
Checkpoint. Conversion to event driven system complete for Unix.
|
||||
Still need to convert win32 platform specific files.
|
||||
|
||||
----------
|
||||
2004/02/14 16:30:27 crs
|
||||
cmd/synergys/CServerTaskBarReceiver.cpp
|
||||
cmd/synergys/synergys.cpp
|
||||
lib/server/CPrimaryClient.cpp
|
||||
lib/server/CPrimaryClient.h
|
||||
|
||||
Minor cleanup.
|
||||
|
||||
----------
|
||||
2004/02/14 14:04:36 crs
|
||||
cmd/synergys/CServerTaskBarReceiver.cpp
|
||||
cmd/synergys/CServerTaskBarReceiver.h
|
||||
cmd/synergys/CXWindowsServerTaskBarReceiver.cpp
|
||||
cmd/synergys/CXWindowsServerTaskBarReceiver.h
|
||||
cmd/synergys/Makefile.am
|
||||
cmd/synergys/synergys.cpp
|
||||
lib/arch/CArch.cpp
|
||||
lib/arch/CArch.h
|
||||
lib/arch/CArchMultithreadPosix.cpp
|
||||
lib/arch/CArchNetworkBSD.cpp
|
||||
lib/arch/CArchNetworkBSD.h
|
||||
lib/arch/IArchNetwork.h
|
||||
lib/arch/vsnprintf.cpp
|
||||
lib/base/CEvent.cpp
|
||||
lib/base/CEvent.h
|
||||
lib/base/CEventQueue.cpp
|
||||
lib/base/CEventQueue.h
|
||||
lib/base/CSimpleEventQueueBuffer.cpp
|
||||
lib/base/CSimpleEventQueueBuffer.h
|
||||
lib/base/CStringUtil.cpp
|
||||
lib/base/IEventQueue.h
|
||||
lib/base/IEventQueueBuffer.h
|
||||
lib/io/IStream.cpp
|
||||
lib/net/CNetworkAddress.cpp
|
||||
lib/net/CNetworkAddress.h
|
||||
lib/net/CSocketMultiplexer.cpp
|
||||
lib/net/CTCPListenSocket.cpp
|
||||
lib/net/CTCPSocket.cpp
|
||||
lib/net/IDataSocket.cpp
|
||||
lib/net/IListenSocket.cpp
|
||||
lib/net/ISocket.cpp
|
||||
lib/platform/CXWindowsEventQueue.cpp
|
||||
lib/platform/CXWindowsEventQueue.h
|
||||
lib/platform/CXWindowsEventQueueBuffer.cpp
|
||||
lib/platform/CXWindowsEventQueueBuffer.h
|
||||
lib/platform/CXWindowsScreen.cpp
|
||||
lib/platform/CXWindowsScreen.h
|
||||
lib/platform/CXWindowsScreenSaver.cpp
|
||||
lib/platform/CXWindowsScreenSaver.h
|
||||
lib/platform/Makefile.am
|
||||
lib/server/CClientListener.cpp
|
||||
lib/server/CClientListener.h
|
||||
lib/server/CClientProxy.cpp
|
||||
lib/server/CClientProxy.h
|
||||
lib/server/CClientProxy1_0.cpp
|
||||
lib/server/CClientProxy1_0.h
|
||||
lib/server/CClientProxy1_1.cpp
|
||||
lib/server/CClientProxy1_1.h
|
||||
lib/server/CClientProxyUnknown.cpp
|
||||
lib/server/CClientProxyUnknown.h
|
||||
lib/server/CConfig.cpp
|
||||
lib/server/CPrimaryClient.cpp
|
||||
lib/server/CPrimaryClient.h
|
||||
lib/server/CServer.cpp
|
||||
lib/server/CServer.h
|
||||
lib/server/Makefile.am
|
||||
lib/synergy/CProtocolUtil.cpp
|
||||
lib/synergy/CScreen.cpp
|
||||
lib/synergy/CScreen.h
|
||||
lib/synergy/IClient.h
|
||||
lib/synergy/IPlatformScreen.cpp
|
||||
lib/synergy/IPlatformScreen.h
|
||||
lib/synergy/IPrimaryScreen.h
|
||||
lib/synergy/IPrimaryScreenReceiver.h
|
||||
lib/synergy/IScreen.cpp
|
||||
lib/synergy/IScreen.h
|
||||
lib/synergy/IScreenFactory.h
|
||||
lib/synergy/IScreenReceiver.h
|
||||
lib/synergy/IScreenSaver.h
|
||||
lib/synergy/IServer.h
|
||||
lib/synergy/Makefile.am
|
||||
|
||||
Checkpoint. synergys now works. Still need to do lib/client and
|
||||
synergyc.
|
||||
|
||||
----------
|
||||
2004/02/08 17:07:11 crs
|
||||
lib/base/CEventQueue.cpp
|
||||
lib/base/CEventQueue.h
|
||||
lib/base/CSimpleEventQueue.cpp
|
||||
lib/base/CSimpleEventQueue.h
|
||||
lib/base/IEventQueue.h
|
||||
lib/base/Makefile.am
|
||||
|
||||
Refactored event queue. The event queue is now separated from the
|
||||
buffer that holds the events and generates system events. This
|
||||
allows us to switch in/out a platform specific event handler as
|
||||
necessary without losing our timers and handlers.
|
||||
|
||||
----------
|
||||
2004/02/08 16:51:45 crs
|
||||
lib/net/CTCPSocket.cpp
|
||||
|
||||
No longer sending incorrect disconnect events in read() and
|
||||
removed redundant sending of disconnect event in close().
|
||||
|
||||
----------
|
||||
2004/02/01 21:09:22 crs
|
||||
cmd/synergys/synergys.cpp
|
||||
lib/arch/CArch.cpp
|
||||
lib/arch/CArch.h
|
||||
lib/arch/CArchMultithreadPosix.cpp
|
||||
lib/arch/CArchMultithreadPosix.h
|
||||
lib/arch/CArchNetworkBSD.cpp
|
||||
lib/arch/IArchMultithread.h
|
||||
lib/arch/XArch.h
|
||||
lib/base/CEventQueue.cpp
|
||||
lib/base/CEventQueue.h
|
||||
lib/base/IEventQueue.cpp
|
||||
lib/base/IEventQueue.h
|
||||
lib/base/Makefile.am
|
||||
lib/io/CBufferedInputStream.cpp
|
||||
lib/io/CBufferedInputStream.h
|
||||
lib/io/CBufferedOutputStream.cpp
|
||||
lib/io/CBufferedOutputStream.h
|
||||
lib/io/CInputStreamFilter.cpp
|
||||
lib/io/CInputStreamFilter.h
|
||||
lib/io/COutputStreamFilter.cpp
|
||||
lib/io/COutputStreamFilter.h
|
||||
lib/io/CStreamFilter.cpp
|
||||
lib/io/CStreamFilter.h
|
||||
lib/io/IInputStream.h
|
||||
lib/io/IOutputStream.h
|
||||
lib/io/IStream.cpp
|
||||
lib/io/IStream.h
|
||||
lib/io/IStreamFilterFactory.h
|
||||
lib/io/Makefile.am
|
||||
lib/io/XIO.cpp
|
||||
lib/io/XIO.h
|
||||
lib/net/CSocketMultiplexer.cpp
|
||||
lib/net/CSocketMultiplexer.h
|
||||
lib/net/CTCPListenSocket.cpp
|
||||
lib/net/CTCPListenSocket.h
|
||||
lib/net/CTCPSocket.cpp
|
||||
lib/net/CTCPSocket.h
|
||||
lib/net/IDataSocket.cpp
|
||||
lib/net/IDataSocket.h
|
||||
lib/net/IListenSocket.h
|
||||
lib/net/ISocket.h
|
||||
lib/net/ISocketMultiplexerJob.h
|
||||
lib/net/Makefile.am
|
||||
lib/net/TSocketMultiplexerMethodJob.h
|
||||
lib/server/CClientProxy.cpp
|
||||
lib/server/CClientProxy.h
|
||||
lib/server/CClientProxy1_0.cpp
|
||||
lib/server/CClientProxy1_0.h
|
||||
lib/server/CClientProxy1_1.cpp
|
||||
lib/server/CClientProxy1_1.h
|
||||
lib/server/CConfig.cpp
|
||||
lib/server/CConfig.h
|
||||
lib/server/CHTTPServer.cpp
|
||||
lib/server/CHTTPServer.h
|
||||
lib/server/CServer.cpp
|
||||
lib/server/CServer.h
|
||||
lib/server/Makefile.am
|
||||
lib/synergy/CInputPacketStream.cpp
|
||||
lib/synergy/CInputPacketStream.h
|
||||
lib/synergy/COutputPacketStream.cpp
|
||||
lib/synergy/COutputPacketStream.h
|
||||
lib/synergy/CPacketStreamFilter.cpp
|
||||
lib/synergy/CPacketStreamFilter.h
|
||||
lib/synergy/CProtocolUtil.cpp
|
||||
lib/synergy/CProtocolUtil.h
|
||||
lib/synergy/Makefile.am
|
||||
|
||||
Checkpoint. Code does not run. Still converting over to new
|
||||
event loop model. Streams, stream filters, and sockets are
|
||||
converted. Client proxies are almost converted. CServer is
|
||||
in progress. Removed all HTTP code. Haven't converted the
|
||||
necessary win32 arch stuff.
|
||||
|
||||
----------
|
||||
2004/02/01 20:56:52 crs
|
||||
cmd/launcher/launcher.dsp
|
||||
cmd/synergys/Makefile.am
|
||||
cmd/synergys/synergys.dsp
|
||||
configure.in
|
||||
lib/Makefile.am
|
||||
lib/http/CHTTPProtocol.cpp
|
||||
lib/http/CHTTPProtocol.h
|
||||
lib/http/Makefile.am
|
||||
lib/http/XHTTP.cpp
|
||||
lib/http/XHTTP.h
|
||||
lib/http/http.dsp
|
||||
lib/server/server.dsp
|
||||
synergy.dsw
|
||||
|
||||
Removed most HTTP stuff. It doesn't seem like the appropriate
|
||||
choice for server control. May later provide some other means
|
||||
for controlling the synergy server remotely.
|
||||
|
||||
----------
|
||||
2004/01/24 16:09:25 crs
|
||||
lib/arch/CArch.cpp
|
||||
lib/arch/CArch.h
|
||||
lib/arch/CArchMultithreadPosix.cpp
|
||||
lib/arch/CArchMultithreadPosix.h
|
||||
lib/arch/CArchNetworkBSD.cpp
|
||||
lib/arch/IArchMultithread.h
|
||||
lib/base/CEvent.cpp
|
||||
lib/base/CEvent.h
|
||||
lib/base/CEventQueue.cpp
|
||||
lib/base/CEventQueue.h
|
||||
lib/base/CFunctionEventJob.cpp
|
||||
lib/base/CFunctionEventJob.h
|
||||
lib/base/CLog.cpp
|
||||
lib/base/CPriorityQueue.h
|
||||
lib/base/CSimpleEventQueue.cpp
|
||||
lib/base/CSimpleEventQueue.h
|
||||
lib/base/IEventJob.h
|
||||
lib/base/IEventQueue.h
|
||||
lib/base/Makefile.am
|
||||
lib/base/TMethodEventJob.h
|
||||
lib/io/CBufferedInputStream.cpp
|
||||
lib/io/CBufferedInputStream.h
|
||||
lib/io/CBufferedOutputStream.cpp
|
||||
lib/io/CBufferedOutputStream.h
|
||||
lib/mt/CThread.cpp
|
||||
lib/mt/CThread.h
|
||||
lib/net/CTCPListenSocket.cpp
|
||||
lib/net/CTCPListenSocket.h
|
||||
lib/net/CTCPSocket.cpp
|
||||
lib/net/CTCPSocket.h
|
||||
lib/net/IDataSocket.cpp
|
||||
lib/net/IDataSocket.h
|
||||
lib/net/IListenSocket.cpp
|
||||
lib/net/IListenSocket.h
|
||||
lib/net/ISocket.cpp
|
||||
lib/net/ISocket.h
|
||||
lib/net/Makefile.am
|
||||
lib/platform/CXWindowsEventQueue.cpp
|
||||
lib/platform/CXWindowsEventQueue.h
|
||||
lib/platform/Makefile.am
|
||||
|
||||
Checkpointing centralized event queue stuff. Currently have:
|
||||
an event queue and events, TCP sockets converted to use events,
|
||||
unix multithreading and network stuff converted, and an X Windows
|
||||
event queue subclass.
|
||||
|
||||
----------
|
||||
2003/07/19 17:22:06 crs
|
||||
cmd/launcher/launcher.cpp
|
||||
cmd/launcher/launcher.rc
|
||||
|
|
34
FAQ
34
FAQ
|
@ -12,12 +12,13 @@ Questions
|
|||
7. Why do my CapsLock and NumLock keys act funny?
|
||||
8. Can synergy share the display in addition to the mouse and keyboard?
|
||||
9. Can synergy do drag and drop between computers?
|
||||
10. Do AltGr or Mode-Switch work?
|
||||
10. Do AltGr or Mode-Switch or ISO_Level3_Shift work?
|
||||
11. Why isn't synergy ported to platform XYZ?
|
||||
12. My client can't connect. What's wrong?
|
||||
13. Linking fails on Solaris. What's wrong?
|
||||
14. The screen saver never starts. Why not?
|
||||
15. I can't switch screens anymore for no apparent reason. Why?
|
||||
16. I get the error 'Xlib: No protocol specified'. Why?
|
||||
|
||||
Answers
|
||||
-------
|
||||
|
@ -126,13 +127,14 @@ Answers
|
|||
No. That's a very cool idea and it'll be explored. However, it's
|
||||
also clearly difficult and may take a long time to implement.
|
||||
|
||||
10. Does AltGr/Mode-Switch work?
|
||||
10. Does AltGr/Mode-Switch/ISO_Level3_Shift work?
|
||||
|
||||
Yes, as of 1.0.12 synergy has full support for AltGr/Mode-switch.
|
||||
That includes support for most (all?) European keyboard layouts.
|
||||
All systems should be using the same keyboard layout, though, for
|
||||
all characters to work. (Any character missing from a client's
|
||||
layout cannot be generated by synergy.)
|
||||
layout cannot be generated by synergy.) There is experimental
|
||||
support for ISO_Level3_Shift in 1.1.3.
|
||||
|
||||
11. Why isn't synergy ported to platform XYZ?
|
||||
|
||||
|
@ -169,19 +171,13 @@ Answers
|
|||
|
||||
15. I can't switch screens anymore for no apparent reason. Why?
|
||||
|
||||
This sometimes happens but all the causes aren't yet known. One
|
||||
known cause is if the synergy server in running on Windows
|
||||
95/98/Me and a 16-bit application is in the foreground when the
|
||||
screen saver starts. Windows fails to notify synergy that the
|
||||
screen saver has started in this situation (which is a bug in
|
||||
Windows, not synergy) and synergy may intercept some keyboard
|
||||
input and divert it to a client when the screen saver is running.
|
||||
As a result, it's possible for the server system to believe a key
|
||||
is pressed when it really isn't. Typically, it's the return key
|
||||
and simply tapping it will allow synergy to switch screens again.
|
||||
|
||||
If this problem happens to you, try tapping the enter key to see
|
||||
if that solves the problem. If not, you can try running with
|
||||
debug logging (--debug DEBUG) and synergy will report exactly why
|
||||
it refuses to switch screens. If it claims a key is down then
|
||||
try tapping that key and see if that solves the problem.
|
||||
This should not happen with 1.1.3 and up. Earlier versions of
|
||||
synergy would not allow switching screens when a key was down and
|
||||
sometimes it would believe a key was down when it was not.
|
||||
|
||||
16. I get the error 'Xlib: No protocol specified'. Why?
|
||||
|
||||
You're running synergy without authorization to connect to the
|
||||
X display. Typically the reason is running synergy as root when
|
||||
logged in as non-root. Just run synergy as the same user that's
|
||||
logged in.
|
||||
|
|
20
INSTALL
20
INSTALL
|
@ -58,10 +58,14 @@ Installing
|
|||
----------
|
||||
|
||||
Windows:
|
||||
There is no support for creating an installer for synergy or installing
|
||||
the files in a particular location. Instead, just copy the following
|
||||
files from the Debug or Release directory to a directory you choose
|
||||
(perhaps under the Program Files directory):
|
||||
You'll need NSIS, the Nullsoft Scriptable Install System, available
|
||||
from http://nsis.sourceforge.net/. Build `All - Release' then build
|
||||
'Installer - Release'. This creates SynergyInstaller.exe in the top
|
||||
level directory. Run this to install.
|
||||
|
||||
Alternatively, you can simply copy the following files from the Debug
|
||||
or Release directory to a directory you choose (perhaps under the
|
||||
Program Files directory):
|
||||
|
||||
* synergy.exe
|
||||
* synergyc.exe
|
||||
|
@ -90,7 +94,7 @@ First configure the server. Click the `Server' radio button
|
|||
|
||||
* Click the `Server' radio button
|
||||
* Click `Add' to add the server to the `Screens' list
|
||||
* Enter the name of server (the computer name is recommended)
|
||||
* Enter the name of server (the computer's name is recommended)
|
||||
* Enter other names the server is known by
|
||||
* Click OK
|
||||
* Use `Add' to add your other computers
|
||||
|
@ -403,6 +407,12 @@ the problem. Here are typical problems and possible solutions:
|
|||
program using that port (24800) and restart the
|
||||
server.
|
||||
|
||||
If you get the error "Xlib: No protocol specified" you're probably
|
||||
running synergy as root while logged in as another user. X11 may
|
||||
prevent this for security reasons. Either run synergy as the same
|
||||
user that's logged in or (not recommended) use 'xhost +' to allow
|
||||
anyone to connect to the display.
|
||||
|
||||
Once all the clients are running, try moving the mouse to each
|
||||
screen. Be sure to check all the configured links.
|
||||
|
||||
|
|
24
NEWS
24
NEWS
|
@ -1,6 +1,30 @@
|
|||
Synergy News
|
||||
============
|
||||
|
||||
* Mar-28-2004 - Synergy 1.1.3 released
|
||||
|
||||
Made following changes:
|
||||
* Major code refactoring; reduced use of threads, added event queue
|
||||
* Removed unused HTTP support code
|
||||
* No longer interfering with mouse when scroll lock is toggled on
|
||||
* Fixed minor mispositioning of mouse on win32
|
||||
* Unix portability fixes
|
||||
* Added support for power management
|
||||
* Improved keyboard handling and bug fixes
|
||||
* Fixed dead key handling
|
||||
|
||||
Note: the tray icon on windows is known to not work correctly when
|
||||
running the synergy server on Windows 95/95/Me.
|
||||
|
||||
* Aug-24-2003 - Synergy 1.0.14 released
|
||||
|
||||
Made following changes:
|
||||
* Fixed bugs in setting win32 process/thread priority
|
||||
* Fixed resource leak in opening win32 system log
|
||||
* Fixed win32 launcher not getting non-default advanced options
|
||||
* Synergy log copied to clipboard now transferred to other screens
|
||||
* Hack to work around lesstif clipboard removed (fixes pasting on X)
|
||||
|
||||
* Jul-20-2003 - Synergy 1.0.12 released
|
||||
|
||||
This release finally completes support for non-ASCII characters,
|
||||
|
|
22
PORTING
22
PORTING
|
@ -15,6 +15,7 @@ cmd -- program source code
|
|||
synergys -- synergy server
|
||||
config -- stuff for autoconf/automake
|
||||
dist -- files for creating distributions
|
||||
nullsoft -- files for creating Nullsoft NSIS installer (Windows)
|
||||
rpm -- files for creating RPMs
|
||||
doc -- placeholder for documentation
|
||||
examples -- example files
|
||||
|
@ -23,7 +24,6 @@ lib -- library source code
|
|||
base -- simple utilities
|
||||
client -- synergy client library
|
||||
common -- commonly needed header files
|
||||
http -- simple http tools
|
||||
io -- I/O
|
||||
mt -- multithreading
|
||||
net -- networking
|
||||
|
@ -358,8 +358,8 @@ file and make calls directly, surrounded by a suitable #ifdef/#endif.
|
|||
Implementing lib/platform:
|
||||
|
||||
Most of the remaining platform dependent code lives in lib/platform.
|
||||
The code there implements platform dependent window, clipboard, and
|
||||
screen saver handling. If a platform is named XXX then the following
|
||||
The code there implements platform dependent window, clipboard, keyboard
|
||||
and screen saver handling. If a platform is named XXX then the following
|
||||
classes should be derived and implemented:
|
||||
|
||||
* CXXXClipboard : IClipboard
|
||||
|
@ -367,16 +367,16 @@ classes should be derived and implemented:
|
|||
have helper classes for converting between various clipboard
|
||||
data formats.
|
||||
|
||||
* CXXXScreen : IScreen
|
||||
Provide screen operations common to the server and clients.
|
||||
The CXXXPrimaryScreen and CXXXSecondaryScreen classes use a
|
||||
CXXXScreen.
|
||||
* CXXXEventQueueBuffer : IEventQueueBuffer
|
||||
Provides operations for waiting for, posting and retrieving events.
|
||||
Also provides operations for creating and deleting timers.
|
||||
|
||||
* CXXXPrimaryScreen : CPrimaryScreen, IScreenEventHandler
|
||||
Provides server screen operations.
|
||||
* CXXXKeyState : CKeyState
|
||||
Provides operations for synthesizing key events and for mapping a
|
||||
key ID to a sequence of events to generate that key.
|
||||
|
||||
* CXXXSecondaryScreen : CSecondaryScreen, IScreenEventHandler
|
||||
Provides client screen operations.
|
||||
* CXXXScreen : IScreen, IPrimaryScreen, ISecondaryScreen, IPlatformScreen
|
||||
Provides screen operations.
|
||||
|
||||
* CXXXScreenSaver : IScreenSaver
|
||||
Provides screen saver operations.
|
||||
|
|
14
README
14
README
|
@ -48,7 +48,7 @@ System Requirements
|
|||
mouse,
|
||||
TCP/IP networking;
|
||||
|
||||
* Microsoft Windows 95, Windows 98, Windows Me (the Windows 96 family);
|
||||
* Microsoft Windows 95, Windows 98, Windows Me (the Windows 95 family);
|
||||
|
||||
* Microsoft Windows NT, Windows 2000, Windows XP (the Windows NT family);
|
||||
|
||||
|
@ -85,11 +85,9 @@ choices. The Windows version provides a convenient GUI for
|
|||
configuration.
|
||||
|
||||
Second, you install the software. Choose the appropriate package
|
||||
and install it. On Windows you should unzip the files into the
|
||||
`Program Files' directory; all the files will be put into a new
|
||||
directory named `Synergy' under `Program Files'. You must install
|
||||
the software on all the computers that will share the mouse and
|
||||
keyboard.
|
||||
and install it. On Windows you should run SynergyInstaller. You
|
||||
must install the software on all the computers that will share the
|
||||
mouse and keyboard.
|
||||
|
||||
Third, you configure and start the server.
|
||||
Windows
|
||||
|
@ -99,7 +97,7 @@ Third, you configure and start the server.
|
|||
|
||||
* Click the `Server' radio button
|
||||
* Click `Add' to add the server to the `Screens' list
|
||||
* Enter the name of server (the computer name is recommended)
|
||||
* Enter the name of server (the computer's name is recommended)
|
||||
* Enter other names the server is known by
|
||||
* Click OK
|
||||
* Use `Add' to add your other computers
|
||||
|
@ -220,8 +218,6 @@ Tips and Tricks
|
|||
a screen to itself then moving off the left of the screen would put
|
||||
the mouse at the right of the screen and vice versa.
|
||||
|
||||
* You cannot switch screens when a key or mouse button is pressed.
|
||||
|
||||
* You cannot switch screens when the scroll lock it toggled on. Use
|
||||
this to prevent unintentional switching.
|
||||
|
||||
|
|
10
TODO
10
TODO
|
@ -18,16 +18,12 @@ Things to do to synergy, in no particular order:
|
|||
|
||||
* Port to other platforms
|
||||
|
||||
Most desired is MacOS X.
|
||||
Most desired is MacOS X. Ryan Breen has a partial port to Mac OS X.
|
||||
Only the client is ported and there is no clipboard or screen saver
|
||||
support. It's available from http://www.ryanbreen.com/synergy.
|
||||
|
||||
* Write man/html pages
|
||||
|
||||
* Provide a win32 installer/uninstaller
|
||||
|
||||
Synergy doesn't have any special needs so even just unzipping is
|
||||
satisfactory, but a proper installer would be nice. And, more
|
||||
importantly, it should provide an uninstaller.
|
||||
|
||||
* Add more clipboard formats
|
||||
|
||||
Synergy currently supports only text on the clipboard. It should
|
||||
|
|
427
nodist/readme
427
nodist/readme
|
@ -1,427 +0,0 @@
|
|||
synergy
|
||||
-------
|
||||
synergy: [noun] a mutually advantageous conjunction of distinct elements
|
||||
|
||||
synergy lets you easily share a single mouse and keyboard between
|
||||
multiple computers, each with its own display, using software only.
|
||||
redirecting the mouse and keyboard is as simple as moving the mouse
|
||||
off the edge of your screen. synergy merges the clipboards of all
|
||||
the systems into one, allowing cut-and-paste between systems. it
|
||||
also synchronizes screensavers so they all start and stop together
|
||||
and, if screen locking is enabled, only one screen requires a
|
||||
password to unlock them all.
|
||||
|
||||
|
||||
system requirements
|
||||
-------------------
|
||||
all systems:
|
||||
keyboard
|
||||
mouse
|
||||
TCP/IP networking
|
||||
|
||||
Microsoft Windows 95, Windows 98, Windows Me (the Windows 95 family):
|
||||
??? MB RAM
|
||||
|
||||
Microsoft Windows NT, Windows 2000, Windows XP (the Windows NT family):
|
||||
??? MB RAM
|
||||
|
||||
Linux, Unix:
|
||||
??? MB RAM
|
||||
X Windows, revision 4 or up with the XTEST extension
|
||||
use `xdpyinfo | grep XTEST' to check
|
||||
|
||||
|
||||
manifest
|
||||
--------
|
||||
linux windows
|
||||
----- -------
|
||||
README README this file
|
||||
synergy synergy.exe the synergy client
|
||||
synergyd synergyd.exe the synergy server
|
||||
synrgyhk.dll the synergy hook dll
|
||||
synergy.conf synergy.conf sample configuration file
|
||||
|
||||
|
||||
running synergy
|
||||
---------------
|
||||
synergy is simple to configure. the server uses a configuration file
|
||||
and command line options while the client uses only command line
|
||||
options. it's recommended that both the client and server be run in
|
||||
the foreground until the configuration is verified to work.
|
||||
|
||||
step 1: create a configuration file
|
||||
edit the sample configuration file. there are two sections you
|
||||
must fill in and a third optional section. you should delete
|
||||
the existing lines inside the sections.
|
||||
|
||||
in the "screens" section, add a line for each computer you'll
|
||||
be using (server and clients). put the hostname of the computer
|
||||
followed by a colon (with no space in between). the computers
|
||||
can be listed in any order.
|
||||
|
||||
in the "links" section you define how screens are connected.
|
||||
each screen is listed as in the "screens" section except
|
||||
following each screen is a list of links to other screens in
|
||||
the form "<direction> = <screen>" where <direction> is "left",
|
||||
"right", "up", or "down" and <screen> is a screen listed in
|
||||
the "screens" section.
|
||||
|
||||
as an example, if we have "left=foo" under the "bar" screen
|
||||
then screen "foo" is on the left of screen "bar". the user
|
||||
will be able to move the mouse off the left edge of "foo" and
|
||||
will appear on the opposite (right) edge of "bar". note that
|
||||
it's entirely possible to have one-way (asymmetric) links and
|
||||
screens with only links into them. the latter should be
|
||||
avoided since there's no way to move the mouse off those
|
||||
screens.
|
||||
|
||||
in the "aliases" section you can list other names for each
|
||||
screen. this is especially useful for dealing with fully
|
||||
qualified domain names versus simple hostnames.
|
||||
|
||||
step 2: start the server
|
||||
the server is the system with the mouse and keyboard to be
|
||||
shared. each platform has its own tradeoffs when running as
|
||||
the server. see the release notes below for more information.
|
||||
|
||||
run the synergy server on the server system using the following
|
||||
command line:
|
||||
|
||||
synergyd -f --config <config-pathname>
|
||||
|
||||
replacing <config-pathname> with the path to the configuration
|
||||
file. you can use `synergyd --help' for a list of command line
|
||||
options.
|
||||
|
||||
step 3: start the clients
|
||||
on each client system start the synergy client using the
|
||||
following command line:
|
||||
|
||||
synergy -f --debug INFO --no-camp <server-hostname>
|
||||
|
||||
replacing <server-hostname> with the hostname or address of the
|
||||
server system.
|
||||
|
||||
the client should quickly report `connected to server'. if it
|
||||
does not but doesn't print an error and exit immeditately then
|
||||
it's trying to connect to the server but cannot. it will time
|
||||
out in 30 seconds and exit (use ctrl+c to exit earlier). you
|
||||
should check that the server is running and try again.
|
||||
|
||||
otherwise, if the client doesn't connect it should print an
|
||||
error describing the problem. here are typical problems and
|
||||
possible solutions:
|
||||
|
||||
failed to open screen:
|
||||
check permission to open the X display;
|
||||
check that the DISPLAY environment variable is set.
|
||||
already connected:
|
||||
check that synergy isn't already running.
|
||||
refused client:
|
||||
add client to the server's configuration file.
|
||||
connection failed:
|
||||
check server-hostname;
|
||||
the server cannot open the desired port, stop the
|
||||
program using that port (24800) and restart the
|
||||
server.
|
||||
|
||||
step 4: verify the configuration
|
||||
once the clients are connected, use the mouse to check that
|
||||
the screens are properly linked. moving the mouse off the
|
||||
edge of a screen with a link should cause it to appear on
|
||||
the opposite edge of the linked-to screen.
|
||||
|
||||
|
||||
using synergy
|
||||
-------------
|
||||
using synergy is very easy. once clients have connected to the
|
||||
server all you do to redirect keyboard and mouse input to a screen
|
||||
(i.e. switch screens) is move the mouse cursor off the edge of the
|
||||
screen you're on. which edges go to which screens depends on the
|
||||
configuration.
|
||||
|
||||
clients can be connected and disconnected at any time. until a
|
||||
client is connected, switching to it works as if you switched to
|
||||
it then moved all the way across it in the same direction and
|
||||
switched to the next screen. this repeats until you reach a
|
||||
connected screen. if there is no connected screen in that
|
||||
direction then the mouse will not leave the starting screen.
|
||||
|
||||
disconnecting a client while the mouse is on it causes the mouse
|
||||
to instantly jump to the center of the server screen.
|
||||
|
||||
the clipboard is automatically transferred between screens. if
|
||||
you copy on one screen you just switch to another screen and paste.
|
||||
note that X Windows has two major clipboards: the primary
|
||||
selection and the clipboard. synergy supports both. however,
|
||||
Microsoft Windows only supports the clipboard. the Windows
|
||||
clipboard is transferred to both the X primary selection and the
|
||||
clipboard. whichever X clipboard was changed last becomes the
|
||||
Windows clipboard. end-of-line sequences (LF on linux and unix,
|
||||
CRLF on Windows) are automatically converted as necessary. the
|
||||
clipboards are transferred using Unicode; if your platforms and
|
||||
applications understand Unicode then you should be able to cut
|
||||
and paste any Unicode character.
|
||||
|
||||
synergy synchronizes screensavers. the screensavers on client
|
||||
screens are disabled when they connect to the server. when the
|
||||
primary screen's screensaver starts, the screensaver on each
|
||||
secondary screen starts too. all the secondary screensavers are
|
||||
stopped when the primary screensaver stops. moving the mouse or
|
||||
pressing a key will stop the primary screensaver, regardless of
|
||||
which screen the mouse was on when the screensavers started. if
|
||||
the primary screensaver requires a password to unlock then the
|
||||
user is prevented from switching to the secondary screens until
|
||||
the primary screen is unlocked.
|
||||
|
||||
|
||||
installing as a daemon/service
|
||||
------------------------------
|
||||
synergy can run in the foreground or as a daemon/service. it's
|
||||
recommended that you run it in the foreground until you've sorted
|
||||
out your configuration.
|
||||
|
||||
on the Windows NT family you cannot run a service directly.
|
||||
instead you install the service then run or stop it via the
|
||||
Services control panel. on the Windows 95 family, you can use
|
||||
the `--daemon' command line option to start synergy as a service
|
||||
or you can install the service and restart your computer.
|
||||
|
||||
in the text below, except where noted, synergy refers to the
|
||||
client and/or the server.
|
||||
|
||||
windows:
|
||||
to install synergy just run one of the following:
|
||||
|
||||
synergy --install [other command line options]
|
||||
synergyd --install [other command line options]
|
||||
|
||||
the client/server is installed as a service and the command
|
||||
line is saved and used when starting the service. the system
|
||||
will expect to find the program wherever it was when you used
|
||||
the --install option so make sure it's not on a network share
|
||||
from another system because the network share will not be
|
||||
available at boot time. synergyd will also try to load
|
||||
synrgyhk.dll so that should be in the same directory as
|
||||
synergyd.exe.
|
||||
|
||||
note that when installing the client you must provide the
|
||||
server hostname argument. to change the arguments you must
|
||||
first uninstall then reinstall.
|
||||
|
||||
you must also install the configuration file along with the
|
||||
server. it's recommended that you put it in the windows
|
||||
directory (e.g. C:\WINNT) and call it "synergy.sgc". the
|
||||
server will automatically find this file. however, you can
|
||||
also use the --config command line option and specify an
|
||||
*absolute* path to the file. remember that this file must be
|
||||
accessible when the system starts up, before network shares
|
||||
are mapped.
|
||||
|
||||
to uninstall use:
|
||||
|
||||
synergy --uninstall
|
||||
synergyd --uninstall
|
||||
|
||||
linux, unix:
|
||||
before starting synergy as a daemon you should understand that
|
||||
synergy requires an X server that it can connect to. synergy
|
||||
can start before the X server does and will repeatly attempt to
|
||||
connect to the X server until it succeeds. however, if the
|
||||
server requires authorization then it's unlikely that synergy
|
||||
will ever succeed. so, in general, synergy should be (re)started
|
||||
by the X display manager.
|
||||
|
||||
some display managers (xdm and kdm, but not gdm) grab the
|
||||
keyboard and do not release it until the user logs in, also
|
||||
for security reasons. this prevents a synergy server from
|
||||
sharing the mouse and keyboard until the user logs in but
|
||||
it doesn't prevent a synergy client from synthesizing mouse
|
||||
and keyboard input.
|
||||
|
||||
you should modify xdm's Xsetup script to start the synergy
|
||||
client or server. for example, somewhere near the bottom of
|
||||
Xsetup (but someplace before anywhere the script calls exit)
|
||||
you might add:
|
||||
/usr/bin/killall synergy
|
||||
/usr/sbin/synergy 192.168.1.101
|
||||
this assumes synergy is installed in /usr/sbin. these lines
|
||||
make sure any already running synergy is terminated and starts
|
||||
a fresh copy. it's important to kill old copies so that you
|
||||
don't end up with multiple synergy instances fighting each
|
||||
other or, at the very least, using up system resources.
|
||||
|
||||
to start the synergy server you might use:
|
||||
/usr/bin/killall synergyd
|
||||
/usr/sbin/synergyd --config /root/synergy.conf
|
||||
assuming synergyd is installed in /usr/sbin. if you've put
|
||||
the configuration data in /etc/synergy.conf then you don't
|
||||
need the --config option.
|
||||
|
||||
another option is to put the synergy startup in .Xsession in
|
||||
your home directory. that allows users without root access to
|
||||
start synergy when they login. in this case synergy will not
|
||||
be running while on the login screen.
|
||||
|
||||
|
||||
common command line options
|
||||
---------------------------
|
||||
-d, --debug <level> use debugging level <level>
|
||||
--daemon run as a daemon (linux,unix) or background (windows)
|
||||
-f, --no-daemon run in the foreground
|
||||
-n, --name <name> use <name> instead of the hostname
|
||||
--restart automatically restart on failures
|
||||
-1, --no-restart do not restart on failure
|
||||
-h, --help print help and exit
|
||||
--version print version information and exit
|
||||
--install install as a service (windows)
|
||||
--uninstall uninstall service (windows)
|
||||
|
||||
debug levels are from highest to lowest: FATAL, ERROR, WARNING, NOTE,
|
||||
INFO, DEBUG, DEBUG1, and DEBUG2. only messages at or above the given
|
||||
level are logged. messages are logged to a terminal window when
|
||||
running in the foreground. unix logs messages to syslog when running
|
||||
as a daemon. the Windows NT family logs messages to the event log
|
||||
when running as a service. the Windows 95 family shows FATAL log
|
||||
messages in a message box and others in a terminal window when running
|
||||
as a service.
|
||||
|
||||
the `--name' option lets the client or server use a name other than
|
||||
its hostname for its screen. this name is used when checking the
|
||||
configuration.
|
||||
|
||||
neither the client nor server will automatically restart if an error
|
||||
occurs that is sure to happen every time. for example, the server
|
||||
will exit immediately if it can't find itself in the screen
|
||||
configuration. on X11 both the client and server will also terminate
|
||||
if the connection to the X server is lost. since xdm will normally
|
||||
restart the server and then synergy this is the correct behavior.
|
||||
|
||||
|
||||
server command line options
|
||||
---------------------------
|
||||
-a, --address <address> listen for connections on the given address
|
||||
-c, --config <pathname> read configuration from <pathname>
|
||||
|
||||
<address> has one of the following forms:
|
||||
<hostname>
|
||||
:<port>
|
||||
<hostname>:<port>
|
||||
<hostname> is a hostname or address of a network interface on the
|
||||
server system. <port> is a port number from 1 to 65535. <hostname>
|
||||
defaults to the system's hostname and <port> defaults to 24800.
|
||||
|
||||
|
||||
client command line options
|
||||
---------------------------
|
||||
--camp retry connection to server until successful
|
||||
--no-camp try connection to server only once
|
||||
<address> address of server
|
||||
|
||||
see the "server command line options" for a description of <address>
|
||||
but note that there is no default <hostname> though there is a
|
||||
default <port>.
|
||||
|
||||
|
||||
release notes
|
||||
-------------
|
||||
synergy does not yet fully capture all possible input or have full
|
||||
control over the mouse and keyboard on all platforms. each platform
|
||||
has its own limitations and these limitations may influence your
|
||||
choice for the server.
|
||||
|
||||
the following lists enumerate the limitations of each platform. a
|
||||
key (combination) that cannot be captured is not detected by synergy.
|
||||
a key (combination) that cannot be blocked will be passed through to
|
||||
the server system even when the mouse is on a client system. if a
|
||||
key cannot be captured then it also cannot be blocked.
|
||||
|
||||
windows 95 family, windows NT prior to service pack 3:
|
||||
* cannot capture:
|
||||
* ctrl+alt+del
|
||||
* ctrl+esc
|
||||
* alt+[shift+]tab
|
||||
* alt+[shift+]esc
|
||||
* windows+E
|
||||
* windows+[ctrl+]F
|
||||
* windows+[shift+]M
|
||||
* windows+R
|
||||
* windows+F1
|
||||
* windows+tab
|
||||
* windows+break
|
||||
* accessibility shortcuts (e.g. press shift 5 times for sticky keys)
|
||||
* the individual keys are captured but the dialogs still appear
|
||||
* cannot synthesize:
|
||||
* accessibility shortcuts
|
||||
|
||||
windows NT family (except NT prior to SP3):
|
||||
* cannot block:
|
||||
* ctrl+alt+del
|
||||
* accessibility shortcuts (e.g. press shift 5 times for sticky keys)
|
||||
* the individual keys are captured but the dialogs still appear
|
||||
* cannot synthesize:
|
||||
* accessibility shortcuts
|
||||
|
||||
linux, unix:
|
||||
* cannot capture:
|
||||
* ctrl+alt+del
|
||||
* ctrl+alt+backspace (only if used by the X server)
|
||||
* ctrl+alt+keypad_plus (only if used by the X server)
|
||||
* ctrl+alt+keypad_minus (only if used by the X server)
|
||||
* keyboard/mouse grabs prevent switching screens for their duration
|
||||
* some display managers grab the keyboard until login
|
||||
|
||||
currently, the windows NT family (except NT prior to SP3) makes the
|
||||
best server.
|
||||
|
||||
|
||||
known bugs
|
||||
----------
|
||||
all:
|
||||
* non-ASCII keyboard characters are not supported
|
||||
|
||||
windows:
|
||||
* screen flashes when entering the screen
|
||||
* synergy may interfere with desktop switcher programs. however,
|
||||
synergy understands and handles multiple desktops.
|
||||
* there should be a control panel
|
||||
* there should be a taskbar icon
|
||||
|
||||
windows 95 family:
|
||||
* typing into a console window can be slow
|
||||
|
||||
windows NT family:
|
||||
* the event viewer reports a message lookup error for synergy logs.
|
||||
however, the full synergy message is in the extra data portion of
|
||||
the event dialog.
|
||||
* does not gracefully handle NoInteractiveServices being enabled
|
||||
|
||||
linux:
|
||||
* some keyboards have toggle keys that toggle on on key press and
|
||||
toggle off on the key release after the next key press. synergy
|
||||
doesn't handle these properly.
|
||||
* shift-lock (as opposed to caps-lock) is not supported
|
||||
* large (~256k) motif clipboard items are not copied properly
|
||||
|
||||
|
||||
tips and tricks
|
||||
---------------
|
||||
* a screen can be its own neighbor. that allows a screen to "wrap".
|
||||
for example, if a configuration linked the left and right sides of
|
||||
a screen to itself then moving off the left of the screen would put
|
||||
the mouse at the right of the screen and vice versa.
|
||||
|
||||
* you cannot switch screens when a key or mouse button is pressed.
|
||||
|
||||
* you cannot switch screens when the scroll lock it toggled on. use
|
||||
this to prevent unintentional switching.
|
||||
|
||||
* turn off mouse driven virtual desktop switching on X windows. it
|
||||
will interfere with synergy. use keyboard shortcuts instead.
|
||||
|
||||
* synergy's screensaver synchronization works best with xscreensaver
|
||||
under X windows. synergy works better with xscreensaver if it is
|
||||
using of the screensaver extensions. prior to xscreensaver 4.0
|
||||
you can use `-mit-extension', `-sgi-extension', or `-xidle-extension'
|
||||
command line options to enable an extension. starting with 4.0
|
||||
you must enable the corresponding option in your .xscreensaver file.
|
Loading…
Reference in New Issue