2006/04/02 12:16:23 crs lib/platform/CXWindowsKeyState.cpp Fixed non-XKB handling of Mode_switch. There were two problems. First the XkbLockGroup function was being called even for non-XKB layouts. (And was being included in the compile even if the XKB headers were not available!) Second, modifiers were assumed to exist only the group in which a keysym was found and when looking for modifiers for a key we only check modifiers in the same group. So keys that needed Mode_switch (in group 1) would check to see if Mode_switch was explictly mapped in group 1. It never is so that would never work. Now we handle implicitly mapped modifiers. I hadn't noticed this problem because my system (like most others) uses XKB and when I forced non-XKB, the keys I tested worked anyway through Multi_key. ---------- 2006/04/01 22:25:33 crs lib/platform/CXWindowsKeyState.cpp lib/platform/CXWindowsKeyState.h lib/platform/CXWindowsScreen.cpp Fixed autorepeat on X11. Was autorepeating all keys sent from server. Now autorepeating only those keys which are locally configured in X to autorepeat. ---------- 2006/04/01 21:37:24 crs lib/platform/CMSWindowsKeyState.cpp Fixed autorepeat on win32 clients. Was synthesizing a key release for each repeat. Win32 wants only repeat press events. ---------- 2006/04/01 21:36:50 crs cmd/launcher/CScreensLinks.cpp Fixed two bugs in screens and link dialog. First, the link controls were not updated when reopening the dialog. Second, a change in any link edit control would be discarded if the user pressed enter. ---------- 2006/04/01 21:35:10 crs cmd/launcher/CHotkeyOptions.cpp Fixed crash when creating a new hotkey but picking a key or mouse button combination before clicking OK. ---------- 2006/04/01 21:30:43 crs configure.in lib/arch/CArchNetworkBSD.cpp lib/common/common.h Removed use of alloca() from unix and portable code. It's still in win32 code but i don't have to play guessing games about whether it's there or not on that platform. ---------- 2006/04/01 17:53:27 crs synergy.xcode/project.pbxproj Added new files to Xcode project. ---------- 2006/04/01 17:41:59 crs lib/client/CServerProxy.cpp lib/net/CTCPSocket.cpp lib/server/CClientProxy1_0.cpp Added more debugging output for network problems. ---------- 2006/04/01 17:01:56 crs lib/platform/COSXKeyState.cpp Fixed keymapping on OSX. Was checking keyboard tables for all modifier combinations, including right-handed modifiers. It turns out OSX doesn't set up the tables correctly for those modifiers and acts if they have no effect. Since OSX never generates right-handed modifiers this isn't too surprising. ---------- 2006/04/01 15:32:19 crs lib/server/CBaseClientProxy.cpp lib/server/CBaseClientProxy.h lib/server/CClientProxy.cpp lib/server/CClientProxy.h lib/server/CPrimaryClient.cpp lib/server/CPrimaryClient.h lib/server/CServer.cpp lib/server/CServer.h lib/server/Makefile.am lib/server/server.dsp Added new class to allow the server to keep information that every screen has. The first such info is the cursor position when last jumping from the screen. Using a hotkey to jump to a screen now puts the cursor where it was the last time the user jumped from that screen. ---------- 2006/04/01 14:51:22 crs lib/server/CInputFilter.cpp Fixed bug in reloading configurations. Was losing hotkeys. ---------- 2006/04/01 14:49:41 crs lib/platform/CXWindowsKeyState.cpp Fixed bug when recollecting the keyboard map on non-XKB keyboards. Wasn't reseting a key map. It's unlikely anyone ever hit this bug. ---------- 2006/04/01 13:39:09 crs lib/platform/CXWindowsClipboard.cpp lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreenSaver.cpp Fixed several uses of CXWindowsUtil::CErrorLock that take a flag. Was checking the flag before destroying the lock object. That doesn't reliably work because the X protocol is asynchronous. The lock object ensures that the flag is correctly set in its d'tor by synchronizing with the server. The X11 hotkey (un)registration was one place where this was done. There were places in the X11 screensaver and clipboard handling, too. ---------- 2006/04/01 12:55:17 crs lib/synergy/CKeyState.cpp Fixed failure to clear the state of which keys are pressed in fakeAllKeysUp(). This fixes problems with synergy clients thinking some keys are still down, causing weird key behavior. ---------- 2006/04/01 12:53:31 crs lib/common/Version.h Changed version to 1.3.1. ---------- 2006/03/21 21:54:16 crs lib/platform/CXWindowsUtil.cpp Add all #defines for including keysyms that we use. The #defines in X11/keysym.h vary from platform to platform and cannot be relied on. ---------- 2006/03/21 21:42:53 crs lib/common/Version.h Changed version to 1.3.0. ---------- 2006/03/21 21:38:52 crs cmd/launcher/Makefile.am Added new files to makefile. ---------- 2006/03/21 21:38:02 crs cmd/launcher/CAutoStart.cpp cmd/launcher/CAutoStart.h cmd/launcher/CHotkeyOptions.cpp cmd/launcher/CHotkeyOptions.h cmd/launcher/launcher.cpp cmd/launcher/launcher.dsp cmd/launcher/launcher.rc cmd/launcher/resource.h cmd/synergyc/synergyc.dsp cmd/synergys/synergys.dsp lib/arch/arch.dsp lib/base/base.dsp lib/client/client.dsp lib/common/common.dsp lib/io/io.dsp lib/mt/mt.dsp lib/net/net.dsp lib/platform/platform.dsp lib/platform/synrgyhk.dsp lib/server/CConfig.cpp lib/server/CInputFilter.cpp lib/server/CInputFilter.h lib/server/server.dsp lib/synergy/IKeyState.cpp lib/synergy/IKeyState.h lib/synergy/IPrimaryScreen.cpp lib/synergy/IPrimaryScreen.h lib/synergy/libsynergy.dsp Added a hot key dialog to the win32 launcher, providing full support for all features of hot keys. This required a bunch of small changes to CInputFilter and stuff used by it (mainly getter methods). The hot key dialog uses dynamic_cast<> to determine the kinds of conditions and actions for each rule in the configuration. This required enabling RTTI in the project files. Also changed the 'Start' button to start the synergy service if installed (i.e. synergy is configured to start when the computer starts). ---------- 2006/03/21 21:37:59 crs lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsKeyState.h Changed AltGr handling on win32. Previously the server would send ctrl and alt up events when sending a key that used AltGr then send matching down events. Now we just clear the ctrl and alt bits in the mask sent with the key; clients will temporarily release the ctrl and alt modifiers as necessary to yield the key. If the key doesn't need AltGr then the ctrl and alt bits are kept. We also used to reserve the right alt key for AltGr even if the keyboard layout didn't use it that way. This has been removed. The keyboard mapping now presses the ctrl and alt keys for AltGr rather than use the right alt. Also made getKeyID() a public method. ---------- 2006/03/21 21:37:57 crs lib/platform/CMSWindowsScreen.cpp lib/platform/COSXScreen.cpp lib/platform/CXWindowsScreen.cpp Improved log output when registering hot keys. ---------- 2006/03/21 21:37:53 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp Added "server" and "client" to synergy log windows. ---------- 2006/03/21 21:37:52 crs lib/synergy/CKeyMap.cpp Fixed bug in keyboard mapping when releasing modifiers. This caused a problem with AltGr on win32. The left alt key was being (synthetically) released but it was the right alt key that was down. ---------- 2006/03/21 21:37:49 crs doc/configuration.html Documentation fix. ---------- 2006/03/20 23:13:11 crs doc/images/warp.gif Replaced animated GIF demonstrating cursor warp with one that doesn't show the cursor in the region between the monitors. This is the original GIF with frames removed. Supplied by user Brian A. ---------- 2006/03/18 19:17:46 crs synergy.xcode/project.pbxproj Updated Xcode project to build universal binaries. The PPC build uses the 10.2.8 SDK while the i386 build uses the 10.4u SDK. Also removed the "Default" configuration; "Development" is now the default. ---------- 2006/03/18 16:39:43 crs lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/COSXScreen.cpp Improved handling of option key on OS X servers. Previously it was always treated as the super modifier. Now it's treated as AltGr if it generates a glyph, though AltGr is not sent to the clients. So if option+key produces a glyph then key is sent without the option or AltGr modifiers. If option+key does not produce a glpyh then option is sent as the super modifier. Note that combining an option+key combination that would produce a glyph with the command or control modifiers will cause it to not produce a glyph. In that case we send option as the super modifier and we send the glyph that would've been produced on the server had the option key not been pressed. So option+s sends the beta key id with no modifiers but command+option+s sends the "s" key id with the alt and super modifiers. This seems to handle the user expectations. However some users may expect option+L to produce win+L on win32 clients. These same users probably expect option+? to produce an upside down question mark. But these two expectations are fundamentally at odds. We cannot satisfy everyone because OS X doesn't have enough modifier keys. ---------- 2006/03/18 13:20:18 crs lib/server/CInputFilter.cpp Fixed mousebutton condition. Wasn't working if num lock, caps lock or scroll lock was on. ---------- 2006/03/18 12:05:34 crs lib/platform/CXWindowsScreen.cpp Applied patch from Jaco Kroon to fix a problem with mouse focus on X11. ---------- 2006/03/18 11:54:40 crs doc/index.html Added support for index.html?child#anchor syntax. This will open the index.html page then child in the page frame and jump to anchor. ---------- 2006/03/12 20:24:43 crs cmd/launcher/CAutoStart.cpp cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp cmd/synergyc/synergyc.cpp cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp cmd/synergys/synergys.cpp lib/arch/CArch.cpp lib/arch/CArch.h lib/arch/CArchConsoleUnix.cpp lib/arch/CArchConsoleUnix.h lib/arch/CArchConsoleWindows.cpp lib/arch/CArchConsoleWindows.h lib/arch/CArchLogUnix.cpp lib/arch/CArchLogUnix.h lib/arch/CArchLogWindows.cpp lib/arch/CArchLogWindows.h lib/arch/IArchConsole.h lib/arch/IArchLog.h lib/base/CLog.cpp lib/base/ILogOutputter.h lib/base/LogOutputters.cpp lib/base/LogOutputters.h Added show() method to console and logs. ---------- 2006/03/12 20:24:14 crs dist/nullsoft/synergy.nsi Updated windows installer to install new documentation pages and to put a shortcut on the desktop. ---------- 2006/03/12 20:23:46 crs cmd/launcher/synergy.ico cmd/synergyc/synergyc.ico cmd/synergyc/tb_error.ico cmd/synergyc/tb_idle.ico cmd/synergyc/tb_run.ico cmd/synergyc/tb_wait.ico cmd/synergys/synergys.ico cmd/synergys/tb_error.ico cmd/synergys/tb_idle.ico cmd/synergys/tb_run.ico cmd/synergys/tb_wait.ico Updated icons on win32. ---------- 2006/03/12 12:42:18 crs doc/configuration.html doc/faq.html doc/running.html doc/trouble.html More documentation fixes. ---------- 2006/03/12 12:19:02 crs doc/configuration.html doc/faq.html doc/Makefile.am doc/toc.html doc/trouble.html Added a page with typical problems and solutions. ---------- 2006/03/12 10:25:15 crs doc/tips.html More documentation fixes. ---------- 2006/03/12 10:20:14 crs doc/about.html doc/configuration.html doc/faq.html Documentation fixes. ---------- 2006/03/12 09:34:16 crs doc/toc.html Fixed link in table of contents. ---------- 2006/03/11 15:01:00 crs doc/banner.html doc/border.html doc/index.html doc/synergy.css Adjusted how the border under the banner is drawn. ---------- 2006/03/11 14:49:38 crs doc/images/logo.gif Updated logo. ---------- 2006/03/11 14:42:00 crs doc/about.html doc/authors.html doc/autostart.html doc/banner.html doc/compiling.html doc/configuration.html doc/contact.html doc/developer.html doc/faq.html doc/history.html doc/home.html doc/images/logo.gif doc/images/warp.gif doc/index.html doc/license.html doc/Makefile.am doc/news.html doc/roadmap.html doc/running.html doc/security.html doc/synergy.css doc/tips.html doc/toc.html doc/todo.html Updated documentation pages. They're now the web site pages except they now use frames. ---------- 2006/03/08 20:07:09 crs lib/platform/CMSWindowsDesks.cpp lib/platform/CMSWindowsDesks.h lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsKeyState.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h lib/platform/CSynergyHook.cpp lib/platform/CSynergyHook.h lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h lib/server/CInputFilter.cpp lib/server/CPrimaryClient.cpp lib/server/CPrimaryClient.h lib/server/CServer.cpp lib/server/CServer.h lib/synergy/CKeyMap.cpp lib/synergy/CKeyState.cpp lib/synergy/CKeyState.h lib/synergy/CPlatformScreen.h lib/synergy/CScreen.cpp lib/synergy/CScreen.h lib/synergy/IPlatformScreen.h lib/synergy/IPrimaryScreen.cpp lib/synergy/IPrimaryScreen.h Added beginnings of support for synthesizing keystrokes on server's screen. It's partly implemented on win32; it just needs to track the modifier keys and adjust them as appropriate when synthesizing keys. It's not implemented on X11 or OS X. It's also currently disabled (in CPrimaryClient.cpp). ---------- 2006/03/08 20:05:38 crs cmd/synergyc/CClientTaskBarReceiver.cpp cmd/synergyc/CClientTaskBarReceiver.h cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp cmd/synergyc/resource.h cmd/synergyc/synergyc.cpp cmd/synergyc/synergyc.rc cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp cmd/synergys/CServerTaskBarReceiver.cpp cmd/synergys/resource.h cmd/synergys/synergys.cpp cmd/synergys/synergys.rc lib/arch/CArch.cpp lib/arch/CArchConsoleUnix.cpp lib/arch/CArchConsoleUnix.h lib/arch/CArchConsoleWindows.cpp lib/arch/CArchConsoleWindows.h lib/arch/CArchMiscWindows.cpp lib/arch/CArchMiscWindows.h lib/base/CLog.cpp lib/base/LogOutputters.cpp lib/base/LogOutputters.h lib/client/CClient.cpp lib/client/CClient.h lib/common/Version.cpp Replaced using win32 console for log with a dialog containing a rich edit control. The user can close this window without quiting synergy and can reopen the window using the tray icon menu. Also added menu items to switch the current logging level. ---------- 2006/02/22 19:21:21 crs lib/platform/COSXScreen.cpp Removed bogus logging call. ---------- 2006/02/20 19:46:47 crs cmd/launcher/launcher.cpp cmd/launcher/LaunchUtil.cpp cmd/launcher/LaunchUtil.h Fixed infinite loop of error dialogs in win32 launcher. ---------- 2006/02/20 12:59:20 crs doc/faq.html Added firewall info to faq12. Added faq19, a discussion of not taking the foreground on win32. ---------- 2006/02/20 12:46:18 crs doc/authors.html doc/autostart.html doc/compiling.html doc/configuration.html doc/developer.html doc/faq.html doc/history.html doc/index.html doc/license.html doc/news.html doc/running.html doc/security.html doc/tips.html doc/todo.html Changed !DOCTYPE to HTML 4.0 (from 3.2). ---------- 2006/02/20 12:21:34 crs doc/configuration.html lib/server/CConfig.cpp lib/server/CConfig.h lib/server/CInputFilter.cpp lib/server/CInputFilter.h lib/server/CServer.cpp lib/server/CServer.h Hot key overhaul. Added support for multiple actions per hot key. Actions and conditions are now idempotent so they no longer track the active state (on, off, toggled, etc). Actions can be assigned to the activation or deactivation of a condition, basically a hot key or mouse button being pressed (activation) or released (deactivation). The keystroke and mousebutton actions map to both and the new keyDown, keyUp, mouseDown and mouseUp map to one or the other. The lock cursor to screen action now takes a mode: on, off or toggle and the corresponding event state is respected by the server. Removed the modifiers action. Mouse button actions now use the new kKeySetModifiers and kKeyClearModifiers keys to set/reset modifier state directly on the client. Conditions and actions are much simpler now that they're idempotent and so is CInputFilter. Refactored CRule into a class since there's now more to a rule than a condition and action. ---------- 2006/02/20 11:29:41 crs lib/synergy/CKeyMap.cpp lib/synergy/CKeyMap.h lib/synergy/CKeyState.cpp Added support for kKeySetModifiers and kKeyClearModifiers keys. The former activates the given modifiers and the latter deactivates them. ---------- 2006/02/20 11:25:44 crs lib/synergy/KeyTypes.h Added special keys for setting/clearing modifiers. The intent is to use these to set/reset modifiers for mouse button hot key actions. ---------- 2006/02/19 21:01:08 crs lib/platform/COSXScreen.cpp Fixed OS X to send current keyboard modifiers with mouse button events. ---------- 2006/02/19 13:26:54 crs lib/client/CClient.cpp lib/client/CClient.h Fixed two clipboard problems. First, synergy would blow an assert given the following sequence of events: enter client screen A A takes clipboard enter server screen B B takes clipboard clipboard on A changes (while we're not on the screen) enter A enter B On entering B we find that the clipboard sender is not the owner of the clipboard. This is because when A changed the clipboard while we were on B, B ignored the grab from A. A now thinks it owns the clipboard (even though B does). So when we leave A the second time, it sends the clipboard (which contains what B sent it) to B. The assertion is blown because B owns the clipboard but A sends a clipboard with a valid sequence number. The fix is simply that clients must reset their internal clipboard ownership flag when told to set the clipboard by the server. Second, synergy clients would fail to send the clipboard to the server given the following sequence of events: enter client A A takes the clipboard enter screen B B takes the clipboard enter A A takes the clipboard with the same contents as before In an effort to reduce bandwidth, clients don't send unchanged clipboard contents. Clients were incorrectly treating this case as unchanged contents when, in fact, the contents are those set by B not those of A. Clients now handle this case. ---------- 2006/02/19 13:13:55 crs lib/server/CServer.cpp Fixed error in log message. Was trying to report the sender of a clipboard but was reporting the owner of the clipboard. ---------- 2006/02/16 22:12:37 crs lib/platform/CXWindowsKeyState.cpp lib/platform/CXWindowsKeyState.h Added a hack to work around how VMware handles modifier keys on X11 when a virtual machine has focus. VMware removes all of the modifier mappings so synergy doesn't know about any modifiers. The hack is to use the last known good modifiers when there aren't any active modifiers. ---------- 2006/02/14 18:10:12 crs lib/server/CServer.cpp Made switch in direction hot keys use the cursor's current position when calculating what the neighbor is. This only affects layouts using fractional edges. ---------- 2006/02/12 16:49:16 crs synergy.xcode/project.pbxproj Updated Xcode project. ---------- 2006/02/12 16:40:02 crs doc/configuration.html lib/server/CServer.cpp lib/server/CServer.h lib/synergy/KeyTypes.cpp Removed onCommandKey() from server. This was used only for handling the ScrollLock key to lock the cursor to the screen but this has been obsoleted by the hotkey support for locking the cursor. Also, ScrollLock is now only added as a hotkey to lock the cursor if the user hasn't configured some other hotkey to lock the cursor. ---------- 2006/02/12 16:22:41 crs doc/configuration.html lib/server/CConfig.cpp lib/server/CConfig.h lib/server/CInputFilter.cpp lib/server/CServer.cpp lib/server/CServer.h lib/synergy/IKeyState.cpp lib/synergy/IKeyState.h Added support for directing hotkey key actions to a particular screen or screens or to broadcast to all screens. However, key action keystrokes are never sent to the server screen. This should be fixed. ---------- 2006/02/12 16:16:11 crs doc/configuration.html lib/synergy/CKeyMap.cpp lib/synergy/CKeyMap.h lib/synergy/KeyTypes.cpp lib/synergy/KeyTypes.h lib/synergy/libsynergy.dsp lib/synergy/Makefile.am lib/synergy/mkspecialkeynames.pl lib/synergy/SpecialKeyNameMap.h Moved and restructed key name maps. Also added names for all non-alphanumeric ASCII characters and added support for \uXXXX unicode character codes. ---------- 2006/02/12 14:47:23 crs lib/synergy/CKeyState.cpp Now allowing fake key presses from server with a server button ID of 0. Hot keys that synthesize key events use a server button ID of 0. Note that other code will prevent a client from processing a hotkey press while another hotkey is pressed. The nature of hotkeys should ensure that never happens except for modifier only hotkeys. Worry about that later. ---------- 2006/02/12 12:06:50 crs lib/platform/COSXScreen.cpp Fixed 2 axis scrolling on OS X. ---------- 2006/02/12 11:53:35 crs lib/client/CClient.cpp lib/client/CClient.h lib/client/CServerProxy.cpp lib/platform/CMSWindowsDesks.cpp lib/platform/CMSWindowsDesks.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.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/CClientProxy1_3.cpp lib/server/CClientProxy1_3.h lib/server/CPrimaryClient.cpp lib/server/CPrimaryClient.h lib/server/CServer.cpp lib/server/CServer.h lib/synergy/CPlatformScreen.h lib/synergy/CScreen.cpp lib/synergy/CScreen.h lib/synergy/IClient.h lib/synergy/IPlatformScreen.h lib/synergy/IPrimaryScreen.cpp lib/synergy/IPrimaryScreen.h lib/synergy/ISecondaryScreen.h lib/synergy/ProtocolTypes.cpp lib/synergy/ProtocolTypes.h Added support for horizontal scrolling. ---------- 2006/02/12 10:08:49 crs lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h Applied patch from stkamp@users.sf.net that clamps mouse positions to valid areas on OS X. It also improves using the local keyboard with the remote mouse on OS X. ---------- 2006/02/11 20:01:42 crs lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsKeyState.h lib/platform/CMSWindowsScreen.cpp Fixed synthesis of ctrl+alt+del and handling of AltGr on win32 client. ---------- 2006/02/11 20:00:32 crs lib/server/server.dsp Added CClientProxy1_3 to project. ---------- 2006/02/06 19:27:45 crs lib/server/CConfig.cpp Fixed handling of comments when parsing the configuration. Had changed leading whitespace stripping which broke it. ---------- 2006/02/05 19:42:55 crs synergy.xcode/project.pbxproj Updated Xcode project. ---------- 2006/02/05 18:48:35 crs lib/server/CClientProxy1_3.cpp Fixed warning. ---------- 2006/02/05 18:02:47 crs lib/server/CInputFilter.cpp Fixed updates of input filters when configuration is changed. ---------- 2006/02/05 17:55:45 crs lib/server/CClientProxy1_0.cpp lib/server/CClientProxy1_3.cpp More fixes for server side keep alives. ---------- 2006/02/05 17:55:19 crs lib/server/CServer.cpp Fixed sending of options to client. Wasn't reseting options first. ---------- 2006/02/05 17:39:20 crs lib/client/CServerProxy.cpp Fixed memory bug in releasing keep alive timer. ---------- 2006/02/05 17:36:17 crs lib/server/CClientProxy1_0.cpp lib/server/CClientProxy1_0.h lib/server/CClientProxy1_3.cpp lib/server/CClientProxy1_3.h lib/server/CClientProxyUnknown.cpp Fixed server side handling of keep alives. ---------- 2006/02/05 17:34:14 crs lib/client/CServerProxy.cpp lib/client/CServerProxy.h Fixed client side handling of keep alives. ---------- 2006/02/05 16:56:00 crs lib/synergy/ProtocolTypes.h Added comment for protocol version 1.3. ---------- 2006/02/05 16:54:39 crs lib/client/CServerProxy.cpp lib/client/CServerProxy.h lib/server/CClientProxy1_0.cpp lib/server/CClientProxy1_0.h lib/server/CClientProxy1_3.cpp lib/server/CClientProxy1_3.h lib/server/Makefile.am lib/synergy/ProtocolTypes.cpp lib/synergy/ProtocolTypes.h Deprecated heartbeat and added keep alive to replace it. While a heartbeat was generated by clients and sent to the server, a keep alive is sent from the server and echoed by the client. This checks both directions of the connection. Either side will hang up if the other hasn't been heard from in a reasonable amount of time. This fixes a problem where clients would not hang up on an unavailable server. ---------- 2006/02/05 16:29:01 crs cmd/launcher/Makefile.am Added CInfo files to makefile. ---------- 2006/02/05 15:30:49 crs lib/synergy/CKeyState.cpp Fixed handling of modifier keys that are held down while leaving a client screen. Was correctly releasing those keys on the client but wasn't reseting the active modifier state so as soon as a key was pressed after reentering the client the modifiers were reactivated. However, the user could only see the problem by typing on the local keyboard because the modifier was correctly adjusted for keys from the server. Now reseting modifier state when leaving a client screen. ---------- 2006/02/05 14:47:59 crs cmd/launcher/CInfo.cpp cmd/launcher/CInfo.h cmd/launcher/launcher.cpp cmd/launcher/launcher.dsp cmd/launcher/launcher.rc cmd/launcher/LaunchUtil.cpp cmd/launcher/LaunchUtil.h cmd/launcher/resource.h Added two features to the win32 launcher. First there's now a info dialog which reports some useful information. The other is that configuration files are now re-read when the application is activated and the file's modification time has changed. This should help when users are hand editing the configuration file while the launcher is running. ---------- 2006/02/05 14:45:39 crs lib/server/CConfig.cpp Fixed a bug in writing configuration files with fractional edges. ---------- 2006/02/05 14:43:17 crs cmd/launcher/CAddScreen.cpp cmd/launcher/CScreensLinks.cpp cmd/launcher/CScreensLinks.h cmd/launcher/launcher.rc cmd/launcher/resource.h doc/configuration.html lib/server/CConfig.cpp lib/server/CConfig.h lib/server/CServer.cpp lib/server/CServer.h Added support for fractional edge links. This allows users to configure a portion of an edge to map to a portion of another edge, rather than linking entire edges. This does not allow users to split a (presumably multimonitor) screen to allow switching on reaching an interior edge. ---------- 2006/02/01 21:34:28 crs lib/synergy/CKeyMap.cpp Fixed parsing of modifier plus single character keystroke and mousebutton entries in the configuration. Was discarding single characters. ---------- 2006/02/01 21:20:46 crs lib/platform/COSXKeyState.cpp Fixed OS X keypad enter key. ---------- 2006/01/29 20:50:54 crs lib/server/CConfig.cpp lib/server/CInputFilter.cpp lib/server/CInputFilter.h lib/server/CServer.cpp lib/server/CServer.h Added support for performing an action when a screen connects. Also added support for jumping to the screen that just connected. The line 'connect() = switchToScreen()' in the global options will cause the cursor to jump to a screen as soon as it connects. This isn't especially useful but serves as an example. ---------- 2006/01/29 19:56:31 crs lib/platform/CXWindowsScreen.cpp Fixed X11 hot key grabbing. Previously was sensitive to CapsLock, NumLock and ScrollLock and is now insensitive to all of those. ---------- 2006/01/29 17:54:08 crs lib/platform/COSXScreen.cpp Changed input suppress delay to 0. This might be right or it might need to be a small positive value like 0.1. ---------- 2006/01/29 15:52:44 crs lib/server/CConfig.h lib/server/CInputFilter.cpp lib/server/CInputFilter.h lib/server/CServer.cpp Fixed support for ScrollLock to lock the cursor to the screen. It now works via the hotkey mechanism. ---------- 2006/01/29 15:51:59 crs lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsKeyState.h Fixed failure to run on win95 family. Was linked against ToUnicodeEx which is not available on that family. Now looking up that symbol at run time. ---------- 2006/01/29 15:50:29 crs lib/platform/COSXScreen.cpp Fixed minor bug in call to CGSetLocalEventsSuppressionInterval. ---------- 2006/01/29 13:26:48 crs lib/platform/CSynergyHook.cpp Win32 reports VK_RSHIFT as an extended key, which it is not. We now correct this which fixes the right shift key when using win32 servers. ---------- 2006/01/29 12:47:31 crs lib/synergy/CKeyMap.cpp Fixed handling of modifiers when synthesizing a modifier. We were previously trying to match the desired modifier state when synthesizing any key, even if some of those modifiers weren't required (i.e. the key was insensitive to the state of some of those modifiers). We no longer try to match the state of non-required modifiers because doing so can break the synthesis of some keys, particularly modifiers. For example, previously pressing Control with NumLock on would turn NumLock off, press Control, then turn NumLock back on. If this Control was used with Alt on win32 to effect AltGr then AltGr would not take effect. On X11 the Shift key was improperly combined with NumLock, causing mouse keys to take effect. ---------- 2006/01/29 12:37:30 crs lib/common/Version.h Changed to version 1.2.8. ---------- 2005/12/18 18:00:56 crs synergy.xcode/project.pbxproj Added new files to xcode project. ---------- 2005/12/18 17:35:57 crs doc/configuration.html doc/news.html More documentation for 1.2.7. ---------- 2005/12/18 16:51:52 crs doc/news.html Fixed error in documentation. ---------- 2005/12/18 16:15:42 crs lib/platform/CSynergyHook.cpp Removed use of function from C standard library in the hook DLL. ---------- 2005/12/18 16:11:15 crs lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h Added workaround for not receiving drag events for any mouse buttons besides 1 and 2 (left and right). That appears to be a limitation of the OS so we simply start polling the position while any buttons besides 1 and 2 are down. Code based on a patch by Brian Kendall. ---------- 2005/12/18 15:29:25 crs lib/common/Version.h Changed version to 1.2.7. ---------- 2005/12/18 15:12:39 crs lib/platform/COSXKeyState.cpp Fixed mapping of unicode key layouts. Was discarding some characters (backspace and return, in particular) that should not have been discarded. ---------- 2005/12/18 10:49:23 crs cmd/launcher/launcher.rc lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsKeyState.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h lib/server/CConfig.cpp lib/server/CConfig.h lib/server/CInputFilter.cpp lib/server/CInputFilter.h lib/server/CServer.cpp lib/server/server.dsp lib/synergy/CKeyMap.cpp lib/synergy/CKeyMap.h lib/synergy/IKeyState.cpp lib/synergy/IKeyState.h lib/synergy/IPrimaryScreen.cpp lib/synergy/IPrimaryScreen.h lib/synergy/libsynergy.dsp lib/synergy/SpecialKeyNameMap.h synergy.dsw Added support for hot keys on win32. Also fixed memory leaks in CInputFilter and changed CConfig to write hot keys in its CInputFilter object to the options section. ---------- 2005/12/15 18:57:38 crs lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h Fixed hot keys on OS X when on a secondary screen. This worked in the original patch but broken during the modify/merge. It was broken because we turn off all hot key processing by the OS while on a secondary screen. The fix is to check on key press and release if the key and modifier state matches a hot key. This is known to be broken on hot key release if you press the hot key then change the modifiers before releasing the provoking key. ---------- 2005/12/14 21:51:01 crs lib/platform/CXWindowsKeyState.cpp lib/platform/CXWindowsKeyState.h lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h Added support for hotkeys on X11. ---------- 2005/12/14 21:50:49 crs lib/server/CServer.cpp When jumping to another screen was computing the center using the size of the active screen instead of the size of the destination screen. ---------- 2005/12/14 21:50:09 crs lib/server/CConfig.cpp Switched to ctype.h from cctype to fix linux build. ---------- 2005/12/14 09:33:25 crs lib/base/CLog.cpp lib/base/CLog.h lib/base/CStringUtil.cpp lib/base/CStringUtil.h Fixed bug in CStringUtil::vsprint. Was reusing va_list across calls to vnsprintf, which is not allowed. Modified CStringUtil and CLog to avoid doing that. This should fix a crash when using --help on some platforms. Tthe --help message was the only message long enough to exceed the static buffer length which caused a va_list to get reused. ---------- 2005/12/14 08:43:36 crs lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h lib/server/CConfig.cpp lib/server/CConfig.h lib/server/CInputFilter.cpp lib/server/CInputFilter.h lib/server/CPrimaryClient.cpp lib/server/CPrimaryClient.h lib/server/CServer.cpp lib/server/CServer.h lib/server/Makefile.am lib/synergy/CKeyState.cpp lib/synergy/CKeyState.h lib/synergy/CPlatformScreen.h lib/synergy/CScreen.cpp lib/synergy/CScreen.h lib/synergy/IPlatformScreen.h lib/synergy/IPrimaryScreen.cpp lib/synergy/IPrimaryScreen.h lib/synergy/Makefile.am lib/synergy/mkspecialkeynames.pl lib/synergy/SpecialKeyNameMap.h Checkpoint of configurable hotkey support. Authored by Lorenz Schori, modified and merged by me. Hotkeys are only implemented on OS X so far; this change breaks the build on linux and win32. ---------- 2005/11/29 21:22:02 crs lib/platform/CXWindowsKeyState.cpp Fixed bug in X11 keyboard code. Wasn't checking for a NULL pointer. ---------- 2005/11/28 22:12:49 crs doc/running.html Added a little more detail to the documentation for for OS X users not familiar with the shell. ---------- 2005/11/28 20:59:39 crs doc/autostart.html Added X11 autostart info for kdm. ---------- 2005/11/27 16:41:06 crs lib/platform/CMSWindowsDesks.cpp lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsScreen.cpp lib/platform/CSynergyHook.cpp lib/synergy/CKeyMap.cpp lib/synergy/CKeyState.cpp Fixed several win32 keyboard bugs. ---------- 2005/11/27 16:30:50 crs lib/synergy/CKeyMap.cpp lib/synergy/CKeyState.cpp lib/synergy/CKeyState.h Fixed a couple of problems with key event synthesis. ---------- 2005/11/25 18:19:28 crs lib/platform/CXWindowsScreenSaver.cpp lib/platform/CXWindowsScreenSaver.h Now sending a more significant fake mouse motion to xscreensaver to keep it from activating. xscreensaver since 2.21 requires a motion of at least 10 pixels to be considered significant. ---------- 2005/11/25 14:42:30 crs lib/platform/COSXClipboard.cpp lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h Added periodic check for clipboard change on OS X. We're polling because there doesn't seem to be any event to notify of a clipboard change. ---------- 2005/11/24 11:00:39 crs cmd/launcher/launcher.cpp Fixed bug in win32 GUI. If synergy wasn't previously installed for autostart then the GUI would incorrectly install it for autostart. It was incorrectly installed in such a way that synergy would think it wasn't installed and it would not function when the service manager tried to start it. ---------- 2005/11/20 22:34:06 crs lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsScreen.cpp lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h lib/platform/CXWindowsScreen.cpp lib/synergy/CKeyMap.cpp lib/synergy/CKeyMap.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 Converted OS X to new keyboard handling. Two known problems with OS X: the thorn character is mapped incorrectly (because OS X lies) and we're using every keyboard layout, not just the enabled one, because we have no idea how to detect if a layout is enabled or not. The latter problem only causes some startup slowness. ---------- 2005/11/20 22:29:01 crs configure.in lib/arch/CMultibyte.cpp Added support for converting clipboard data to Latin-1 encoding if the default encoding is ASCII by switching to the en_US locale at startup. ---------- 2005/11/14 18:35:07 crs lib/synergy/CKeyState.h Removed unnecessary headers. ---------- 2005/11/13 17:08:45 crs lib/synergy/CKeyMap.cpp lib/synergy/CKeyMap.h Added improved support for key combinations intended to perform a keyboard shortcut rather than synthesize a particular key. ---------- 2005/11/13 12:52:16 crs lib/platform/CMSWindowsKeyState.cpp lib/platform/CXWindowsKeyState.cpp lib/platform/CXWindowsKeyState.h lib/platform/CXWindowsScreen.cpp lib/synergy/CKeyMap.cpp lib/synergy/CKeyMap.h Finished X11 non-XKB keyboard mapping. Also added a convenience function to CKeyMap used by both the X11 and win32 implemenetations. ---------- 2005/11/13 10:31:32 crs lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsKeyState.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/CXWindowsKeyState.cpp lib/platform/CXWindowsKeyState.h lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsUtil.cpp lib/platform/CXWindowsUtil.h lib/synergy/CKeyMap.cpp lib/synergy/CKeyMap.h 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.h lib/synergy/IPlatformScreen.h lib/synergy/KeyTypes.h lib/synergy/libsynergy.dsp lib/synergy/Makefile.am Checkpointing keyboard handling refactoring. This is a major change to the client side handling of key events. This change converts the X11 and win32 handling but not the OS X handling. The new class CKeyMap contains the information necessary to convert a synergy key event to the platform events necessary to synthesize the key. Platforms fill in a CKeyMap whenever their keyboard layouts change using the addKeyEntry(), calling it once for each unique way to synthesize a particular KeyID on the keyboard. The CKeyMap takes it from there, first adding dead-key combinations and some other keys, then doing the translation from KeyID to platform keystroke sequences. Platforms no longer need to implement the KeyID to keystroke sequence conversion, simplifying the platform implementations. This change also supports multiple keyboard layouts, typically used to support various languages. If a key is not available on the active layout but is on a different installed layout then synergy will switch layouts automatically. The X11 version now fully supports the XKB extension. This should fix problems with Mode_switch vs ISO_Level3_Shift. Non-XKB support is incomplete in this checkpoint. ---------- 2005/11/12 11:43:54 crs lib/platform/CMSWindowsScreen.cpp Disabled code to periodically reinstall synergy in the clipboard chain. It was causing an infinite recursion in the WM_DRAWCLIPBOARD message handler. ---------- 2005/11/12 11:28:25 crs lib/platform/CMSWindowsScreenSaver.cpp Changed a couple of logging messages to DEBUG2 from DEBUG. ---------- 2005/11/12 11:27:55 crs cmd/launcher/CAutoStart.cpp cmd/launcher/CAutoStart.h cmd/launcher/launcher.cpp Fixed saving of autostart configuration in win32 launcher. It was erroring out when the user did not have permission to write to that portion of the registry. Now it will only write the configuration if synergy is installed for autostart. This is still not quite right since it'll still error out if some other user with sufficient permission has installed the autostart and this user doesn't have enough permission. ---------- 2005/11/12 11:22:34 crs lib/common/Version.h Changed version to 1.2.6. ---------- 2005/11/01 19:58:21 crs acinclude.m4 Restored pthread signal configuration checks accidentally removed in previous version. ---------- 2005/10/12 21:37:58 crs doc/running.html Updated setup documentation. ---------- 2005/10/11 21:12:18 crs lib/arch/CArchMultithreadPosix.cpp Fixed warning in posix multithread code. ---------- 2005/10/11 20:59:29 crs acinclude.m4 Updated autoconf script for detecting pthreads. ---------- 2005/10/06 21:45:01 crs configure.in lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h Added initial XKB code. This only checks for the extension in the configuration, queries the extension at runtime and handles mapping notify events. Still need to use the extension to get the keyboard map. ---------- 2005/10/02 17:40:56 crs lib/platform/CXWindowsClipboard.cpp lib/platform/CXWindowsClipboard.h lib/platform/CXWindowsUtil.cpp lib/platform/CXWindowsUtil.h Fixed X11 clipboard handling on 64-bit systems. Also fixed a problem with detecting when a clipboard owner says a format is unavailable. ---------- 2005/10/01 19:26:57 crs lib/server/CServer.cpp Fixed unnecessary comparison to NULL that chokes some compilers. ---------- 2005/10/01 19:23:38 crs cmd/launcher/CAdvancedOptions.cpp cmd/launcher/CAutoStart.cpp cmd/launcher/CAutoStart.h cmd/launcher/launcher.cpp cmd/launcher/launcher.rc cmd/launcher/resource.h dist/nullsoft/synergy.nsi lib/arch/CArchDaemonWindows.cpp lib/arch/CArchMiscWindows.cpp lib/arch/CArchMiscWindows.h lib/platform/CMSWindowsDesks.cpp lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h lib/platform/CMSWindowsScreenSaver.cpp lib/platform/CSynergyHook.cpp 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 Fixed several win32 bugs. Removed the 'Save' button from the launcher; configuration is now saved transparently. Autostart configuration is now saved transparently whenever it changes and autostart is enabled. Configuration is now saved when the debug logging level changes. Now releasing synthetically pressed keys when leaving the client. The existing code was checking for key down using a local key button id then trying to release it using the same id as a server key button id. Now looking up a local button id for key events that have a scan code of 0. These are sent by some programs that synthesize events. Now periodically reinstalling the clipboard chain viewer. It appears that the chain is breaking sometimes (probably due a badly behaved or killed app) but there's no way to detect that so this is a workaround. Now stopping and deleting the autostart services during uninstall. ---------- 2005/10/01 18:55:59 crs lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h Added support for apple's mighty mouse. We now correctly handle button 4 (and 5 if it exists). We now detect the mighty mouse's scroll ball and convert vertical motion into scroll wheel events. Also changed handling of scroll wheel scaling; the mac works differently from other platforms so it's not perfect. ---------- 2005/10/01 15:01:15 crs cmd/launcher/Makefile.am Added new files to makefiles. ---------- 2005/09/26 20:58:53 crs lib/server/CConfig.cpp Fixed bug in output of configuration files. Was writing bottom-right corner as "bottom-left" instead of "bottom-right". ---------- 2005/09/26 20:55:24 crs cmd/launcher/CAddScreen.cpp cmd/launcher/CAddScreen.h cmd/launcher/CScreensLinks.cpp cmd/launcher/CScreensLinks.h cmd/launcher/launcher.cpp cmd/launcher/launcher.dsp cmd/launcher/launcher.rc cmd/launcher/resource.h Refactored code in win32 launcher GUI. ---------- 2005/08/22 19:40:34 crs lib/common/Version.h Changed version to 1.2.5. ---------- 2005/08/07 10:32:54 crs doc/autostart.html Updated OS X autostart documentation. ---------- 2005/08/07 10:32:19 crs lib/arch/CArchMultithreadPosix.cpp lib/arch/IArchMultithread.h Added support for SIGUSR2. Not using it yet, though. ---------- 2005/08/03 21:03:49 crs cmd/synergyc/synergyc.cpp Client now quits after failing to connect if not restartable. Was failing to quit. ---------- 2005/08/03 20:14:42 crs cmd/synergyc/Makefile.am cmd/synergys/Makefile.am configure.in lib/arch/Makefile.am lib/platform/Makefile.am Changed how we export MACOSX_DEPLOYMENT_TARGET to a hopefully more portable solution. ---------- 2005/08/02 21:42:12 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp Fixed --daemon fix when compiled on unix. ---------- 2005/08/02 20:57:52 crs cmd/launcher/CGlobalOptions.cpp cmd/launcher/launcher.rc cmd/launcher/resource.h lib/platform/CMSWindowsDesks.cpp lib/platform/CMSWindowsDesks.h lib/platform/CMSWindowsScreen.cpp lib/server/CConfig.cpp lib/synergy/OptionTypes.h Added option to suppress grabbing of the foreground window on win32 synergy servers. Grabbing the foreground window prevents certain apps from messing up low level keyboard events but doing that can break certain workflow, particularly with games. Since the option is only for win32 and it's in the launcher GUI and I hope to get rid of it someday, there is no configuration documentation for it. ---------- 2005/08/02 20:55:35 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp Fixed '--daemon' command line option on Windows NT family client and server. Those platforms now ignore --daemon and --no-daemon like they should. ---------- 2005/08/01 22:34:05 crs lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsKeyState.h lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/CXWindowsKeyState.cpp lib/platform/CXWindowsKeyState.h lib/server/CPrimaryClient.cpp lib/synergy/CKeyState.h lib/synergy/CPlatformScreen.cpp lib/synergy/CPlatformScreen.h lib/synergy/CScreen.cpp lib/synergy/CScreen.h lib/synergy/IKeyState.h lib/synergy/IPlatformScreen.h Fixed scroll-lock screen locking on linux servers. An earlier change made the function that returns modifier state return the shadowed state not the current state. On X windows we don't shadow the state when on the primary screen so the synergy server would never see the scroll-lock state turned on until it left the primary screen. As a result scroll-lock would not lock to the primary screen but would lock you to whatever secondary screen you ended up on. Changed win32 and OSX versions to work like the linux version. Win32 used to work anyway because we constantly shadow keyboard state on that. OSX did not query current keyboard state at all before and it still doesn't; this needs to be fixed. ---------- 2005/08/01 22:29:48 crs lib/synergy/libsynergy.dsp Added ProtocolTypes.cpp to VC++ project. ---------- 2005/08/01 21:02:07 crs lib/common/common.h synergy.xcode/project.pbxproj Changes to get gcc3.3, 10.2.8 SDK builds working on OS X. ---------- 2005/07/31 22:50:10 crs configure.in lib/platform/COSXScreenSaver.cpp lib/platform/COSXScreenSaver.mm lib/platform/COSXScreenSaverUtil.h lib/platform/COSXScreenSaverUtil.m lib/platform/Makefile.am Removed Objective-C++ file. Now using an Objective-C file instead which works better with autoconf/automake. ---------- 2005/07/31 22:49:03 crs lib/synergy/Makefile.am lib/synergy/ProtocolTypes.cpp lib/synergy/ProtocolTypes.h Fixed warnings on gcc 4.0. ---------- 2005/07/31 22:48:30 crs lib/common/Version.h Changed version to 1.2.4. ---------- 2005/07/26 21:37:41 crs lib/common/Version.h Changed version to 1.2.3. ---------- 2005/07/26 21:37:27 crs lib/platform/CMSWindowsDesks.cpp lib/platform/CMSWindowsDesks.h Now disabling the win32 foreground window on the server when leaving the server screen. This prevents the system from messing up keyboard events. The console (command prompt) and remote desktop are known to interfere with the shift key when they have the focus. This introduces a bug where the window that was the foreground is raised to the top of the stacking order when the cursor enters the server screen. This should only be a problem for Mouse-X (activation follows mouse) users. I don't know how Mouse-X changes the foreground/active window without raising it; if I did I'd fix this bug. ---------- 2005/07/26 21:24:13 crs doc/configuration.html Fixed typo in documentation. ---------- 2005/07/26 19:58:37 crs cmd/launcher/launcher.cpp Now defaulting to WARNING as the default debug level on win32. This is a workaround for NOTE and higher always popping up the command window, which can't be hidden or closed. When the user clicks 'Test', the debug level is forced to be at least INFO to workaround this workaround. Future versions will do away with the command window altogether so this weirdness isn't too much of a problem. ---------- 2005/07/26 19:50:44 crs doc/faq.html doc/tips.html Improved documentation of how to get ctrl+alt+pause working on Windows NT,2k,XP. ---------- 2005/07/21 21:25:51 crs lib/common/common.h Forcing use of select() rather than poll() on OS X. Wasn't getting a read event on a socket when the remote side closed down when using poll(). Probably a bug in synergy code but I couldn't find it. ---------- 2005/07/21 21:24:28 crs lib/arch/CArchNetworkBSD.cpp Fixed "resource temporarily unavailable" exception on OS X when using the unblock pipe. ---------- 2005/07/20 22:09:05 crs cmd/launcher/launcher.cpp cmd/launcher/launcher.rc cmd/launcher/resource.h cmd/synergys/synergys.cpp doc/configuration.html lib/client/CClient.cpp lib/server/CConfig.cpp lib/server/CConfig.h lib/server/CServer.cpp lib/server/CServer.h lib/synergy/OptionTypes.h Added "dead" corners support. The cursor can't switch screens from a dead corner. ---------- 2005/07/19 20:43:51 crs lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h Applied patch (from Lorenz Schori) to fix getting the keyboard layout. It previously was failing for non-Apple keyboards. ---------- 2005/07/19 20:23:29 crs lib/platform/COSXKeyState.cpp Replaced NULL with 0 in arithmetic expression. ---------- 2005/05/08 11:40:26 crs lib/platform/CMSWindowsKeyState.cpp Applied patch 1113363 to support the kanji key on win32. ---------- 2005/05/08 11:08:12 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/net/CTCPListenSocket.cpp Added support for SO_REUSEADDR. It is always enabled. ---------- 2005/05/08 11:00:42 crs cmd/synergys/synergys.cpp Fixed bug in retrying to initialize or start the server. Was waiting the retry interval then doing nothing. ---------- 2005/04/29 21:27:10 crs lib/common/common.h lib/platform/COSXScreen.cpp synergy.xcode/project.pbxproj A few OSX build fixes. ---------- 2005/04/28 22:05:51 crs lib/common/common.h Now setting HAVE_SOCKLEN_T to 1 when on OSX and _SOCKLEN_T is defined and HAVE_CONFIG_H isn't is set. ---------- 2005/04/28 22:04:23 crs cmd/synergyc/Makefile.am cmd/synergys/Makefile.am configure.in lib/arch/Makefile.am lib/platform/Makefile.am Added support for MACOSX_DEPLOYMENT_TARGET. It's set to 10.2. ---------- 2005/04/28 22:02:47 crs cmd/synergys/synergys.cpp lib/client/CClient.cpp Now reporting sleep suspend/resume at INFO level. ---------- 2005/04/25 22:12:04 crs cmd/synergyc/Makefile.am cmd/synergyc/synergyc.cpp cmd/synergys/Makefile.am cmd/synergys/synergys.cpp configure.in lib/base/CEvent.cpp lib/base/CEvent.h lib/base/CEventQueue.cpp lib/client/CClient.cpp lib/client/CClient.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h lib/platform/COSXScreenSaver.cpp lib/platform/COSXScreenSaver.h lib/platform/COSXScreenSaver.mm lib/platform/Makefile.am lib/platform/OSXScreenSaverControl.h lib/server/CServer.cpp lib/synergy/IScreen.cpp lib/synergy/IScreen.h synergy.xcode/project.pbxproj Added support on OS X for screensaver synchronization, sleeping and fast user switching. OS X Server also now captures global hot keys (cmd+tab, F9, etc.) and sends them to the client. Changes mostly due to lorenz schori. Some bug fixes (in lorenz's code and in synergy) and integration into automake by crs (had to add support for Objective C++ files) and the XCode project. This change also adds flags to events. Flags can cause events to be dispatched immediately and to not free event data. Both features are used in the new code. This change adds events on IScreen for notification of the system going to sleep or waking up (or the user's session being somehow suspended and restored). CClient and synergys now listen for and respond to these events. CMSWindowsScreen used to use IJobs for handling these events synchronously. It now uses the new IScreen events and delivers them immediately. ---------- 2005/01/26 18:45:45 crs lib/common/Version.h Changed version to 1.2.2. ---------- 2005/01/26 18:43:33 crs lib/platform/COSXKeyState.cpp Fixed bug in handling modifier keys on OS X clients. Was applying modifiers to modifiers yielding, for example: ctrl down, ctrl down, ctrl up for press of the control key. The first down and the up were there because we were applying the control modifier to the control key. ---------- 2005/01/26 18:41:28 crs lib/platform/CXWindowsKeyState.cpp Fixed handling of ISO_Level3_Shift. We now prefer ISO_Level3_Shift over Mode_switch if it's mapped to any key. ISO_Level3_Shift replaces Mode_switch in newer versions of X and Mode_switch does nothing, so we have to use ISO_Level3_Shift if it's there. ---------- 2005/01/04 19:29:58 crs lib/platform/COSXKeyState.cpp Fixed bug in OS X server key translation which pretty much broke any keystroke with a modifier key. ---------- 2005/01/01 20:52:43 crs doc/compiling.html Merged documentation fixes. ---------- 2005/01/01 20:19:42 crs doc/running.html Merged documentation fix from mainline. ---------- 2004/12/30 13:28:51 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp doc/authors.html lib/client/CClient.cpp lib/net/CNetworkAddress.cpp lib/net/CNetworkAddress.h lib/server/CConfig.cpp Adapted and applied patch by Brent Priddy for re-resolving the server hostname on each connection. This allows the client to startup without being able to resolve the server's hostname. It also lets it handle changes in the server's address, a typical scenario when the client is a laptop moving between networks. ---------- 2004/12/30 12:10:47 crs lib/platform/CMSWindowsKeyState.cpp lib/synergy/KeyTypes.h Added Henkan key. Patch from rniitani at sourceforge.net. ---------- 2004/12/30 11:54:23 crs doc/authors.html lib/platform/CXWindowsScreen.cpp Applied patch from Tom Chadwick to synthesize PageUp/PageDown on X servers that don't support the mouse wheel. ---------- 2004/12/29 21:12:05 crs lib/platform/CMSWindowsScreen.cpp Now ignoring 4th and 5th mouse buttons if they don't exist. Was previously querying their state, sometimes getting the wrong answer from the OS that they were down, which prevented switching screens. ---------- 2004/12/29 21:10:49 crs lib/platform/CMSWindowsKeyState.cpp Fixed handling of number pad number and decimal point keys when NumLock is on on client on windows 95 family. ---------- 2004/12/29 17:53:44 crs lib/platform/CXWindowsScreen.cpp Added support for ISO_Level3_Shift on X windows server. It's treated as if it were Mode_switch. ---------- 2004/12/29 17:07:08 crs lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h Added support for unicode keyboard layouts on OS X. ---------- 2004/12/29 17:06:49 crs lib/platform/COSXScreen.cpp Removed calls to show/hide mouse because they only work if we've taken exclusive access to the display and we don't do that. ---------- 2004/12/29 17:06:00 crs lib/platform/COSXEventQueueBuffer.cpp lib/platform/COSXEventQueueBuffer.h Fixed leak of event objects on OS X. ---------- 2004/12/29 17:00:17 crs //depot/project/synergy-web/Makefile //depot/project/synergy-web/autostart.htmls //depot/project/synergy-web/synergy.css doc/autostart.html doc/synergy.css Added Mac OS X autostart documentation from Tor Slettnes (tor@slett.net). ---------- 2004/11/12 15:50:04 crs lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h Now suppressing shift key when caps-lock is enabled on OSX. This fixes handling of, say, Command+N with caps-lock enabled which was being synthesized as Command+Shift+N. ---------- 2004/11/11 19:23:14 crs lib/arch/CArchMultithreadPosix.cpp Fixed a serious flaw in wrapper for posix condition variable wait function. Because synergy doesn't use posix cancellation, it cannot wake up a thread waiting on a condition variable. So the wrapper would wake up periodically to test if the thread was cancelled (according to synergy's cancellation state) then go back to waiting. Well the condition could be signalled while we're testing and be lost and we'd never return from the wait. So now we wake up after a maximum timeout and return to the caller. The caller must check for this spurious wakeup but all callers should do this anyway so we're okay there. ---------- 2004/11/11 19:17:03 crs lib/net/CSocketMultiplexer.cpp lib/net/CSocketMultiplexer.h Changed scheme used to lock the socket multiplexer's job list. I think the new scheme is easier to understand. It should have exactly the same behavior. ---------- 2004/11/10 21:00:30 crs lib/mt/CCondVar.h Made condition variable data volatile. This will hopefully fix an strange deadlock seen on OSX. The CSocketMultiplexer deadlocks with two threads, one waiting for m_polling to become false and the other waiting for m_pollable to become true. The weird part is that they're both false so the first thread should proceed. It either didn't receive the broadcast when m_polling went to false or it's not really checking the actual value of that flag. I can't see how the former is possible and this change fixes the latter. ---------- 2004/11/10 19:11:33 crs lib/platform/CXWindowsUtil.cpp Fixed typo. ---------- 2004/11/09 20:05:33 crs lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h Fixed modifier handling on OSX client. Had hardcoded one set of modifiers for all keys for testing purposes and forgotton to fix that. Now choosing required modifiers per key. This fixes shift+arrow keys suppressing the shift key and, i think, the option key not working. ---------- 2004/11/09 18:42:47 crs lib/common/Version.h Changed version to 1.1.10. ---------- 2004/11/09 18:38:14 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp Added synergy version number to first log message. ---------- 2004/11/09 18:31:54 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp Moved log message that prints system info to after installation of user requested log level so it can be filtered. ---------- 2004/11/06 16:29:06 crs lib/client/CServerProxy.cpp Attempt to workaround laggy mouse on OS X with linux as server. ---------- 2004/11/06 16:13:52 crs lib/arch/CArchMiscWindows.cpp lib/arch/CArchMiscWindows.h lib/platform/CMSWindowsDesks.cpp lib/platform/CMSWindowsDesks.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h Fixed screensaver detection on XP. ---------- 2004/11/06 16:13:01 crs lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsKeyState.h Fixed handling of number pad keys with num-lock off. Was synthesizing events for the numbers even with num-lock off. Now synthesizing the cursor movements. ---------- 2004/11/06 16:11:39 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp Fixed console appearing when running synergy as a service. This was introduced with the change to print system info to the start of the log. This message was printed before the service installed the log handler that directs messages to the event log. ---------- 2004/11/04 21:26:43 crs lib/platform/CXWindowsKeyState.cpp lib/platform/CXWindowsKeyState.h lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h lib/platform/CXWindowsUtil.cpp lib/platform/CXWindowsUtil.h Added support for X11 compose key (Multi_key). This change fixes the handling of compose key sequences. The key presses were suppressed but not the corresponding releases, confusing the clients. It also adds support for generating keysyms via the compose key if the necessary dead keys or Mode_switch are not available. ---------- 2004/11/02 20:50:36 crs doc/running.html Added documentation for -display option. ---------- 2004/11/02 20:43:55 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h Added -display option for X11 version. ---------- 2004/11/01 22:26:52 crs lib/platform/CSynergyHook.cpp Reverted change to detach threads in hook DLL. It was breaking double clicking. ---------- 2004/11/01 22:26:02 crs cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp cmd/synergys/resource.h cmd/synergys/synergys.rc Added tray menu item on win32 to force clients to reconnect. ---------- 2004/11/01 22:25:39 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp configure.in lib/arch/CArch.cpp lib/arch/CArch.h lib/arch/CArchFileWindows.cpp lib/arch/CArchSystemWindows.cpp lib/arch/CArchSystemWindows.h lib/arch/IArchSystem.h lib/arch/Makefile.am lib/arch/arch.dsp Added operating system identification log message for debugging purposes. ---------- 2004/11/01 22:10:34 crs lib/platform/CMSWindowsDesks.cpp Added debugging output to check window class of active window when leaving screen. This may help determine how to avoid DOS command prompt windows being in the foreground when leaving the screen since they suppress handling of the shift key. ---------- 2004/11/01 18:26:29 crs lib/platform/CMSWindowsEventQueueBuffer.cpp Fixed synergy quiting when powerdvd stops playing a DVD. This may fix some other bugs that involve unexpectedly quiting. The problem was that synergy would (cleanly) quit when receiving an event with a message id of 0 when not running as a service. ---------- 2004/11/01 18:24:37 crs lib/platform/CMSWindowsDesks.cpp Fixed multimon support for win NT/2000/XP running as client. Mouse would jump between two points. ---------- 2004/11/01 18:22:45 crs lib/platform/CMSWindowsScreenSaver.cpp Fixed a resource leak. Also fixed the detection of the screen saver closing on windows 2000 and XP. ---------- 2004/11/01 18:21:00 crs cmd/launcher/CAdvancedOptions.cpp cmd/launcher/CAdvancedOptions.h cmd/launcher/launcher.rc cmd/launcher/resource.h Added option to set the listen address via the win32 GUI. This allows the user to specify one (and only one) network interface to listen on. ---------- 2004/10/30 16:41:36 crs lib/platform/CXWindowsKeyState.cpp Changed X11 key mapping to fallback to the modifier keysym with the opposite handedness if the desired handedness is missing. For example, if Alt_R is unmapped as it often is on keyboards with Mode_switch, the client will use Alt_L if it is mapped when told to synthesize Alt_R. This should fix handling of AltGr sent from a win32 server. AltGr is literally just Control_L and Alt_R and, previously, an X11 client without Alt_R mapped would only simulate Control_L. This does not address the fact that the user may really just want the Alt modifier; there are already hueristics to attempt to figure that out. ---------- 2004/10/30 16:16:32 crs configure.in lib/platform/CXWindowsScreenSaver.cpp Improved X extension detection in configure and added handling of dpms.h headers that don't have function prototypes. ---------- 2004/10/28 21:40:56 crs configure.in lib/arch/CArchNetworkBSD.h lib/common/stdistream.h lib/common/stdostream.h lib/common/stdsstream.h lib/platform/CXWindowsClipboard.h lib/platform/CXWindowsEventQueueBuffer.h lib/platform/CXWindowsKeyState.cpp lib/platform/CXWindowsKeyState.h lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h lib/platform/CXWindowsScreenSaver.cpp lib/platform/CXWindowsScreenSaver.h lib/platform/CXWindowsUtil.h Fixed bugs in configuration. Wasn't doing configuration for DPMS and Xinerama correctly. Also was using '#if defined(...)' instead of '#if ...' for testing configure macros in some places. This yields the wrong answer if the macro is set to 0, which means missing/disabled. ---------- 2004/10/27 21:46:22 crs lib/arch/CArchFileUnix.cpp Fixed use of freed memory. ---------- 2004/10/27 21:38:05 crs lib/platform/CSynergyHook.cpp Now detaching hook thread after event processing. This may fix problems with the Alt key being synthetically down when using the back and forward bindings on a mouse with extra buttons. ---------- 2004/10/27 21:29:19 crs lib/platform/CSynergyHook.cpp Fixed bug in mouse wheel handling. Was reacting with mouse wheel events when receiving any event with message == 0 when the system doesn't use old style mouse wheel events. Some programs (especially the flash plugin) would send events with message == 0 causing undesired wheel scrolling. ---------- 2004/10/27 21:22:36 crs lib/platform/COSXScreen.cpp Fixed problem with multimonitor on OS X. The bug was simply that the cursor wasn't being parked in the center of the main screen but instead at the center of the total display surface. This could place it off or dangerously close to the edge of the transparent window that covers the main screen and prevent synergy from capturing mouse motion. ---------- 2004/10/24 18:18:21 crs lib/platform/CXWindowsScreen.cpp Added eject key mapping. ---------- 2004/10/24 18:18:11 crs lib/platform/CXWindowsUtil.cpp Fixed comment. ---------- 2004/10/24 18:18:01 crs lib/platform/CXWindowsKeyState.cpp lib/synergy/CKeyState.cpp lib/synergy/CKeyState.h Fixed dead key and AltGr+shift handling on X windows. Also fixed bug with decomposing characters that have no direct key mapping but do have a direct key mapping for the character with the opposite case. ---------- 2004/10/24 18:15:33 crs lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/COSXScreen.cpp Made OS X key mapping dynamic based on current key layout. It now includes full support for dead keys and non-ascii glyph keys. ---------- 2004/10/24 18:14:18 crs lib/synergy/KeyTypes.h Added eject and sleep key IDs. ---------- 2004/10/24 18:12:38 crs lib/platform/CMSWindowsKeyState.cpp Added VK_SLEEP. ---------- 2004/10/23 19:43:37 crs lib/synergy/CKeyState.cpp lib/synergy/CKeyState.h lib/synergy/CScreen.cpp Previous half-duplex fix fixed secondary screens with half duplex keys but broke primary screens. This fixes both and also ensures that the primary screen updates its shadow toggle modifier state when leaving so the secondary screens get the correct toggle modifier state. Together these fix some strange inconsistencies in toggle state across screens. ---------- 2004/10/23 18:40:31 crs lib/synergy/CKeyState.cpp Fixed bug in half-duplex keys. Was updating their toggled state om every release as well as press. ---------- 2004/10/13 20:39:22 crs doc/configuration.html Fixed typo in the documentation of configuration options. ---------- 2004/09/29 21:59:26 crs cmd/synergyc/CClientTaskBarReceiver.cpp cmd/synergyc/CClientTaskBarReceiver.h cmd/synergys/CServerTaskBarReceiver.cpp cmd/synergys/CServerTaskBarReceiver.h configure.in lib/arch/CArchMultithreadPosix.cpp lib/base/CEventQueue.cpp lib/base/CEventQueue.h lib/base/IEventQueue.h lib/io/CStreamFilter.cpp lib/io/CStreamFilter.h lib/io/IStream.h lib/net/CTCPSocket.cpp lib/net/CTCPSocket.h lib/net/IDataSocket.h lib/server/CClientListener.cpp lib/synergy/CPacketStreamFilter.cpp lib/synergy/CPacketStreamFilter.h Removed recursive mutexes. Simplified stream filters as a side effect. Removed -D_BSD_SOURCE and -D_XOPEN_SOURCE=500 from compile since they're not longer necessary. ---------- 2004/09/28 22:25:35 crs lib/server/CConfig.cpp Now accepting screen names that end in a dot since many OS X users have misconfigured their systems to have hostnames that end in a dot. ---------- 2004/09/28 22:19:24 crs dist/nullsoft/installer.mak Fixed error in win32 installer packaging. ---------- 2004/09/28 22:19:11 crs cmd/launcher/launcher.cpp cmd/launcher/launcher.rc cmd/launcher/resource.h doc/configuration.html doc/faq.html lib/server/CConfig.cpp lib/synergy/CScreen.cpp Added half-duplex option for scroll lock key. ---------- 2004/09/27 21:54:49 crs lib/platform/CXWindowsScreen.cpp lib/synergy/IPlatformScreen.h Fixed compile on gcc 3.4 and later. gcc started doing access checks for class visibility on pointers to member function 'using the qualifying scope of the name itself.' what this means is if method 'prot' is declared protected in class A and B inherits from A then a method in B cannot use &A::prot but can use &B::prot. Synergy now does this in the one place it had not. ---------- 2004/09/27 21:23:47 crs lib/arch/CArchMultithreadPosix.cpp Worked around minor gcc 3.3.2 -O3 compiler bug. ---------- 2004/09/27 21:04:37 crs cmd/synergys/synergys.cpp Server now reports configuration file errors as ERROR level log messages rather than DEBUG level. Missing files are still reported as DEBUG level messages since we expect some to be missing. ---------- 2004/09/27 20:53:54 crs configure.in lib/common/Version.h Changed version to 1.1.9. Changed configure.in to get version number from lib/common/Version.h so it only has to be changed there. ---------- 2004/08/05 20:42:51 crs dist/nullsoft/synergy.nsi Fixed missing license file and PORTING in win32 installer build. ---------- 2004/08/04 22:48:30 crs synergy.xcode/project.pbxproj Removed cross-compile setting from project. ---------- 2004/08/04 22:48:08 crs lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/COSXScreen.cpp lib/synergy/KeyTypes.h Fixed handling of auto-repeat, ctrl + character key, and button to KeyCode translation. ---------- 2004/08/03 22:02:57 crs lib/platform/COSXKeyState.cpp Fixed space key on OS X server -> client. ---------- 2004/08/03 21:14:30 crs lib/arch/CArchMultithreadPosix.cpp Fixed warnings in deployment build style on OS X. ---------- 2004/08/01 17:37:28 crs doc/faq.html doc/index.html doc/running.html Fixed errors in new docs markup. ---------- 2004/08/01 17:37:11 crs dist/nullsoft/synergy.nsi Updated win32 installer to use new docs. ---------- 2004/08/01 17:36:53 crs COPYING Reverted COPYING so win32 installer build can use it. ---------- 2004/08/01 16:31:47 crs Makefile.am dist/nullsoft/installer.mak dist/nullsoft/synergy.nsi dist/rpm/synergy.spec.in Updated packagers to handle new documentation. ---------- 2004/08/01 16:04:21 crs AUTHORS COPYING INSTALL NEWS Added files required by automake. They simply reference the corresponding HTML file. ---------- 2004/08/01 16:00:18 crs AUTHORS BUGS COPYING FAQ HISTORY INSTALL Makefile.am NEWS PORTING README TODO configure.in doc/Makefile.am doc/PORTING doc/authors.html doc/autostart.html doc/compiling.html doc/configuration.html doc/developer.html doc/faq.html doc/history.html doc/index.html doc/license.html doc/news.html doc/running.html doc/security.html doc/synergy.css doc/tips.html doc/todo.html Updated documentation. Converted most documation to HTML. ---------- 2004/07/31 14:34:02 crs INSTALL PORTING README TODO Documentation changes. ---------- 2004/07/31 11:19:39 crs acinclude.m4 lib/arch/CArchNetworkBSD.cpp lib/platform/CXWindowsEventQueueBuffer.cpp Now using instead of . Also added a bit to autoconf to ensure we don't use poll on OS X. ---------- 2004/07/29 22:11:27 crs lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h Fixed handling of modifier keys on OS X. Also made OS X client ignore small mouse wheel events (which seem to get sent by some win32 systems). Other platforms were already ignoring them. ---------- 2004/07/29 22:09:28 crs cmd/synergys/synergys.cpp Worked around bug in ifstream::operator!() on OS X. ---------- 2004/07/29 21:59:26 crs lib/platform/CSynergyHook.cpp Fixed handling of ctrl and alt keys when using low level hooks. They were being discarded so the server wouldn't correctly send ctrl, alt, or AltGr to clients. ---------- 2004/07/29 21:57:42 crs lib/platform/CMSWindowsScreenSaver.cpp Added comment about a problem detecting the screen saver. ---------- 2004/07/29 21:53:30 crs lib/platform/CMSWindowsKeyState.cpp Worked around bogus key mapping on 95/98/me where multiple virtual keys are mapped to the same button. For example, the backslash virtual key shares a button with some other virtual key on british english key mappings. Synergy could end up using the wrong virtual key. In the given case, the other virtual key produced no character at all. To determine which virtual key should really be mapped to a button we map the button back to a virtual key and see if it's the virtual key we started with. Also fixed mapping of pause key. Previously, windows+pause sent to a win32 client wouldn't bring up system properties like it should. ---------- 2004/07/29 21:50:17 crs lib/platform/CMSWindowsDesks.cpp Synergy now steals window activation when using low level hooks and a console window is the active window. This is to work around console windows preventing the hook from detecting the shift key. ---------- 2004/07/29 21:48:40 crs lib/net/CTCPSocket.cpp Worked around bug/weirdness on OS X. It's reporting that a non-blocking connect is available for writing (i.e. the connection was successful) when the connection has actually failed. This caused synergy to rapidly retry connecting. This change makes synergy check for a connection error whether one was reported or not. Thankfully, OS X does correctly set the socket error state when it bogusly reports a successful connection so we can tell the connection failed. ---------- 2004/07/28 21:54:39 crs lib/net/CTCPSocket.cpp Added workaround for apparent bug in OS X 10.3.4. If you started a synergy client on that OS and pointed it at a system that wasn't listening for connections then instead of the connection attempt failing with 'connection refused' the system would claim the connection succeeded. A subsequent read would reveal the problem and synergy would "disconnect" and retry, causing the CPU to spin. The system does correctly set the socket error state so this workaround checks for socket errors when connecting whether or not select reports an error state. Also, sometimes the system doesn't claim success but doesn't report an error. Synergy eventually times out these attempts. ---------- 2004/07/25 14:18:50 crs configure.in lib/common/Version.h Changed version to 1.1.8. ---------- 2004/06/22 21:11:14 crs lib/platform/CXWindowsScreen.cpp Disable key event capture on X11. This was going to be used to detect synergy hotkeys but a design flaw in X11 makes it problematic with many applications. We'll have to fall back to the more traditional XGrabKey when the time comes. ---------- 2004/06/16 21:07:48 crs synergy.xcode/project.pbxproj Added NDEBUG to and removed debugging symbols from XCode deployment project. ---------- 2004/06/13 17:11:19 crs ChangeLog NEWS Updated documentation. ---------- 2004/06/12 20:48:04 crs lib/platform/CMSWindowsDesks.cpp lib/platform/CMSWindowsDesks.h lib/platform/CMSWindowsScreenSaver.cpp lib/platform/CMSWindowsScreenSaver.h (Maybe) fixed a problem detecting when win32 screen saver started. ---------- 2004/06/12 20:46:35 crs lib/arch/CMultibyte.cpp Fixed bug in converting wide characters to multibyte. ---------- 2004/06/10 21:25:09 crs lib/client/CClient.cpp Fixed assertion failure when client connection fails immediately. ---------- 2004/06/10 19:56:35 crs lib/arch/CArchNetworkBSD.cpp Changed O_NDELAY to O_NONBLOCK. On some versions of Unix, read return 0 when O_NDELAY is set and there is nothing to read. We want the O_NONBLOCK behavior where read returns -1 and sets errno to EAGAIN when there is nothing to read. ---------- 2004/06/10 19:42:01 crs lib/common/Makefile.am Added OS X precompiled header file for XCode compiles. ---------- 2004/06/10 19:39:07 crs cmd/launcher/CAutoStart.cpp Removed dependency of service on Browser. Browser isn't always available and, if it's not, synergy won't start. Users may have to use an IP server address instead of a hostname since the service may start before the service that resolves hostnames. If I knew what that service was I'd depend on it instead. ---------- 2004/06/10 19:32:40 crs configure.in lib/common/Version.h Changed version to 1.1.7. ---------- 2004/06/07 21:06:49 crs lib/platform/CXWindowsEventQueueBuffer.cpp Failed to reset flag in X11 event queue buffer and that could cause multiple threads to access the X display connection simultaneously which causes synergy to die. ---------- 2004/05/26 19:23:32 crs lib/common/MacOSXPrecomp.h lib/common/common.h lib/platform/COSXClipboardTextConverter.cpp lib/platform/COSXClipboardTextConverter.h lib/platform/COSXEventQueueBuffer.cpp lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h synergy.xcode/project.pbxproj Merged Bertrand's OS X changes. Also added support for mouse wheel on OS X server. ---------- 2004/05/18 20:32:13 crs lib/platform/CMSWindowsScreen.cpp If the server manages to detect ctrl+alt+del it will no longer send that to the client. If it did then the user could see the effect of ctrl+alt+del on both the server and client which we never want. The user can use ctrl+alt+pause to emulate ctrl+alt+del on the client. ---------- 2004/05/18 20:26:48 crs lib/platform/CXWindowsEventQueueBuffer.cpp lib/platform/CXWindowsEventQueueBuffer.h Fixed bug that could allow multiple threads to simultaneously access the X11 display connection. The only problematic method was CXWindowsEventQueueBuffer::addEvent given that the other event queue methods are only called from the main thread. ---------- 2004/05/17 21:55:55 crs cmd/synergyc/synergyc.cpp Fixed logging of connection to server. Was DEBUG now NOTE. ---------- 2004/05/17 21:55:38 crs lib/platform/CMSWindowsKeyState.cpp Fixed ctrl+alt+del emulation on win32 server. It was mapping VK_DELETE to the keypad delete key. This key is not interpreted on the client as causing ctrl+alt+del. ---------- 2004/05/16 18:04:36 crs lib/client/CServerProxy.cpp lib/server/CClientProxy1_0.cpp lib/synergy/ProtocolTypes.h Fixed handling of screen resolution changes. ---------- 2004/05/16 18:03:36 crs cmd/launcher/CAutoStart.cpp Changed (win NT) service to depend on the 'Browser' service to ensure correct startup order. ---------- 2004/05/16 18:02:49 crs all.dsp cmd/exec.dsp cmd/launcher/launcher.dsp cmd/synergyc/synergyc.dsp cmd/synergys/synergys.dsp dist/nullsoft/installer.dsp dist/nullsoft/synergy.nsi lib/arch/arch.dsp lib/base/base.dsp lib/client/client.dsp lib/common/common.dsp lib/io/io.dsp lib/mt/mt.dsp lib/net/net.dsp lib/platform/makehook.dsp lib/platform/platform.dsp lib/platform/synrgyhk.dsp lib/server/server.dsp lib/synergy/libsynergy.dsp Changed VC++ projects to put release targets in ./build, debug targets in ./debug, and intermediate files under ./gen. ---------- 2004/05/15 19:44:05 crs configure.in lib/common/Version.h Changed version to 1.1.6. ---------- 2004/05/15 19:43:33 crs lib/platform/CMSWindowsScreen.cpp Avoided duplicate logging of screen size on win32. ---------- 2004/05/15 19:41:46 crs Makefile.am configure.in lib/common/common.h lib/platform/COSXClipboard.cpp lib/platform/COSXClipboard.h lib/platform/COSXClipboardAnyTextConverter.cpp lib/platform/COSXClipboardAnyTextConverter.h lib/platform/COSXClipboardTextConverter.cpp lib/platform/COSXClipboardTextConverter.h lib/platform/COSXClipboardUTF16Converter.cpp lib/platform/COSXClipboardUTF16Converter.h lib/platform/COSXEventQueueBuffer.cpp lib/platform/COSXEventQueueBuffer.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h lib/platform/Makefile.am synergy.xcode/project.pbxproj Added bertrand landry hetu's mac OS X port to date. ---------- 2004/05/12 20:28:00 crs lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h Now restoring input focus when entering the screen to the window that had the focus when the screen was left. ---------- 2004/05/12 19:50:58 crs lib/arch/CArchNetworkBSD.cpp lib/arch/CArchNetworkWinsock.cpp Fixed thread reference leak in network code. ---------- 2004/05/12 19:12:28 crs configure.in Added configure option to enable debug builds. If not enabled then asserts are disabled. ---------- 2004/05/12 18:54:03 crs lib/platform/CXWindowsClipboardBMPConverter.cpp Fixed build error in gcc 3.3. ---------- 2004/05/26 19:23:32 crs lib/common/MacOSXPrecomp.h lib/common/common.h lib/platform/COSXClipboardTextConverter.cpp lib/platform/COSXClipboardTextConverter.h lib/platform/COSXEventQueueBuffer.cpp lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h synergy.xcode/project.pbxproj Merged Bertrand's OS X changes. Also added support for mouse wheel on OS X server. ---------- 2004/05/18 20:32:13 crs lib/platform/CMSWindowsScreen.cpp If the server manages to detect ctrl+alt+del it will no longer send that to the client. If it did then the user could see the effect of ctrl+alt+del on both the server and client which we never want. The user can use ctrl+alt+pause to emulate ctrl+alt+del on the client. ---------- 2004/05/18 20:26:48 crs lib/platform/CXWindowsEventQueueBuffer.cpp lib/platform/CXWindowsEventQueueBuffer.h Fixed bug that could allow multiple threads to simultaneously access the X11 display connection. The only problematic method was CXWindowsEventQueueBuffer::addEvent given that the other event queue methods are only called from the main thread. ---------- 2004/05/17 21:55:55 crs cmd/synergyc/synergyc.cpp Fixed logging of connection to server. Was DEBUG now NOTE. ---------- 2004/05/17 21:55:38 crs lib/platform/CMSWindowsKeyState.cpp Fixed ctrl+alt+del emulation on win32 server. It was mapping VK_DELETE to the keypad delete key. This key is not interpreted on the client as causing ctrl+alt+del. ---------- 2004/05/16 18:04:36 crs lib/client/CServerProxy.cpp lib/server/CClientProxy1_0.cpp lib/synergy/ProtocolTypes.h Fixed handling of screen resolution changes. ---------- 2004/05/16 18:03:36 crs cmd/launcher/CAutoStart.cpp Changed (win NT) service to depend on the 'Browser' service to ensure correct startup order. ---------- 2004/05/16 18:02:49 crs all.dsp cmd/exec.dsp cmd/launcher/launcher.dsp cmd/synergyc/synergyc.dsp cmd/synergys/synergys.dsp dist/nullsoft/installer.dsp dist/nullsoft/synergy.nsi lib/arch/arch.dsp lib/base/base.dsp lib/client/client.dsp lib/common/common.dsp lib/io/io.dsp lib/mt/mt.dsp lib/net/net.dsp lib/platform/makehook.dsp lib/platform/platform.dsp lib/platform/synrgyhk.dsp lib/server/server.dsp lib/synergy/libsynergy.dsp Changed VC++ projects to put release targets in ./build, debug targets in ./debug, and intermediate files under ./gen. ---------- 2004/05/15 19:44:05 crs configure.in lib/common/Version.h Changed version to 1.1.6. ---------- 2004/05/15 19:43:33 crs lib/platform/CMSWindowsScreen.cpp Avoided duplicate logging of screen size on win32. ---------- 2004/05/15 19:41:46 crs Makefile.am configure.in lib/common/common.h lib/platform/COSXClipboard.cpp lib/platform/COSXClipboard.h lib/platform/COSXClipboardAnyTextConverter.cpp lib/platform/COSXClipboardAnyTextConverter.h lib/platform/COSXClipboardTextConverter.cpp lib/platform/COSXClipboardTextConverter.h lib/platform/COSXClipboardUTF16Converter.cpp lib/platform/COSXClipboardUTF16Converter.h lib/platform/COSXEventQueueBuffer.cpp lib/platform/COSXEventQueueBuffer.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h lib/platform/Makefile.am synergy.xcode/project.pbxproj Added bertrand landry hetu's mac OS X port to date. ---------- 2004/05/12 20:28:00 crs lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h Now restoring input focus when entering the screen to the window that had the focus when the screen was left. ---------- 2004/05/12 19:50:58 crs lib/arch/CArchNetworkBSD.cpp lib/arch/CArchNetworkWinsock.cpp Fixed thread reference leak in network code. ---------- 2004/05/12 19:12:28 crs configure.in Added configure option to enable debug builds. If not enabled then asserts are disabled. ---------- 2004/05/12 18:54:03 crs lib/platform/CXWindowsClipboardBMPConverter.cpp Fixed build error in gcc 3.3. ---------- 2004/05/04 20:45:06 crs cmd/launcher/CGlobalOptions.cpp cmd/launcher/launcher.rc cmd/launcher/resource.h Added GUI for relative mouse moves option on win32. ---------- 2004/05/04 19:44:51 crs configure.in Configured default mac to build for X windows instead of the incomplete carbon implementation. ---------- 2004/05/04 19:37:46 crs lib/net/CTCPSocket.cpp Fixed bug in TCP socket that caused a busy loop in the socket multiplexer. That caused a lock up on windows when quitting the server with a client connected. ---------- 2004/05/03 21:14:01 crs lib/platform/CXWindowsClipboardAnyBitmapConverter.cpp lib/platform/CXWindowsClipboardBMPConverter.cpp Fixed X11 BMP and other bitmap conversion. Had data alignment problems. ---------- 2004/05/02 21:31:19 crs lib/base/CUnicode.cpp lib/platform/CXWindowsClipboard.cpp lib/platform/CXWindowsClipboardAnyBitmapConverter.cpp lib/platform/CXWindowsClipboardAnyBitmapConverter.h lib/platform/CXWindowsClipboardBMPConverter.cpp lib/platform/CXWindowsClipboardBMPConverter.h lib/platform/CXWindowsClipboardHTMLConverter.cpp lib/platform/CXWindowsClipboardHTMLConverter.h lib/platform/Makefile.am lib/synergy/IClipboard.h Added image/bmp and text/html support to X11. ---------- 2004/05/02 16:13:11 crs lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h Relative mouse motion for OS X. ---------- 2004/05/02 16:06:04 crs lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h Used MouseKeys accessibility function to show the mouse cursor on a secondary screen when there's no physical mouse attached to the system. Kinda flaky when a mouse is attached or detached but seems to work well enough when the device is not attached to start with and not attached while running synergy. ---------- 2004/05/02 16:01:59 crs cmd/launcher/CAutoStart.cpp lib/arch/CArch.cpp lib/arch/CArch.h lib/arch/CArchDaemonNone.cpp lib/arch/CArchDaemonNone.h lib/arch/CArchDaemonWindows.cpp lib/arch/CArchDaemonWindows.h lib/arch/IArchDaemon.h Added support for daemon startup dependencies. Made synergy dependent on NetBT, which I hope is right. ---------- 2004/05/02 16:00:45 crs lib/synergy/IClipboard.h Fixed comment about canonical bitmap clipboard format. ---------- 2004/05/02 08:04:48 crs lib/platform/CMSWindowsClipboard.cpp lib/platform/CMSWindowsClipboardBitmapConverter.cpp lib/platform/CMSWindowsClipboardBitmapConverter.h lib/platform/CMSWindowsClipboardHTMLConverter.cpp lib/platform/CMSWindowsClipboardHTMLConverter.h lib/platform/platform.dsp lib/server/server.dsp lib/synergy/IClipboard.h Added win32 clipboard support for images and HTML. Still need X11 support. ---------- 2004/05/02 08:04:15 crs lib/platform/CMSWindowsDesks.cpp lib/platform/CMSWindowsDesks.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h Added relative mouse move support to win32. ---------- 2004/05/02 08:03:49 crs lib/client/CServerProxy.cpp lib/client/CServerProxy.h Forgot to change the client to handle relative moves. ---------- 2004/05/01 16:10:09 crs lib/platform/CXWindowsClipboard.cpp lib/platform/CXWindowsUtil.cpp lib/platform/CXWindowsUtil.h X11 clipboard logging now also prints atom names, not just numbers. ---------- 2004/05/01 15:19:53 crs lib/server/CClientProxy1_2.cpp lib/server/CClientProxy1_2.h Added files forgotten in previous checkin. ---------- 2004/05/01 15:18:59 crs lib/client/CClient.cpp lib/client/CClient.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/CClientProxyUnknown.cpp 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/CPlatformScreen.h lib/synergy/CScreen.cpp lib/synergy/CScreen.h lib/synergy/IClient.h lib/synergy/IPlatformScreen.h lib/synergy/ISecondaryScreen.h lib/synergy/OptionTypes.h lib/synergy/ProtocolTypes.h Added support for a global relative mouse motion option. When true and on a secondary screen and locked to the screen (via scroll lock) mouse motion is sent as motion deltas. When true and scroll lock is toggled off the mouse is warped to the secondary screen's center so the server knows where it is. This option is intended to support games and other programs that repeatedly warp the mouse to the center of the screen. This change adds general and X11 support but not win32. The option name is "relativeMouseMoves". ---------- 2004/05/01 12:11:28 crs configure.in lib/arch/CArchNetworkBSD.cpp lib/common/common.h Better fixes for compiling on FreeBSD and OpenBSD. ---------- 2004/05/01 11:01:40 crs lib/arch/CArchNetworkBSD.cpp lib/arch/CArchNetworkBSD.h lib/common/common.h Fixes for FreeBSD. ---------- 2004/05/01 10:12:06 crs acinclude.m4 configure.in lib/arch/CArchNetworkBSD.cpp lib/platform/CXWindowsScreenSaver.cpp Fixes to compile on solaris 9 using g++. ---------- 2004/05/01 08:56:24 crs lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h Fixed regression where cursor wasn't locked to screen when a mouse button is down on win32. ---------- 2004/05/01 08:54:42 crs lib/arch/CMultibyte.cpp Fixed type cast warnings. ---------- 2004/04/13 19:39:04 crs configure.in lib/arch/CArch.cpp lib/arch/CArch.h lib/arch/CArchStringUnix.cpp lib/arch/CArchStringUnix.h lib/arch/CArchStringWindows.cpp lib/arch/CArchStringWindows.h lib/arch/CMultibyte.cpp lib/arch/CMultibyteEmu.cpp lib/arch/CMultibyteOS.cpp lib/arch/IArchString.h lib/arch/Makefile.am lib/arch/arch.dsp lib/base/CUnicode.cpp Removed use of mbrtowc, wcrtomb, and mbsinit. Many platforms didn't support them and the emulated versions were just as good except for a performance problem with excessive locking and unlocking of a mutex. So this also changes IArchString to provide string rather than character conversion so we can lock the mutex once per string rather than once per character. ---------- 2004/04/11 20:01:18 crs cmd/launcher/Makefile.am Oops, broke build in launcher on non-win32 platforms. ---------- 2004/04/11 19:43:16 crs cmd/launcher/Makefile.am lib/platform/Makefile.am More changes for MSYS/MinGW builds. Added makefile for launcher. Still need hook library and resource compiling. ---------- 2004/04/11 19:15:09 crs cmd/launcher/launcher.rc cmd/synergyc/synergyc.rc cmd/synergys/synergys.cpp cmd/synergys/synergys.rc configure.in lib/arch/CArchDaemonWindows.cpp lib/arch/CArchMultithreadWindows.cpp lib/arch/CArchNetworkWinsock.cpp lib/arch/CArchStringWindows.cpp lib/arch/CArchTaskBarWindows.cpp lib/arch/CMultibyte.cpp lib/arch/XArchWindows.cpp lib/arch/arch.dsp lib/common/common.h lib/platform/CMSWindowsDesks.cpp lib/platform/CMSWindowsKeyState.cpp lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreenSaver.cpp lib/platform/CSynergyHook.cpp lib/synergy/CProtocolUtil.cpp Preliminary support for MSYS/MinGW builds. Doesn't yet build CSynergyHook as a DLL and does not compile or link in the resources for the binaries. ---------- 2004/04/11 14:58:08 crs PORTING cmd/synergyc/COSXClientTaskBarReceiver.cpp cmd/synergyc/COSXClientTaskBarReceiver.h cmd/synergyc/Makefile.am cmd/synergyc/synergyc.cpp cmd/synergys/COSXServerTaskBarReceiver.cpp cmd/synergys/COSXServerTaskBarReceiver.h cmd/synergys/Makefile.am cmd/synergys/synergys.cpp configure.in lib/arch/CArch.cpp lib/arch/CArchDaemonUnix.cpp lib/arch/CArchFileUnix.cpp lib/arch/CArchImpl.cpp lib/arch/CArchNetworkBSD.cpp lib/arch/CMultibyte.cpp lib/arch/CMultibyteOS.cpp lib/arch/Makefile.am lib/arch/vsnprintf.cpp lib/base/CPriorityQueue.h lib/common/BasicTypes.h lib/common/common.h lib/platform/COSXClipboard.cpp lib/platform/COSXClipboard.h lib/platform/COSXEventQueueBuffer.cpp lib/platform/COSXEventQueueBuffer.h lib/platform/COSXKeyState.cpp lib/platform/COSXKeyState.h lib/platform/COSXScreen.cpp lib/platform/COSXScreen.h lib/platform/COSXScreenSaver.cpp lib/platform/COSXScreenSaver.h lib/platform/CSynergyHook.h lib/platform/CXWindowsEventQueueBuffer.cpp lib/platform/CXWindowsScreen.cpp lib/platform/Makefile.am Updates to support OS X. This improves support for building on multiple systems with automake, with X Windows and Carbon window system APIs supported. It's also a starting port for supporting win32 builds using mingw. OS X support is incomplete; the tree will compile and link but the binaries will not function. ---------- 2004/04/06 22:09:38 crs lib/arch/CArchMultithreadPosix.cpp Added missing initialization of mutex attribute call. ---------- 2004/04/05 21:23:44 crs lib/server/CServer.cpp Fixed bug in handling rejection of screen with name that's already in use. The client was being correctly rejected but the already connected client was being forcefully disconnected too because the client to disconnect was found by looking up the client by name. We now instead look up the client by IClient*. ---------- 2004/04/05 21:10:06 crs lib/platform/CSynergyHook.cpp lib/server/CServer.cpp lib/server/CServer.h Added workaround for win32 low-level mouse hook position weirdness. The low-level hook can report mouse positions outside the boundaries of the screen and bogus retrograde motion. This messes up switch on double tap. This change attempts to detect and suppress the bogus events. ---------- 2004/04/05 21:08:49 crs lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h Made hook debug logging print at DEBUG1 rather than INFO level. ---------- 2004/04/04 12:12:32 crs Makefile.am cmd/Makefile.am cmd/launcher/Makefile.am cmd/synergyc/Makefile.am cmd/synergys/Makefile.am dist/Makefile.am dist/nullsoft/Makefile.am dist/rpm/Makefile.am lib/Makefile.am lib/arch/Makefile.am lib/base/Makefile.am lib/client/Makefile.am lib/common/Makefile.am lib/io/Makefile.am lib/mt/Makefile.am lib/net/Makefile.am lib/platform/Makefile.am lib/server/Makefile.am lib/synergy/Makefile.am Removed DEPTH, VDEPTH, and VPATH from makefiles. ---------- 2004/04/04 12:12:30 crs configure.in lib/common/Version.h Changed version to 1.1.5. ---------- 2004/03/31 22:30:49 crs dist/nullsoft/synergy.nsi Minor win32 installer tweaks. ---------- 2004/03/31 22:15:13 crs lib/arch/CArchTaskBarWindows.cpp lib/arch/CArchTaskBarWindows.h lib/arch/IArchTaskBar.h Reverted task bar code to 1.0.15 version. That used a window in its own thread for handling messages. It seems to fix most of the task bar bugs but there's still an hourglass cursor on NT when using the popup menu. ---------- 2004/03/31 22:14:15 crs lib/arch/CArchNetworkWinsock.cpp Fixed lookup of hosts by name on win32. ---------- 2004/03/31 22:14:01 crs cmd/launcher/launcher.rc Make screen drop down lists longer in the launcher. They're now long enough for the scroll bar to show up properly (with the thumb) and they have enough space for 6 screens without needing the scroll bar. ---------- 2004/03/31 22:12:53 crs lib/server/CServer.cpp Fixed failure to initialize double tap and wait to switch timeouts. ---------- 2004/03/30 18:55:58 crs lib/synergy/CKeyState.cpp Fixed crash bug in CKeyState. Would deference bogus pointer in isModifierActive if there's an unmapped toggle modifier. ---------- 2004/03/30 18:54:56 crs configure.in lib/common/Version.h Changed version to 1.1.4. This time changing the version before making any other changes. ---------- 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 cmd/launcher/resource.h cmd/synergyc/synergyc.cpp configure.in lib/client/CClient.cpp lib/client/CClient.h lib/client/CServerProxy.cpp lib/client/CServerProxy.h lib/common/Version.h lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsPrimaryScreen.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h lib/server/CConfig.cpp lib/synergy/OptionTypes.h Merge synergy 1.1 fixes into 1.0 branch. ---------- 2003/07/19 17:19:26 crs Branched synergy 1.0 from 1.0.11. ---------- 2003/07/17 21:16:58 crs lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.cpp Fixed handling of a dead key followed by space on win32 and X11. A dead key followed by space should convert the dead key to a regular character. ---------- 2003/07/16 22:38:43 crs lib/platform/CMSWindowsSecondaryScreen.cpp Fixed handling of some non-ASCII but directly mapped characters on win32. The o, a, and u with diaeresis in the german keyboard mapping are examples. ---------- 2003/07/16 21:40:57 crs lib/platform/CMSWindowsPrimaryScreen.cpp Fixed handling of shift/ctrl/alt on special keys on win32 server. ---------- 2003/07/13 20:42:11 crs lib/platform/CMSWindowsPrimaryScreen.cpp Fixed handling of some keystrokes on win32. Pressing a dead key and then space should convert the dead key to a non-dead key but previous the key was discarded. Fixed that but VkKeyScan() fails in this case so added special case to fix that (assuming AltGr is required). VkKeyScan() can return the wrong result for characters that have more than one virtual key mapped to them. AltGr+9 (^) on the French layout has this problem. Now detecting that problem and using the current keyboard state to decide if AltGr is required. ---------- 2003/07/13 17:03:41 crs cmd/synergyc/synergyc.cpp Forgot to remove --camp and --no-camp from brief usage message. ---------- 2003/07/13 16:57:08 crs lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h Changed XSync() to XFlush() in X windows secondary screen. This doesn't appear to have any negative consequences and may prevent synergy from freezing when some X client (probably the window manager) grabs the server. ---------- 2003/07/12 17:57:31 crs cmd/synergyc/synergyc.cpp lib/client/CClient.cpp lib/client/CClient.h lib/platform/CMSWindowsScreen.cpp lib/platform/CXWindowsScreen.cpp Prevent INFO level log messages when client is repeatedly trying to connect. This prevents a log from filling up while the client can't connect for no useful reason. Also removed --camp option and cleaned up handling of client connection. Users must now use --restart instead of --camp. ---------- 2003/07/08 18:40:46 crs lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsPrimaryScreen.h Changed windows server to release ctrl and alt keys when it's sending a key that requires AltGr. That's because AltGr *is* ctrl and alt but AltGr should be seen on clients as mode switch without the ctrl and alt. I can't think of a better way to do this other than to not send modifier keystrokes to the clients at all. ---------- 2003/07/05 17:06:18 crs configure.in lib/common/Version.h Change version to 1.0.11. Skipping version 1.0.10 because there have been too many major changes since 1.0.8. A new experimental release will provide a stable starting point for testing. ---------- 2003/07/05 17:05:12 crs lib/synergy/CSecondaryScreen.cpp Fix to avoid warping mouse until client successfully connects to the server. ---------- 2003/07/05 17:04:26 crs lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h Keyboard fixes on win32. ---------- 2003/07/05 17:04:06 crs lib/server/CConfig.h Fix for new template syntax. ---------- 2003/07/05 14:49:08 crs lib/platform/CXWindowsPrimaryScreen.cpp lib/platform/CXWindowsPrimaryScreen.h lib/platform/CXWindowsSecondaryScreen.cpp Minor X11 keyboard code cleanup. Also now handling KeyPress with keycode == 0 generated by XFilterEvent() by using the keycode from the previous KeyPress. ---------- 2003/07/05 14:47:41 crs lib/platform/CXWindowsScreen.cpp Compress sequential MappingNotify events into one. ---------- 2003/07/01 19:35:28 crs lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h Rewrote key handling on X11 client. This should fix problems with applying the incorrect shift and mode switch modifiers to some keycodes, such as getting Pointer_EnableKeys when pressing shift with NumLock enabled. ---------- 2003/06/22 21:27:38 crs lib/platform/CXWindowsPrimaryScreen.cpp lib/platform/CXWindowsPrimaryScreen.h Added support for input methods. Only handling IMs that don't need a precompose area or status area. This includes IMs that do simple dead key composition. This only changes the server. The client still does not decompose a character it cannot generate directly into the keysyms to compose the character. ---------- 2003/06/22 16:39:25 crs lib/client/CServerProxy.cpp More fixes for X11 client keyboard handling. ---------- 2003/06/22 16:39:02 crs lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h More fixes for X11 client keyboard handling. ---------- 2003/06/22 15:01:44 crs lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h Checkpoint for improving X11 client key handling. Should prevent unintentional Pointer_EnableKeys (i.e. generating NumLock press and release around a shift press). ---------- 2003/06/08 22:20:01 crs lib/platform/CXWindowsPrimaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.cpp Another ctrl+alt+del checkpoint. ---------- 2003/06/08 22:12:12 crs lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h lib/platform/CXWindowsPrimaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.cpp ctrl+alt+del emulation checkpoint. ---------- 2003/06/08 16:31:52 crs lib/platform/CXWindowsSecondaryScreen.cpp More DEBUG2 level debugging of keyboard handling. ---------- 2003/06/08 15:42:05 crs lib/common/Makefile.am Added new file to Makefile. ---------- 2003/06/02 20:07:16 crs lib/platform/CMSWindowsSecondaryScreen.cpp Fixed ctrl and alt keys on win32 clients. Was broken by a recent fix to character handling. ---------- 2003/06/02 20:06:20 crs lib/client/CServerProxy.cpp Fixed errors in log strings. ---------- 2003/06/02 20:06:03 crs cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp cmd/synergyc/CMSWindowsClientTaskBarReceiver.h cmd/synergyc/resource.h cmd/synergyc/synergyc.cpp cmd/synergyc/synergyc.rc cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp cmd/synergys/CMSWindowsServerTaskBarReceiver.h cmd/synergys/resource.h cmd/synergys/synergys.cpp cmd/synergys/synergys.rc lib/base/CLog.cpp lib/base/CLog.h lib/base/LogOutputters.cpp lib/base/LogOutputters.h lib/common/common.dsp lib/common/stddeque.h Added menu item on win32 tray icon to copy the last 1000 lines from the log to the clipboard. ---------- 2003/05/26 09:50:35 crs lib/platform/CXWindowsClipboard.cpp Added workaround for broken clipboard owners that report the type of TARGETS as TARGETS instead of ATOM. ---------- 2003/05/26 09:49:38 crs lib/platform/CMSWindowsClipboard.cpp No longer installing clibboard format for plain text on windows nt family because nt automatically converts to and from the unicode format. This may fix text encoding errors when synergy puts non-ascii text on the clipboard and other clients prefer CF_TEXT to CF_UNICODE (which they should not because synergy lists CF_UNICODE first). ---------- 2003/05/26 09:46:52 crs lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsScreen.cpp Fixed loss of ctrl+alt+del key releases when the Winlogin desktop is accessible (was already fixed when inaccessible). This change also ignores press and release of virtual key 0, which should never happen but does according to one user. ---------- 2003/05/21 21:22:14 crs lib/arch/CArchMultithreadWindows.cpp lib/synergy/CPrimaryScreen.cpp lib/synergy/CSecondaryScreen.cpp Fixed unsigned compare against zero. Changed win32 priority to maximum. ---------- 2003/05/21 19:38:11 crs lib/server/CServer.cpp lib/server/CServer.h Made double tap require moving farther away from the tapped edge before arming. This should reduce spurious double taps. ---------- 2003/05/20 19:15:58 crs lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h Attempt to improve key event synthesis. This change adds support for dead keys and attempts to choose the correct code page for the thread that will (probably) receive synthesized events. ---------- 2003/05/20 19:14:40 crs lib/platform/CSynergyHook.cpp Minor thread ID compare fix. ---------- 2003/05/20 19:14:24 crs lib/arch/CArchMultithreadWindows.cpp Reduced maximum priority in debug build. ---------- 2003/05/17 20:58:27 crs lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsPrimaryScreen.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h lib/platform/CSynergyHook.cpp lib/platform/IMSWindowsScreenEventHandler.h lib/synergy/CPrimaryScreen.cpp Fixed getting locked to screen after ctrl+alt+del. Also fixed cursor not being hidden on win32 server when on client screens (which happened when using low-level hooks). ---------- 2003/05/17 14:10:11 crs INSTALL Added documentation for xtestIsXineramaUnaware option. ---------- 2003/05/17 14:03:32 crs lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h Fixed previous fix. Was trying to avoid using XWarpPointer() when warping on screen 0. That just doesn't work if screen 0 is not at 0,0. So now always use XWarpPointer() if there are multiple xinerama screens and the appropriate option is enabled. ---------- 2003/05/17 13:44:24 crs lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h lib/server/CConfig.cpp lib/synergy/OptionTypes.h Added workaround for when XTest is unaware of Xinerama. When that's true, faking a mouse motion outside screen 0 is clamped onto screen 0. When the workaround is enabled, we use XWarpPointer() instead of an XTest fake motion. This isn't perfect but the only real fix requires patching XTest. ---------- 2003/05/17 12:48:32 crs lib/platform/CXWindowsSecondaryScreen.cpp Added support for old versions of XF86keysym.h that are missing some expected #defines. ---------- 2003/05/10 17:27:05 crs configure.in lib/common/Version.h Changed version to 1.0.8. ---------- 2003/05/10 17:26:42 crs INSTALL README Updated documentation. ---------- 2003/05/08 21:59:35 crs lib/server/CServer.cpp Fixed jumping to same client screen. It was broken by an earlier change (probably double tap). Jumping to the same server screen worked correctly. ---------- 2003/05/04 21:40:42 crs configure.in lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsPrimaryScreen.h lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h lib/platform/CSynergyHook.cpp lib/platform/CXWindowsPrimaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.cpp lib/synergy/KeyTypes.h lib/synergy/MouseTypes.h Added support for 4th and 5th (non-mouse-wheel) buttons and "Internet" keyboard keys. ---------- 2003/05/03 15:16:30 crs cmd/launcher/CGlobalOptions.cpp cmd/launcher/launcher.rc cmd/launcher/resource.h Added screen saver synchronization option to win32 launcher dialog. ---------- 2003/05/03 14:54:03 crs lib/synergy/CSecondaryScreen.cpp Removed accidental debugging code. ---------- 2003/05/03 14:38:36 crs lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.cpp lib/server/CConfig.cpp lib/synergy/CSecondaryScreen.cpp lib/synergy/CSecondaryScreen.h lib/synergy/OptionTypes.h Added global configuration option to disable screen saver synchronization. ---------- 2003/05/03 13:57:52 crs lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h Forgot to restore global auto-repeat configuration on exit. ---------- 2003/05/03 13:50:06 crs lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h lib/synergy/CSecondaryScreen.cpp lib/synergy/CSecondaryScreen.h Now warping mouse to center of screen when leaving client screens. Some users requested this. Also, the hider window is mapped before warping the mouse so the active window shouldn't change if the focus policy is point-to-focus. Showing the window first can also reduce the likelihood of seeing the cursor briefly in its hidden position. ---------- 2003/05/03 13:28:21 crs lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h Now turning off auto-repeat when on an X11 client. This prevents the server from auto-repeating fake events, which is undesired since synergy will do the auto-repeating itself. This also disables auto-repeat on any keys locally configured on X11 to not auto-repeat. That's mainly to suppress auto-repeat on modifier keys, which auto-repeat on win32 but not X11. ---------- 2003/05/03 12:54:22 crs lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsPrimaryScreen.h lib/platform/CSynergyHook.cpp lib/platform/CSynergyHook.h Fixed a few win32 keyboard/mouse problems. First, the mouse hook now captures non-client area mouse messages. Previously, these were ignored (because i forgot about them) and they caused all kinds of problems because they weren't forwarded. For example, clicking on a window border would cause the window to start resizing when the mouse came back to the server screen. Moving inside a title bar meant that the mouse wouldn't move on the client screen. Second, because non-client messages are now handled, the full screen transparent window is no longer necessary to capture input so it's never displayed. (The window is still necessary for clipboard ownership so it's still created.) No transparent window means no screen flashing. It also means we don't have to become the foreground and active window. This plays better with apps that minimize or restore when they're no longer the foreground application/active window. Third, fixed the low level keyboard hook to forward toggle key updates, which it was neglecting to do. Finally, keyboard and mouse input is always forwarded from the hook to the primary screen handler which then shadows the current key and mouse button state. If we're using low level hooks then this isn't really necessary and GetKeyState() always returns the right info but without low level hooks it means we can just use the shadow state. It also means we don't have to show our window in order to get the system's key state table up to date, fixing the screen flash when checking for the scroll lock state. ---------- 2003/05/03 12:37:03 crs lib/arch/CArchMultithreadWindows.cpp lib/synergy/CPrimaryScreen.cpp lib/synergy/CSecondaryScreen.cpp Boosted priority of main synergy threads to be very high (highest realtime priority). After some testing it appears that anything less than this can starve synergy in some circumstances, preventing it from forwarding messages to clients. This is a rather risky change since synergy can now virtually take over a system if it behaves badly. This change only affects windows systems since lib/arch of other platforms don't yet attempt to boost priority. ---------- 2003/04/27 18:05:32 crs lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h lib/server/Makefile.am lib/server/server.dsp Fixes to previous checkpoint. Non-ascii keys seem to work correctly. Still not supporting key composition on X11. ---------- 2003/04/27 17:01:14 crs lib/client/CClient.cpp lib/client/CClient.h lib/client/CServerProxy.cpp lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h lib/platform/CXWindowsPrimaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h 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/CPrimaryClient.cpp lib/server/CPrimaryClient.h lib/server/CServer.cpp lib/server/CServer.h lib/server/Makefile.am lib/synergy/CSecondaryScreen.h lib/synergy/IClient.h lib/synergy/IPrimaryScreenReceiver.h lib/synergy/KeyTypes.h lib/synergy/ProtocolTypes.h Checkpointing improved key handling. This change adds non-ASCII key handling to win32 on both client and server. It also changes the protocol and adds code to ensure every key pressed also gets released and that that doesn't get confused when the KeyID for the press is different from the KeyID of the release (or repeat). ---------- 2003/04/24 20:11:38 crs lib/platform/CXWindowsPrimaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsUtil.cpp lib/platform/CXWindowsUtil.h Added KeySym <-> Unicode mappings. Changed code to use those mappings to better support Unicode key events. ---------- 2003/04/24 20:10:13 crs cmd/Makefile.am Added exec.dsp to EXTRA_DIST. ---------- 2003/04/16 20:59:25 crs all.dsp cmd/exec.dsp lib/platform/makehook.dsp lib/platform/synrgyhk.dsp synergy.dsw Win32 project configuration fixes. ---------- 2003/04/16 20:59:14 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp lib/platform/CMSWindowsPrimaryScreen.cpp Minor win32 fixes. ---------- 2003/04/16 20:05:00 crs lib/server/CConfig.cpp Now allowing screen names with underscores. ---------- 2003/04/14 22:16:21 crs lib/platform/CXWindowsPrimaryScreen.cpp Fixed incorrect initialization of an XMotionEvent. ---------- 2003/04/14 22:15:56 crs configure.in lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h Added workaround for apparent Xinerama bug when warping the pointer. This should allow synergy to be used on a system using Xinerama to create a single logical screen from multiple physical screens. ---------- 2003/04/13 18:14:01 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp Fixed problem with type casting void* to int. ---------- 2003/04/13 17:13:27 crs lib/platform/CXWindowsScreenSaver.cpp Removed periodic call to XForceScreenSaver() to prevent the built-in screen saver from activating. It was unnecessary since the built-in screen saver is disabled as appropriate; this call was just to ensure that the screen saver wouldn't start if an external program reactivated the screen saver after synergy disabled it. It's possible that this was causing screen flicker under gnome, though i don't know why. It's also possible that periodically sending events to xscreensaver is causing the flicker but removing that code is more difficult because xscreensaver can't be disabled, only deactivated or killed. ---------- 2003/04/13 14:59:53 crs lib/platform/CMSWindowsClipboard.cpp lib/platform/CMSWindowsClipboard.h lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsPrimaryScreen.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h lib/platform/CSynergyHook.cpp Fixed several win32 bugs. First, synergy wasn't forwarding mouse events to other hook functions, which broke some tools like objectbar. Second, windows key processing was fixed. Previously pressing and release the key would only send a press event, locking the user onto the client window; also, the win32 server treated as a Meta modifier instead of a Super modifier, which broke any use of it as any kind of modifier key. Third, added hacks to support several key combinations on windows 95/98/me that are treated specially by windows, including Alt+Tab, Alt+Shift+Tab, Alt+Esc, Alt+Shift+Esc, Ctrl+Esc, and any combination using the windows key like Win+E and Win+F but not Ctrl+Alt+Del. Fourth, scroll lock only locking to the client (which only happened when using a synergy server on windows) has been fixed; unfortunately the solution causes a lot of screen redraws for some reason. Finally, there's been a fix to clipboard handling that may or may not fix a problem where the clipboard would stop transferring between systems after a little while. I can't be sure if it fixes the problem because I can't reproduce the problem. ---------- 2003/04/13 14:39:17 crs cmd/launcher/launcher.rc Added mention of tray icon to launcher start message box. ---------- 2003/03/26 21:03:58 crs configure.in lib/common/Version.h Changed version to 1.0.6. ---------- 2003/03/25 21:31:39 crs lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CSynergyHook.cpp This should fix multimon support on win32. ---------- 2003/03/22 11:49:23 crs FAQ INSTALL PORTING README TODO Documentation updates. ---------- 2003/03/22 11:49:13 crs cmd/launcher/CGlobalOptions.cpp cmd/launcher/CGlobalOptions.h cmd/launcher/launcher.rc cmd/launcher/resource.h Added key modifier and heartbeat options to GUI. ---------- 2003/03/21 19:34:08 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp Oops, included a windows only header in non-windows builds. ---------- 2003/03/21 19:16:37 crs lib/platform/CMSWindowsScreenSaver.cpp Added check for the screen saver actually being active before entering the loop waiting for it to deactivate. The failure to check was causing the screen saver code to kick in when the screen saver timeout occurred, even if the screen saver wasn't enabled (because Windows still sends the screen saver activating message for no good reason when the screen saver is disabled). ---------- 2003/03/21 19:14:32 crs lib/arch/CArchMiscWindows.cpp Fixed errors in merge causing infinite loops. ---------- 2003/03/21 19:14:10 crs cmd/synergyc/tb_idle.ico cmd/synergyc/tb_run.ico cmd/synergyc/tb_wait.ico cmd/synergys/tb_idle.ico cmd/synergys/tb_run.ico cmd/synergys/tb_wait.ico Fixed icons. ---------- 2003/03/21 19:13:15 crs lib/platform/CXWindowsUtil.cpp Fixed getWindowProperty(). It wasn't catching all failure cases correctly. ---------- 2003/03/17 22:32:10 crs cmd/launcher/CAdvancedOptions.cpp cmd/launcher/CAdvancedOptions.h cmd/launcher/LaunchUtil.cpp cmd/launcher/LaunchUtil.h cmd/launcher/launcher.cpp cmd/launcher/launcher.rc cmd/launcher/resource.h lib/arch/CArchDaemonWindows.cpp lib/arch/CArchDaemonWindows.h lib/arch/CArchMiscWindows.cpp lib/arch/CArchMiscWindows.h Added options and advanced options dialogs which should've been part of an earlier checkin. Also now saving and restoring options that aren't in the configuration file to/from the registry. ---------- 2003/03/17 22:32:01 crs lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CXWindowsPrimaryScreen.cpp lib/server/CServer.cpp lib/synergy/CPrimaryScreen.h Added a log message why the user is locked to the screen. ---------- 2003/03/17 22:31:59 crs lib/platform/CMSWindowsSecondaryScreen.cpp Added type casts to avoid warning. ---------- 2003/03/16 17:40:57 crs lib/platform/CMSWindowsScreenSaver.cpp lib/platform/CMSWindowsScreenSaver.h Fixed detection of screen saver shutdown on windows nt. ---------- 2003/03/16 17:40:56 crs lib/common/Makefile.am lib/common/common.dsp lib/common/stdbitset.h lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h Made releaseKeys() only synthesize key releases for those keys that synergy synthesized a press for, not keys that the user is physically pressing. ---------- 2003/03/16 17:40:47 crs lib/platform/CSynergyHook.cpp Minor hook fixes. ---------- 2003/03/16 17:40:25 crs cmd/synergyc/synergyc.rc cmd/synergys/synergys.rc Added resources missing from previous checkin. ---------- 2003/03/13 20:24:45 crs lib/platform/CXWindowsScreenSaver.cpp Moved comment to more relevant location. ---------- 2003/03/13 19:20:55 crs lib/platform/CXWindowsScreen.cpp Fixed double locking of mutex. ---------- 2003/03/12 22:34:07 crs cmd/launcher/CAdvancedOptions.cpp cmd/launcher/CAdvancedOptions.h cmd/launcher/CGlobalOptions.cpp cmd/launcher/CGlobalOptions.h cmd/launcher/LaunchUtil.cpp cmd/launcher/LaunchUtil.h cmd/launcher/Makefile.am cmd/launcher/launcher.cpp cmd/launcher/launcher.dsp cmd/launcher/resource.h cmd/synergyc/CClientTaskBarReceiver.cpp cmd/synergyc/CClientTaskBarReceiver.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.dsp cmd/synergyc/tb_error.ico cmd/synergyc/tb_idle.ico cmd/synergyc/tb_run.ico cmd/synergyc/tb_wait.ico cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp cmd/synergys/CMSWindowsServerTaskBarReceiver.h cmd/synergys/CServerTaskBarReceiver.cpp cmd/synergys/CServerTaskBarReceiver.h cmd/synergys/CXWindowsServerTaskBarReceiver.cpp cmd/synergys/CXWindowsServerTaskBarReceiver.h cmd/synergys/Makefile.am cmd/synergys/resource.h cmd/synergys/synergys.cpp cmd/synergys/synergys.dsp cmd/synergys/tb_error.ico cmd/synergys/tb_idle.ico cmd/synergys/tb_run.ico cmd/synergys/tb_wait.ico lib/arch/CArch.cpp lib/arch/CArch.h lib/arch/CArchConsoleWindows.cpp lib/arch/CArchConsoleWindows.h lib/arch/CArchImpl.cpp lib/arch/CArchMultithreadPosix.cpp lib/arch/CArchMultithreadPosix.h lib/arch/CArchMultithreadWindows.cpp lib/arch/CArchMultithreadWindows.h lib/arch/CArchTaskBarWindows.cpp lib/arch/CArchTaskBarWindows.h lib/arch/CArchTaskBarXWindows.cpp lib/arch/CArchTaskBarXWindows.h lib/arch/IArchMultithread.h lib/arch/IArchTaskBar.h lib/arch/IArchTaskBarReceiver.h lib/arch/Makefile.am lib/arch/arch.dsp lib/base/CJobList.cpp lib/base/CJobList.h lib/base/LogOutputters.cpp lib/base/LogOutputters.h lib/base/Makefile.am lib/base/base.dsp lib/client/CClient.cpp lib/client/CClient.h lib/client/CServerProxy.cpp lib/mt/CThread.cpp lib/mt/CThread.h lib/mt/CTimerThread.cpp lib/mt/CTimerThread.h lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsPrimaryScreen.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h lib/platform/CSynergyHook.cpp lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h lib/server/CServer.cpp lib/server/CServer.h lib/synergy/CSecondaryScreen.cpp lib/synergy/CSecondaryScreen.h Added switch delay and double-tap options to win32 and added a tray icon to the client and server that gives status feedback to the user and allows the user to kill the app. ---------- 2003/02/23 19:29:08 crs lib/server/CConfig.cpp lib/server/CServer.cpp lib/server/CServer.h lib/synergy/OptionTypes.h lib/synergy/ProtocolTypes.h Added support for a user option to require hitting the edge of a screen twice within a specified amount of time in order to switch screens. This can help prevent unintended switching. ---------- 2003/02/22 21:53:25 crs lib/platform/CXWindowsPrimaryScreen.cpp lib/platform/CXWindowsPrimaryScreen.h lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h lib/server/CConfig.cpp lib/server/CPrimaryClient.cpp lib/server/CPrimaryClient.h lib/server/CServer.cpp lib/server/CServer.h lib/synergy/CPrimaryScreen.h lib/synergy/IPrimaryScreenReceiver.h lib/synergy/IScreenEventHandler.h lib/synergy/OptionTypes.h Added support on X11 for a global option to delay switching screens when the mouse reaches a jump zone. ---------- 2003/02/22 16:41:03 crs lib/server/CConfig.cpp lib/server/CConfig.h Added global options to CConfig (needed for heartbeat option). ---------- 2003/02/22 16:20:23 crs lib/client/CServerProxy.cpp lib/client/CServerProxy.h lib/server/CClientProxy.cpp lib/server/CClientProxy.h lib/server/CClientProxy1_0.cpp lib/server/CClientProxy1_0.h lib/server/CConfig.cpp lib/server/CConfig.h lib/server/CServer.cpp lib/synergy/OptionTypes.h lib/synergy/ProtocolTypes.h Added support for heartbeat global option. ---------- 2003/02/22 15:04:09 crs configure.in lib/common/Version.h Changed version to 1.0.5. ---------- 2003/02/22 15:03:31 crs lib/client/CServerProxy.cpp lib/client/CServerProxy.h lib/server/CConfig.cpp lib/server/CConfig.h lib/synergy/KeyTypes.h lib/synergy/OptionTypes.h Changes to support remapping modifier keys on clients. ---------- 2003/02/17 12:44:37 crs configure.in lib/common/Version.h Changed version to 1.0.3. ---------- 2003/02/16 19:55:54 crs lib/platform/CMSWindowsSecondaryScreen.cpp Changed win32 client side cursor warping to be all relative motion when not on the primary monitor. This should eliminate the flicker between virtual display 0,0 and the correct position. While this allows the user to confuse synergy by using the client's mouse, synergy recovers quickly and easily from any confusion. ---------- 2003/02/16 19:53:56 crs lib/platform/CMSWindowsPrimaryScreen.cpp Added hack to heuristically detect bogus mouse motion caused by a race condition where the synergy server updates the mouse position but the synergy hook later receives a mouse update from before the position change (i.e. out of order). ---------- 2003/02/16 19:51:46 crs lib/platform/CSynergyHook.cpp Commented out an unnecessary hook and added a compile time switch to disable grabbing of keyboard on win32 to facilitate debugging. ---------- 2003/02/16 19:50:36 crs lib/platform/CMSWindowsScreen.cpp Changed heap to stack allocation in an oft-called function for data that's never used outside the function. ---------- 2003/02/16 19:49:44 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp lib/arch/CArchMultithreadWindows.cpp lib/base/CUnicode.cpp Fixed memory leaks. ---------- 2003/02/12 20:59:25 crs lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.cpp Fixed incorrect mouse button swapping on client screens. ---------- 2003/02/12 20:59:08 crs lib/arch/CArchDaemonWindows.cpp Fixed error in debug build on win32. ---------- 2003/02/12 19:50:22 crs lib/arch/vsnprintf.cpp Added a simple implementation of vsnprintf for unix platforms without it using /dev/null, vfprintf(), and vsprintf(). ---------- 2003/02/12 19:38:39 crs lib/arch/CArchMiscWindows.h lib/arch/XArch.h lib/base/CLog.h lib/base/CString.h lib/base/ILogOutputter.h lib/mt/CCondVar.h lib/mt/CLock.h lib/mt/CThread.h lib/mt/CTimerThread.h Made sure every file includes common.h directly or indirectly. Also made sure common.h is included before any system headers. ---------- 2003/02/01 18:10:43 crs FAQ INSTALL README TODO Added info about using SSH for authentication and encryption. ---------- 2003/01/29 22:16:40 crs lib/platform/CXWindowsSecondaryScreen.cpp To support keymaps with only upper (or lower) case keysyms we now use Xlib to convert an unmatched keysym to upper and lower case and use whichever, if any, is not the same as the original keysym. This supports case conversion in any language that Xlib supports it in. ---------- 2003/01/29 19:32:25 crs lib/platform/CXWindowsSecondaryScreen.cpp Applied patch from grmcdorman at users dot sourceforge dot net to support keymaps that have only uppercase letters, which is the case by default on the Sun X server (for US keyboards anyway). ---------- 2003/01/25 13:39:26 crs NEWS configure.in lib/common/Version.h Changed version number to 1.0.2. ---------- 2003/01/25 13:34:51 crs cmd/launcher/launcher.cpp cmd/launcher/launcher.rc cmd/launcher/resource.h lib/server/CConfig.cpp lib/server/CConfig.h Added ability to set screen options from the windows launch dialog. ---------- 2003/01/25 13:34:17 crs lib/arch/CArchNetworkBSD.cpp lib/arch/CArchNetworkWinsock.cpp Added missing entry in a socket family table. This was a serious bug and should've failed on all platforms but just happened to work on linux and windows. ---------- 2003/01/22 08:37:32 crs NEWS configure.in lib/common/Version.h Changed version number to 1.0.1. ---------- 2003/01/22 08:36:43 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp lib/arch/CArchDaemonWindows.cpp lib/arch/CArchDaemonWindows.h lib/arch/CArchLogWindows.cpp lib/arch/CArchMiscWindows.cpp lib/arch/CArchMiscWindows.h lib/arch/CArchMultithreadWindows.cpp lib/arch/CArchMultithreadWindows.h Fixed running as a service on Windows NT family. ---------- 2003/01/18 14:36:19 crs lib/arch/CArchSleepWindows.cpp lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CSynergyHook.cpp Fixed stupid errors introduced by last attempt to fix broken mouse behavior on multimonitor windows systems. Those errors broke synergy on all windows systems running as a server. Also added an attempt to reduce the occasional jump that can occur when switching screens when windows is the server. ---------- 2003/01/18 14:31:54 crs lib/platform/CXWindowsSecondaryScreen.cpp Was forcing modifier keys that have no effect on the keysym lookup to be up when synthesizing key events. Now leaving those modifiers in their current state. ---------- 2003/01/18 10:49:13 crs Makefile.am Added a dist-pkg target to put the binary distribution files into a tar gzip file. This is to ease distribution of the binaries on systems without a packaging system supported by synergy (which currently supports only RPM). ---------- 2003/01/16 21:28:15 crs lib/server/CServer.cpp Fixed lookup of neighbor screens. The first problem was an old code in a conditional for moving left that blew an assert verifying that the mouse position was really on the screen if the neighbor screen wasn't connected. After that was fixed there was another problem when one screen linked to another which then linked (in the same direction) to itself. If the latter screen wasn't connected then it'd get into an infinite loop. ---------- 2003/01/14 19:46:41 crs lib/server/CServer.cpp Moved log message into conditionals so it only appears when the conditions are true. ---------- 2003/01/14 19:46:17 crs lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CSynergyHook.cpp Another try at fixing broken mouse behavior when a windows system has multiple monitors with 0,0 of the virtual desktop not at the upper-left. ---------- 2003/01/12 16:35:54 crs cmd/launcher/launcher.cpp cmd/launcher/launcher.rc cmd/launcher/resource.h Added test of using the client's own name as the server name with an appropriate error message. ---------- 2003/01/12 16:08:45 crs lib/server/CServer.cpp Now catching and ignoring errors when writing to a socket in those cases where errors were not being caught, typically when responding to some other socket or protocol error. ---------- 2003/01/11 21:06:21 crs acinclude.m4 configure.in lib/arch/CArchMultithreadPosix.cpp lib/arch/CArchNetworkBSD.cpp lib/arch/CArchNetworkBSD.h lib/arch/CArchSleepUnix.cpp lib/arch/CMultibyteEmu.cpp lib/common/Makefile.am Fixes to support FreeBSD and Darwin. ---------- 2003/01/11 15:16:41 crs lib/platform/CXWindowsScreenSaver.cpp lib/platform/CXWindowsScreenSaver.h Synergy no longer tries to suppress the screen saver once it starts. It was doing that already if started through synergy but not if started by something outside of synergy. In particular, if you use `xscreensaver-command --activate' synergy used to send fake mouse motion events every 5 seconds to deactivate it. That's unlikely to be what the user wanted, especially if the locking is enabled since it would force the password dialog to appear. As before, it's recommended that client screens not use locking because xscreensaver will not deactivate without getting a password even if we make the request through a programmatic interface. Presumably that's for security reasons but it makes life harder for synergy. ---------- 2003/01/11 14:01:44 crs lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.cpp Attempt to fix problems with multimon windows. The mouse position reported by the synergy hook dll is in a space with 0,0 in the upper-left which is not necessarily the same as the virtual desktop space. So the windows primary screen now accounts for that. On the secondary screen, mouse_event() doesn't seem to accept negative coordinates even on the windows NT family, making monitors with negative coordinates inaccessible via absolute moves. So if the move will be to negative coordinates, use the windows 95 family fallback of absolute moving to 0,0 then relative moving to the final position. ---------- 2003/01/08 22:17:44 crs FAQ INSTALL Added bit about configuring on Solaris, which requires some options to find the X11 includes and libraries. ---------- 2003/01/08 21:36:14 crs lib/arch/CArchMultithreadPosix.cpp lib/arch/CArchMultithreadPosix.h lib/arch/CArchNetworkBSD.cpp Portability fixes. Now builds on Linux 2.2 and 2.4 and solaris. Also builds on i386, alpha, G3/G4, and sparc. ---------- 2003/01/08 21:36:13 crs lib/client/CClient.cpp lib/platform/CXWindowsUtil.cpp Changed log level of two messages. Now won't spew about reading window properties and will report connection failure at DEBUG instead of DEBUG1. ---------- 2003/01/08 21:36:10 crs FAQ Added a FAQ entry for client being rejected. User probably didn't start the server or told the client the wrong server host name. ---------- 2003/01/07 21:47:27 crs ChangeLog configure.in lib/common/Version.h Changed version number to 0.9.15. Added 0.9.15 log entries. ---------- 2003/01/07 21:12:51 crs lib/platform/CMSWindowsPrimaryScreen.cpp Attempts to improve forcing synergy window to foreground. These changes don't seem to improve the situation but don't seem to hurt either. ---------- 2003/01/07 21:11:54 crs lib/platform/CSynergyHook.cpp Added low-level mouse hook to support mouse wheel on NT (>=SP3). Thanks to karsten for the patch used as a starting point. ---------- 2003/01/05 21:52:28 crs lib/base/LogOutputters.cpp lib/base/LogOutputters.h Added missing files. ---------- 2003/01/05 21:48:54 crs PORTING cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp doc/doxygen.cfg.in lib/arch/CArch.cpp lib/arch/CArch.h lib/arch/CArchConsoleUnix.h lib/arch/CArchConsoleWindows.h lib/arch/CArchDaemonNone.h lib/arch/CArchDaemonUnix.h lib/arch/CArchDaemonWindows.h lib/arch/CArchFileUnix.h lib/arch/CArchFileWindows.h lib/arch/CArchLogUnix.h lib/arch/CArchLogWindows.h lib/arch/CArchMiscWindows.h lib/arch/CArchMultithreadPosix.h lib/arch/CArchMultithreadWindows.cpp lib/arch/CArchMultithreadWindows.h lib/arch/CArchNetworkBSD.h lib/arch/CArchNetworkWinsock.cpp lib/arch/CArchNetworkWinsock.h lib/arch/CArchSleepUnix.h lib/arch/CArchSleepWindows.h lib/arch/CArchStringUnix.cpp lib/arch/CArchStringUnix.h lib/arch/CArchStringWindows.cpp lib/arch/CArchStringWindows.h lib/arch/CArchTimeUnix.h lib/arch/CArchTimeWindows.h lib/arch/IArchConsole.h lib/arch/IArchFile.h lib/arch/IArchLog.h lib/arch/IArchMultithread.h lib/arch/IArchNetwork.h lib/arch/IArchSleep.h lib/arch/IArchString.h lib/arch/IArchTime.h lib/arch/Makefile.am lib/arch/XArchImpl.h lib/arch/arch.dsp lib/base/CLog.cpp lib/base/CUnicode.cpp lib/base/XBase.cpp lib/base/XBase.h lib/client/CMSWindowsSecondaryScreen.cpp lib/client/CMSWindowsSecondaryScreen.h lib/client/CSecondaryScreen.cpp lib/client/CSecondaryScreen.h lib/client/CXWindowsSecondaryScreen.cpp lib/client/CXWindowsSecondaryScreen.h lib/client/ISecondaryScreenFactory.h lib/client/Makefile.am lib/client/client.dsp lib/http/XHTTP.h lib/platform/CMSWindowsPrimaryScreen.cpp lib/platform/CMSWindowsPrimaryScreen.h lib/platform/CMSWindowsScreen.h lib/platform/CMSWindowsSecondaryScreen.cpp lib/platform/CMSWindowsSecondaryScreen.h lib/platform/CXWindowsPrimaryScreen.cpp lib/platform/CXWindowsPrimaryScreen.h lib/platform/CXWindowsScreen.h lib/platform/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsSecondaryScreen.h lib/platform/Makefile.am lib/platform/platform.dsp lib/server/CMSWindowsPrimaryScreen.cpp lib/server/CMSWindowsPrimaryScreen.h lib/server/CPrimaryScreen.cpp lib/server/CPrimaryScreen.h lib/server/CXWindowsPrimaryScreen.cpp lib/server/CXWindowsPrimaryScreen.h lib/server/IPrimaryScreenFactory.h lib/server/Makefile.am lib/server/server.dsp lib/synergy/CPrimaryScreen.cpp lib/synergy/CPrimaryScreen.h lib/synergy/CSecondaryScreen.cpp lib/synergy/CSecondaryScreen.h lib/synergy/IPrimaryScreenFactory.h lib/synergy/ISecondaryScreenFactory.h lib/synergy/Makefile.am lib/synergy/libsynergy.dsp Moved CPrimaryScreen and CSecondaryScreen to the lib/synergy and the platform specific implementations to lib/platform. Added an lib/arch method to query the platform's native wide character encoding and changed CUnicode to use it. All platform dependent code is now in lib/arch, lib/platform, and the programs under cmd. Also added more documentation. ---------- 2003/01/04 22:01:32 crs PORTING cmd/launcher/CAutoStart.cpp cmd/launcher/CAutoStart.h cmd/launcher/LaunchUtil.cpp cmd/launcher/launcher.cpp cmd/launcher/launcher.dsp cmd/launcher/launcher.rc cmd/synergyc/Makefile.am cmd/synergyc/synergyc.cpp cmd/synergyc/synergyc.dsp cmd/synergys/Makefile.am cmd/synergys/synergys.cpp cmd/synergys/synergys.dsp configure.in lib/Makefile.am lib/arch/CArch.cpp lib/arch/CArch.h lib/arch/CArchConsoleUnix.cpp lib/arch/CArchConsoleUnix.h lib/arch/CArchConsoleWindows.cpp lib/arch/CArchConsoleWindows.h lib/arch/CArchDaemonNone.cpp lib/arch/CArchDaemonNone.h lib/arch/CArchDaemonUnix.cpp lib/arch/CArchDaemonUnix.h lib/arch/CArchDaemonWindows.cpp lib/arch/CArchDaemonWindows.h lib/arch/CArchFileUnix.cpp lib/arch/CArchFileUnix.h lib/arch/CArchFileWindows.cpp lib/arch/CArchFileWindows.h lib/arch/CArchImpl.cpp lib/arch/CArchLogUnix.cpp lib/arch/CArchLogUnix.h lib/arch/CArchLogWindows.cpp lib/arch/CArchLogWindows.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/CArchSleepUnix.cpp lib/arch/CArchSleepUnix.h lib/arch/CArchSleepWindows.cpp lib/arch/CArchSleepWindows.h lib/arch/CArchStringUnix.cpp lib/arch/CArchStringUnix.h lib/arch/CArchStringWindows.cpp lib/arch/CArchStringWindows.h lib/arch/CArchTimeUnix.cpp lib/arch/CArchTimeUnix.h lib/arch/CArchTimeWindows.cpp lib/arch/CArchTimeWindows.h lib/arch/CMultibyte.cpp lib/arch/CMultibyteEmu.cpp lib/arch/CMultibyteOS.cpp lib/arch/IArchConsole.h lib/arch/IArchDaemon.h lib/arch/IArchFile.h lib/arch/IArchLog.h lib/arch/IArchMultithread.h lib/arch/IArchNetwork.h lib/arch/IArchSleep.h lib/arch/IArchString.h lib/arch/IArchTime.h lib/arch/Makefile.am lib/arch/XArch.cpp lib/arch/XArch.h lib/arch/XArchImpl.h lib/arch/XArchUnix.cpp lib/arch/XArchUnix.h lib/arch/XArchWindows.cpp lib/arch/XArchWindows.h lib/arch/arch.dsp lib/arch/vsnprintf.cpp lib/base/BasicTypes.h lib/base/CLog.cpp lib/base/CLog.h lib/base/CStopwatch.cpp lib/base/CString.cpp lib/base/CString.h lib/base/CStringUtil.cpp lib/base/CStringUtil.h lib/base/CUnicode.cpp lib/base/CUnicode.h lib/base/IInterface.h lib/base/ILogOutputter.h lib/base/Makefile.am lib/base/Version.h lib/base/XBase.cpp lib/base/XBase.h lib/base/base.dsp lib/base/common.h lib/base/stdfstream.h lib/base/stdistream.h lib/base/stdlist.h lib/base/stdmap.h lib/base/stdostream.h lib/base/stdpost.h lib/base/stdpre.h lib/base/stdset.h lib/base/stdsstream.h lib/base/stdvector.h lib/client/CClient.cpp lib/client/CMSWindowsSecondaryScreen.cpp lib/client/Makefile.am lib/client/client.dsp lib/common/BasicTypes.h lib/common/IInterface.h lib/common/Makefile.am lib/common/Version.h lib/common/common.dsp lib/common/common.h lib/common/stdfstream.h lib/common/stdistream.h lib/common/stdlist.h lib/common/stdmap.h lib/common/stdostream.h lib/common/stdpost.h lib/common/stdpre.h lib/common/stdset.h lib/common/stdsstream.h lib/common/stdstring.h lib/common/stdvector.h lib/http/CHTTPProtocol.h lib/http/Makefile.am lib/http/XHTTP.cpp lib/http/http.dsp lib/io/CUnicode.cpp lib/io/CUnicode.h lib/io/Makefile.am lib/io/XIO.cpp lib/io/XIO.h lib/io/io.dsp lib/mt/CCondVar.cpp lib/mt/CCondVar.h lib/mt/CMutex.cpp lib/mt/CMutex.h lib/mt/CThread.cpp lib/mt/CThread.h lib/mt/CThreadRep.cpp lib/mt/CThreadRep.h lib/mt/CTimerThread.cpp lib/mt/Makefile.am lib/mt/XMT.cpp lib/mt/XMT.h lib/mt/XThread.h lib/mt/mt.dsp lib/net/CNetwork.cpp lib/net/CNetwork.h lib/net/CNetworkAddress.cpp lib/net/CNetworkAddress.h lib/net/CTCPListenSocket.cpp lib/net/CTCPListenSocket.h lib/net/CTCPSocket.cpp lib/net/CTCPSocket.h lib/net/Makefile.am lib/net/XNetwork.cpp lib/net/XNetwork.h lib/net/XSocket.cpp lib/net/XSocket.h lib/net/net.dsp lib/platform/CMSWindowsScreen.cpp lib/platform/CPlatform.cpp lib/platform/CPlatform.h lib/platform/CUnixPlatform.cpp lib/platform/CUnixPlatform.h lib/platform/CWin32Platform.cpp lib/platform/CWin32Platform.h lib/platform/CXWindowsClipboard.cpp lib/platform/IPlatform.h lib/platform/Makefile.am lib/platform/platform.dsp lib/platform/synrgyhk.dsp lib/server/CConfig.h lib/server/CMSWindowsPrimaryScreen.cpp lib/server/CServer.cpp lib/server/CXWindowsPrimaryScreen.cpp lib/server/Makefile.am lib/server/server.dsp lib/synergy/Makefile.am lib/synergy/XScreen.cpp lib/synergy/XScreen.h lib/synergy/XSynergy.cpp lib/synergy/XSynergy.h lib/synergy/libsynergy.dsp synergy.dsw Refactored some platform dependent code into a new library, lib/arch. This should make porting easier. Will probably continue to refactor a little more, moving platform dependent event handling stuff into lib/platform. ---------- 2002/12/26 18:40:22 crs FAQ More FAQs. ---------- 2002/12/25 23:49:42 crs BUGS FAQ INSTALL README TODO Documentation update. ---------- 2002/12/25 22:56:09 crs lib/server/CMSWindowsPrimaryScreen.cpp Made synrgyhk.dll error messages less cryptic. ---------- 2002/12/25 19:21:17 crs NEWS configure.in lib/base/Version.h Changed version number to 0.9.14. Added NEWS item. ---------- 2002/12/25 18:44:54 crs lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreenSaver.cpp Improved handling of screen saver handling when windows 2k is the client and the screen saver is password protected. It used to immediately turn off the screen saver (unintentionally) in that case. ---------- 2002/12/25 10:35:59 crs acinclude.m4 config/config.guess config/config.sub configure.in lib/base/common.h lib/mt/CThreadRep.cpp lib/net/CNetwork.cpp lib/net/CNetwork.h lib/platform/CUnixPlatform.cpp Changes to support building on solaris, irix, and darwin. Also removed test for working fork (AC_FORK). ---------- 2002/12/23 14:47:44 crs lib/client/CServerProxy.cpp lib/client/CServerProxy.h Added code to process set/reset options messages from server. ---------- 2002/12/23 13:55:21 crs lib/client/CClient.cpp lib/client/CClient.h lib/client/CMSWindowsSecondaryScreen.cpp lib/client/CMSWindowsSecondaryScreen.h lib/client/CSecondaryScreen.cpp lib/client/CSecondaryScreen.h lib/client/CXWindowsSecondaryScreen.cpp lib/client/CXWindowsSecondaryScreen.h lib/server/CClientProxy.h lib/server/CClientProxy1_0.cpp lib/server/CClientProxy1_0.h lib/server/CConfig.cpp lib/server/CConfig.h lib/server/CMSWindowsPrimaryScreen.cpp lib/server/CMSWindowsPrimaryScreen.h lib/server/CPrimaryClient.cpp lib/server/CPrimaryClient.h lib/server/CPrimaryScreen.cpp lib/server/CPrimaryScreen.h lib/server/CServer.cpp lib/server/CServer.h lib/server/CXWindowsPrimaryScreen.cpp lib/server/CXWindowsPrimaryScreen.h lib/synergy/CProtocolUtil.cpp lib/synergy/CProtocolUtil.h lib/synergy/IClient.h lib/synergy/Makefile.am lib/synergy/OptionTypes.h lib/synergy/ProtocolTypes.h Added support for per-screen options in the configuration file and sending those options to the appropriate client screens. Currently, two options are supported: halfDuplexCapsLock and halfDuplexNumLock mark the caps lock and num lock keys, respectively, as being half-duplex. ---------- 2002/12/22 14:51:41 crs configure.in doc/doxygen.cfg.in Doxygen config file now sets HAVE_DOT to YES only if dot is found by configure. ---------- 2002/12/15 22:39:59 crs lib/client/CXWindowsSecondaryScreen.cpp lib/client/CXWindowsSecondaryScreen.h Now handling any number of pointer buttons. ---------- 2002/12/15 22:17:18 crs lib/server/CXWindowsPrimaryScreen.cpp Now ignoring half-duplex keys that are down when deciding if the mouse is locked to the screen. We can't tell if a half- duplex key is physically down and logically down just means it's active so there's no point in letting it lock the mouse to the screen. ---------- 2002/12/15 22:14:49 crs lib/client/CMSWindowsSecondaryScreen.cpp lib/client/CMSWindowsSecondaryScreen.h lib/client/CSecondaryScreen.cpp lib/client/CSecondaryScreen.h lib/client/CXWindowsSecondaryScreen.cpp lib/client/CXWindowsSecondaryScreen.h Now restoring toggle key states on leaving a client screen to their state when the screen was entered. Previously when leaving a client screen the toggle keys kept their state so, say, caps lock, would remain on. This was inconvenient if you then used the client's keyboard directly. ---------- 2002/12/15 20:00:52 crs lib/server/CMSWindowsPrimaryScreen.cpp Fixed loss of ctrl+alt when transmitted to non-windows platforms from a windows server. Was converting ctrl+alt on windows to mode switch on the server. No longer doing that; windows clients will interpret ctrl+alt as AltGr and other clients will just see ctrl+alt. Also made the right alt key mode switch on windows servers in case the user wants to force a mode switch, but that means the right alt key no longer acts as alt on clients. ---------- 2002/12/15 19:58:41 crs lib/platform/CMSWindowsScreen.cpp Fixed client not reconnecting when server dies bug. ---------- 2002/12/15 19:57:28 crs lib/client/CXWindowsSecondaryScreen.cpp Cleanup and changed some DEBUG1 messages to DEBUG2. ---------- 2002/12/15 11:12:39 crs doc/doxygen.cfg.in Enabled using dot and class diagrams. ---------- 2002/11/05 19:23:05 crs lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreenSaver.cpp lib/platform/CXWindowsScreenSaver.h Fixed bug in detecting screen saver activation. Was using || instead of && in conditional. ---------- 2002/11/03 18:09:28 crs acinclude.m4 configure.in lib/io/CUnicode.h lib/net/CNetwork.h lib/platform/CUnixPlatform.cpp Merged fixes for building on MacOS X. It dies on one file with an internal compiler error; building that file without optimization works around the compiler bug. Sadly, synergy can only interact with X windows, not native MacOS windows. ---------- 2002/10/30 22:22:16 crs acinclude.m4 Escaped quotes to satisfy older autoheader versions. ---------- 2002/10/30 22:16:30 crs lib/net/CNetwork.h lib/net/CTCPSocket.cpp Fixed bugs in error handling in CTCPSocket; previously was not handling read errors at all and error handling for writes was never being used. Now the socket disconnects if a read or write fails on the socket for any reason except EINTR. Also added to includes in CNetwork.h because it's needed on some platforms. ---------- 2002/10/29 22:07:55 crs all.dsp lib/base/base.dsp lib/client/client.dsp lib/http/http.dsp lib/io/CUnicode.cpp lib/io/io.dsp lib/mt/mt.dsp lib/net/CNetwork.cpp lib/net/CNetwork.h lib/net/net.dsp lib/platform/makehook.dsp lib/platform/platform.dsp lib/platform/synrgyhk.dsp lib/server/server.dsp lib/synergy/libsynergy.dsp Ported recent changes to win32 and fixed CRLF problems with project files (most had CRCRCRLF). ---------- 2002/10/28 22:49:21 crs acinclude.m4 configure.in lib/mt/CThreadRep.cpp solaris configure and build fixes. without having solaris i can only hope that these changes actually work. ---------- 2002/10/22 22:35:13 crs configure.in lib/io/CUnicode.cpp Added workarounds for missing reentrant versions of wide char to/from multi-byte conversion functions. ---------- 2002/10/22 21:30:48 crs lib/base/CUnicode.cpp lib/base/CUnicode.h lib/base/Makefile.am lib/io/CUnicode.cpp lib/io/CUnicode.h lib/io/Makefile.am lib/platform/Makefile.am Moved CUnicode to lib/io. That's a reasonable place for it that's after lib/mt. It needs to be after lib/mt in preparation for supporting platforms without the reentrant wide char and multi-byte functions. ---------- 2002/10/20 22:39:54 crs lib/client/CMSWindowsSecondaryScreen.cpp Fixed conditional to test for multimon to do nasty win32 mouse positioning hack. Was doing hack if *not* a multiple monitor system but should've been doing it if is *is* a multimon system. ---------- 2002/10/20 22:36:24 crs lib/net/CNetwork.cpp lib/net/CNetwork.h lib/net/CNetworkAddress.cpp Replaced inet_addr() with inet_aton(), which is a better function anyway but isn't implemented in winsock, removed use of INADDR_NONE which some platforms don't define except on winsock which does define it, and changed SOL_TCP to IPPROTO_TCP which should work on more platforms. ---------- 2002/10/17 21:37:41 crs lib/platform/CXWindowsScreen.cpp Fixed CXWindowsScreen to force the event loop to wake up when exitMainLoop() is called. ---------- 2002/10/17 21:37:37 crs lib/mt/CThreadRep.cpp Fixed CThreadRep to not raise a signal on the thread if it's already dead. Otherwise the signal could propagate to the parent thread (at least on linux threads) and cause havoc. ---------- 2002/10/17 21:37:31 crs lib/server/CServer.cpp lib/server/CServer.h Changed server to fail with an error if in can't bind() the listen socket for any reason other than it's in use. ---------- 2002/10/17 20:56:28 crs lib/net/CNetwork.cpp lib/net/CNetwork.h lib/net/CNetworkAddress.cpp Changed non-reentrant network functions to be reentrant and thread safe. ---------- 2002/10/16 22:01:50 crs acinclude.m4 configure.in lib/net/CNetwork.cpp lib/net/CNetwork.h lib/net/CTCPSocket.cpp lib/platform/CXWindowsScreen.cpp Added support for using select() instead of poll(). ---------- 2002/10/15 22:17:41 crs lib/server/CConfig.cpp CConfig now accepts and discards \r at the end of a line. This allows the unix server to read configuration files created on microsoft windows platforms. ---------- 2002/10/15 22:08:10 crs cmd/synergys/synergys.cpp lib/server/CConfig.cpp Fixed use of %s instead of %{1} in format() call. ---------- 2002/10/15 22:01:41 crs lib/client/CClient.cpp lib/mt/CThreadRep.cpp lib/mt/Makefile.am lib/mt/XMT.cpp lib/mt/XMT.h lib/mt/XThread.h lib/server/CServer.cpp Renamed XThreadUnavailable to XMTThreadUnavailable and derived it from XBase so it can be caught normally. Changed client and server to handle unavailable threads (in main loop, anyway). ---------- 2002/10/15 21:35:12 crs lib/mt/CThreadRep.cpp Workaround for pthread bug on RedHat 7.2 on multiprocessor systems. ---------- 2002/10/15 21:29:44 crs cmd/synergyc/synergyc.cpp cmd/synergys/synergys.cpp lib/base/CLog.h lib/client/CClient.cpp lib/client/CMSWindowsSecondaryScreen.cpp lib/client/CSecondaryScreen.cpp lib/client/CServerProxy.cpp lib/client/CXWindowsSecondaryScreen.cpp lib/http/CHTTPProtocol.cpp lib/mt/CMutex.cpp lib/mt/CThread.cpp lib/mt/CThreadRep.cpp lib/mt/CTimerThread.cpp lib/net/CNetwork.cpp lib/platform/CMSWindowsClipboard.cpp lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreenSaver.cpp lib/platform/CWin32Platform.cpp lib/platform/CXWindowsClipboard.cpp lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreenSaver.cpp lib/platform/CXWindowsUtil.cpp lib/server/CClientProxy1_0.cpp lib/server/CHTTPServer.cpp lib/server/CMSWindowsPrimaryScreen.cpp lib/server/CPrimaryClient.cpp lib/server/CPrimaryScreen.cpp lib/server/CServer.cpp lib/server/CXWindowsPrimaryScreen.cpp lib/synergy/CProtocolUtil.cpp Changed log() and logc() macros to LOG() and LOGC(), respectively. This avoids a conflict with the standard math library log() function. ---------- 2002/09/14 21:31:35 crs lib/base/XBase.cpp lib/base/XBase.h removed std::exception from base class list of XBase. this is a workaround for gcc 3.2 until everything necessary has throw() specifiers. ---------- 2002/09/14 20:56:50 crs lib/server/CServer.cpp now logging bind failures as warnings. ---------- 2002/09/14 20:56:28 crs lib/base/XBase.cpp lib/base/XBase.h lib/io/XIO.cpp lib/io/XIO.h lib/net/CTCPListenSocket.cpp lib/net/CTCPSocket.cpp lib/net/XSocket.cpp lib/net/XSocket.h added better network error message support. ---------- 2002/09/14 12:07:02 crs lib/client/CMSWindowsSecondaryScreen.cpp lib/client/CXWindowsSecondaryScreen.cpp lib/client/CXWindowsSecondaryScreen.h lib/server/CMSWindowsPrimaryScreen.cpp lib/server/CXWindowsPrimaryScreen.cpp lib/server/CXWindowsPrimaryScreen.h lib/synergy/KeyTypes.h Rewrote handling of key press on X11 client; it should be much more robust now. Also added handling of Super modifier key and changed windows keys to map to Super instead of Meta, which is the default on my keyboard. ---------- 2002/09/14 12:05:06 crs cmd/launcher/launcher.cpp cmd/launcher/launcher.rc cmd/launcher/resource.h Added debug level combo box and version number to title bar of win32 launcher. ---------- 2002/09/14 12:03:43 crs cmd/synergyc/resource.h cmd/synergyc/synergyc.cpp cmd/synergyc/synergyc.rc cmd/synergys/resource.h cmd/synergys/synergys.cpp cmd/synergys/synergys.rc Fixed backend mode. Now reports log messages and, if any are serious, shows a message box before exiting. ---------- 2002/09/04 21:17:01 crs NEWS configure.in lib/base/Version.h Changed version number to 0.9.11. Added NEWS item. ---------- 2002/09/04 21:14:18 crs lib/client/CMSWindowsSecondaryScreen.cpp now looking up SendEvent() using GetProcAddress() so win95 systems can run the synergy client. ---------- 2002/09/04 20:17:54 crs lib/client/CXWindowsSecondaryScreen.cpp fixed bug that caused the wrong keycode to be used for most, possibly all, keysyms. was reading past the end of an array of keysyms. ---------- 2002/09/02 17:36:25 crs configure.in lib/base/Version.h Changed version number to 0.9.10. ---------- 2002/09/02 17:30:04 crs BUGS INSTALL cmd/launcher/CAutoStart.cpp cmd/launcher/CAutoStart.h cmd/launcher/LaunchUtil.cpp cmd/launcher/LaunchUtil.h cmd/launcher/launcher.cpp cmd/launcher/launcher.dsp cmd/launcher/launcher.rc cmd/launcher/resource.h cmd/synergyc/resource.h cmd/synergyc/synergyc.cpp cmd/synergyc/synergyc.rc cmd/synergys/resource.h cmd/synergys/synergys.cpp lib/client/CClient.cpp lib/client/CMSWindowsSecondaryScreen.cpp lib/platform/CUnixPlatform.cpp lib/platform/CUnixPlatform.h lib/platform/CWin32Platform.cpp lib/platform/CWin32Platform.h lib/platform/IPlatform.h lib/server/CMSWindowsPrimaryScreen.cpp Fixed win32 config saving, keyboard mapping, and AltGr bugs. Made extensive changes to the launcher to provide more control over setting up auto-start and it now saves configuration to the user's documents directory if auto-starting at login and saves to the system directory if auto-starting at boot. Replaced MapVirtualKey() with table lookup to work around that function's lack of support for extended keyboard scan codes. Added first cut at support for AltGr. ---------- 2002/09/01 15:30:00 crs client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/KeyTypes.h Added support for mode switch key to X11 screens. ---------- 2002/09/01 10:31:10 crs acinclude.m4 configure.in lib/base/stdsstream.h added more tests to autoconf. also now handling missing sstream header in gcc 2.95 by including sstream header backported from v3. ---------- 2002/09/01 09:28:54 crs lib/platform/CXWindowsUtil.cpp lowered severity of some debug messages. ---------- 2002/08/18 17:45:59 crs configure.in lib/base/Version.h Changed version number to 0.9.9. ---------- 2002/08/18 17:40:10 crs lib/server/CMSWindowsPrimaryScreen.cpp fixed win32 deadlock. when a client disconnects the server will warp the mouse to the primary screen. entering the primary screen causes the primary screen's window to be hidden. the deadlock occurs because hiding the window seems to post a message then wait for it to be handled (or possibly it won't send a message while a posted message is being handled). thread A locks the mutex, warps the mouse, the hides the window. thread B begins processing the mouse warp then tries to lock the mutex. thread A is waiting on the event loop owned by B while B is waiting on the mutex owned by A. this fix simply hides the window asynchronously. however, there may be other ways to cause a similar deadlock that have not been found. ---------- 2002/08/18 17:35:10 crs lib/client/CMSWindowsSecondaryScreen.cpp lib/client/CMSWindowsSecondaryScreen.h lib/server/CMSWindowsPrimaryScreen.cpp fixed PrintScrn handling; it was being changed to keypad multiply. ---------- 2002/08/18 17:31:48 crs lib/client/CXWindowsSecondaryScreen.cpp lib/client/CXWindowsSecondaryScreen.h no longer sending fake events for unmapped logical buttons. ---------- 2002/08/11 22:43:07 crs BUGS INSTALL NEWS PORTING README cmd/Makefile.am cmd/launcher/launcher.cpp cmd/synergy/Makefile.am cmd/synergy/resource.h cmd/synergy/synergy.cpp cmd/synergy/synergy.dsp cmd/synergy/synergy.ico cmd/synergy/synergy.rc cmd/synergyc/Makefile.am cmd/synergyc/resource.h cmd/synergyc/synergyc.cpp cmd/synergyc/synergyc.dsp cmd/synergyc/synergyc.ico cmd/synergyc/synergyc.rc cmd/synergyd/Makefile.am cmd/synergyd/resource.h cmd/synergyd/synergy.ico cmd/synergyd/synergyd.cpp cmd/synergyd/synergyd.dsp cmd/synergyd/synergyd.rc cmd/synergys/Makefile.am cmd/synergys/resource.h cmd/synergys/synergys.cpp cmd/synergys/synergys.dsp cmd/synergys/synergys.ico cmd/synergys/synergys.rc configure.in dist/rpm/synergy.spec.in synergy.dsw Moved synergy client to cmd/synergyc and renamed it synergyc. Moved synergy server to cmd/synergys and renamed it synergys. Updated documentation to reflect that and the win32 launcher. ---------- 2002/08/11 11:50:49 crs Makefile.am TODO added TODO file and top-level rule to make zip file of distribution files. ---------- 2002/08/03 11:50:07 crs lib/mt/CCondVar.h removed pre-instantiation of templates in header file. ---------- 2002/08/03 11:49:36 crs all.dsp cmd/Makefile.am cmd/launcher/Makefile.am cmd/launcher/launcher.cpp cmd/launcher/launcher.dsp cmd/launcher/launcher.rc cmd/launcher/resource.h cmd/launcher/synergy.ico cmd/synergy/Makefile.am cmd/synergy/resource.h cmd/synergy/synergy.cpp cmd/synergy/synergy.dsp cmd/synergy/synergy.ico cmd/synergy/synergy.rc cmd/synergyd/Makefile.am cmd/synergyd/resource.h cmd/synergyd/synergy.ico cmd/synergyd/synergyd.cpp cmd/synergyd/synergyd.dsp cmd/synergyd/synergyd.rc configure.in lib/base/CString.cpp lib/base/Version.h lib/base/base.dsp lib/client/client.dsp lib/http/http.dsp lib/io/io.dsp lib/mt/mt.dsp lib/net/net.dsp lib/platform/CMSWindowsScreen.cpp lib/platform/makehook.dsp lib/platform/platform.dsp lib/platform/synrgyhk.dsp lib/server/CConfig.cpp lib/server/CConfig.h lib/server/server.dsp lib/synergy/libsynergy.dsp synergy.dsw added win32 launcher program. also changed VC++ dsp and dsw files to binary form so \r\n aren't converted. added icons to client and server apps on win32. ---------- 2002/08/02 17:57:54 crs Makefile.am configure.in dist/Makefile.am dist/rpm/Makefile.am dist/rpm/synergy.spec.in added build rule to create RPMs. ---------- 2002/08/02 17:53:23 crs AUTHORS BUGS FAQ HISTORY INSTALL NEWS PORTING README minor documentation updates. added HISTORY and PORTING. ---------- 2002/08/01 18:07:32 crs AUTHORS BUGS COPYING ChangeLog FAQ INSTALL NEWS README added files for release. ---------- 2002/08/01 11:45:21 crs configure.in lib/base/CStopwatch.cpp lib/mt/CCondVar.cpp lib/platform/CUnixPlatform.cpp minor automake fixes. ---------- 2002/07/31 17:40:36 crs Makefile.am added simple rule to build doxygen. ---------- 2002/07/31 17:40:21 crs lib/synergy/XSynergy.h fixed comment. ---------- 2002/07/31 17:35:43 crs Makefile.am removed two programs from files to clean. ---------- 2002/07/31 17:34:05 crs Makefile.am cmd/Makefile.am cmd/synergy/Makefile.am cmd/synergyd/Makefile.am lib/Makefile.am lib/base/Makefile.am lib/client/Makefile.am lib/http/Makefile.am lib/io/Makefile.am lib/mt/Makefile.am lib/net/Makefile.am lib/platform/Makefile.am lib/server/Makefile.am lib/synergy/Makefile.am fixes to get vpath builds working (necessary for `make distcheck'). ---------- 2002/07/31 16:57:26 crs Makefile.am cmd/Makefile.am cmd/synergy/Makefile.am cmd/synergy/synergy.cpp cmd/synergyd/Makefile.am cmd/synergyd/synergyd.cpp configure.in lib/Makefile.am lib/base/Makefile.am lib/base/Version.h lib/client/Makefile.am lib/http/Makefile.am lib/io/Makefile.am lib/mt/Makefile.am lib/net/Makefile.am lib/platform/Makefile.am lib/server/Makefile.am lib/synergy/Makefile.am lib/synergy/ProtocolTypes.h lib/synergy/Version.h Moved version header to base and it now uses VERSION macro from config.h if available (which means version is now a string, not three integers). Changed version to 1.0.0 and protocol version to 1.0. And added MAINTAINERCLEANFILES to makefiles to remove generated files. ---------- 2002/07/31 16:27:06 crs Makefile.am cmd/synergy/Makefile.am cmd/synergyd/Makefile.am examples/synergy.linux.init examples/synergyd.linux.init lib/base/Makefile.am lib/client/Makefile.am lib/http/Makefile.am lib/io/Makefile.am lib/mt/Makefile.am lib/net/Makefile.am lib/platform/Makefile.am lib/server/Makefile.am lib/synergy/Makefile.am nodist/notes notes added EXTRA_* files to get `make dist' doing the right thing. ---------- 2002/07/31 16:24:45 crs notes checkpoint notes. ---------- 2002/07/31 13:56:59 crs lib/base/CLog.cpp removed now unnecssary #define. ---------- 2002/07/31 13:41:58 crs lib/http/http.dsp lib/platform/CMSWindowsClipboardAnyTextConverter.cpp lib/platform/CMSWindowsClipboardAnyTextConverter.h lib/platform/CMSWindowsClipboardTextConverter.cpp lib/platform/CMSWindowsClipboardTextConverter.h lib/platform/CMSWindowsClipboardUTF16Converter.cpp lib/platform/CMSWindowsClipboardUTF16Converter.h lib/platform/CMSWindowsScreenSaver.cpp lib/platform/CMSWindowsScreenSaver.h lib/platform/IMSWindowsScreenEventHandler.h okay, now the files should no longer be executable. ---------- 2002/07/31 13:34:18 crs lib/http/http.dsp lib/platform/CMSWindowsClipboardAnyTextConverter.cpp lib/platform/CMSWindowsClipboardAnyTextConverter.h lib/platform/CMSWindowsClipboardTextConverter.cpp lib/platform/CMSWindowsClipboardTextConverter.h lib/platform/CMSWindowsClipboardUTF16Converter.cpp lib/platform/CMSWindowsClipboardUTF16Converter.h lib/platform/CMSWindowsScreenSaver.cpp lib/platform/CMSWindowsScreenSaver.h lib/platform/IMSWindowsScreenEventHandler.h notes removed unintentional executable flag. ---------- 2002/07/31 13:29:33 crs notes checkpoint notes. ---------- 2002/07/31 13:18:27 crs README added comment about large motif clipboard items to README. ---------- 2002/07/31 13:10:15 crs README updated README. ---------- 2002/07/31 12:40:41 crs lib/platform/CSynergyHook.cpp lib/platform/synrgyhk.dsp now building hook dll for release without linking in standard C runtime. need C runtime for debug build for asserts. ---------- 2002/07/31 12:39:34 crs cmd/synergy/synergy.cpp cmd/synergyd/synergyd.cpp lib/client/CClient.cpp lib/client/CClient.h lib/client/CXWindowsSecondaryScreen.cpp lib/platform/CXWindowsScreen.cpp lib/server/CClientProxy.h lib/server/CClientProxy1_0.cpp lib/server/CClientProxy1_0.h lib/server/CMSWindowsPrimaryScreen.cpp lib/server/CPrimaryClient.cpp lib/server/CPrimaryClient.h lib/server/CServer.cpp lib/server/CServer.h lib/synergy/IClient.h lib/synergy/IScreen.h lib/synergy/XScreen.cpp lib/synergy/XScreen.h fixed problem with opening client and server. in some cases it would fail to open in such a way that it could never succeed but it'd never stop retrying. now terminating when open fails such that it'll never succeed. ---------- 2002/07/30 19:03:40 crs lib/client/client.dsp lib/io/io.dsp lib/net/net.dsp lib/server/server.dsp lib/synergy/libsynergy.dsp added new files to projects and added two project files that should've been adding in change 530. ---------- 2002/07/30 18:49:31 crs lib/client/CServerProxy.cpp lib/server/CClientProxy1_0.cpp lib/synergy/ProtocolTypes.h made it so a negative kHeartRate disables heartbeats and set kHeartRate to -1. ---------- 2002/07/30 18:31:21 crs lib/mt/CThreadRep.cpp lib/mt/XThread.h moved exception definition to header file. ---------- 2002/07/30 18:31:00 crs cmd/synergy/synergy.cpp cmd/synergyd/synergyd.cpp lib/client/CClient.cpp lib/client/CClient.h lib/client/ISecondaryScreenFactory.h lib/client/Makefile.am lib/io/IStreamFilterFactory.h lib/io/Makefile.am lib/net/CTCPSocketFactory.cpp lib/net/CTCPSocketFactory.h lib/net/ISocketFactory.h lib/net/Makefile.am lib/server/CPrimaryClient.cpp lib/server/CPrimaryClient.h lib/server/CServer.cpp lib/server/CServer.h lib/server/IPrimaryScreenFactory.h lib/server/Makefile.am lib/synergy/CTCPSocketFactory.cpp lib/synergy/CTCPSocketFactory.h lib/synergy/ISocketFactory.h lib/synergy/Makefile.am lib/synergy/ProtocolTypes.h now using class factories to move some decisions from the libraries into the application. ---------- 2002/07/30 16:52:46 crs Makefile.am base/BasicTypes.h base/CFunctionJob.cpp base/CFunctionJob.h base/CLog.cpp base/CLog.h base/CStopwatch.cpp base/CStopwatch.h base/CString.cpp base/CString.h base/CUnicode.cpp base/CUnicode.h base/IInterface.h base/IJob.h base/Makefile.am base/TMethodJob.h base/XBase.cpp base/XBase.h base/base.dsp base/common.h base/stdfstream.h base/stdistream.h base/stdlist.h base/stdmap.h base/stdostream.h base/stdpost.h base/stdpre.h base/stdset.h base/stdsstream.h base/stdvector.h client/CClient.cpp client/CClient.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CSecondaryScreen.cpp client/CSecondaryScreen.h client/CServerProxy.cpp client/CServerProxy.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h client/Makefile.am client/client.cpp client/client.dsp client/client.rc client/resource.h cmd/Makefile.am cmd/synergy/Makefile.am cmd/synergy/resource.h cmd/synergy/synergy.cpp cmd/synergy/synergy.dsp cmd/synergy/synergy.rc cmd/synergyd/Makefile.am cmd/synergyd/resource.h cmd/synergyd/synergyd.cpp cmd/synergyd/synergyd.dsp cmd/synergyd/synergyd.rc configure.in http/CHTTPProtocol.cpp http/CHTTPProtocol.h http/Makefile.am http/XHTTP.cpp http/XHTTP.h http/http.dsp io/CBufferedInputStream.cpp io/CBufferedInputStream.h io/CBufferedOutputStream.cpp io/CBufferedOutputStream.h io/CInputStreamFilter.cpp io/CInputStreamFilter.h io/COutputStreamFilter.cpp io/COutputStreamFilter.h io/CStreamBuffer.cpp io/CStreamBuffer.h io/IInputStream.h io/IOutputStream.h io/Makefile.am io/XIO.cpp io/XIO.h io/io.dsp lib/Makefile.am lib/base/BasicTypes.h lib/base/CFunctionJob.cpp lib/base/CFunctionJob.h lib/base/CLog.cpp lib/base/CLog.h lib/base/CStopwatch.cpp lib/base/CStopwatch.h lib/base/CString.cpp lib/base/CString.h lib/base/CUnicode.cpp lib/base/CUnicode.h lib/base/IInterface.h lib/base/IJob.h lib/base/Makefile.am lib/base/TMethodJob.h lib/base/XBase.cpp lib/base/XBase.h lib/base/base.dsp lib/base/common.h lib/base/stdfstream.h lib/base/stdistream.h lib/base/stdlist.h lib/base/stdmap.h lib/base/stdostream.h lib/base/stdpost.h lib/base/stdpre.h lib/base/stdset.h lib/base/stdsstream.h lib/base/stdvector.h lib/client/CClient.cpp lib/client/CClient.h lib/client/CMSWindowsSecondaryScreen.cpp lib/client/CMSWindowsSecondaryScreen.h lib/client/CSecondaryScreen.cpp lib/client/CSecondaryScreen.h lib/client/CServerProxy.cpp lib/client/CServerProxy.h lib/client/CXWindowsSecondaryScreen.cpp lib/client/CXWindowsSecondaryScreen.h lib/client/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/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/CStreamBuffer.cpp lib/io/CStreamBuffer.h lib/io/IInputStream.h lib/io/IOutputStream.h lib/io/Makefile.am lib/io/XIO.cpp lib/io/XIO.h lib/io/io.dsp lib/mt/CCondVar.cpp lib/mt/CCondVar.h lib/mt/CLock.cpp lib/mt/CLock.h lib/mt/CMutex.cpp lib/mt/CMutex.h lib/mt/CThread.cpp lib/mt/CThread.h lib/mt/CThreadRep.cpp lib/mt/CThreadRep.h lib/mt/CTimerThread.cpp lib/mt/CTimerThread.h lib/mt/Makefile.am lib/mt/XThread.h lib/mt/mt.dsp lib/net/CNetwork.cpp lib/net/CNetwork.h lib/net/CNetworkAddress.cpp lib/net/CNetworkAddress.h lib/net/CTCPListenSocket.cpp lib/net/CTCPListenSocket.h lib/net/CTCPSocket.cpp lib/net/CTCPSocket.h lib/net/IDataSocket.h lib/net/IListenSocket.h lib/net/ISocket.h lib/net/Makefile.am lib/net/XNetwork.cpp lib/net/XNetwork.h lib/net/XSocket.cpp lib/net/XSocket.h lib/net/net.dsp lib/platform/CMSWindowsClipboard.cpp lib/platform/CMSWindowsClipboard.h lib/platform/CMSWindowsClipboardAnyTextConverter.cpp lib/platform/CMSWindowsClipboardAnyTextConverter.h lib/platform/CMSWindowsClipboardTextConverter.cpp lib/platform/CMSWindowsClipboardTextConverter.h lib/platform/CMSWindowsClipboardUTF16Converter.cpp lib/platform/CMSWindowsClipboardUTF16Converter.h lib/platform/CMSWindowsScreen.cpp lib/platform/CMSWindowsScreen.h lib/platform/CMSWindowsScreenSaver.cpp lib/platform/CMSWindowsScreenSaver.h lib/platform/CPlatform.cpp lib/platform/CPlatform.h lib/platform/CSynergyHook.cpp lib/platform/CSynergyHook.h lib/platform/CUnixPlatform.cpp lib/platform/CUnixPlatform.h lib/platform/CWin32Platform.cpp lib/platform/CWin32Platform.h lib/platform/CXWindowsClipboard.cpp lib/platform/CXWindowsClipboard.h lib/platform/CXWindowsClipboardTextConverter.cpp lib/platform/CXWindowsClipboardTextConverter.h lib/platform/CXWindowsClipboardUCS2Converter.cpp lib/platform/CXWindowsClipboardUCS2Converter.h lib/platform/CXWindowsClipboardUTF8Converter.cpp lib/platform/CXWindowsClipboardUTF8Converter.h lib/platform/CXWindowsScreen.cpp lib/platform/CXWindowsScreen.h lib/platform/CXWindowsScreenSaver.cpp lib/platform/CXWindowsScreenSaver.h lib/platform/CXWindowsUtil.cpp lib/platform/CXWindowsUtil.h lib/platform/IMSWindowsScreenEventHandler.h lib/platform/IPlatform.h lib/platform/Makefile.am lib/platform/makehook.dsp lib/platform/platform.dsp lib/platform/synrgyhk.dsp lib/server/CClientProxy.cpp lib/server/CClientProxy.h lib/server/CClientProxy1_0.cpp lib/server/CClientProxy1_0.h lib/server/CConfig.cpp lib/server/CConfig.h lib/server/CHTTPServer.cpp lib/server/CHTTPServer.h lib/server/CMSWindowsPrimaryScreen.cpp lib/server/CMSWindowsPrimaryScreen.h lib/server/CPrimaryClient.cpp lib/server/CPrimaryClient.h lib/server/CPrimaryScreen.cpp lib/server/CPrimaryScreen.h lib/server/CServer.cpp lib/server/CServer.h lib/server/CXWindowsPrimaryScreen.cpp lib/server/CXWindowsPrimaryScreen.h lib/server/Makefile.am lib/synergy/CClipboard.cpp lib/synergy/CClipboard.h lib/synergy/CInputPacketStream.cpp lib/synergy/CInputPacketStream.h lib/synergy/COutputPacketStream.cpp lib/synergy/COutputPacketStream.h lib/synergy/CProtocolUtil.cpp lib/synergy/CProtocolUtil.h lib/synergy/CTCPSocketFactory.cpp lib/synergy/CTCPSocketFactory.h lib/synergy/ClipboardTypes.h lib/synergy/IClient.h lib/synergy/IClipboard.h lib/synergy/IPrimaryScreenReceiver.h lib/synergy/IScreen.h lib/synergy/IScreenEventHandler.h lib/synergy/IScreenReceiver.h lib/synergy/IScreenSaver.h lib/synergy/IServer.h lib/synergy/ISocketFactory.h lib/synergy/KeyTypes.h lib/synergy/Makefile.am lib/synergy/MouseTypes.h lib/synergy/ProtocolTypes.h lib/synergy/Version.h lib/synergy/XScreen.cpp lib/synergy/XScreen.h lib/synergy/XSynergy.cpp lib/synergy/XSynergy.h lib/synergy/libsynergy.dsp mt/CCondVar.cpp mt/CCondVar.h mt/CLock.cpp mt/CLock.h mt/CMutex.cpp mt/CMutex.h mt/CThread.cpp mt/CThread.h mt/CThreadRep.cpp mt/CThreadRep.h mt/CTimerThread.cpp mt/CTimerThread.h mt/Makefile.am mt/XThread.h mt/mt.dsp net/CNetwork.cpp net/CNetwork.h net/CNetworkAddress.cpp net/CNetworkAddress.h net/CTCPListenSocket.cpp net/CTCPListenSocket.h net/CTCPSocket.cpp net/CTCPSocket.h net/IDataSocket.h net/IListenSocket.h net/ISocket.h net/Makefile.am net/XNetwork.cpp net/XNetwork.h net/XSocket.cpp net/XSocket.h net/net.dsp platform/CMSWindowsClipboard.cpp platform/CMSWindowsClipboard.h platform/CMSWindowsClipboardAnyTextConverter.cpp platform/CMSWindowsClipboardAnyTextConverter.h platform/CMSWindowsClipboardTextConverter.cpp platform/CMSWindowsClipboardTextConverter.h platform/CMSWindowsClipboardUTF16Converter.cpp platform/CMSWindowsClipboardUTF16Converter.h platform/CMSWindowsScreen.cpp platform/CMSWindowsScreen.h platform/CMSWindowsScreenSaver.cpp platform/CMSWindowsScreenSaver.h platform/CPlatform.cpp platform/CPlatform.h platform/CSynergyHook.cpp platform/CSynergyHook.h platform/CUnixPlatform.cpp platform/CUnixPlatform.h platform/CWin32Platform.cpp platform/CWin32Platform.h platform/CXWindowsClipboard.cpp platform/CXWindowsClipboard.h platform/CXWindowsClipboardTextConverter.cpp platform/CXWindowsClipboardTextConverter.h platform/CXWindowsClipboardUCS2Converter.cpp platform/CXWindowsClipboardUCS2Converter.h platform/CXWindowsClipboardUTF8Converter.cpp platform/CXWindowsClipboardUTF8Converter.h platform/CXWindowsScreen.cpp platform/CXWindowsScreen.h platform/CXWindowsScreenSaver.cpp platform/CXWindowsScreenSaver.h platform/CXWindowsUtil.cpp platform/CXWindowsUtil.h platform/IMSWindowsScreenEventHandler.h platform/IPlatform.h platform/Makefile.am platform/makehook.dsp platform/platform.dsp platform/synrgyhk.dsp server/CClientProxy.cpp server/CClientProxy.h server/CClientProxy1_0.cpp server/CClientProxy1_0.h server/CConfig.cpp server/CConfig.h server/CHTTPServer.cpp server/CHTTPServer.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CPrimaryClient.cpp server/CPrimaryClient.h server/CPrimaryScreen.cpp server/CPrimaryScreen.h server/CServer.cpp server/CServer.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/Makefile.am server/resource.h server/server.cpp server/server.dsp server/server.rc synergy.dsw synergy/CClipboard.cpp synergy/CClipboard.h synergy/CInputPacketStream.cpp synergy/CInputPacketStream.h synergy/COutputPacketStream.cpp synergy/COutputPacketStream.h synergy/CProtocolUtil.cpp synergy/CProtocolUtil.h synergy/CTCPSocketFactory.cpp synergy/CTCPSocketFactory.h synergy/ClipboardTypes.h synergy/IClient.h synergy/IClipboard.h synergy/IPrimaryScreenReceiver.h synergy/IScreen.h synergy/IScreenEventHandler.h synergy/IScreenReceiver.h synergy/IScreenSaver.h synergy/IServer.h synergy/ISocketFactory.h synergy/KeyTypes.h synergy/Makefile.am synergy/MouseTypes.h synergy/ProtocolTypes.h synergy/Version.h synergy/XScreen.cpp synergy/XScreen.h synergy/XSynergy.cpp synergy/XSynergy.h synergy/synergy.dsp Reorganized source tree. Moved client.cpp into cmd/synergy as synergy.cpp and server.cpp into cmd/synergyd as synergyd.cpp. Moved and renamed related files. Moved remaining source files into lib/.... Modified and added makefiles as appropriate. Result is that library files are under lib with each library in its own directory and program files are under cmd with each command in its own directory. ---------- 2002/07/30 15:17:44 crs client/CClient.cpp client/CClient.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CSecondaryScreen.cpp client/CSecondaryScreen.h client/CServerProxy.cpp client/CServerProxy.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h client/client.cpp server/CClientProxy.h server/CClientProxy1_0.cpp server/CClientProxy1_0.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CPrimaryClient.cpp server/CPrimaryClient.h server/CPrimaryScreen.cpp server/CPrimaryScreen.h server/CServer.cpp server/CServer.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/server.cpp synergy/IClient.h Replaced method name `run' with `mainLoop', and `stop' and `quit' with `exitMainLoop' in most places. ---------- 2002/07/30 14:59:36 crs client/CClient.h client/CMSWindowsSecondaryScreen.h client/CSecondaryScreen.h client/CServerProxy.cpp client/CServerProxy.h client/CXWindowsSecondaryScreen.h server/CClientProxy.h server/CClientProxy1_0.h server/CConfig.h server/CHTTPServer.cpp server/CHTTPServer.h server/CMSWindowsPrimaryScreen.h server/CPrimaryClient.h server/CPrimaryScreen.h server/CServer.h server/CXWindowsPrimaryScreen.h synergy/IClient.h synergy/IScreen.h synergy/IScreenReceiver.h synergy/IServer.h Added doxygen comments for all relevant headers in client and server. ---------- 2002/07/29 17:03:55 crs platform/CMSWindowsClipboard.h platform/CMSWindowsClipboardAnyTextConverter.h platform/CMSWindowsClipboardTextConverter.h platform/CMSWindowsClipboardUTF16Converter.h platform/CMSWindowsScreen.h platform/CMSWindowsScreenSaver.h platform/CPlatform.h platform/CSynergyHook.h platform/CUnixPlatform.h platform/CWin32Platform.h platform/CXWindowsClipboard.h platform/CXWindowsClipboardTextConverter.h platform/CXWindowsClipboardUCS2Converter.h platform/CXWindowsClipboardUTF8Converter.h platform/CXWindowsScreen.h platform/CXWindowsScreenSaver.h platform/CXWindowsUtil.h platform/IMSWindowsScreenEventHandler.h platform/IPlatform.h Added doxygen comments for all relevant headers in platform. ---------- 2002/07/29 16:07:26 crs synergy/CClipboard.h synergy/CInputPacketStream.h synergy/COutputPacketStream.h synergy/CProtocolUtil.h synergy/CTCPSocketFactory.h synergy/ClipboardTypes.h synergy/IClient.h synergy/IClipboard.h synergy/IPrimaryScreenReceiver.h synergy/IScreen.h synergy/IScreenEventHandler.h synergy/IScreenReceiver.h synergy/IScreenSaver.h synergy/IServer.h synergy/ISocketFactory.h synergy/KeyTypes.h synergy/MouseTypes.h synergy/ProtocolTypes.h synergy/Version.h synergy/XScreen.h synergy/XSynergy.h Added doxygen comments for all relevant headers in synergy. ---------- 2002/07/29 16:06:52 crs platform/CMSWindowsScreen.cpp server/CPrimaryClient.cpp moved try/catch block from CMSWindowsScreen to CPrimaryClient. this means CMSWindowsScreen doesn't need to include XSynergy.h. ---------- 2002/07/29 16:05:59 crs doc/doxygen.cfg changed doxygen configuration. ---------- 2002/07/28 19:06:52 crs net/CNetwork.h net/CNetworkAddress.h net/CTCPListenSocket.h net/CTCPSocket.h net/IDataSocket.h net/IListenSocket.h net/ISocket.h net/XNetwork.h net/XSocket.cpp net/XSocket.h Added doxygen comments for all relevant headers in net. ---------- 2002/07/28 17:55:59 crs http/CHTTPProtocol.h http/XHTTP.cpp http/XHTTP.h Added doxygen comments for all relevant headers in http. ---------- 2002/07/28 17:25:13 crs io/CBufferedInputStream.cpp io/CBufferedInputStream.h io/CBufferedOutputStream.cpp io/CBufferedOutputStream.h io/CInputStreamFilter.h io/COutputStreamFilter.h io/CStreamBuffer.h io/IInputStream.h io/IOutputStream.h io/XIO.h Added doxygen comments for all relevant headers in io. ---------- 2002/07/28 13:34:19 crs mt/CCondVar.h mt/CLock.h mt/CMutex.h mt/CThread.h mt/CThreadRep.h mt/CTimerThread.h mt/XThread.h Added doxygen comments for all relevant headers in mt. ---------- 2002/07/26 18:28:18 crs base/CFunctionJob.h base/CLog.h base/CStopwatch.h base/CString.h base/CUnicode.h base/IInterface.h base/IJob.h base/TMethodJob.h base/XBase.h base/common.h added doxygen comments for all relevant headers in base. ---------- 2002/07/26 18:27:31 crs platform/CXWindowsUtil.cpp fixed type mismatch (SInt32 vs int) in definition of getWindowProperty(). ---------- 2002/07/26 16:05:59 crs doc/doxygen.cfg added configuration file for building doxygen documentation. the code is not yet doxygen documented, though. ---------- 2002/07/26 15:22:25 crs platform/CXWindowsUtil.cpp now deleting property when so requested even if read failed. ---------- 2002/07/25 18:08:00 crs notes checkpoint. ---------- 2002/07/25 17:58:01 crs client/client.cpp net/XSocket.cpp server/server.cpp improved error messages for bad addresses. ---------- 2002/07/25 17:52:40 crs base/XBase.cpp http/XHTTP.cpp io/XIO.cpp net/XNetwork.cpp net/XSocket.cpp server/CConfig.cpp server/server.cpp synergy/CProtocolUtil.cpp synergy/XScreen.cpp synergy/XSynergy.cpp made all getWhat() methods on exceptions consistent. they now all use format() the same way. also changed format() to actually do formatting. however, it doesn't try looking up formatting strings by id, it just uses the fallback format string. ---------- 2002/07/25 17:23:35 crs base/CLog.cpp base/CLog.h base/CString.cpp base/CString.h moved string formatting into CStringUtil from CLog and added methods for format positional string arguments. ---------- 2002/07/25 09:55:01 crs platform/CXWindowsScreen.cpp added unix specific implementation of CXWindowsScreen::mainLoop() that uses poll() to process events more efficiently. it won't wake up nor sleep any more than necessary, unlike the platform independent implementation that polls and sleeps. ---------- 2002/07/25 09:23:24 crs platform/CXWindowsClipboard.cpp finished INCR transfer changes. also made motifGetTime() return icccmGetTime() because it seems motif does TIMESTAMP like ICCCM. ---------- 2002/07/25 08:57:46 crs platform/CXWindowsClipboard.cpp checkpoint. working on INCR transfers. ---------- 2002/07/24 19:26:18 crs platform/CMSWindowsScreen.cpp platform/CWin32Platform.cpp platform/CWin32Platform.h fixes for win32 due to changes in how s_restartable is handled. the main change is that WM_QUIT now causes the thread to be cancelled instead of mainLoop() just returning. this also requires runDaemon() to call the run function in a new thread each time it calls it because it could can cancelled. ---------- 2002/07/24 19:24:21 crs platform/CMSWindowsClipboardTextConverter.cpp platform/CMSWindowsClipboardUTF16Converter.cpp fixes for win32 clipboard due to CUnicode nul terminator changes. ---------- 2002/07/24 19:23:46 crs base/CUnicode.cpp fixed an off-by-one error in UTF8ToText(). ---------- 2002/07/24 17:39:52 crs base/CUnicode.cpp fixed an off-by-one error in textToUTF8(). ---------- 2002/07/24 17:30:32 crs platform/CXWindowsClipboard.cpp platform/CXWindowsClipboard.h fixed type of TARGETS target. ---------- 2002/07/24 17:22:01 crs base/CUnicode.cpp base/CUnicode.h platform/CMSWindowsClipboardTextConverter.cpp platform/CMSWindowsClipboardUTF16Converter.cpp made handling of nul terminators in CUnicode more sane. ---------- 2002/07/24 17:07:52 crs platform/CXWindowsClipboard.cpp platform/CXWindowsClipboard.h some fixes for motif clipboard. still not handling incremental transfer through root window property because not sure of the protocol. ---------- 2002/07/24 13:01:18 crs client/CClient.cpp client/client.cpp net/CTCPSocket.cpp net/XSocket.h platform/CUnixPlatform.cpp platform/CUnixPlatform.h platform/CWin32Platform.cpp platform/CWin32Platform.h platform/CXWindowsScreen.cpp platform/CXWindowsUtil.cpp platform/IPlatform.h server/CPrimaryClient.cpp server/CServer.cpp server/server.cpp synergy/ProtocolTypes.h synergy/Version.h removed restart function from platform. no longer trying to restart if the X server connection was lost; since synergy is likely to be started by xdm or the user's xsession, it's better for synergy to simply terminate when the connection is lost. synergy will still restart due to other errors. also fixed numerous other minor bugs and cleaned some stuff up (like app error codes are now consistent and enumerated in Version.h, for lack of a better place). and boosted version and protocol numbers. ---------- 2002/07/23 19:00:01 crs notes checkpoint. ---------- 2002/07/23 18:59:44 crs platform/CMSWindowsClipboard.cpp fixed a bug in clipboard conversion (was using wrong converter or no converter when one was available). ---------- 2002/07/23 18:59:15 crs client/CMSWindowsSecondaryScreen.cpp server/CMSWindowsPrimaryScreen.cpp synergy/KeyTypes.h converted win32 to use unicode based KeyID. ---------- 2002/07/23 17:04:41 crs client/CXWindowsSecondaryScreen.cpp server/CXWindowsPrimaryScreen.cpp synergy/KeyTypes.h checkpoint. converting KeyID to use UTF-32 encoding instead of X11 keysyms. ---------- 2002/07/23 15:34:05 crs synergy/CClipboard.cpp synergy/IClipboard.h no longer attempting to unmarshall clipboard formats that aren't known to the caller. if the client supports more formats than the server then the server could get a clipboard format greater than kNumFormats. with this change the server discards the extra formats instead of crashing. ---------- 2002/07/23 15:26:40 crs base/CUnicode.cpp base/CUnicode.h base/base.dsp platform/CMSWindowsClipboard.cpp platform/CMSWindowsClipboard.h platform/CMSWindowsClipboardAnyTextConverter.cpp platform/CMSWindowsClipboardAnyTextConverter.h platform/CMSWindowsClipboardTextConverter.cpp platform/CMSWindowsClipboardTextConverter.h platform/CMSWindowsClipboardUTF16Converter.cpp platform/CMSWindowsClipboardUTF16Converter.h platform/platform.dsp unicode clipboard changes for win32 plus some bug fixes. ---------- 2002/07/23 12:35:36 crs platform/CXWindowsClipboard.cpp platform/CXWindowsClipboard.h removed unnecessary atoms from X clipboard object. ---------- 2002/07/23 12:08:30 crs base/CUnicode.cpp checkpoint. more CUnicode fixes. ---------- 2002/07/23 11:51:13 crs base/CUnicode.cpp checkpoint. fixed the other cases in the same function as the previous checkin. also prevented the errors flag from getting reset after the multibyte to wide character conversion. ---------- 2002/07/23 11:42:54 crs base/CUnicode.cpp checkpoint. fixed cases for mbrtowc (was using 1 and 2 instead of -1 and -2). ---------- 2002/07/23 11:36:18 crs base/CUnicode.cpp base/CUnicode.h platform/CXWindowsClipboard.cpp platform/CXWindowsClipboardTextConverter.cpp checkpoint. more UTF8 clipboard stuff. ---------- 2002/07/23 09:33:50 crs base/CUnicode.cpp base/CUnicode.h platform/CXWindowsClipboard.cpp checkpoint. more UTF8 clipboard testing. ---------- 2002/07/22 18:46:57 crs base/CUnicode.cpp platform/CXWindowsClipboard.cpp checkpoint. more UTF8 clipboard stuff. ---------- 2002/07/22 18:17:21 crs platform/CXWindowsClipboard.cpp checkpoint. more UTF8 clipboard stuff. ---------- 2002/07/22 18:03:44 crs platform/CXWindowsClipboard.cpp checkpoint. working on UTF8 clipboard transfer. ---------- 2002/07/22 17:32:51 crs base/CUnicode.cpp base/CUnicode.h base/Makefile.am platform/CXWindowsClipboard.cpp platform/CXWindowsClipboard.h platform/CXWindowsClipboardTextConverter.cpp platform/CXWindowsClipboardTextConverter.h platform/CXWindowsClipboardUCS2Converter.cpp platform/CXWindowsClipboardUCS2Converter.h platform/CXWindowsClipboardUTF8Converter.cpp platform/CXWindowsClipboardUTF8Converter.h platform/Makefile.am synergy/IClipboard.h checkpoint. adding support for unicode in clipboard. ---------- 2002/07/19 21:27:59 crs README changed notes about how to startup configure synergy. it now discourages using boot scripts, which can't handle X servers requiring authorization, and suggests modifying xdm's Xsetup. ---------- 2002/07/19 20:44:57 crs examples/synergy.linux.init examples/synergyd.linux.init updated init.d scripts to work with SuSE. however, it looks as if they cannot be used on an X server using authentication because the daemons they start are not authorized to connect to the X server. X users should modify Xsetup or Xsession. ---------- 2002/07/19 18:12:41 crs server/CXWindowsPrimaryScreen.cpp formatting. ---------- 2002/07/19 17:39:45 crs server/CPrimaryScreen.cpp removed from previous change. ---------- 2002/07/19 17:38:34 crs server/CPrimaryScreen.cpp reordered operations to reduce cursor flashing when entering primary screen. ---------- 2002/07/18 17:03:10 crs platform/CSynergyHook.cpp server/CMSWindowsPrimaryScreen.cpp fixed handling of calling init() when a previous process did not call cleanup(). if that process still appears to exist then the init() fails. otherwise some cleanup is performed and the init() proceeds. a synergy server started while another is running will now exit immediately without interfering the original server. ---------- 2002/07/18 17:00:48 crs server/CServer.cpp server/CServer.h now cancelling and waiting for the accept client thread before cancelling any other threads. this prevents a race condition where we disconnect a client but it reconnects before we manage to shutdown. that might leave a thread running and the connection won't be closed down properly. ---------- 2002/07/18 16:58:08 crs mt/CThreadRep.cpp platform/CMSWindowsScreen.cpp changed waitForEvent() to handle a peculiar feature of MsgWaitForMultipleObjects(): it will not return immediately if an event already in the queue when it's called was already in the queue during the last call to GetMessage()/PeekMessage(). also now discarding screen saver events if there are any other screen saver events in the queue already. this prevents these events from piling up in the queue, which they'd do because we sleep for 250ms when handling each one. ---------- 2002/07/18 08:54:17 crs synergy.dsw fixed incorrect paths to makehook and synrgyhk project files. ---------- 2002/07/17 17:27:41 crs platform/CMSWindowsScreen.cpp platform/CSynergyHook.cpp platform/CSynergyHook.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CPrimaryScreen.cpp server/CPrimaryScreen.h attempt to fix stuttering when leaving win32 screen. seems to work but will let testers make the final call. also fixed desktop synchronization by setting a variable that was mistakenly left unset. and tried to work around an apparent bug in MsgWaitForMultipleObjects() that prevented the service from closing down properly. start/pause/continue/stop sequence still doesn't shut down correctly. start/pause/stop and start/stop work fine. ---------- 2002/07/17 17:24:44 crs client/CClient.cpp removed unnecessary local variable. ---------- 2002/07/16 19:07:15 crs base/stdistream.h io/CStreamBuffer.cpp fixes to get it compiling on .NET. ---------- 2002/07/16 16:52:26 crs client/CClient.cpp client/CClient.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CSecondaryScreen.cpp client/CServerProxy.cpp client/CServerProxy.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h platform/CXWindowsScreen.cpp platform/IMSWindowsScreenEventHandler.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CPrimaryClient.cpp server/CPrimaryClient.h server/CPrimaryScreen.cpp server/CPrimaryScreen.h server/CServer.cpp server/CServer.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/IPrimaryScreenReceiver.h synergy/IScreen.h synergy/IScreenEventHandler.h synergy/IScreenReceiver.h synergy/IServer.h moved onError() method to IScreenReceiver from IPrimaryScreenReceiver. also implemented onError in CClient which previously did not have any way to handle display disconnection. ---------- 2002/07/15 15:03:04 crs platform/CSynergyHook.cpp platform/synrgyhk.dsp completing previous checkin. ---------- 2002/07/15 15:01:36 crs client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CSecondaryScreen.cpp client/CSecondaryScreen.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h client/client.dsp platform/CMSWindowsScreen.cpp platform/CMSWindowsScreen.h platform/CSynergyHook.cpp platform/CSynergyHook.h platform/CXWindowsScreen.cpp platform/CXWindowsScreen.h platform/IMSWindowsScreenEventHandler.h platform/makehook.dsp platform/platform.dsp platform/synrgyhk.dsp server/CConfig.cpp server/CConfig.h server/CHTTPServer.cpp server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CPrimaryScreen.cpp server/CPrimaryScreen.h server/CServer.cpp server/CServer.h server/CSynergyHook.cpp server/CSynergyHook.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/makehook.dsp server/server.dsp server/synrgyhk.dsp synergy/IScreen.h synergy/IScreenEventHandler.h synergy/ProtocolTypes.h synergy/synergy.dsp checkpoint. refactored win32 code. had to edit and rename some files so this is only a checkpoint. ---------- 2002/07/13 22:00:38 crs client/CClient.cpp client/CClient.h client/CSecondaryScreen.cpp client/CSecondaryScreen.h client/CServerProxy.cpp client/CServerProxy.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h client/ISecondaryScreen.h client/Makefile.am client/client.cpp platform/CXWindowsScreen.cpp platform/CXWindowsScreen.h server/CClientProxy.h server/CClientProxy1_0.cpp server/CClientProxy1_0.h server/CPrimaryClient.cpp server/CPrimaryClient.h server/CPrimaryScreen.cpp server/CPrimaryScreen.h server/CServer.cpp server/CServer.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/IPrimaryScreen.h server/Makefile.am server/server.cpp synergy/IClient.h synergy/IPrimaryScreenReceiver.h synergy/IScreen.h synergy/IScreenEventHandler.h synergy/IScreenReceiver.h synergy/IServer.h synergy/Makefile.am checkpoint. still refactoring. merged common code from primary screens into CPrimaryScreen and merged common code from secondary screens into CSecondaryScreen. changed is-a relationship to a has-a between the primary and secondary screen classes and the generic platform dependent screen class to avoid multiple inheritance of implementation. also standardized the interface for those generic screen classes. adding a platform now involves implementing simpler interfaces: IScreen for the generic screen, IScreenEventHandler and some methods of CPrimaryScreen for the primary screen, and IScreenEventHandler and some methods of CSecondaryScreen for the secondary screen. did X11 platform but not win32 platform. ---------- 2002/07/12 20:41:23 crs client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h platform/CMSWindowsScreen.cpp platform/CMSWindowsScreen.h platform/CXWindowsScreen.cpp platform/CXWindowsScreen.h platform/CXWindowsScreenSaver.cpp platform/CXWindowsScreenSaver.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h refactoring. refactored stuff in client (with changes to server as necessary). ---------- 2002/07/11 18:58:49 crs client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h platform/CMSWindowsScreen.cpp platform/CMSWindowsScreen.h platform/CXWindowsScreen.cpp platform/CXWindowsScreen.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h checkpoint. making win32 and X primary screen code more similar in order to share code later. ---------- 2002/07/11 13:13:37 crs client/CClient.cpp client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CServerProxy.cpp client/client.dsp server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CPrimaryClient.cpp server/CPrimaryClient.h server/CServer.cpp server/CServer.h server/CSynergyHook.cpp server/CSynergyHook.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/IPrimaryScreen.h server/server.dsp synergy/synergy.dsp applied refactoring to win32 code. ---------- 2002/07/10 21:22:28 crs client/CClient.cpp client/CClient.h client/CServerProxy.cpp client/CServerProxy.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h client/ISecondaryScreen.h server/CPrimaryClient.cpp server/CPrimaryClient.h server/CServer.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/IPrimaryScreenReceiver.h synergy/IScreenReceiver.h synergy/IServer.h synergy/Makefile.am more refactoring. ---------- 2002/07/10 20:18:32 crs client/CClient.cpp client/CClient.h client/CServerProxy.cpp client/CServerProxy.h client/ISecondaryScreen.h client/Makefile.am client/client.cpp server/CClientProxy.h server/CClientProxy1_0.cpp server/CClientProxy1_0.h server/CPrimaryClient.cpp server/CPrimaryClient.h server/CServer.cpp synergy/IClient.h synergy/ISecondaryScreen.h synergy/Makefile.am refactored client code. it now uses IClient and IServer and has a CServerProxy, making it's design similar to the server code. ---------- 2002/07/10 14:29:50 crs synergy/IClient.h removed some obsolete comments. ---------- 2002/07/10 14:15:17 crs server/CClientProxy1_0.cpp server/CClientProxy1_0.h server/CPrimaryClient.cpp server/CPrimaryClient.h server/CServer.cpp server/CServer.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/IPrimaryReceiver.h server/Makefile.am synergy/IServer.h synergy/ProtocolTypes.h removed IPrimaryReceiver in favor of IServer, which required a few minor changes to support IPrimaryReciever's functionality. this does mean that the IPrimaryScreen class will be calling some methods with dummy arguments. those are documented in CPrimaryClient. ---------- 2002/07/09 21:22:31 crs acinclude.m4 acsite.m4 config/depcomp config/install-sh config/missing config/mkinstalldirs mt/CThread.cpp mt/CThread.h notes platform/CXWindowsClipboard.cpp server/CClientProxy.cpp server/CClientProxy.h server/CClientProxy1_0.cpp server/CClientProxy1_0.h server/CPrimaryClient.cpp server/CPrimaryClient.h server/CServer.cpp server/CServer.h server/CServerProtocol.cpp server/CServerProtocol.h server/CServerProtocol1_0.cpp server/CServerProtocol1_0.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/IPrimaryReceiver.h server/IPrimaryScreen.h server/IServerProtocol.h server/Makefile.am synergy/IClient.h synergy/IServer.h synergy/Makefile.am updated to new automake and refactored server stuff. the server now speaks to the primary screen and secondary screens almost everywhere the same way through an IClient interface; only special primary screen calls are accessed through a different interface, the CPrimaryClient interface. this simplifies the server since it no longer needs to test whether the active screen is the primary or a secondary in most cases. the server no longer speaks directly to the primary screen; all that goes through the CPrimaryClient, which often just forwards the call. the primary screen no longer speaks directly to the server either, again going through the CPrimaryClient via a IPrimaryReceiver interface. CServerProtocol classes have been replaced by CClientProxy classes which are very similar. the name makes more sense though. ---------- 2002/07/09 17:31:45 crs server/IPrimaryScreen.h synergy/IPrimaryScreen.h synergy/Makefile.am checkpoint. moved IPrimaryScreen.h. ---------- 2002/07/07 15:15:34 crs server/IServerProtocol.h synergy/IServerProtocol.h moved IServerProtocol to server from synergy directory. ---------- 2002/07/03 16:25:36 crs server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h fixed spurious mouse motions when entering/leaving primary screen on X11. ---------- 2002/07/01 15:05:49 crs server/CMSWindowsPrimaryScreen.cpp mistakenly removed mouse button checks when on secondary screens from isLockedToScreen() in earlier checkin. ---------- 2002/07/01 14:01:23 crs README notes checkpoint. ---------- 2002/07/01 13:03:16 crs client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h synergy/ISecondaryScreen.h now synthesizing key release events for each pressed key when the client screen is closed. this fixes the bug where the client's keyboard was left with some keys logically pressed when the client died (e.g. using ctrl+c on the client program from the server's keyboard would leave the ctrl key logically pressed). ---------- 2002/07/01 13:01:16 crs server/CServerProtocol1_0.cpp disabled removing client if no heartbeat is received. we don't want that while testing because it might hide bugs. ---------- 2002/07/01 13:00:12 crs server/CMSWindowsPrimaryScreen.cpp fixed locking to screen on win32. was using GetKeyboardState() to query keys but that doesn't give us up-to-date information. now using GetAsyncKeyState() if on primary and m_keys if on secondary. ---------- 2002/07/01 12:58:52 crs platform/CMSWindowsScreenSaver.cpp platform/CMSWindowsScreenSaver.h added win32 screen saver class forgotten in previous checkins. ---------- 2002/06/26 16:31:48 crs client/CClient.cpp http/CHTTPProtocol.cpp io/CBufferedInputStream.cpp io/CBufferedInputStream.h io/CInputStreamFilter.h io/IInputStream.h server/CMSWindowsPrimaryScreen.cpp server/CServer.cpp server/CServerProtocol1_0.cpp server/CSynergyHook.cpp synergy/CInputPacketStream.cpp synergy/CInputPacketStream.h synergy/CProtocolUtil.cpp synergy/ProtocolTypes.h synergy hook DLL will now restart itself if a client tries to init() it while it's already running. fixed an uninitialized pointer bug in CServer and some cleanup-on-error code in CMSWindowsPrimaryScreen. also added timeout to read() on IInputStream and a heartbeat sent by clients so the server can disconnect clients that are dead but never reset the TCP connection. previously the server would keep these dead clients around forever and if the user was locked on the client screen for some reason then the server would have to be rebooted (or the server would have to be killed via a remote login). ---------- 2002/06/26 13:48:08 crs client/CClient.cpp client/CClient.h client now compresses mouse motion events. this fixes slow dragging on grace, possibly on win32 too. ---------- 2002/06/26 13:31:06 crs synergy/CInputPacketStream.cpp synergy/CInputPacketStream.h fixed getSize() to be non-blocking in CInputPacketStream. ---------- 2002/06/26 12:44:52 crs platform/CXWindowsScreen.cpp platform/CXWindowsScreenSaver.h fixed re-entrant calls to X bug. ---------- 2002/06/23 23:24:22 crs server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CServer.cpp server/CServer.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/IPrimaryScreen.h fixed handling of jumping to primary when screen saver starts and back to secondary when it stops. also now redirecting keyboard input to root window when screen saver starts; this allows the user to type in the lock dialog and also effectively discards any input used to deactivate the screen saver. ---------- 2002/06/23 21:54:05 crs notes checkpoint. ---------- 2002/06/23 21:53:31 crs client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h platform/CMSWindowsScreen.cpp platform/CMSWindowsScreen.h platform/platform.dsp server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CSynergyHook.cpp server/CSynergyHook.h win32 screen saver now handled. ---------- 2002/06/23 21:48:33 crs platform/CXWindowsScreenSaver.cpp platform/CXWindowsScreenSaver.h now disabling disable job timer when forcing screen saver activation. previously the timer would deactivate the screen saver shortly after activation. job timer is restored when the screen saver is deactivated. ---------- 2002/06/23 15:43:40 crs platform/CXWindowsScreen.cpp platform/CXWindowsScreen.h platform/CXWindowsScreenSaver.cpp platform/CXWindowsScreenSaver.h platform/CXWindowsUtil.cpp server/CServer.cpp server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/Makefile.am synergy/IPrimaryScreen.h checkpoint screensaver changes. now handling xscreensaver dying and restarting or starting after synergy does. also now disabling the screen saver on the client. next step: win32 support. ---------- 2002/06/22 20:29:59 crs platform/CXWindowsScreen.cpp platform/CXWindowsScreenSaver.cpp platform/CXWindowsScreenSaver.h fixes to get xscreensaver integration working. ---------- 2002/06/22 19:47:27 crs platform/CXWindowsClipboard.cpp platform/CXWindowsScreenSaver.cpp platform/CXWindowsUtil.cpp platform/CXWindowsUtil.h server/CXWindowsPrimaryScreen.cpp CXWindowsUtil::CErrorLock wasn't XSync()'ing the display before installing and uninstalling the new error handler, causing errors before the lock to be caught and errors during the lock to not be caught. had to add Display* as argument to c'tor. ---------- 2002/06/22 19:20:21 crs client/CClient.cpp client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h platform/CXWindowsScreen.cpp platform/CXWindowsScreen.h platform/CXWindowsScreenSaver.cpp platform/CXWindowsScreenSaver.h platform/Makefile.am server/CServer.cpp server/CServer.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/IPrimaryScreen.h synergy/IScreenSaver.h synergy/ISecondaryScreen.h synergy/Makefile.am checkpoint. adding screen saver support. only on X so far and untested. also some known problems: not detecting an xscreensaver started after us and not detecting built-in screen saver activation (not sure if we can without using ugly extensions). ---------- 2002/06/22 17:31:24 crs client/Makefile.am http/Makefile.am io/Makefile.am mt/Makefile.am net/Makefile.am platform/Makefile.am server/Makefile.am synergy/Makefile.am added header files to _SOURCES. ---------- 2002/06/22 13:55:45 crs server/CXWindowsPrimaryScreen.cpp added comments. ---------- 2002/06/22 12:09:49 crs client/CXWindowsSecondaryScreen.cpp cleanup. ---------- 2002/06/21 17:55:47 crs client/CClient.cpp client/CClient.h client/CXWindowsSecondaryScreen.cpp client/client.cpp server/CServer.cpp server/CServer.h server/server.cpp cleaned up some minor bugs. ---------- 2002/06/21 17:54:22 crs net/CNetwork.cpp net/CNetwork.h ported network changes to win32. ---------- 2002/06/21 16:29:35 crs net/CNetworkAddress.cpp now trying to convert hostname as a dot notation address before trying name lookup. not all platforms will do this for us in gethostbyname(). ---------- 2002/06/21 16:19:08 crs net/CNetwork.cpp net/CNetwork.h net/CTCPListenSocket.cpp net/CTCPSocket.cpp fixed CTCPSocket::connect() to allow cancellation. ---------- 2002/06/21 15:18:01 crs server/CServer.cpp server/CServer.h some cleanup. also fixed a race condition when adding threads to the thread list: the child thread would add itself to the list which means there could be a time interval in the parent where the child thread exists but isn't on the list. the parent now does the adding and removing. ---------- 2002/06/21 15:15:34 crs platform/CUnixPlatform.cpp now blocking SIGINT and SIGTERM in restart function. the child should handle the signal and terminate. then the restart function will exit. ---------- 2002/06/21 15:14:32 crs mt/CThreadRep.cpp signal handler thread now dies when SIGABRT is raised. ignoring SIGABRT in sigwait() seems to be a bug in the linux pthread library. ---------- 2002/06/20 16:27:49 crs platform/CXWindowsClipboard.cpp platform/CXWindowsClipboard.h fixed bug introduced by previous checkin. calling XCheckIfEvent() multiple times is *not* the same as calling XIfEvent() because the former will re-encounter events that it didn't process previously. to make things simple it now pulls events off the queue and saves them if not processed for selection transfer and puts them back afterwards. ---------- 2002/06/20 14:01:44 crs platform/CXWindowsClipboard.cpp speeded up clipboard transfer by avoiding a selection request when it wasn't necessary. (in particular, we were getting the clipboard update time from the owner then emptying the clipboard, so we didn't need to get the time. worse, most owners don't support getting the time and we often timed out.) also fixed a multithread bug using the X display. we were using a CThread to send an event after a timeout while we were waiting in XIfEvent(). this necessarily involved two threads calling into Xlib at once, which is not allowed. now using polling to do the timeout because Xlib doesn't have a function to get events with a timeout. ---------- 2002/06/20 13:35:28 crs platform/CXWindowsClipboard.cpp platform/CXWindowsClipboard.h checkpoint. trying to fix a delay when sending clipboards on X. ---------- 2002/06/20 11:13:37 crs client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h added workaround for bug windows 98 (Me?) and multiple displays: absolute mouse_event() moves don't work except for primary display. ---------- 2002/06/20 09:19:55 crs server/CXWindowsPrimaryScreen.cpp work around for bug with mouse driver on lombard powerbook. ---------- 2002/06/19 20:24:35 crs client/CMSWindowsSecondaryScreen.cpp server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CSynergyHook.cpp server/CSynergyHook.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h fixed bugs in mouse motion. wasn't taking care to capture all motion events relative to the previous mouse position. for example, if two mouse events arrive, the first at x+1,y and the second at x+2,y, we used to compute deltas of 1,0 and 2,0 instead of 1,0 and 1,0. that's fixed. also worked around a bug (probably) in windows that caused a motion event after a SetCursorPos() to be lost or reported one pixel off from the correct position. now using mouse_event() which doesn't have that problem. also fixed calculation of normalized coordinates for mouse_event() when there are multiple displays. ---------- 2002/06/19 17:03:29 crs client/CClient.cpp client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h platform/CMSWindowsScreen.cpp platform/CMSWindowsScreen.h platform/CXWindowsScreen.cpp platform/CXWindowsScreen.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CServer.cpp server/CServer.h server/CServerProtocol1_0.cpp server/CSynergyHook.cpp server/CSynergyHook.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/IPrimaryScreen.h synergy/ISecondaryScreen.h synergy/ProtocolTypes.h checkpoint. initial support for multiple displays on win32. ---------- 2002/06/19 14:45:22 crs client/Makefile.am configure.in server/Makefile.am fixed addition of X11 -L and -l options on link lines. ---------- 2002/06/19 12:21:26 crs configure.in platform/CUnixPlatform.cpp checkpoint. automake changes for wait(). ---------- 2002/06/19 11:58:48 crs configure.in http/CHTTPProtocol.cpp platform/CUnixPlatform.cpp checkpoint. automake changes for reentrant functions. ---------- 2002/06/19 11:23:49 crs base/BasicTypes.h base/CLog.cpp base/CLog.h base/CStopwatch.cpp base/XBase.cpp base/common.h base/stdistream.h base/stdostream.h client/CClient.cpp client/CXWindowsSecondaryScreen.cpp client/client.cpp configure.in mt/CCondVar.cpp mt/CCondVar.h mt/CMutex.cpp mt/CThread.cpp mt/CThread.h mt/CThreadRep.cpp mt/CThreadRep.h net/CNetwork.cpp net/CNetwork.h platform/CPlatform.cpp platform/CPlatform.h platform/CXWindowsClipboard.h platform/CXWindowsScreen.h platform/CXWindowsUtil.h server/CServer.cpp server/CSynergyHook.h server/CXWindowsPrimaryScreen.cpp server/server.cpp synergy/CProtocolUtil.h checkpoint. more conversion to automake. ---------- 2002/06/19 08:23:08 crs config/install-sh config/missing config/mkinstalldirs configure.in install-sh missing mkinstalldirs moved auxillary automake files into config directory. ---------- 2002/06/18 19:47:52 crs install-sh missing mkinstalldirs added automake required tools. ---------- 2002/06/18 19:44:34 crs Make-linux Make-solaris Makecommon Makefile Makefile.am acsite.m4 base/Makefile base/Makefile.am client/Makefile client/Makefile.am configure.in http/Makefile http/Makefile.am io/Makefile io/Makefile.am mt/Makefile mt/Makefile.am net/Makefile net/Makefile.am platform/Makefile platform/Makefile.am server/Makefile server/Makefile.am synergy/Makefile synergy/Makefile.am tools/depconv started to convert to autoconf/automake. ---------- 2002/06/18 18:34:55 crs base/CLog.cpp now checking vsnprintf result against < 0 instead of == -1 for portability. ---------- 2002/06/18 18:33:59 crs net/XSocket.cpp added FIXME to commented out code. ---------- 2002/06/17 15:44:45 crs README client/client.cpp server/server.cpp made command line parsing a little more sane with respect to windows NT services. ---------- 2002/06/17 14:10:25 crs README updates ---------- 2002/06/17 13:31:21 crs base/CLog.cpp base/CString.cpp base/XBase.cpp client/CClient.cpp client/CMSWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.cpp client/client.cpp http/CHTTPProtocol.cpp http/XHTTP.cpp io/CBufferedInputStream.cpp io/CBufferedOutputStream.cpp io/CInputStreamFilter.cpp io/COutputStreamFilter.cpp io/CStreamBuffer.cpp mt/CCondVar.cpp mt/CMutex.cpp mt/CThread.cpp mt/CThreadRep.cpp mt/CTimerThread.cpp net/CNetwork.cpp net/CNetworkAddress.cpp net/CTCPListenSocket.cpp net/CTCPSocket.cpp net/XNetwork.cpp net/XSocket.cpp platform/CMSWindowsClipboard.cpp platform/CMSWindowsScreen.cpp platform/CUnixPlatform.cpp platform/CWin32Platform.cpp platform/CXWindowsClipboard.cpp platform/CXWindowsScreen.cpp platform/CXWindowsUtil.cpp server/CConfig.cpp server/CHTTPServer.cpp server/CMSWindowsPrimaryScreen.cpp server/CServer.cpp server/CServerProtocol.cpp server/CServerProtocol1_0.cpp server/CSynergyHook.cpp server/CXWindowsPrimaryScreen.cpp server/server.cpp synergy/CClipboard.cpp synergy/CInputPacketStream.cpp synergy/COutputPacketStream.cpp synergy/CProtocolUtil.cpp synergy/XSynergy.cpp formatting changes. ---------- 2002/06/17 12:02:26 crs client/CClient.cpp net/CTCPListenSocket.cpp net/CTCPListenSocket.h net/CTCPSocket.cpp net/CTCPSocket.h net/IDataSocket.h net/IListenSocket.h net/ISocket.h server/CHTTPServer.cpp server/CHTTPServer.h server/CServer.cpp synergy/CTCPSocketFactory.cpp synergy/CTCPSocketFactory.h synergy/ISocketFactory.h refactored ISocket into IDataSocket. the latter and IListenSocket now derive from ISocket. ---------- 2002/06/14 18:08:20 crs base/CFunctionJob.cpp base/CFunctionJob.h base/CLog.cpp base/TMethodJob.h base/common.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/client.cpp io/CStreamBuffer.cpp io/CStreamBuffer.h mt/CThread.cpp mt/CThread.h mt/CThreadRep.cpp mt/CThreadRep.h platform/CMSWindowsScreen.cpp platform/CUnixPlatform.cpp platform/CUnixPlatform.h platform/CWin32Platform.cpp platform/CWin32Platform.h platform/IPlatform.h server/server.cpp performance fixes on win32 plus clean up of some warnings. also improved error messages when uninstalling service. ---------- 2002/06/11 20:10:49 crs README added a blurb about synrgyhk.dll and that the service manager will look for the binary wherever it was when --install was used. ---------- 2002/06/11 20:09:59 crs base/stdpre.h platform/CMSWindowsScreen.h windows fixes needed for formatting changes. ---------- 2002/06/11 18:33:03 crs client/CXWindowsSecondaryScreen.cpp commented out half-duplex flags that should never have been uncommented. ---------- 2002/06/11 18:31:06 crs server/CServer.cpp fixed bug with switching screens on primary when there's no link in that direction (it would assert). introduced bug when adding support for wrapping. now ignores attempts to move in a direction with no link. ---------- 2002/06/11 18:30:08 crs platform/CUnixPlatform.cpp added missing #include . ---------- 2002/06/10 22:06:45 crs base/BasicTypes.h base/CFunctionJob.cpp base/CLog.cpp base/CLog.h base/CString.cpp base/CString.h base/TMethodJob.h base/XBase.cpp base/XBase.h base/common.h base/stdistream.h base/stdostream.h client/CClient.cpp client/CClient.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h client/client.cpp http/CHTTPProtocol.cpp http/CHTTPProtocol.h http/XHTTP.cpp http/XHTTP.h io/CBufferedInputStream.cpp io/CBufferedInputStream.h io/CBufferedOutputStream.cpp io/CBufferedOutputStream.h io/CInputStreamFilter.cpp io/COutputStreamFilter.cpp io/CStreamBuffer.cpp io/IInputStream.h io/IOutputStream.h io/XIO.cpp io/XIO.h mt/CCondVar.cpp mt/CCondVar.h mt/CLock.cpp mt/CLock.h mt/CMutex.cpp mt/CMutex.h mt/CThread.cpp mt/CThread.h mt/CThreadRep.cpp mt/CTimerThread.cpp mt/CTimerThread.h mt/XThread.h net/CNetwork.cpp net/CNetworkAddress.cpp net/CNetworkAddress.h net/CTCPListenSocket.cpp net/CTCPSocket.cpp net/CTCPSocket.h net/IListenSocket.h net/ISocket.h net/Makefile net/XNetwork.cpp net/XNetwork.h net/XSocket.cpp net/XSocket.h platform/CMSWindowsClipboard.cpp platform/CMSWindowsScreen.cpp platform/CMSWindowsScreen.h platform/CPlatform.cpp platform/CUnixPlatform.cpp platform/CUnixPlatform.h platform/CWin32Platform.cpp platform/CWin32Platform.h platform/CXWindowsClipboard.cpp platform/CXWindowsClipboard.h platform/CXWindowsScreen.cpp platform/CXWindowsScreen.h platform/CXWindowsUtil.cpp platform/CXWindowsUtil.h platform/IPlatform.h server/CConfig.cpp server/CConfig.h server/CHTTPServer.cpp server/CHTTPServer.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CServer.cpp server/CServer.h server/CServerProtocol.cpp server/CServerProtocol.h server/CServerProtocol1_0.cpp server/CServerProtocol1_0.h server/CSynergyHook.cpp server/CSynergyHook.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/server.cpp synergy/CClipboard.cpp synergy/CClipboard.h synergy/CInputPacketStream.cpp synergy/COutputPacketStream.cpp synergy/CProtocolUtil.cpp synergy/CProtocolUtil.h synergy/CTCPSocketFactory.cpp synergy/IClipboard.h synergy/IPrimaryScreen.h synergy/ISecondaryScreen.h synergy/IServerProtocol.h synergy/ISocketFactory.h synergy/XScreen.cpp synergy/XSynergy.cpp indentation and other formatting changes. also cleaned up #includes. ---------- 2002/06/10 16:49:46 crs base/CLog.cpp base/CStopwatch.cpp mt/CCondVar.cpp mt/CMutex.cpp mt/CThreadRep.h net/CNetwork.cpp net/CNetwork.h platform/CMSWindowsClipboard.h platform/CMSWindowsScreen.h platform/CWin32Platform.h server/CSynergyHook.h server/synrgyhk.dsp win32 changes. now including windows.h with WIN32_LEAN_AND_MEAN to avoid including some stuff we don't want (like winsock). ---------- 2002/06/10 11:09:02 crs README fixes. ---------- 2002/06/10 11:08:02 crs README updates. ---------- 2002/06/10 11:00:55 crs README examples/synergy.conf examples/synergy.linux.init examples/synergyd.linux.init added example files and a README. ---------- 2002/06/10 10:08:36 crs server/CMSWindowsPrimaryScreen.cpp server/CServer.cpp server/CXWindowsPrimaryScreen.cpp now allowing a screen to be its own neighbor to allow wrapping. also no longer warping mouse to 0,0 when setting server screen info. that was causing the mouse to jump if the server screen had itself as its left or top neighbor (directly or indirectly) once a screen could be its own neighbor. ---------- 2002/06/10 09:49:21 crs server/CConfig.cpp fixed stripping of comments from configuration streams. ---------- 2002/06/10 09:49:03 crs client/client.cpp server/server.cpp changed "permitted" to "supported" in error messages. ---------- 2002/06/09 23:08:18 crs client/CClient.cpp no longer camps if the server sends an error message. ---------- 2002/06/09 22:20:28 crs client/CClient.cpp client/CClient.h client/client.cpp added support for camping, i.e. repeatly trying to connect to the server until we succeed. ---------- 2002/06/09 22:20:01 crs mt/CTimerThread.cpp mt/CTimerThread.h CTimerThread now allows zero and negative timeouts. a negative timeout never times out and CTimerThread is a no-op. ---------- 2002/06/09 18:03:32 crs platform/CXWindowsScreen.cpp now using ":0.0" as the display if DISPLAY isn't set. ---------- 2002/06/09 18:00:03 crs notes checkpoint. ---------- 2002/06/09 17:59:32 crs client/client.cpp server/CServer.cpp server/CServer.h server/server.cpp added command line option to choose the screen name. also now using the hostname as the default name. this is on both client and server. ---------- 2002/06/09 17:35:28 crs mt/CThreadRep.cpp added FIXME comment. ---------- 2002/06/09 17:21:33 crs server/CServer.cpp fixed problem with setConfig(). if the new config didn't include a screen that was already connected under an alias then that screen wouldn't be disconnected and removed from the screen list until the screen voluntarily disconnected. at that time removeConnection() would assert because the screen name would not be found. now using the canonical name in the protocol object as well as CServer. this allows setConfig() to always detect removed screens and disconnect them. ---------- 2002/06/09 16:53:57 crs platform/CUnixPlatform.cpp now exits instead of restarting if child dies due to an unexpected signal. ---------- 2002/06/09 16:53:25 crs client/client.cpp net/CNetwork.cpp net/CNetwork.h net/CNetworkAddress.cpp net/CNetworkAddress.h net/XSocket.cpp net/XSocket.h server/CConfig.cpp server/CConfig.h server/CHTTPServer.cpp server/CServer.cpp server/CServer.h server/server.cpp synergy/ProtocolTypes.h added command line and configuration file arguments to choose the address and port to listen on or connect to. changed the default port and put it in ProtocolTypes.h. the HTTP port is now no longer opened unless the --http argument is supplied or the config file includes it. ---------- 2002/06/08 23:24:40 crs server/CConfig.cpp server/CConfig.h server/CServer.cpp server/server.cpp added aliases to configuration. an alias is another name for a screen. it's expected that the server will want to accept a given client under several names (e.g. the hostname and the FQDN). ---------- 2002/06/08 21:48:16 crs notes checkpoint. ---------- 2002/06/08 21:48:00 crs all.dsp base/CLog.cpp base/CLog.h base/base.dsp base/common.h base/stdpre.h client/CClient.cpp client/CClient.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/client.cpp client/client.dsp http/http.dsp io/io.dsp mt/CThreadRep.cpp mt/mt.dsp net/net.dsp platform/CMSWindowsScreen.cpp platform/CMSWindowsScreen.h platform/CUnixPlatform.cpp platform/CUnixPlatform.h platform/CWin32Platform.cpp platform/CWin32Platform.h platform/IPlatform.h platform/platform.dsp server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CServer.cpp server/CSynergyHook.cpp server/CSynergyHook.h server/makehook.dsp server/server.cpp server/server.dsp server/synrgyhk.dsp synergy/IPrimaryScreen.h synergy/synergy.dsp win32 changes. changed names of binaries. added support for running as (and installing/installing) a service. added support for multiple desktops (NT only, 95 doesn't support multiple desktops). ---------- 2002/06/04 12:26:23 crs Makefile client/Makefile client/client.cpp client/client.dsp platform/CMSWindowsClipboard.cpp platform/CMSWindowsClipboard.h platform/CMSWindowsScreen.cpp platform/CMSWindowsScreen.h platform/CPlatform.cpp platform/CPlatform.h platform/CUnixPlatform.cpp platform/CUnixPlatform.h platform/CWin32Platform.cpp platform/CWin32Platform.h platform/CXWindowsClipboard.cpp platform/CXWindowsClipboard.h platform/CXWindowsScreen.cpp platform/CXWindowsScreen.h platform/CXWindowsUtil.cpp platform/CXWindowsUtil.h platform/IPlatform.h platform/Makefile server/Makefile server/server.cpp server/server.dsp synergy.dsw synergy/CMSWindowsClipboard.cpp synergy/CMSWindowsClipboard.h synergy/CMSWindowsScreen.cpp synergy/CMSWindowsScreen.h synergy/CXWindowsClipboard.cpp synergy/CXWindowsClipboard.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h synergy/CXWindowsUtil.cpp synergy/CXWindowsUtil.h synergy/Makefile synergy/synergy.dsp test.cpp refactored some common platform dependent stuff into a new library: platform. also removed test.cpp. ---------- 2002/06/04 11:06:26 crs client/CClient.cpp client/client.cpp server/CServer.cpp server/CServerProtocol.cpp server/server.cpp synergy/ProtocolTypes.h synergy/Version.h added command line parsing, restartability, and daemonizing to client. broke win32 stuff though. also moved version and copyright constants into a new file and renamed protocol version constants. ---------- 2002/06/04 11:03:34 crs base/CLog.cpp fixed delete bug in printt -- when skipping file and line the deleted pointer was wrong. ---------- 2002/06/04 11:02:33 crs synergy/CXWindowsClipboard.cpp fixed timeout when getting selection -- forgot to set flag to terminate event loop. ---------- 2002/06/03 18:53:18 crs base/CLog.cpp base/CLog.h server/CConfig.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CServer.cpp server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/server.cpp synergy/CXWindowsScreen.cpp synergy/IPrimaryScreen.h changes to add command line arguments. also added automatic restarting and daemonizing on unix. daemon sends log messages to syslog. unix now reads config file from file named on command line; if no command line arg then uses effective user's config file and if that's not there it finally tries /etc/synergy.conf. if there are no screens configured then one is added for the primary screen. broke some startup stuff on win32. also now timing out if X primary screen can't grab the mouse and keyboard. the server will just give up trying to switch screens. the grabs will fail is some other app has a grab and won't release it. note that kdm grabs the keyboard for the duration that the login window is displayed, effectively disabling synergy. ---------- 2002/06/03 16:36:45 crs base/CLog.cpp base/CLog.h added a method to set the filter given a priority string (instead of a number). fixed a comment related to what those priority strings are. added a CLOG_PRINT priority which is never filtered and suppresses the trace info and the priority level message. it's intended as a way to output a message through the logger without getting extra output. ---------- 2002/06/03 16:34:22 crs base/CString.cpp base/CString.h base/Makefile base/base.dsp http/CHTTPProtocol.cpp http/CHTTPProtocol.h moved case insensitive comparison utility functions into CString from CHTTPProtocol. ---------- 2002/06/03 13:45:30 crs client/CClient.cpp client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h server/CServer.cpp server/CServer.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h synergy/Makefile synergy/XScreen.cpp synergy/XScreen.h synergy/synergy.dsp added better handling of X server disconnecting unexpectedly. the apps still exit but they do it in a mostly controlled manner. in particular, the server threads except the one processing primary screen events will terminate gracefully. this will be important should the server ever allow HTTP clients to rewrite the configuration file. note that X makes it effectively impossible to continue once the X server disconnects. even if it didn't it would be difficult for synergy to recover. users will have to add synergy to the X display manager's startup script if they expect the server to be restarted. alternatively, we could add code to fork synergy at startup; the child would do the normal work while the parent would simply wait for the child to exit and restart it. ---------- 2002/06/02 23:07:57 crs net/CTCPListenSocket.cpp shortened poll() timeout. ---------- 2002/06/02 22:57:50 crs io/CBufferedOutputStream.cpp io/CBufferedOutputStream.h net/CTCPSocket.cpp changed buffered output stream to wait() when flush()ing instead of polling/sleeping. changed CTCPSocket to not use thread cancellation but to instead use m_connected to exit the thread. also shortened poll timeout. ---------- 2002/06/02 21:35:20 crs synergy/CMSWindowsScreen.cpp synergy/CXWindowsScreen.cpp make sleep shorter in poll/sleep getEvent() loops. ---------- 2002/06/02 21:03:38 crs synergy/CXWindowsClipboard.cpp synergy/CXWindowsClipboard.h synergy/CXWindowsUtil.cpp removed poll/sleep code to improve performance. ---------- 2002/06/02 19:04:24 crs client/CXWindowsSecondaryScreen.cpp now ignores key if there's no key mapped for a required modifier. was asserting (on the wrong expression). ---------- 2002/06/02 18:49:35 crs client/CClient.cpp client/client.cpp mt/CThread.cpp mt/CThread.h mt/CThreadRep.cpp mt/CThreadRep.h server/CServer.cpp server/server.cpp added SIGINT and SIGTERM handling to unix client and server. either signal causes the main thread to be cancelled. added necessary code to make main thread cancellation clean up nicely. ---------- 2002/06/02 13:34:35 crs http/CHTTPProtocol.cpp http/CHTTPProtocol.h server/CHTTPServer.cpp server/CHTTPServer.h added a maximum request size to CHTTPProtocol so we can bail on clients that cause us to use too much memory. also put methods in CHTTPRequest to get/set headers and changed the data structure used to store them. fixed a couple of other miscellaneous bugs in CHTTPProtocol.cpp. ---------- 2002/06/02 11:49:46 crs mt/CCondVar.h server/CServer.cpp server/CServer.h now limiting number of simultaneous HTTP requests being handled at once. this is to prevent denial of service. ---------- 2002/06/01 19:26:11 crs base/CLog.cpp base/CLog.h base/CString.h base/XBase.h base/base.dsp base/common.h base/stdfstream.h base/stdistream.h base/stdlist.h base/stdmap.h base/stdostream.h base/stdpost.h base/stdpre.h base/stdset.h base/stdsstream.h base/stdvector.h client/CMSWindowsSecondaryScreen.h client/CXWindowsSecondaryScreen.h client/client.cpp client/client.dsp http/CHTTPProtocol.cpp http/CHTTPProtocol.h http/XHTTP.cpp http/http.dsp io/CStreamBuffer.h io/io.dsp mt/mt.dsp net/net.dsp server/CConfig.cpp server/CConfig.h server/CHTTPServer.cpp server/CHTTPServer.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CServer.cpp server/CServer.h server/CSynergyHook.cpp server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/makehook.dsp server/server.cpp server/server.dsp server/synrgyhk.dsp synergy.dsw synergy/CXWindowsClipboard.h synergy/IPrimaryScreen.h synergy/synergy.dsp fixes, mainly for windows. first, had to add a notification from CServer to the primary screen when the configuration changes so it can make necessary adjustments (the win32 primary screen must tell the hook dll about the new jump zones). changed includes of some std c++ library files to go through our own include files. these wrap the include with stuff to keep vc++ quiet when compiling at warning level 4, which is what it does now. it also works around missing and on g++2.96. added missing std:: where necessary. g++ doesn't really support namespaces so it lets references without the namespace slip through. added workaround or fix. not sure if istringstream::str(string) should reset eofbit. it does on g++ but does not on vc++. added clear() after str() so it works either way. added low-level keyboard hook to win32. if available (it's only available on NT SP3 and up) it allows us to catch and handle alt+tab, alt+esc, ctrl+esc, and windows key hot keys. i think that leaves only ctrl+alt+del and accessibility functions uncaught on those systems. ---------- 2002/06/01 10:52:02 crs server/CServer.cpp server/CServer.h server/CServerProtocol1_0.cpp added mutex to all public methods that didn't already have it. fixed two blown assertions. first, if user tried to switch to a client that had connected but hadn't yet sent the first info message it would assert on the zero size screen. second, if the primary screen was handling a mouse motion on behalf of a secondary screen when that secondary screen disconnected then an assert would blow because the primary screen would call onMouseMoveSecondary() but m_protocol on the active screen is NULL because disconnecting the active secondary screen caused the mouse to jump to the primary screen. ---------- 2002/05/31 18:35:53 crs server/CConfig.h changed iterator to use iterator_traits directly instead of std::iterator to support the old STL on grace. ---------- 2002/05/31 18:18:29 crs client/CClient.cpp client/CClient.h server/CServer.cpp synergy/ProtocolTypes.h synergy/XSynergy.cpp synergy/XSynergy.h server now rejects clients that are not in the configuration. added a protocol message to indicate this. ---------- 2002/05/31 18:09:43 crs server/CServer.cpp server/CServer.h server/CServerProtocol1_0.cpp fixed setConfig() to disconnect secondary screens that aren't in the new configuration. ---------- 2002/05/31 18:08:08 crs server/CConfig.cpp server/CConfig.h made isScreen() a const method. ---------- 2002/05/31 17:32:26 crs server/CConfig.cpp server/CConfig.h server/server.cpp added I/O for configuration files and changed the server to use an external file for its configuration (was hard coding a config for testing). ---------- 2002/05/31 14:44:54 crs server/CConfig.cpp server/CScreenMap.cpp server/Makefile server/server.dsp finished renaming CScreenMap to CConfig. ---------- 2002/05/31 14:43:23 crs server/CConfig.h server/CHTTPServer.cpp server/CHTTPServer.h server/CScreenMap.cpp server/CServer.cpp server/CServer.h server/CSynergyHook.cpp server/server.cpp checkpoint. changed CScreenMap to CConfig. must still change CScreenMap.cpp to CConfig.cpp. ---------- 2002/05/31 14:34:16 crs server/CConfig.h server/CHTTPServer.cpp server/CScreenMap.cpp server/CScreenMap.h server/CServer.h server/CSynergyHook.cpp server/server.cpp checkpoint. renamed CScreenMap.h to CConfig.h. will be changing CScreenMap to CConfig everywhere. ---------- 2002/05/31 14:25:26 crs base/CLog.cpp base/CLog.h client/client.cpp server/server.cpp added methods to CLog for getting the outputter, getting and setting the priority filter, and added code for thread safety. added code to apps to enable thread safety in CLog. ---------- 2002/05/30 16:13:16 crs Makefile base/common.h http/CHTTPProtocol.cpp http/CHTTPProtocol.h http/Makefile http/XHTTP.cpp http/XHTTP.h server/CHTTPServer.cpp server/CHTTPServer.h server/CScreenMap.cpp server/CScreenMap.h server/CServer.cpp server/CServer.h server/Makefile added basic support for an embedded HTTP server. server currently supports editing the screen map but changing the map won't behave correctly if there are connected screens. ---------- 2002/05/30 16:11:59 crs net/CTCPSocket.cpp net/CTCPSocket.h fixed bug in closing down a socket. ---------- 2002/05/27 18:55:51 crs synergy/CMSWindowsClipboard.cpp synergy/CMSWindowsClipboard.h updated win32 clipboard to match new model. ---------- 2002/05/27 18:35:14 crs notes checkpoint ---------- 2002/05/27 18:30:13 crs server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/CXWindowsClipboard.cpp synergy/CXWindowsScreen.h synergy/CXWindowsUtil.cpp synergy/CXWindowsUtil.h removed getEventMask() from primary screen. added a class to CXWindowsUtil that installs/uninstalls an X error hander. using that in primary screen, clipboard, and util to ensure that certain errors don't kill the app. ---------- 2002/05/27 18:28:06 crs client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h removed getEventMask() and fixed some comments. also now using toggle key states in updateModifiers(). ---------- 2002/05/27 17:05:34 crs synergy/CXWindowsClipboard.cpp changed lesstif hack to only apply to the CLIPBOARD selection. apprently the PRIMARY selection must follow the ICCCM protocol correctly. ---------- 2002/05/27 16:51:07 crs synergy/CXWindowsUtil.cpp synergy/CXWindowsUtil.h added missing files from previous submit. ---------- 2002/05/27 16:22:59 crs client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/CClipboard.cpp synergy/CClipboard.h synergy/CXWindowsClipboard.cpp synergy/CXWindowsClipboard.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h synergy/IClipboard.h synergy/Makefile checkpoint. changed clipboard model. the clipboard can only be accessed now between open()/close(). ownership of the clipboard is asserted via the empty() method. this parallels the win32 model (but the win32 code hasn't been updated yet). refactored X11 clipboard code. moved the bulk of it into CXWindowsClipboard and moved some comment event handling into CXWindowsScreen. changed how requests are processed into a hopefully easier to understand model. added support for getting clipboard from and sending clipboard to motif (or at least lesstif) clients. sending to lesstif required a hack to work around an apparent bug in lesstif. ---------- 2002/05/24 17:54:34 crs notes checkpoint ---------- 2002/05/24 17:54:28 crs client/CClient.cpp client/CClient.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h server/CMSWindowsPrimaryScreen.cpp server/CServer.cpp server/CServer.h server/CServerProtocol.h server/CServerProtocol1_0.cpp server/CServerProtocol1_0.h server/CXWindowsPrimaryScreen.cpp synergy/CMSWindowsScreen.cpp synergy/CMSWindowsScreen.h synergy/IPrimaryScreen.h synergy/ISecondaryScreen.h synergy/IServerProtocol.h synergy/ProtocolTypes.h added screen locking support to win32. added support for resolution changing (only semi-supported on X because that has no means for resizing screen anyway). also fixed some clipboard problems on win32. ---------- 2002/05/24 14:37:12 crs server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CServer.cpp server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/IPrimaryScreen.h added support for locking to a screen when the sroll lock is toggled on or when any key or button is pressed. fully implemented on X but stubbed out for now on win32. ---------- 2002/05/23 18:35:15 crs notes checkpoint ---------- 2002/05/23 18:35:08 crs server/CMSWindowsPrimaryScreen.cpp server/CSynergyHook.cpp server/CSynergyHook.h added support for mouse wheel on win32. ---------- 2002/05/23 15:50:38 crs client/CXWindowsSecondaryScreen.cpp server/CXWindowsPrimaryScreen.cpp added support for mouse wheel on X. ---------- 2002/05/23 15:00:39 crs server/server.cpp added a third screen to hard coded map for testing purposes. ---------- 2002/05/23 15:00:13 crs server/CServer.cpp fixed log message. ---------- 2002/05/23 14:56:03 crs client/CClient.cpp client/CClient.h server/CServer.cpp server/CServerProtocol.cpp server/CServerProtocol1_0.cpp synergy/ProtocolTypes.h synergy/XSynergy.cpp synergy/XSynergy.h server no longer asserts when a client connects with a name that's already in use by another client. also added reporting of errors from the server to clients so clients can report meaningful messages to users. ---------- 2002/05/23 14:04:43 crs notes checkpoint ---------- 2002/05/23 14:04:35 crs net/CNetwork.h synergy/CXWindowsScreen.h changed structs to classes. there should be no more structs now. ---------- 2002/05/22 17:09:08 crs notes checkpoint. ---------- 2002/05/22 17:08:37 crs synergy/CMSWindowsClipboard.cpp synergy/CMSWindowsScreen.cpp synergy/CMSWindowsScreen.h synergy/CProtocolUtil.cpp removed unnecessary call in screen class, added logging calls in clipboard class, and added another cast in protocol util to avoid warning on win32. ---------- 2002/05/22 17:05:26 crs server/CSynergyHook.cpp now letting some key events filter through. this allows the keyboard lights to track toggle changes. however, it also seems to let through keyboard events that shouldn't get through. ---------- 2002/05/22 17:02:58 crs server/CScreenMap.cpp fixed incorrect for-loop over directions conditional. ---------- 2002/05/22 17:01:17 crs base/CLog.cpp base/CLog.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h win32 changes. replaced log dialog hack with a windows console window. now attaching thread input queues as necessary. shifted code around so toggling toggle keys is immediately reflected by secondary screen's keyboard. now setting extended key flag for keys that need it. fixed handling of shift + caps-lock. added handling of keys that should distinguish between left and right but don't. fixed get/set of active window on leave/enter of primary screen. replaced 1x1 primary window with a full screen window to work around a problem with losing key events. changed calculation of mouse move deltas. ---------- 2002/05/22 16:56:06 crs net/CTCPListenSocket.cpp fixed type of socket handle (from int to CNetwork::Socket). ---------- 2002/05/22 16:55:19 crs mt/CTimerThread.cpp removed blank line. ---------- 2002/05/22 16:55:05 crs mt/CThread.cpp mt/CThread.h mt/CThreadRep.cpp changed un-inlined code to avoid bogus VC++ level 4 warnings. added support for more win32 thread priorities. ---------- 2002/05/22 16:51:59 crs client/client.cpp fixed parameter type for socket port. ---------- 2002/05/22 16:43:14 crs base/common.h changed set of disabled win32 warnings. ---------- 2002/05/22 16:42:48 crs client/CClient.cpp fixed NULL dereference. ---------- 2002/05/22 16:41:24 crs base/common.h changed set of disabled win32 warnings. ---------- 2002/05/22 16:40:51 crs base/CLog.cpp base/CLog.h replaced logging dialog hack with a windows console window. ---------- 2002/05/22 16:40:38 crs client/CClient.cpp fixed NULL dereference. ---------- 2002/05/05 23:37:12 crs net/CTCPSocket.cpp removed setting send buffer to zero size. it just reduced performance. ---------- 2002/05/05 19:52:03 crs client/CXWindowsSecondaryScreen.cpp replaced True/False with true/false when assigning to m_repeat. also should now work if the first element of a modifier keymapping is 0. that won't normally be the case but xmodmap was doing weird things on grace. if the first element is 0 it'll try the second element. if that's also zero then that modifier will be ignored. ---------- 2002/05/05 19:38:09 crs client/CMSWindowsSecondaryScreen.cpp server/CMSWindowsPrimaryScreen.cpp fixes for win32 keyboard. ---------- 2002/05/04 19:43:20 crs client/CXWindowsSecondaryScreen.cpp fixed caps-lock handling. ---------- 2002/05/04 18:33:48 crs server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h checkpoint. added half duplex for num lock. ---------- 2002/05/04 18:31:54 crs client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h checkpoint. fixing up handling of half-duplex num-lock. ---------- 2002/05/04 18:09:02 crs client/CXWindowsSecondaryScreen.cpp checkpoint. changed when toggle keys toggle (now always on release). must see if this works. ---------- 2002/05/04 18:08:22 crs client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h net/CTCPSocket.cpp server/CMSWindowsPrimaryScreen.cpp Fixes for win32 key handling. ---------- 2002/05/04 11:23:11 crs client/CXWindowsSecondaryScreen.cpp fixed handling of shift + caps-lock. those two modifiers should cancel out if the keysym is subject to case conversion, but not otherwise. also added logging of key lookup code. ---------- 2002/05/03 12:23:48 crs client/CXWindowsSecondaryScreen.cpp fixed handling of shift+tab on a system that can map ISO_Left_Tab. now tries to map ISO_Left_Tab without shift first then falls back to Tab (note that if ISO_Left_Tab can be mapped but requires a modifier then the modifier will be added). also changed attempt to map ISO_Left_Tab as a backup to Tab to request the shift modifier whether or not the primary screen requested it. ---------- 2002/05/03 12:14:55 crs client/CXWindowsSecondaryScreen.cpp fixed handling of ISO_Left_Tab when that is not mapped to a keycode by mapping it to tab with shift pressed. ---------- 2002/05/03 11:49:30 crs client/CXWindowsSecondaryScreen.cpp removed attempt to make release/press of a repeating key use the same server time. was getting what appears to be deadlock but not sure why. ---------- 2002/05/03 11:26:44 crs client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h checkpoint. made changes to support key autorepeats on X. ---------- 2002/05/02 11:44:21 crs synergy/COutputPacketStream.cpp Indentation change. ---------- 2002/05/02 11:43:52 crs io/CStreamBuffer.cpp net/CTCPSocket.cpp Fixed bug in stream buffer that could cause data to be inserted out of order. Also removed unnecessary limit on writes to the TCP socket. ---------- 2002/05/02 11:33:34 crs io/CStreamBuffer.cpp checkpoint debugging of stream buffer. ---------- 2002/05/01 16:30:20 crs synergy/CXWindowsScreen.cpp Was trying to avoid sending clipboard if timestamp wasn't changed but clipboard owners may not update that timestamp when the selection is changed. Disabled the timestamp check. ---------- 2002/05/01 16:17:57 crs server/CServer.cpp synergy/CXWindowsScreen.cpp Added more checks to avoid sending unchanged clipboard data. Still takes too long to query the clipboard owner for info (maybe 1/10th second) but not sure why or if that can be improved. ---------- 2002/05/01 15:31:47 crs Make-linux net/CNetwork.h net/CTCPSocket.cpp synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h checkpoint. turned off nagle and send buffering. also added test to skip clipboard conversion if a previous conversion from that owner failed. ---------- 2002/05/01 14:36:52 crs server/CServer.cpp server/CXWindowsPrimaryScreen.cpp Fixed uninitialized variable when computing toggle mask. Also reduced priority of some mouse motion log messages. ---------- 2002/05/01 14:35:55 crs net/CSocketInputStream.cpp net/CSocketInputStream.h net/CSocketOutputStream.cpp net/CSocketOutputStream.h net/CSocketStreamBuffer.cpp net/CSocketStreamBuffer.h net/net.dsp removed obsolete files. ---------- 2002/04/30 18:30:05 crs client/CXWindowsSecondaryScreen.cpp added fallback for missing numpad movement keys (if there's no mapping for those keys then the non-keypad versions are tried). ---------- 2002/04/30 17:48:11 crs client/CClient.cpp client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CServer.cpp server/CServerProtocol.h server/CServerProtocol1_0.cpp server/CServerProtocol1_0.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/IPrimaryScreen.h synergy/ISecondaryScreen.h synergy/IServerProtocol.h synergy/ProtocolTypes.h checkpoint. now sending toggle modifier state when entering a screen. this allows the secondary screen to set it's modifier state to match the primary screen's state. this is not strictly necessary since each keystroke should adjust the modifier state as needed to get the right result. ---------- 2002/04/30 16:25:29 crs client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h Added logging and handling of "half-duplex" caps-lock key. ---------- 2002/04/30 16:23:30 crs Make-linux Make-solaris Changed name for auto-generated dependency files from Makedepend to .depend. ---------- 2002/04/30 16:23:03 crs client/CClient.cpp client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CServerProtocol1_0.cpp server/server.rc synergy/CClipboard.cpp synergy/CMSWindowsClipboard.cpp synergy/CMSWindowsClipboard.h synergy/synergy.dsp Fixes to get win32 client and server up to date. ---------- 2002/04/29 14:40:01 crs base/CFunctionJob.h base/CLog.h base/CStopwatch.cpp base/CStopwatch.h base/CString.h base/IInterface.h base/IJob.h base/TMethodJob.h base/XBase.h client/CClient.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h io/CBufferedInputStream.h io/CBufferedOutputStream.h io/CInputStreamFilter.h io/COutputStreamFilter.h io/CStreamBuffer.h io/IInputStream.h io/IOutputStream.h io/XIO.h mt/CCondVar.cpp mt/CCondVar.h mt/CLock.h mt/CMutex.cpp mt/CMutex.h mt/CThread.h mt/CThreadRep.cpp mt/CThreadRep.h mt/CTimerThread.h mt/XThread.h net/CNetwork.h net/CNetworkAddress.cpp net/CNetworkAddress.h net/CSocketInputStream.h net/CSocketOutputStream.h net/CSocketStreamBuffer.h net/CTCPListenSocket.h net/CTCPSocket.h net/IListenSocket.h net/ISocket.h net/XNetwork.h net/XSocket.h server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CScreenMap.h server/CServer.cpp server/CServer.h server/CServerProtocol.h server/CServerProtocol1_0.h server/CSynergyHook.cpp server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/CClipboard.h synergy/CInputPacketStream.cpp synergy/CInputPacketStream.h synergy/CMSWindowsClipboard.cpp synergy/CMSWindowsClipboard.h synergy/CMSWindowsScreen.h synergy/COutputPacketStream.h synergy/CProtocolUtil.cpp synergy/CProtocolUtil.h synergy/CTCPSocketFactory.h synergy/CXWindowsClipboard.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h synergy/IClipboard.h synergy/IPrimaryScreen.h synergy/ISecondaryScreen.h synergy/IServerProtocol.h synergy/ISocketFactory.h synergy/XSynergy.h Indentation changes. ---------- 2002/04/29 14:25:24 crs client/CClient.cpp server/CServer.cpp server/CServerProtocol1_0.cpp Added some validation of protocol message parameters. ---------- 2002/04/29 14:12:48 crs synergy/CXWindowsScreen.cpp Shortened timeout on waiting for clipboard response. ---------- 2002/04/29 14:08:48 crs client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h server/CServer.cpp server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h Made event selection a little more robust. Also fixed failure to marshall clipboard data when updating primary clipboards. ---------- 2002/04/29 13:49:56 crs client/CXWindowsSecondaryScreen.cpp Added missing event mask. ---------- 2002/04/29 13:31:44 crs client/CClient.cpp client/CClient.h server/CServer.cpp server/CServer.h server/CServerProtocol.h server/CServerProtocol1_0.cpp server/CServerProtocol1_0.h synergy/CClipboard.cpp synergy/CClipboard.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h synergy/IClipboard.h synergy/IPrimaryScreen.h synergy/IServerProtocol.h synergy/ProtocolTypes.h checkpoint. changed protocol to better handle clipboards. now sending a sequence number with enter messages. screens use that sequence number in clipboard grab and data messages. the server uses the sequence number to order messages across clients. also changed secondary screens to send clipboard updates on leaving (or when grab occurs when not active) instead of on a query from the server. primary effectively does the same. the query message has been removed. ---------- 2002/04/29 11:58:17 crs client/CClient.cpp changed logging levels. ---------- 2002/04/28 00:46:15 crs client/CXWindowsSecondaryScreen.cpp server/CXWindowsPrimaryScreen.cpp synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h Clipboard improvements. Still not working right. Nedit doesn't work at all but at least now there's a timeout to prevent synergy from hanging waiting on a reply. ---------- 2002/04/27 18:49:03 crs base/CLog.cpp base/CLog.h client/CClient.cpp mt/CThread.cpp mt/CThreadRep.cpp mt/CTimerThread.cpp net/CNetwork.cpp server/CServer.cpp server/CServerProtocol1_0.cpp server/CXWindowsPrimaryScreen.cpp synergy/CProtocolUtil.cpp synergy/CXWindowsScreen.cpp Added more debug levels and moved some annoying debug messages to those levels. Default log level is now DEBUG for debug builds and INFO for release builds. ---------- 2002/04/27 18:06:40 crs client/CClient.cpp client/CXWindowsSecondaryScreen.cpp server/CServer.cpp server/CServerProtocol1_0.cpp server/CXWindowsPrimaryScreen.cpp synergy/CProtocolUtil.cpp synergy/CXWindowsScreen.cpp synergy/ProtocolTypes.h checkpoint. changed CProtocolUtil::readf() to store 1 and 2 byte integers into pointers to 1 and 2 byte integers. was always assuming pointers to 4 byte integers. ---------- 2002/04/27 14:19:53 crs client/CClient.cpp client/CClient.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h server/CServer.cpp server/CServer.h server/CServerProtocol.h server/CServerProtocol1_0.cpp server/CServerProtocol1_0.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h synergy/ClipboardTypes.h synergy/IPrimaryScreen.h synergy/ISecondaryScreen.h synergy/IServerProtocol.h synergy/ProtocolTypes.h Added support for multiple clipboards. This is mainly to support both PRIMARY and CLIPBOARD selections on X windows. ---------- 2002/04/27 14:19:19 crs Makecommon set TARGETS macro to BIN and LIB targets. ---------- 2002/04/26 20:15:59 crs notes updated ---------- 2002/04/26 20:14:46 crs client/CXWindowsSecondaryScreen.cpp Fixed caps-lock and num-lock behavior. It seems to work okay now but did notice one problem: when powerbook is primary and num-lock is on the keypad works fine until shift is pressed (and released); after that the keypad only works while the shift key is down. ---------- 2002/04/26 20:12:55 crs server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h Added hack to handle "half-duplex" caps-lock key on powerbook. That key only reports press when pressed and released when caps-lock is activated and only reports release when pressed and released when caps-lock is deactivated. I don't know of a way to detect this behavior so it may have to be configured by the user. The code assumes normal behavior; will have to add code to set the flag (perhaps from a user configuration). ---------- 2002/04/26 17:38:01 crs client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h synergy/KeyTypes.h changed processing of key events in X. secondary screen now activates/deactivates modifiers as necessary to get a keycode interpreted as the expected keysym. still some work and testing to do on this. ---------- 2002/04/25 10:44:01 crs notes Added notes on keyboard handling. ---------- 2002/04/25 10:43:53 crs client/CXWindowsSecondaryScreen.cpp server/CXWindowsPrimaryScreen.cpp synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h added handling for DestroyNotify of clipboard requestors. ---------- 2001/11/26 22:36:51 crs synergy/CXWindowsScreen.cpp checkpoint. improvements to clipboard transfer on X windows. not detecting a change to clipboard when synergy window isn't the owner (since there's no event for this; we'll have to check when we leave the screen i guess). large transfers don't seem to work. ---------- 2001/11/26 22:09:53 crs synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h checkpoint. testing clipboard transfer on X windows. ---------- 2001/11/25 22:20:41 crs client/CXWindowsSecondaryScreen.cpp server/CXWindowsPrimaryScreen.cpp synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h checkpoint. implementing clipboard owner in x windows. ---------- 2001/11/25 18:44:13 crs synergy/CXWindowsClipboard.cpp synergy/CXWindowsClipboard.h fixed function signature. ---------- 2001/11/25 18:42:13 crs Make-linux Make-solaris Makecommon client/Makefile server/Makefile executables are now built into a common area on unix (and they already were on win32). ---------- 2001/11/25 18:32:41 crs client/CClient.cpp client/CClient.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h client/client.cpp client/client.dsp net/CNetwork.cpp notes server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CServer.cpp server/CServer.h server/CServerProtocol.h server/CServerProtocol1_0.cpp server/CServerProtocol1_0.h server/CSynergyHook.cpp server/CSynergyHook.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/makehook.dsp server/server.cpp server/server.dsp server/synrgyhk.dsp synergy.dsw synergy/CClipboard.cpp synergy/CClipboard.h synergy/CMSWindowsClipboard.cpp synergy/CMSWindowsClipboard.h synergy/CMSWindowsScreen.cpp synergy/CMSWindowsScreen.h synergy/CProtocolUtil.cpp synergy/CProtocolUtil.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h synergy/IClipboard.h synergy/IPrimaryScreen.h synergy/ISecondaryScreen.h synergy/IServerProtocol.h synergy/Makefile synergy/ProtocolTypes.h synergy/synergy.dsp added platform independent clipboard transfer stuff clipboard owner support (MS windows done, X windows partial) added key transfer on ms windows mutex fixes in CClient (had race conditions) faster debug output in ms windows changed temporary screen name to "secondary" network fixes on ms windows (poll returned wrong result) fixed transparent cursor on ms windows ---------- 2001/11/19 00:33:36 crs Make-linux all.dsp base/BasicTypes.h base/CLog.cpp base/CLog.h base/XBase.cpp base/base.dsp base/common.h client/CClient.cpp client/CClient.h client/CMSWindowsSecondaryScreen.cpp client/CMSWindowsSecondaryScreen.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h client/Makefile client/client.cpp client/client.dsp client/client.rc client/resource.h io/io.dsp mt/CCondVar.cpp mt/CThread.cpp mt/CThreadRep.cpp mt/CThreadRep.h mt/mt.dsp net/CNetwork.cpp net/CNetwork.h net/CNetworkAddress.cpp net/CNetworkAddress.h net/CTCPListenSocket.cpp net/CTCPListenSocket.h net/CTCPSocket.cpp net/CTCPSocket.h net/Makefile net/XNetwork.cpp net/XNetwork.h net/net.dsp notes server/CMSWindowsPrimaryScreen.cpp server/CMSWindowsPrimaryScreen.h server/CScreenMap.h server/CServer.cpp server/CServer.h server/CSynergyHook.cpp server/CSynergyHook.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/Makefile server/makehook.dsp server/resource.h server/server.cpp server/server.dsp server/server.rc server/synrgyhk.dsp synergy.dsw synergy/CMSWindowsClipboard.cpp synergy/CMSWindowsClipboard.h synergy/CMSWindowsScreen.cpp synergy/CMSWindowsScreen.h synergy/CXWindowsClipboard.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h synergy/IClipboard.h synergy/IPrimaryScreen.h synergy/ISecondaryScreen.h synergy/synergy.dsp checkpoint. merging win32 code. server on X is currently broken and client probably is. ---------- 2001/11/18 23:14:28 crs Makefile client/CClient.cpp client/CClient.h client/CXWindowsSecondaryScreen.cpp client/CXWindowsSecondaryScreen.h client/Makefile client/client.cpp server/CScreenMap.cpp server/CScreenMap.h server/CServer.cpp server/CServer.h server/CServerProtocol.cpp server/CServerProtocol.h server/CServerProtocol1_0.cpp server/CServerProtocol1_0.h server/CXWindowsPrimaryScreen.cpp server/CXWindowsPrimaryScreen.h server/Makefile server/server.cpp synergy/CClient.cpp synergy/CClient.h synergy/CScreenMap.cpp synergy/CScreenMap.h synergy/CServer.cpp synergy/CServer.h synergy/CServerProtocol.cpp synergy/CServerProtocol.h synergy/CServerProtocol1_0.cpp synergy/CServerProtocol1_0.h synergy/CXWindowsPrimaryScreen.cpp synergy/CXWindowsPrimaryScreen.h synergy/CXWindowsSecondaryScreen.cpp synergy/CXWindowsSecondaryScreen.h synergy/Makefile synergy/client.cpp synergy/server.cpp moved client and server files into their own respective directories. ---------- 2001/11/13 23:34:12 crs synergy/CServer.cpp synergy/CXWindowsClipboard.cpp synergy/CXWindowsClipboard.h synergy/CXWindowsPrimaryScreen.cpp synergy/CXWindowsPrimaryScreen.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h synergy/IClipboard.h synergy/IPrimaryScreen.h synergy/Makefile added preliminary support for getting the X selection. ---------- 2001/11/11 21:27:36 crs synergy/CServer.cpp fixed clamping when mapping to a different screen when beyond bottom or right of source screen. ---------- 2001/11/11 21:15:30 crs synergy/CXWindowsPrimaryScreen.cpp synergy/CXWindowsPrimaryScreen.h synergy/CXWindowsScreen.cpp synergy/CXWindowsScreen.h synergy/CXWindowsSecondaryScreen.cpp synergy/CXWindowsSecondaryScreen.h synergy/Makefile factored common X windows screen stuff into a common base class. ---------- 2001/11/10 22:28:37 crs notes updated notes. ---------- 2001/11/10 22:28:30 crs Makefile added main app directory to build. ---------- 2001/10/25 22:17:17 crs io/CBufferedInputStream.cpp mt/CCondVar.cpp mt/CMutex.cpp mt/CThreadRep.cpp net/CNetworkAddress.cpp net/CSocketInputStream.cpp net/CTCPListenSocket.cpp net/CTCPSocket.cpp synergy/CXWindowsPrimaryScreen.cpp synergy/CXWindowsSecondaryScreen.cpp removed unnecessary global scoping operators. ---------- 2001/10/25 22:09:27 crs synergy/CXWindowsSecondaryScreen.cpp changed hider window to move underneath mouse when leaving the screen. this makes it so if the mouse is moved locally, it'll reappear where it was last seen. ---------- 2001/10/25 21:40:29 crs synergy/CClient.cpp synergy/CXWindowsSecondaryScreen.cpp synergy/CXWindowsSecondaryScreen.h synergy/ISecondaryScreen.h changed some method names and removed warpCursor() from secondary screen interface. ---------- 2001/10/24 23:29:29 crs synergy/CServer.cpp synergy/CServer.h now handling disconnect of secondary screen that has the cursor by jumping back to the primary screen (without trying to notify the now disconnected secondary screen). also fixed blown assert in mapPosition(). ---------- 2001/10/24 22:33:24 crs synergy/CXWindowsPrimaryScreen.cpp synergy/CXWindowsPrimaryScreen.h synergy/CXWindowsSecondaryScreen.cpp synergy/CXWindowsSecondaryScreen.h made calls to X thread safe. ---------- 2001/10/23 22:45:59 crs notes more notes. ---------- 2001/10/23 22:41:46 crs synergy/CXWindowsPrimaryScreen.cpp synergy/CXWindowsPrimaryScreen.h synergy/CXWindowsSecondaryScreen.cpp synergy/CXWindowsSecondaryScreen.h added cursor hiding. ---------- 2001/10/23 21:23:29 crs base/CLog.cpp can now filter logging by level. ---------- 2001/10/23 21:13:08 crs synergy/CServer.cpp fixed blown assert trying to find neighbor when there was none. ---------- 2001/10/21 00:21:21 crs synergy/CClient.cpp fixed handling of stream ownership. ---------- 2001/10/21 00:21:02 crs io/CBufferedInputStream.cpp io/CBufferedOutputStream.cpp mt/CThreadRep.cpp net/CTCPSocket.cpp net/CTCPSocket.h synergy/CServer.cpp synergy/server.cpp fixed bugs in handling streams. ---------- 2001/10/20 20:43:31 crs Make-linux mt/CThreadRep.cpp threading fixes. had sigmask set in wrong place. was setting m_exit flag potentially after the object had been destroyed. most importantly, RTTI must be enabled on PPC to avoid SIGILL. ---------- 2001/10/14 19:16:54 crs mt/CThread.cpp mt/CThreadRep.cpp mt/CTimerThread.cpp some debugging code. ---------- 2001/10/14 18:29:43 crs base/CLog.h mt/CMutex.cpp mt/CThread.cpp mt/CThread.h mt/CThreadRep.cpp mt/CThreadRep.h mt/CTimerThread.cpp synergy/CClient.cpp synergy/CClient.h synergy/CProtocolUtil.cpp synergy/CServerProtocol1_0.cpp synergy/client.cpp synergy/server.cpp fixed timeout bug in CThreadRep::wait() (negative timeout wouldn't wait forever). also fixed early return from sleep due to signal. now forcing client to initialize CThread to ensure global mutex gets initialized before threads are used. ---------- 2001/10/14 16:58:01 crs io/CBufferedInputStream.cpp io/CBufferedInputStream.h io/CBufferedOutputStream.cpp io/CBufferedOutputStream.h io/CInputStreamFilter.cpp io/CInputStreamFilter.h io/COutputStreamFilter.cpp io/COutputStreamFilter.h io/CStreamBuffer.cpp io/CStreamBuffer.h io/IInputStream.h io/IOutputStream.h mt/CCondVar.cpp mt/CCondVar.h mt/CLock.cpp mt/CLock.h mt/CMutex.cpp mt/CMutex.h net/CNetworkAddress.cpp net/CNetworkAddress.h net/CSocketInputStream.cpp net/CSocketInputStream.h net/CSocketOutputStream.cpp net/CSocketOutputStream.h net/CSocketStreamBuffer.cpp net/CSocketStreamBuffer.h net/CTCPListenSocket.cpp net/CTCPListenSocket.h net/CTCPSocket.cpp net/CTCPSocket.h net/IListenSocket.h net/ISocket.h synergy/CInputPacketStream.cpp synergy/CInputPacketStream.h synergy/COutputPacketStream.cpp synergy/COutputPacketStream.h synergy/CProtocolUtil.cpp synergy/CProtocolUtil.h synergy/CScreenMap.cpp synergy/CScreenMap.h synergy/CServer.cpp synergy/CServer.h synergy/CServerProtocol.cpp synergy/CServerProtocol.h synergy/CServerProtocol1_0.cpp synergy/CServerProtocol1_0.h synergy/CTCPSocketFactory.cpp synergy/CTCPSocketFactory.h synergy/IServerProtocol.h synergy/ISocketFactory.h removed exception specifications. thread exceptions weren't being listed and they'd have to be added to every one. just doesn't seem worth the trouble. ---------- 2001/10/14 14:56:06 crs synergy/CProtocolUtil.cpp stupid bug fixes. writef() used the wrong variable as the number of bytes to write. readf() forgot to prepare the va_list. ---------- 2001/10/14 14:38:45 crs base/CLog.cpp base/CLog.h forgot to add the logger files. ---------- 2001/10/14 14:37:41 crs Make-linux base/Makefile synergy/CClient.cpp synergy/CScreenMap.cpp synergy/CScreenMap.h synergy/CServer.cpp synergy/CServerProtocol1_0.cpp synergy/CXWindowsPrimaryScreen.cpp added logging facility and added a bunch of log messages. ---------- 2001/10/08 19:24:46 crs Makefile notes synergy/CClient.cpp synergy/CClient.h synergy/CServer.cpp synergy/CXWindowsPrimaryScreen.cpp synergy/CXWindowsSecondaryScreen.cpp synergy/CXWindowsSecondaryScreen.h synergy/ISecondaryScreen.h synergy/Makefile synergy/client.cpp synergy/server.cpp checkpoint. first cut of client and server apps. not tested yet but they compile and *should* work as is. ---------- 2001/10/06 14:18:01 crs Make-linux Makefile updated old files to new implementation ---------- 2001/10/06 14:13:28 crs BasicTypes.h CClient.cpp CClient.h CEvent.h CEventQueue.cpp CEventQueue.h CMessageSocket.cpp CMessageSocket.h CProtocol.h CScreenProxy.cpp CScreenProxy.h CServer.cpp CServer.h CSocket.cpp CSocket.h CSocketFactory.cpp CSocketFactory.h CString.h CTrace.cpp CTrace.h CUnixEventQueue.cpp CUnixEventQueue.h CUnixTCPSocket.cpp CUnixTCPSocket.h CUnixXScreen.cpp CUnixXScreen.h CXScreen.cpp CXScreen.h IClient.h IClipboard.h IEventQueue.h IJob.h IScreen.h IServer.h ISocket.h KeyTypes.h Make-linux Make-solaris Makecommon Makefile MouseTypes.h TMethodJob.h XBase.cpp XBase.h XSocket.h base/BasicTypes.h base/CFunctionJob.cpp base/CFunctionJob.h base/CStopwatch.cpp base/CStopwatch.h base/CString.h base/IInterface.h base/IJob.h base/Makefile base/TMethodJob.h base/XBase.cpp base/XBase.h base/common.h io/CBufferedInputStream.cpp io/CBufferedInputStream.h io/CBufferedOutputStream.cpp io/CBufferedOutputStream.h io/CInputStreamFilter.cpp io/CInputStreamFilter.h io/COutputStreamFilter.cpp io/COutputStreamFilter.h io/CStreamBuffer.cpp io/CStreamBuffer.h io/IInputStream.h io/IOutputStream.h io/Makefile io/XIO.cpp io/XIO.h main.cpp mt/CCondVar.cpp mt/CCondVar.h mt/CLock.cpp mt/CLock.h mt/CMutex.cpp mt/CMutex.h mt/CThread.cpp mt/CThread.h mt/CThreadRep.cpp mt/CThreadRep.h mt/CTimerThread.cpp mt/CTimerThread.h mt/Makefile mt/XThread.h net/CNetworkAddress.cpp net/CNetworkAddress.h net/CSocketInputStream.cpp net/CSocketInputStream.h net/CSocketOutputStream.cpp net/CSocketOutputStream.h net/CSocketStreamBuffer.cpp net/CSocketStreamBuffer.h net/CTCPListenSocket.cpp net/CTCPListenSocket.h net/CTCPSocket.cpp net/CTCPSocket.h net/IListenSocket.h net/ISocket.h net/Makefile net/XSocket.cpp net/XSocket.h notes synergy/CClient.cpp synergy/CClient.h synergy/CInputPacketStream.cpp synergy/CInputPacketStream.h synergy/COutputPacketStream.cpp synergy/COutputPacketStream.h synergy/CProtocolUtil.cpp synergy/CProtocolUtil.h synergy/CScreenMap.cpp synergy/CScreenMap.h synergy/CServer.cpp synergy/CServer.h synergy/CServerProtocol.cpp synergy/CServerProtocol.h synergy/CServerProtocol1_0.cpp synergy/CServerProtocol1_0.h synergy/CTCPSocketFactory.cpp synergy/CTCPSocketFactory.h synergy/CXWindowsPrimaryScreen.cpp synergy/CXWindowsPrimaryScreen.h synergy/IPrimaryScreen.h synergy/ISecondaryScreen.h synergy/IServerProtocol.h synergy/ISocketFactory.h synergy/KeyTypes.h synergy/Makefile synergy/MouseTypes.h synergy/ProtocolTypes.h synergy/XSynergy.cpp synergy/XSynergy.h test.cpp Started over. ---------- 2001/05/14 21:14:49 crs MouseTypes.h flipped order of buttons to match default X setup. ---------- 2001/05/14 21:14:25 crs CClient.cpp CEvent.h CScreenProxy.cpp CScreenProxy.h CServer.cpp CXScreen.cpp CXScreen.h IScreen.h KeyTypes.h added other mouse and key event handling to CXScreen. key repeat isn't implemented and modifier masks are ignored. modifier masks are new; they indicate the modifier key (shift, ctrl, etc) state at the time of the key event. ---------- 2001/05/13 12:43:16 crs CUnixTCPSocket.cpp CUnixTCPSocket.h more fixes to reduce latency. nagle agorithm doesn't seem to stay off on a socket on linux because a connection clearly doesn't send data as often as possible. will have to implement a UDP socket to reduce overhead and avoid these delays. wanted to do that anyway. ---------- 2001/05/13 12:21:11 crs CUnixTCPSocket.cpp CXScreen.cpp fixes to avoid update delays. ---------- 2001/05/13 12:07:32 crs CMessageSocket.cpp fixed bug in read() that miscalculated the message length. ---------- 2001/05/13 11:40:29 crs BasicTypes.h CClient.cpp CClient.h CEvent.h CEventQueue.cpp CEventQueue.h CMessageSocket.cpp CMessageSocket.h CProtocol.h CScreenProxy.cpp CScreenProxy.h CServer.cpp CServer.h CSocket.cpp CSocket.h CSocketFactory.cpp CSocketFactory.h CString.h CTrace.cpp CTrace.h CUnixEventQueue.cpp CUnixEventQueue.h CUnixTCPSocket.cpp CUnixTCPSocket.h CUnixXScreen.cpp CUnixXScreen.h CXScreen.cpp CXScreen.h IClient.h IClipboard.h IEventQueue.h IJob.h IScreen.h IServer.h ISocket.h KeyTypes.h Make-linux Makefile MouseTypes.h TMethodJob.h XBase.cpp XBase.h XSocket.h main.cpp tools/depconv initial revision of synergy. currently semi-supports X windows on unix, but client screens don't simulate events other than mouse move. also not supporting clipboard at all yet and the main app is just a temporary framework to test with. must clean up protocol and communication. ----------