Commit Graph

535 Commits

Author SHA1 Message Date
crs
8f9cc6e476 Minor X11 keyboard code cleanup. Also now handling KeyPress with
keycode == 0 generated by XFilterEvent() by using the keycode from
the previous KeyPress.
2003-07-05 14:49:08 +00:00
crs
47b480c0bc Compress sequential MappingNotify events into one. 2003-07-05 14:47:41 +00:00
crs
24fc257b3c Rewrote key handling on X11 client. This should fix problems
with applying the incorrect shift and mode switch modifiers to
some keycodes, such as getting Pointer_EnableKeys when pressing
shift with NumLock enabled.
2003-07-01 19:35:28 +00:00
crs
1eab99d70c Added support for input methods. Only handling IMs that don't
need a precompose area or status area.  This includes IMs that
do simple dead key composition.  This only changes the server.
The client still does not decompose a character it cannot
generate directly into the keysyms to compose the character.
2003-06-22 21:27:38 +00:00
crs
48965e2381 More fixes for X11 client keyboard handling. 2003-06-22 16:39:25 +00:00
crs
a6f21bff90 More fixes for X11 client keyboard handling. 2003-06-22 16:39:02 +00:00
crs
92539f2ccc Checkpoint for improving X11 client key handling. Should prevent
unintentional Pointer_EnableKeys (i.e. generating NumLock press
and release around a shift press).
2003-06-22 15:01:44 +00:00
crs
5ca0e026ab Another ctrl+alt+del checkpoint. 2003-06-08 22:20:01 +00:00
crs
784ab183ae ctrl+alt+del emulation checkpoint. 2003-06-08 22:12:12 +00:00
crs
921526ab56 More DEBUG2 level debugging of keyboard handling. 2003-06-08 16:31:52 +00:00
crs
f35a4541ee Added new file to Makefile. 2003-06-08 15:42:05 +00:00
crs
7464e99ba7 Fixed ctrl and alt keys on win32 clients. Was broken by a recent
fix to character handling.
2003-06-02 20:07:16 +00:00
crs
c70ca5fbff Fixed errors in log strings. 2003-06-02 20:06:20 +00:00
crs
7b58356fc7 Added menu item on win32 tray icon to copy the last 1000 lines from
the log to the clipboard.
2003-06-02 20:06:03 +00:00
crs
5a65e36c99 Added workaround for broken clipboard owners that report the
type of TARGETS as TARGETS instead of ATOM.
2003-05-26 09:50:35 +00:00
crs
af24ae6db7 No longer installing clibboard format for plain text on windows nt
family because nt automatically converts to and from the unicode
format.  This may fix text encoding errors when synergy puts
non-ascii text on the clipboard and other clients prefer CF_TEXT
to CF_UNICODE (which they should not because synergy lists
CF_UNICODE first).
2003-05-26 09:49:38 +00:00
crs
3fc87e7f87 Fixed loss of ctrl+alt+del key releases when the Winlogin desktop
is accessible (was already fixed when inaccessible).  This change
also ignores press and release of virtual key 0, which should never
happen but does according to one user.
2003-05-26 09:46:52 +00:00
crs
3bd3e7a17c Fixed unsigned compare against zero. Changed win32 priority to
maximum.
2003-05-21 21:22:14 +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
bdecca0bcc Attempt to improve key event synthesis. This change adds support
for dead keys and attempts to choose the correct code page for the
thread that will (probably) receive synthesized events.
2003-05-20 19:15:58 +00:00
crs
01fab82edc Reduced maximum priority in debug build. 2003-05-20 19:14:24 +00:00
crs
c0cd5cfce0 Changed version to 1.0.9 in configure.in. 2003-05-17 20:59:57 +00:00
crs
5484751997 Changed version to 1.0.9. 2003-05-17 20:58:48 +00:00
crs
dc6652a21a Fixed getting locked to screen after ctrl+alt+del. Also fixed
cursor not being hidden on win32 server when on client screens
(which happened when using low-level hooks).
2003-05-17 20:58:27 +00:00
crs
07ed8ebd1c Added documentation for xtestIsXineramaUnaware option. 2003-05-17 14:10:11 +00:00
crs
3fc39eab4e Fixed previous fix. Was trying to avoid using XWarpPointer() when
warping on screen 0.  That just doesn't work if screen 0 is not at
0,0.  So now always use XWarpPointer() if there are multiple
xinerama screens and the appropriate option is enabled.
2003-05-17 14:03:32 +00:00
crs
51919a50e6 Added workaround for when XTest is unaware of Xinerama. When that's
true, faking a mouse motion outside screen 0 is clamped onto screen 0.
When the workaround is enabled, we use XWarpPointer() instead of an
XTest fake motion.  This isn't perfect but the only real fix requires
patching XTest.
2003-05-17 13:44:24 +00:00
crs
92ff58a5af Added support for old versions of XF86keysym.h that are missing
some expected #defines.
2003-05-17 12:48:32 +00:00
crs
b87b1b1894 Updates for version 1.0.8. 2003-05-10 18:16:49 +00:00
crs
6f22c4d550 Changed version to 1.0.8. 2003-05-10 17:27:05 +00:00
crs
a9c3d0be2f Updated documentation. 2003-05-10 17:26:42 +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
0e58bab76c Added support for 4th and 5th (non-mouse-wheel) buttons and
"Internet" keyboard keys.
2003-05-04 21:40:42 +00:00
crs
b840c61f6c Added screen saver synchronization option to win32 launcher dialog. 2003-05-03 15:16:30 +00:00
crs
ddfc05244b Removed accidental debugging code. 2003-05-03 14:54:03 +00:00
crs
ed439ec33c Added global configuration option to disable screen saver
synchronization.
2003-05-03 14:38:36 +00:00
crs
65de05e3ec Forgot to restore global auto-repeat configuration on exit. 2003-05-03 13:57:52 +00:00
crs
3fc40e1939 Now warping mouse to center of screen when leaving client screens.
Some users requested this.  Also, the hider window is mapped before
warping the mouse so the active window shouldn't change if the focus
policy is point-to-focus.  Showing the window first can also reduce
the likelihood of seeing the cursor briefly in its hidden position.
2003-05-03 13:50:06 +00:00
crs
af110dbce2 Now turning off auto-repeat when on an X11 client. This prevents
the server from auto-repeating fake events, which is undesired
since synergy will do the auto-repeating itself.  This also
disables auto-repeat on any keys locally configured on X11 to not
auto-repeat.  That's mainly to suppress auto-repeat on modifier
keys, which auto-repeat on win32 but not X11.
2003-05-03 13:28:21 +00:00
crs
75729cef46 Fixed a few win32 keyboard/mouse problems. First, the mouse hook
now captures non-client area mouse messages.  Previously, these
were ignored (because i forgot about them) and they caused all
kinds of problems because they weren't forwarded.  For example,
clicking on a window border would cause the window to start
resizing when the mouse came back to the server screen.  Moving
inside a title bar meant that the mouse wouldn't move on the
client screen.

