Commit Graph

177 Commits

Author SHA1 Message Date
crs 519871fe15 Changed X11 key mapping to fallback to the modifier keysym with
the opposite handedness if the desired handedness is missing.
For example, if Alt_R is unmapped as it often is on keyboards
with Mode_switch, the client will use Alt_L if it is mapped
when told to synthesize Alt_R.  This should fix handling of
AltGr sent from a win32 server.  AltGr is literally just
Control_L and Alt_R and, previously, an X11 client without
Alt_R mapped would only simulate Control_L.  This does not
address the fact that the user may really just want the Alt
modifier;  there are already hueristics to attempt to figure
that out.
2004-10-30 16:41:36 +00:00
crs 719757ca22 Improved X extension detection in configure and added handling
of dpms.h headers that don't have function prototypes.
2004-10-30 16:16:32 +00:00
crs 91d1fcf38d Fixed bugs in configuration. Wasn't doing configuration for DPMS
and Xinerama correctly.  Also was using '#if defined(...)' instead
of '#if ...' for testing configure macros in some places.  This
yields the wrong answer if the macro is set to 0, which means
missing/disabled.
2004-10-28 21:40:56 +00:00
crs 0ff6cdf5b1 Now detaching hook thread after event processing. This may fix
problems with the Alt key being synthetically down when using
the back and forward bindings on a mouse with extra buttons.
2004-10-27 21:38:05 +00:00
crs 4d7d2c618f Fixed bug in mouse wheel handling. Was reacting with mouse wheel
events when receiving any event with message == 0 when the system
doesn't use old style mouse wheel events.  Some programs (especially
the flash plugin) would send events with message == 0 causing
undesired wheel scrolling.
2004-10-27 21:29:19 +00:00
crs fe044cfab1 Fixed problem with multimonitor on OS X. The bug was simply that
the cursor wasn't being parked in the center of the main screen
but instead at the center of the total display surface.  This could
place it off or dangerously close to the edge of the transparent
window that covers the main screen and prevent synergy from capturing
mouse motion.
2004-10-27 21:22:36 +00:00
crs 7c7b41d751 Added eject key mapping. 2004-10-24 18:18:21 +00:00
crs 7ff65e296e Fixed comment. 2004-10-24 18:18:11 +00:00
crs f65d53d06a Fixed dead key and AltGr+shift handling on X windows. Also fixed
bug with decomposing characters that have no direct key mapping
but do have a direct key mapping for the character with the opposite
case.
2004-10-24 18:18:01 +00:00
crs 9f6c8f937a Made OS X key mapping dynamic based on current key layout. It
now includes full support for dead keys and non-ascii glyph keys.
2004-10-24 18:15:33 +00:00
crs 135c670182 Added VK_SLEEP. 2004-10-24 18:12:38 +00:00
crs dc499149f4 Fixed compile on gcc 3.4 and later. gcc started doing access checks
for class visibility on pointers to member function 'using the
qualifying scope of the name itself.'  what this means is if method
'prot' is declared protected in class A and B inherits from A then
a method in B cannot use &A::prot but can use &B::prot.  Synergy
now does this in the one place it had not.
2004-09-27 21:54:49 +00:00
crs b72d882f41 Fixed handling of auto-repeat, ctrl + character key, and button
to KeyCode translation.
2004-08-04 22:48:08 +00:00
crs 8c93cfdb24 Fixed space key on OS X server -> client. 2004-08-03 22:02:57 +00:00
crs b66a403941 Now using <poll.h> instead of <sys/poll.h>. Also added a bit
to autoconf to ensure we don't use poll on OS X.
2004-07-31 11:19:39 +00:00
crs 6284286d4f Fixed handling of modifier keys on OS X. Also made OS X client
ignore small mouse wheel events (which seem to get sent by some
win32 systems).  Other platforms were already ignoring them.
2004-07-29 22:11:27 +00:00
crs 3d2fa92654 Fixed handling of ctrl and alt keys when using low level hooks.
They were being discarded so the server wouldn't correctly send
ctrl, alt, or AltGr to clients.
2004-07-29 21:59:26 +00:00
crs 898a9af3b0 Added comment about a problem detecting the screen saver. 2004-07-29 21:57:42 +00:00
crs b1ead05a3c Worked around bogus key mapping on 95/98/me where multiple virtual
keys are mapped to the same button.  For example, the backslash
virtual key shares a button with some other virtual key on british
english key mappings.  Synergy could end up using the wrong virtual
key.  In the given case, the other virtual key produced no character
at all.  To determine which virtual key should really be mapped to
a button we map the button back to a virtual key and see if it's the
virtual key we started with.

