Commit Graph

238 Commits

Author SHA1 Message Date
crs
9e995bedbf 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:53:32 +00:00
crs
f068232643 Typecasting fix to compile on old solaris. 2004-03-08 20:45:53 +00:00
crs
a27c6ad2c6 Server now disables jump zones when scroll lock is active. 2004-03-06 16:20:08 +00:00
crs
5593573182 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:34:30 +00:00
crs
ffa966747b Fixed handling of winsock connect event. Was always immediately
indicating socket had connected.
2004-02-29 21:33:20 +00:00
crs
4ac756fc28 Fixed cursor hiding on win32. Still fails occassionally. 2004-02-29 21:32:00 +00:00
crs
8f083a2e65 Fixed comment. 2004-02-29 17:36:32 +00:00
crs
b8606412d6 Switched to doxygen comments. 2004-02-29 17:29:01 +00:00
crs
c3135b1b1c 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 17:28:51 +00:00
crs
1ccb92b888 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:48:22 +00:00
crs
d6ec331b09 Made all arch sockets non-blocking. 2004-02-29 16:11:17 +00:00
crs
82dffeb498 Generalized signal handling. Now handling SIGHUP in addition
to SIGINT and SIGTERM.  Setup SIGHUP to reload the server's
configuration.
2004-02-28 17:49:29 +00:00
crs
9f7e909361 Fixed incorrect accumulation of newlines in log. 2004-02-28 16:06:00 +00:00
crs
3dea8f8c5d Now using first set options message as end of handshake. 2004-02-28 16:00:54 +00:00
crs
1a9ddb9110 Added missing files. 2004-02-28 12:30:52 +00:00
crs
63db68aee5 Added missing file. 2004-02-28 12:24:47 +00:00
crs
54acf38d82 Merged Win32 updates. Added full warnings on g++. Fixed bug in
client when handling server rejection.
2004-02-28 12:19:49 +00:00
crs
612a2054e6 Updated Makefiles and win32 projects and removed dead classes. 2004-02-15 18:12:35 +00:00
crs
48908242d2 Checkpoint. Conversion to event driven system complete for Unix.
Still need to convert win32 platform specific files.
2004-02-15 17:32:11 +00:00
crs
901a76df0d Minor cleanup. 2004-02-14 16:30:27 +00:00
crs
1861f21fb5 Checkpoint. synergys now works. Still need to do lib/client and
synergyc.
2004-02-14 14:04:36 +00:00
crs
c44c18bfdc 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 17:07:11 +00:00
crs
3bcdf139a7 No longer sending incorrect disconnect events in read() and
removed redundant sending of disconnect event in close().
2004-02-08 16:51:45 +00:00
crs
848aee7a3a 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 21:09:22 +00:00
crs
618aa7fedd 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-02-01 20:56:52 +00:00
crs
4c7e524896 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.
2004-01-24 16:09:25 +00:00
crs
fa215f1b13 Merged changes from 1.0 branch, including Japanese keyboard
support (thanks to Kazuhide Takahashi).
2003-09-28 11:58:38 +00:00
crs
175843b4fb Changed server side of win32 to send ctrl+alt+<key> if the key
doesn't map to anything via AltGr.  This is an improvement over
the previous code which would simply discard the key but it
still behaves slightly differently than pressing ctrl+alt+<key>
on the server:  if that combination is a hotkey on the server
then the hotkey is performed, even if the combination is also
a valid AltGr combination;  on the client, we'll get the AltGr
combination in preference to the hotkey.
2003-09-08 19:42:00 +00:00
crs
f4d7ea3d7b Fixed button mapping. Was returning the physical button instead of
the logical button, but XTest wants the logical button.  Apparently,
the XTest implementation on my mac laptop has it backwards.
2003-09-07 13:08:30 +00:00
crs
6d3c536717 Fixed potential failure to use synergy's keyboard layout when
using low-level keyboard hooks, fixed handling of the global
keyboard layout dead key buffer, fixed identification of dead
keys, fixed synthesis of AltGr (now using right-alt instead
of left-alt), now using VK_DECIMAL for Separator key, fixed
bug where an unmappable key was treated as virtual key 0xff,
and added support for shift-space (shift was being discarded).
Also fixed failure to hide cursor when leaving primary screen
and added support for handling PrintScreen key.
2003-09-06 23:17:41 +00:00
crs
80f3998398 Changed name-to-address translation to only use IPv4 addresses
and to only copy as much address as fits in sockaddr_in.sin_addr,
in case hostent.h_length is wrong.
2003-09-03 21:54:18 +00:00
crs
33e359a384 Fixed failure to unlock mutex in CXWindowsScreen::mainLoop()
when returning due to a quit event.
2003-09-03 21:49:57 +00:00
crs
8395f69899 Now leaving client screen or entering server screen if necessary
when disabling the screen.
2003-09-03 21:26:52 +00:00
crs
a237cbacdb Fixed suppression of auto-repeat for keys that don't auto-repeat.
Had forgotten to query the auto-repeat per-key mask.
2003-09-03 21:22:25 +00:00
crs
9311250c22 Fixed uses of X11 display without mutex held. 2003-09-03 21:21:22 +00:00
crs
809a347333 Removed heap allocation when polling sockets. 2003-09-02 22:06:07 +00:00
crs
47ca409ff9 Merged primary and secondary screens into one class. 2003-09-02 22:05:47 +00:00
crs
4fea7719f3 Merged changes from 1.0 branch. 2003-09-02 21:41:00 +00:00
crs
2f9cdfd1b2 Integrated fixes from 1.0 branch. 2003-08-06 21:09:25 +00:00
crs
345de4cd11 Integrate fixes from 1.0 branch. 2003-08-03 21:24:45 +00:00
crs
221628fd84 Checkpoint refactoring. CSecondaryScreen now does the work common
across platform secondary screens.  X11 screen was compiled and
tested but not the win23 screen.  Will next change inheritance
hierarchy.
2003-07-26 13:41:41 +00:00
crs
b59e105bc4 Changed version to 1.1.3. 2003-07-17 21:17:08 +00:00
crs
e1985f52c9 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-17 21:16:58 +00:00
crs
99792b13a5 Changed version to 1.1.2. 2003-07-16 22:38:54 +00:00
crs
0325de2e12 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 22:38:43 +00:00
crs
b949e108a0 Changed version to 1.1.1. 2003-07-16 21:41:09 +00:00
crs
9c4267ed11 Fixed handling of shift/ctrl/alt on special keys on win32 server. 2003-07-16 21:40:57 +00:00
crs
5488b77d61 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 20:42:11 +00:00
crs
be07a171cc Removed ignoreNumLock option. It doesn't really seem to be
necessary.
2003-07-13 18:14:35 +00:00
crs
745c5421be 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-13 16:57:08 +00:00