Commit Graph

8 Commits

Author SHA1 Message Date
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 19559d4b4e Updated keyboard handling on win32. Still needs some work to
avoid shadowing key state in multiple places.  Also got locked
to screen and reported key appeared to be wrong.
2004-03-17 20:59:25 +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 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 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 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 47ca409ff9 Merged primary and secondary screens into one class. 2003-09-02 22:05:47 +00:00