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
|
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
|
||||||
|
|
39
COPYING
39
COPYING
|
@ -260,24 +260,27 @@ 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
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
|
||||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
|
||||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
|
||||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||||
REPAIR OR CORRECTION.
|
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
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY
|
||||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
|
||||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF
|
||||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
|
||||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
|
||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
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
|
2003/07/19 17:22:06 crs
|
||||||
cmd/launcher/launcher.cpp
|
cmd/launcher/launcher.cpp
|
||||||
cmd/launcher/launcher.rc
|
cmd/launcher/launcher.rc
|
||||||
|
|
32
FAQ
32
FAQ
|
@ -12,12 +12,13 @@ Questions
|
||||||
7. Why do my CapsLock and NumLock keys act funny?
|
7. Why do my CapsLock and NumLock keys act funny?
|
||||||
8. Can synergy share the display in addition to the mouse and keyboard?
|
8. Can synergy share the display in addition to the mouse and keyboard?
|
||||||
9. Can synergy do drag and drop between computers?
|
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?
|
11. Why isn't synergy ported to platform XYZ?
|
||||||
12. My client can't connect. What's wrong?
|
12. My client can't connect. What's wrong?
|
||||||
13. Linking fails on Solaris. What's wrong?
|
13. Linking fails on Solaris. What's wrong?
|
||||||
14. The screen saver never starts. Why not?
|
14. The screen saver never starts. Why not?
|
||||||
15. I can't switch screens anymore for no apparent reason. Why?
|
15. I can't switch screens anymore for no apparent reason. Why?
|
||||||
|
16. I get the error 'Xlib: No protocol specified'. Why?
|
||||||
|
|
||||||
Answers
|
Answers
|
||||||
-------
|
-------
|
||||||
|
@ -126,13 +127,14 @@ Answers
|
||||||
No. That's a very cool idea and it'll be explored. However, it's
|
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.
|
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.
|
Yes, as of 1.0.12 synergy has full support for AltGr/Mode-switch.
|
||||||
That includes support for most (all?) European keyboard layouts.
|
That includes support for most (all?) European keyboard layouts.
|
||||||
All systems should be using the same keyboard layout, though, for
|
All systems should be using the same keyboard layout, though, for
|
||||||
all characters to work. (Any character missing from a client's
|
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?
|
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?
|
15. I can't switch screens anymore for no apparent reason. Why?
|
||||||
|
|
||||||
This sometimes happens but all the causes aren't yet known. One
|
This should not happen with 1.1.3 and up. Earlier versions of
|
||||||
known cause is if the synergy server in running on Windows
|
synergy would not allow switching screens when a key was down and
|
||||||
95/98/Me and a 16-bit application is in the foreground when the
|
sometimes it would believe a key was down when it was not.
|
||||||
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
|
16. I get the error 'Xlib: No protocol specified'. Why?
|
||||||
if that solves the problem. If not, you can try running with
|
|
||||||
debug logging (--debug DEBUG) and synergy will report exactly why
|
You're running synergy without authorization to connect to the
|
||||||
it refuses to switch screens. If it claims a key is down then
|
X display. Typically the reason is running synergy as root when
|
||||||
try tapping that key and see if that solves the problem.
|
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:
|
Windows:
|
||||||
There is no support for creating an installer for synergy or installing
|
You'll need NSIS, the Nullsoft Scriptable Install System, available
|
||||||
the files in a particular location. Instead, just copy the following
|
from http://nsis.sourceforge.net/. Build `All - Release' then build
|
||||||
files from the Debug or Release directory to a directory you choose
|
'Installer - Release'. This creates SynergyInstaller.exe in the top
|
||||||
(perhaps under the Program Files directory):
|
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
|
* synergy.exe
|
||||||
* synergyc.exe
|
* synergyc.exe
|
||||||
|
@ -90,7 +94,7 @@ First configure the server. Click the `Server' radio button
|
||||||
|
|
||||||
* Click the `Server' radio button
|
* Click the `Server' radio button
|
||||||
* Click `Add' to add the server to the `Screens' list
|
* 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
|
* Enter other names the server is known by
|
||||||
* Click OK
|
* Click OK
|
||||||
* Use `Add' to add your other computers
|
* 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
|
program using that port (24800) and restart the
|
||||||
server.
|
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
|
Once all the clients are running, try moving the mouse to each
|
||||||
screen. Be sure to check all the configured links.
|
screen. Be sure to check all the configured links.
|
||||||
|
|
||||||
|
|
24
NEWS
24
NEWS
|
@ -1,6 +1,30 @@
|
||||||
Synergy News
|
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
|
* Jul-20-2003 - Synergy 1.0.12 released
|
||||||
|
|
||||||
This release finally completes support for non-ASCII characters,
|
This release finally completes support for non-ASCII characters,
|
||||||
|
|
22
PORTING
22
PORTING
|
@ -15,6 +15,7 @@ cmd -- program source code
|
||||||
synergys -- synergy server
|
synergys -- synergy server
|
||||||
config -- stuff for autoconf/automake
|
config -- stuff for autoconf/automake
|
||||||
dist -- files for creating distributions
|
dist -- files for creating distributions
|
||||||
|
nullsoft -- files for creating Nullsoft NSIS installer (Windows)
|
||||||
rpm -- files for creating RPMs
|
rpm -- files for creating RPMs
|
||||||
doc -- placeholder for documentation
|
doc -- placeholder for documentation
|
||||||
examples -- example files
|
examples -- example files
|
||||||
|
@ -23,7 +24,6 @@ lib -- library source code
|
||||||
base -- simple utilities
|
base -- simple utilities
|
||||||
client -- synergy client library
|
client -- synergy client library
|
||||||
common -- commonly needed header files
|
common -- commonly needed header files
|
||||||
http -- simple http tools
|
|
||||||
io -- I/O
|
io -- I/O
|
||||||
mt -- multithreading
|
mt -- multithreading
|
||||||
net -- networking
|
net -- networking
|
||||||
|
@ -358,8 +358,8 @@ file and make calls directly, surrounded by a suitable #ifdef/#endif.
|
||||||
Implementing lib/platform:
|
Implementing lib/platform:
|
||||||
|
|
||||||
Most of the remaining platform dependent code lives in lib/platform.
|
Most of the remaining platform dependent code lives in lib/platform.
|
||||||
The code there implements platform dependent window, clipboard, and
|
The code there implements platform dependent window, clipboard, keyboard
|
||||||
screen saver handling. If a platform is named XXX then the following
|
and screen saver handling. If a platform is named XXX then the following
|
||||||
classes should be derived and implemented:
|
classes should be derived and implemented:
|
||||||
|
|
||||||
* CXXXClipboard : IClipboard
|
* CXXXClipboard : IClipboard
|
||||||
|
@ -367,16 +367,16 @@ classes should be derived and implemented:
|
||||||
have helper classes for converting between various clipboard
|
have helper classes for converting between various clipboard
|
||||||
data formats.
|
data formats.
|
||||||
|
|
||||||
* CXXXScreen : IScreen
|
* CXXXEventQueueBuffer : IEventQueueBuffer
|
||||||
Provide screen operations common to the server and clients.
|
Provides operations for waiting for, posting and retrieving events.
|
||||||
The CXXXPrimaryScreen and CXXXSecondaryScreen classes use a
|
Also provides operations for creating and deleting timers.
|
||||||
CXXXScreen.
|
|
||||||
|
|
||||||
* CXXXPrimaryScreen : CPrimaryScreen, IScreenEventHandler
|
* CXXXKeyState : CKeyState
|
||||||
Provides server screen operations.
|
Provides operations for synthesizing key events and for mapping a
|
||||||
|
key ID to a sequence of events to generate that key.
|
||||||
|
|
||||||
* CXXXSecondaryScreen : CSecondaryScreen, IScreenEventHandler
|
* CXXXScreen : IScreen, IPrimaryScreen, ISecondaryScreen, IPlatformScreen
|
||||||
Provides client screen operations.
|
Provides screen operations.
|
||||||
|
|
||||||
* CXXXScreenSaver : IScreenSaver
|
* CXXXScreenSaver : IScreenSaver
|
||||||
Provides screen saver operations.
|
Provides screen saver operations.
|
||||||
|
|
14
README
14
README
|
@ -48,7 +48,7 @@ System Requirements
|
||||||
mouse,
|
mouse,
|
||||||
TCP/IP networking;
|
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);
|
* 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.
|
configuration.
|
||||||
|
|
||||||
Second, you install the software. Choose the appropriate package
|
Second, you install the software. Choose the appropriate package
|
||||||
and install it. On Windows you should unzip the files into the
|
and install it. On Windows you should run SynergyInstaller. You
|
||||||
`Program Files' directory; all the files will be put into a new
|
must install the software on all the computers that will share the
|
||||||
directory named `Synergy' under `Program Files'. You must install
|
mouse and keyboard.
|
||||||
the software on all the computers that will share the mouse and
|
|
||||||
keyboard.
|
|
||||||
|
|
||||||
Third, you configure and start the server.
|
Third, you configure and start the server.
|
||||||
Windows
|
Windows
|
||||||
|
@ -99,7 +97,7 @@ Third, you configure and start the server.
|
||||||
|
|
||||||
* Click the `Server' radio button
|
* Click the `Server' radio button
|
||||||
* Click `Add' to add the server to the `Screens' list
|
* 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
|
* Enter other names the server is known by
|
||||||
* Click OK
|
* Click OK
|
||||||
* Use `Add' to add your other computers
|
* 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
|
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.
|
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
|
* You cannot switch screens when the scroll lock it toggled on. Use
|
||||||
this to prevent unintentional switching.
|
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
|
* 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
|
* 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
|
* Add more clipboard formats
|
||||||
|
|
||||||
Synergy currently supports only text on the clipboard. It should
|
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