Commit Graph

46 Commits

Author SHA1 Message Date
crs 7c391a0f35 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-16 16:52:26 +00:00
crs 4b46862026 checkpoint. refactored win32 code. had to edit and rename some
files so this is only a checkpoint.
2002-07-15 15:01:36 +00:00
crs f48a5fe387 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-13 22:00:38 +00:00
crs 52b60d5175 refactoring. refactored stuff in client (with changes to server
as necessary).
2002-07-12 20:41:23 +00:00
crs ef7fe1f283 checkpoint. making win32 and X primary screen code more similar
in order to share code later.
2002-07-11 18:58:49 +00:00
crs 3468f3d503 more refactoring. 2002-07-10 21:22:28 +00:00
crs e267d1dc1c 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:03:16 +00:00
crs 504bfa2def 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 19:20:21 +00:00
crs c961115686 cleanup. 2002-06-22 12:09:49 +00:00
crs ede18cb7f3 cleaned up some minor bugs. 2002-06-21 17:55:47 +00:00
crs bebb63ac53 checkpoint. initial support for multiple displays on win32. 2002-06-19 17:03:29 +00:00
crs 9c7e863d77 checkpoint. more conversion to automake. 2002-06-19 11:23:49 +00:00
crs fe16546a1d formatting changes. 2002-06-17 13:31:21 +00:00
crs c54d92b78f commented out half-duplex flags that should never have been
uncommented.
2002-06-11 18:33:03 +00:00
crs 62519b19fe indentation and other formatting changes. also cleaned up
#includes.
2002-06-10 22:06:45 +00:00
crs 1cbdaee31b 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-03 13:45:30 +00:00
crs 869617a34a now ignores key if there's no key mapped for a required modifier.
was asserting (on the wrong expression).
2002-06-02 19:04:24 +00:00
crs 7cf20d9ad0 removed getEventMask() and fixed some comments. also now using
toggle key states in updateModifiers().
2002-05-27 18:28:06 +00:00
crs 854d2c7fbf 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-27 16:22:59 +00:00
crs 5fc87baa0f 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 17:54:28 +00:00
crs 24f5b66cf3 added support for mouse wheel on X. 2002-05-23 15:50:38 +00:00
crs f8f1fb4041 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:52:03 +00:00
crs 2d7e3e8a61 fixed caps-lock handling. 2002-05-04 19:43:20 +00:00
crs cd3e49a9a9 checkpoint. fixing up handling of half-duplex num-lock. 2002-05-04 18:31:54 +00:00
crs 8de2696369 checkpoint. changed when toggle keys toggle (now always on
release).  must see if this works.
2002-05-04 18:09:02 +00:00
crs f3c70dc300 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-04 11:23:11 +00:00
crs b19fdd86cf 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:23:48 +00:00
crs afa14b67c2 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 12:14:55 +00:00
crs ab62dec0f7 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:49:30 +00:00
crs 5641a875c1 checkpoint. made changes to support key autorepeats on X. 2002-05-03 11:26:44 +00:00
crs f536e1cece 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 18:30:05 +00:00
crs b279c80608 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 17:48:11 +00:00
crs 56877bcc7d Added logging and handling of "half-duplex" caps-lock key. 2002-04-30 16:25:29 +00:00
crs ea6b347b18 Indentation changes. 2002-04-29 14:40:01 +00:00
crs 6a9a180688 Made event selection a little more robust. Also fixed failure
to marshall clipboard data when updating primary clipboards.
2002-04-29 14:08:48 +00:00
crs 6299eea7b6 Added missing event mask. 2002-04-29 13:49:56 +00:00
crs 3be014f8f5 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-28 00:46:15 +00:00
crs 9ac0473d5a 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 18:06:40 +00:00
crs f9170eb139 Added support for multiple clipboards. This is mainly to
support both PRIMARY and CLIPBOARD selections on X windows.
2002-04-27 14:19:53 +00:00
crs 79b4d333fa 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:14:46 +00:00
crs 419eadfaf9 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-26 17:38:01 +00:00
crs 7d9fa41514 added handling for DestroyNotify of clipboard requestors. 2002-04-25 10:43:53 +00:00
crs ff9c3ba7af checkpoint. implementing clipboard owner in x windows. 2001-11-25 22:20:41 +00:00
crs f15c9df85b 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-25 18:32:41 +00:00
crs 3f6146b15f checkpoint. merging win32 code. server on X is currently broken
and client probably is.
2001-11-19 00:33:36 +00:00
crs 51505783aa moved client and server files into their own respective
directories.
2001-11-18 23:14:28 +00:00
Renamed from synergy/CXWindowsSecondaryScreen.cpp (Browse further)