Second, because non-client messages are now handled, the full
screen transparent window is no longer necessary to capture
input so it's never displayed.  (The window is still necessary
for clipboard ownership so it's still created.)  No transparent
window means no screen flashing.  It also means we don't have to
become the foreground and active window.  This plays better with
apps that minimize or restore when they're no longer the
foreground application/active window.

Third, fixed the low level keyboard hook to forward toggle key
updates, which it was neglecting to do.

Finally, keyboard and mouse input is always forwarded from the hook
to the primary screen handler which then shadows the current key
and mouse button state.  If we're using low level hooks then this
isn't really necessary and GetKeyState() always returns the right
info but without low level hooks it means we can just use the
shadow state.  It also means we don't have to show our window in
order to get the system's key state table up to date, fixing the
screen flash when checking for the scroll lock state.
2003-05-03 12:54:22 +00:00
crs
8d9134f93a Boosted priority of main synergy threads to be very high (highest
realtime priority).  After some testing it appears that anything
less than this can starve synergy in some circumstances, preventing
it from forwarding messages to clients.  This is a rather risky
change since synergy can now virtually take over a system if it
behaves badly.  This change only affects windows systems since
lib/arch of other platforms don't yet attempt to boost priority.
2003-05-03 12:37:03 +00:00
crs
42ea6306f6 Fixes to previous checkpoint. Non-ascii keys seem to work correctly.
Still not supporting key composition on X11.
2003-04-27 18:05:32 +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
cf7ab3459d Added KeySym <-> Unicode mappings. Changed code to use those
mappings to better support Unicode key events.
2003-04-24 20:11:38 +00:00
crs
7791b167bf Added exec.dsp to EXTRA_DIST. 2003-04-24 20:10:13 +00:00
crs
54cc95123b Win32 project configuration fixes. 2003-04-16 20:59:25 +00:00
crs
56bafdb0e2 Minor win32 fixes. 2003-04-16 20:59:14 +00:00
crs
368d8cae39 Now allowing screen names with underscores. 2003-04-16 20:05:00 +00:00
crs
aeb3f760d0 Fixed incorrect initialization of an XMotionEvent. 2003-04-14 22:16:21 +00:00
crs
6a108ed2d5 Added workaround for apparent Xinerama bug when warping the pointer.
This should allow synergy to be used on a system using Xinerama to
create a single logical screen from multiple physical screens.
2003-04-14 22:15:56 +00:00