Also fixed mapping of pause key.  Previously, windows+pause sent to
a win32 client wouldn't bring up system properties like it should.
2004-07-29 21:53:30 +00:00
crs bac1f24a53 Synergy now steals window activation when using low level hooks
and a console window is the active window.  This is to work around
console windows preventing the hook from detecting the shift key.
2004-07-29 21:50:17 +00:00
crs 95e4963f1d Disable key event capture on X11. This was going to be used to
detect synergy hotkeys but a design flaw in X11 makes it problematic
with many applications.  We'll have to fall back to the more
traditional XGrabKey when the time comes.
2004-06-22 21:11:14 +00:00
crs ccb45bc2bc (Maybe) fixed a problem detecting when win32 screen saver started. 2004-06-12 20:48:04 +00:00
crs 2de2b72af9 Failed to reset flag in X11 event queue buffer and that could cause
multiple threads to access the X display connection simultaneously
which causes synergy to die.
2004-06-07 21:06:49 +00:00
crs 06d77fe314 Merged Bertrand's OS X changes. Also added support for mouse wheel
on OS X server.
2004-05-26 19:23:32 +00:00
crs 84247b4c6c If the server manages to detect ctrl+alt+del it will no longer send
that to the client.  If it did then the user could see the effect of
ctrl+alt+del on both the server and client which we never want.  The
user can use ctrl+alt+pause to emulate ctrl+alt+del on the client.
2004-05-18 20:32:13 +00:00
crs 88c6769ebe Fixed bug that could allow multiple threads to simultaneously access
the X11 display connection.  The only problematic method was
CXWindowsEventQueueBuffer::addEvent given that the other event queue
methods are only called from the main thread.
2004-05-18 20:26:48 +00:00
crs ce399937f0 Fixed ctrl+alt+del emulation on win32 server. It was mapping
VK_DELETE to the keypad delete key.  This key is not interpreted
on the client as causing ctrl+alt+del.
2004-05-17 21:55:38 +00:00
crs 62b5cefb64 Changed VC++ projects to put release targets in ./build, debug
targets in ./debug, and intermediate files under ./gen.
2004-05-16 18:02:49 +00:00
crs 5a990691ca Avoided duplicate logging of screen size on win32. 2004-05-15 19:43:33 +00:00
crs d9387dbed7 Added bertrand landry hetu's mac OS X port to date. 2004-05-15 19:41:46 +00:00
crs 242050d0f2 Now restoring input focus when entering the screen to the window
that had the focus when the screen was left.
2004-05-12 20:28:00 +00:00
crs df4807950a Fixed build error in gcc 3.3. 2004-05-12 18:54:03 +00:00
crs fdf4b2604d Fixed X11 BMP and other bitmap conversion. Had data alignment
problems.
2004-05-03 21:14:01 +00:00
crs 4b212ad704 Added image/bmp and text/html support to X11. 2004-05-02 21:31:19 +00:00
crs 500362d5c0 Relative mouse motion for OS X. 2004-05-02 16:13:11 +00:00
crs a1bd77f91a Used MouseKeys accessibility function to show the mouse cursor
on a secondary screen when there's no physical mouse attached to
the system.  Kinda flaky when a mouse is attached or detached but
seems to work well enough when the device is not attached to start
with and not attached while running synergy.
2004-05-02 16:06:04 +00:00
crs d84e5a26be Added win32 clipboard support for images and HTML. Still need X11
support.
2004-05-02 08:04:48 +00:00
crs 9c35a45a2c Added relative mouse move support to win32. 2004-05-02 08:04:15 +00:00
crs fddf7d04a3 X11 clipboard logging now also prints atom names, not just numbers. 2004-05-01 16:10:09 +00:00
crs 16110acaa2 Added support for a global relative mouse motion option. When true
and on a secondary screen and locked to the screen (via scroll lock)
mouse motion is sent as motion deltas.  When true and scroll lock
is toggled off the mouse is warped to the secondary screen's center
so the server knows where it is.  This option is intended to support
games and other programs that repeatedly warp the mouse to the center
of the screen.  This change adds general and X11 support but not
win32.  The option name is "relativeMouseMoves".
2004-05-01 15:18:59 +00:00
crs 165c889c5d Fixes to compile on solaris 9 using g++. 2004-05-01 10:12:06 +00:00
crs dcfe49ef48 Fixed regression where cursor wasn't locked to screen when a mouse
button is down on win32.
2004-05-01 08:56:24 +00:00
crs e1027eeb3a More changes for MSYS/MinGW builds. Added makefile for launcher.
Still need hook library and resource compiling.
2004-04-11 19:43:16 +00:00
crs bf2879724f Preliminary support for MSYS/MinGW builds. Doesn't yet build
CSynergyHook as a DLL and does not compile or link in the
resources for the binaries.
2004-04-11 19:15:09 +00:00
crs 530be3ff9d Updates to support OS X. This improves support for building on
multiple systems with automake, with X Windows and Carbon window
system APIs supported.  It's also a starting port for supporting
win32 builds using mingw.  OS X support is incomplete;  the tree
will compile and link but the binaries will not function.
2004-04-11 14:58:08 +00:00
crs 3db9facb6c Added workaround for win32 low-level mouse hook position weirdness.
The low-level hook can report mouse positions outside the boundaries
of the screen and bogus retrograde motion.  This messes up switch on
double tap.  This change attempts to detect and suppress the bogus
events.
2004-04-05 21:10:06 +00:00
crs 6d6ebf7926 Made hook debug logging print at DEBUG1 rather than INFO level. 2004-04-05 21:08:49 +00:00
crs 083607345a Removed DEPTH, VDEPTH, and VPATH from makefiles. 2004-04-04 12:12:32 +00:00
crs cfb082f306 Added ISO_Level3_Shift as a synonym for Mode_switch. I've no idea
if this will work as hoped but I've seen documentation that XFree
4.3 uses ISO_Level3_Shift rather than Mode_switch.
2004-03-28 14:53:01 +00:00
crs 97046541b9 Fixed keyboard handling on windows 95 family. 2004-03-28 14:07:58 +00:00