Commit Graph

338 Commits

Author SHA1 Message Date
crs fe044cfab1 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-27 21:22:36 +00:00
crs 7c7b41d751 Added eject key mapping. 2004-10-24 18:18:21 +00:00
crs 7ff65e296e Fixed comment. 2004-10-24 18:18:11 +00:00
crs f65d53d06a 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:18:01 +00:00
crs 9f6c8f937a 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:15:33 +00:00
crs 13a0f8671f Added eject and sleep key IDs. 2004-10-24 18:14:18 +00:00
crs 135c670182 Added VK_SLEEP. 2004-10-24 18:12:38 +00:00
crs 9a1de9f105 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 19:43:37 +00:00
crs 3f7f946ab0 Fixed bug in half-duplex keys. Was updating their toggled state
om every release as well as press.
2004-10-23 18:40:31 +00:00
crs 07e2a3e511 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-29 21:59:26 +00:00
crs 376bba970b 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:25:35 +00:00
crs 3c3c31008e Added half-duplex option for scroll lock key. 2004-09-28 22:19:11 +00:00
crs dc499149f4 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:54:49 +00:00
crs e7ae6831cf Worked around minor gcc 3.3.2 -O3 compiler bug. 2004-09-27 21:23:47 +00:00
crs 06987c2070 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-09-27 20:53:54 +00:00
crs b72d882f41 Fixed handling of auto-repeat, ctrl + character key, and button
to KeyCode translation.
2004-08-04 22:48:08 +00:00
crs 8c93cfdb24 Fixed space key on OS X server -> client. 2004-08-03 22:02:57 +00:00
crs 0df2e9ce6a Fixed warnings in deployment build style on OS X. 2004-08-03 21:14:30 +00:00
crs b66a403941 Now using <poll.h> instead of <sys/poll.h>. Also added a bit
to autoconf to ensure we don't use poll on OS X.
2004-07-31 11:19:39 +00:00
crs 6284286d4f 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:11:27 +00:00
crs 3d2fa92654 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:59:26 +00:00
crs 898a9af3b0 Added comment about a problem detecting the screen saver. 2004-07-29 21:57:42 +00:00
crs b1ead05a3c 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:53:30 +00:00
crs bac1f24a53 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:50:17 +00:00
crs ef85356f45 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-29 21:48:40 +00:00
crs 970c8b2fba 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-28 21:54:39 +00:00
crs 59e466da0a Changed version to 1.1.8. 2004-07-25 14:18:50 +00:00
crs 95e4963f1d 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-22 21:11:14 +00:00
crs ccb45bc2bc (Maybe) fixed a problem detecting when win32 screen saver started. 2004-06-12 20:48:04 +00:00
crs a80ddb4a78 Fixed bug in converting wide characters to multibyte. 2004-06-12 20:46:35 +00:00
crs 4836452038 Fixed assertion failure when client connection fails immediately. 2004-06-10 21:25:09 +00:00
crs 9c9db6958f 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:56:35 +00:00
crs 613413fb50 Added OS X precompiled header file for XCode compiles. 2004-06-10 19:42:01 +00:00
crs 20bfb04886 Changed version to 1.1.7. 2004-06-10 19:32:40 +00:00
crs 2de2b72af9 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-06-07 21:06:49 +00:00
crs 06d77fe314 Merged Bertrand's OS X changes. Also added support for mouse wheel
on OS X server.
2004-05-26 19:23:32 +00:00
crs 84247b4c6c 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:32:13 +00:00
crs 88c6769ebe 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-18 20:26:48 +00:00
crs ce399937f0 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-17 21:55:38 +00:00
crs 93d74a1fda Fixed handling of screen resolution changes. 2004-05-16 18:04:36 +00:00
crs 62b5cefb64 Changed VC++ projects to put release targets in ./build, debug
targets in ./debug, and intermediate files under ./gen.
2004-05-16 18:02:49 +00:00
crs c9046a9557 Changed version to 1.1.6. 2004-05-15 19:44:05 +00:00
crs 5a990691ca Avoided duplicate logging of screen size on win32. 2004-05-15 19:43:33 +00:00
crs d9387dbed7 Added bertrand landry hetu's mac OS X port to date. 2004-05-15 19:41:46 +00:00
crs 242050d0f2 Now restoring input focus when entering the screen to the window
that had the focus when the screen was left.
2004-05-12 20:28:00 +00:00
crs 455d0210b2 Fixed thread reference leak in network code. 2004-05-12 19:50:58 +00:00
crs df4807950a Fixed build error in gcc 3.3. 2004-05-12 18:54:03 +00:00
crs ab0a693891 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-04 19:37:46 +00:00
crs fdf4b2604d Fixed X11 BMP and other bitmap conversion. Had data alignment
problems.
2004-05-03 21:14:01 +00:00
crs 4b212ad704 Added image/bmp and text/html support to X11. 2004-05-02 21:31:19 +00:00