SynergyClient - Client for the Remote Mouse/Keyboard Synergy-protocol Introduction: Synergy is used to control several computers using one keyboard and mouse, making all computers appear as one with multiple monitors where you seamlessly can move the mouse between the screens, enter text and copy/paste between them. The Synergy server is the computer which has the keyboard and mouse attached, the other computers just needs a Synergy client - which this is an implementation of for the majority of the Amiga platforms. Usage: > SynergyClient ? SERVERHOSTNAME/A,CLIENTNAME/A,SERVERTYPE,TIMEOUTSECONDS/K/N,ONE2ONEMOUSE/S,LOGLEVEL/K/N,QUIET/S: SERVERHOSTNAME: Synergy server to connect to CLIENTNAME: Client/screen name as configured on the server. SERVERTYPE: Either windows, linux or mac - used for mapping the keys. TIMEOUTSECONDS: How many seconds to wait until retrying a connect. Defaults to 5 to make it retry quickly to avoid waiting a unecessary long time on connection issue. Set to 0 for the default TCP/IP stack timeout, which usually is in the order of minutes. ONE2ONEMOUSE: Use the screen resolution as mouse resolution. On MorphOS this is required as it reports an incorrect combination of resolution, spriteResolution and viewResolution, making it impossible to calculate the mouse resolution. LOGLEVEL: Default level is 1 - "Normal", with increasing levels of log output up to the highest level of 7 - "Insanity", with large amount of output when on client screen combined with continious output all the time from for example keepalives. QUIET: Supresses all output except for errors. Example: 1> SynergyClient 192.168.0.3 UHCAmiga linux Installation: Normally, for permanent use, you would add it to your S:Network-Startup script (or equivalent) like this: Run >NIL: SynergyClient 192.168.0.3 UHCAmiga linux QUIET Relevant info: This client is designed with the intent to keep working even if there are intermittent issues. So if something goes wrong and it is disconnected from the server, or if it fails to connect to the server, it will attempt to reconnect again and again. To make it quit, you have to explicitly send it a SIGBREAKF_CTRL_C signal either by using the Break command or by pressing Ctrl-C in the console where it was launched. Performance tips: - To avoid choppy mouse movements, make sure your TCP/IP-stack priority is higher than 0, else the TCP/IP stack will be starved by any normal task taxing the CPU and the delivery of events from the Synergy server will be delayed. - If you are using a gaming mouse on the computer running the Synergy server and running it at a polling rate of 1000Hz, you will effectively DDoS the Amiga with 1000 Synergy mouse move messages per second when you move the mouse. This high message rate for mouse moves makes the Amiga side mouse movement very inefficient - very much CPU required to process such high message rate. If a backlog of mouse messages is detected in SynergyClient, it will start combining them before sending them mouse move events to input.device to lessen the load, but it cannot do anything to lessen the load created simply by the Synergy server sending the Amiga 1000 Synegy messages per second. If you are experiencing issues with this, the only way to improve it currently (as the Synergy server has no rate limiting), is to lower the mouse polling rate in the OS of the Synergy server. This setting is usually found in the mouse-supplied configuration software. Known issues caused by various software and hardware limitations: - It is not possible to update qualifier state for input.device in the 68k AmigaOS unless you have AmigaOS 3.2 or newer, where input.device received support for the IND_ADDEVENT command. The most common symptom from this is that you cannot click on links in IBrowse. - When you lock the Synergy server to a screen, the same relative position mouse events will be generated as if you were using a regular mouse on the Amiga (IECLASS_RAWMOUSE events with IEQUALIFIER_RELATIVEMOUSE set). However, if you use the Synergy mode where you can seamlessly move the mouse pointer between screens, absolute position mouse events will be generated (IECLASS_POINTERPOS events). In general, this is not a common issue, but some software can have problems with it. If you are experiencing issues where software is not reacting as intended to mouse movement, try locking Synergy to that screen and see if it helps. If it helps, please report to the author of that software that it has issues with absolute position mouse events. - The PC-style keyboard connected to the server does not have a dedicated backslash key ("|\") with a specific key code assigned, like the Amiga keyboards have, disregarding layout. The PC-style keyboards instead only have the right international key, similar to the Amiga keyboard right international key, but on the PC-style keyboard this key travels around - in some cases it is left of backspace or between backspace and enter, acting as backslash key ("|\"), in other cases it is left of enter acting as right international key, as on the Amiga. The problem with this is that there is one key missing on the PC-style keyboard. SynergyClient tries to solve this by querying the system default keymap on the Amiga to see if either the backslash or right international key can be replaced by other keys on the keyboard and then map the server side travelling right international key to the one that can't be replaced. This works fine in the majority of cases, the exception being the Swiss keymaps, where there is no mapping for "$" anywhere else on the keyboard apart from the right international key and at the same time, the backslash key cannot be replaced either. In this case, the backslash key is mapped as there are more non-replaceable strings generated by that key. The solution in such cases is to modify the keymap on the Amiga so one of the backslash (0x0D) or right international (0x2B) keys can be replaced by other keys or key combinations. - The Synergy server on OS X thinks both left and right cmd, alt and shift keys are the left variant. For cmd which maps to the Amiga key this is a problem as left and right makes a big difference, so a mapping from F12 to the right Amiga key has been added as a workaround.