Commit Graph

33 Commits

Author SHA1 Message Date
crs
4805453190 Fixed failure to initialize double tap and wait to switch timeouts. 2004-03-31 22:12:53 +00:00
crs
e2a31e8b66 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:26 +00:00
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
a27c6ad2c6 Server now disables jump zones when scroll lock is active. 2004-03-06 16:20:08 +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
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
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
1861f21fb5 Checkpoint. synergys now works. Still need to do lib/client and
synergyc.
2004-02-14 14:04:36 +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
47ca409ff9 Merged primary and secondary screens into one class. 2003-09-02 22:05:47 +00:00
crs
d577d457e3 Made double tap require moving farther away from the tapped edge
before arming.  This should reduce spurious double taps.
2003-05-21 19:38:11 +00:00
crs
923935060a 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-08 21:59:35 +00:00
crs
11f90022e0 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-27 17:01:14 +00:00
crs
a7e2141ede Added a log message why the user is locked to the screen. 2003-03-17 22:32:01 +00:00
crs
1d17f865ea 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-03-12 22:34:07 +00:00
crs
f411df65fb 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-23 19:29:08 +00:00
crs
7bbd33d787 Added support on X11 for a global option to delay switching screens
when the mouse reaches a jump zone.
2003-02-22 21:53:25 +00:00
crs
366537dc22 Added support for heartbeat global option. 2003-02-22 16:20:23 +00:00
crs
24c0b3fd32 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-16 21:28:15 +00:00
crs
a8bd4e7ff0 Moved log message into conditionals so it only appears when the
conditions are true.
2003-01-14 19:46:41 +00:00
crs
6c56f8a9fc Removed unnecessary variable names. 2003-01-12 16:35:11 +00:00
crs
b2e11d3d35 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-12 16:08:45 +00:00
crs
f65921bc3f 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.
2003-01-04 22:01:32 +00:00
crs
1eb2ed2d3f No longer sending options if there aren't any and no longer
sending a reset before sending options (the caller can do
that if necessary).
2002-12-23 14:49:14 +00:00
crs
3fc1ddf6ce 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-23 13:55:21 +00:00
crs
1d7f3d2aaf 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 21:37:31 +00:00
crs
c405c58c64 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 22:01:41 +00:00
crs
d8dde48c2b Changed log() and logc() macros to LOG() and LOGC(), respectively.
This avoids a conflict with the standard math library log()
function.
2002-10-15 21:29:44 +00:00
crs
5e4289dc80 now logging bind failures as warnings. 2002-09-14 20:56:50 +00:00
crs
f6c3a9453b added copyright to top of each file. 2002-08-02 19:57:46 +00:00
crs
5e40de48f9 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-31 12:39:34 +00:00
crs
69496abbab now using class factories to move some decisions from the libraries
into the application.
2002-07-30 18:31:00 +00:00
crs
fee4095624 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 16:52:46 +00:00