- Fixed taking the address of begin() on an empty std::vector.
- Fixed nsis makefile to use %ProgramFiles% environment variable.
- Fixed nsis makefile to pass the output directory and file to makensis.
- Fixed synergy.nsi to get the files from the output directory. That
enables a debug build of the installer.
- Fixes to compile under VS2005.
I did not apply VS2005 project files, instead adding nmake files.
nmake is pretty weak but the makefiles can be modified without having
visual studio. Also modified the .rc files to not use winres.h.
This plus nmake means synergy can now be built using the freely
downloadable Microsoft Windows SDK for Vista, available from
microsoft's web site. This change removes all of the old VC++6
project files in favor of the nmake files. It also removes the
XCode project in favor of ./configure and make.
All of the nmake files are named nmake.mak. Only the top level
makefile is directly useful (the rest are included by it) so all
builds are from the top level directory. nmake knows the following
targets:
all: build synergy.exe, synergyc.exe and synergys.exe
clean: remove all intermediate files, keep programs
clobber: clean and remove programs
installer: build programs and an installer
debug: build a debug version of 'all'
release: build a release version of 'all'
debug-installer: build an installer of the debug build
release-installer: build an installer of the release build
The default build version is release so 'all' and 'installer' will
build a release version. The installer itself never has debug
symbols, just the stuff it installs. The default target is 'all'.
To build use:
nmake /nologo /f nmake.mak <target>
VC++ and VisualStudio users may need to manually run vcvars.bat in a
command.exe or cmd.exe window before invoking nmake. The Window 98/Me
command.exe may not handle potentially long command lines; I haven't
tried to verify if that works.
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.
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.
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.
takes activation so the previously active window doesn't pop to
the top of the window stack when it regains activation. One
drawback of this is that the mouse cursor isn't shown when
a window (other than synergy's) is activated. However, synergy
does detect mouse motion as before and shows the cursor when it
sees any.
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.
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.
to connect. This prevents a log from filling up while the client
can't connect for no useful reason. Also removed --camp option
and cleaned up handling of client connection. Users must now use
--restart instead of --camp.
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.
events to other hook functions, which broke some tools like objectbar.
Second, windows key processing was fixed. Previously pressing and
release the key would only send a press event, locking the user onto
the client window; also, the win32 server treated as a Meta modifier
instead of a Super modifier, which broke any use of it as any kind of
modifier key. Third, added hacks to support several key combinations
on windows 95/98/me that are treated specially by windows, including
Alt+Tab, Alt+Shift+Tab, Alt+Esc, Alt+Shift+Esc, Ctrl+Esc, and any
combination using the windows key like Win+E and Win+F but not
Ctrl+Alt+Del. Fourth, scroll lock only locking to the client (which
only happened when using a synergy server on windows) has been fixed;
unfortunately the solution causes a lot of screen redraws for some
reason. Finally, there's been a fix to clipboard handling that may
or may not fix a problem where the clipboard would stop transferring
between systems after a little while. I can't be sure if it fixes
the problem because I can't reproduce the problem.
lib/arch. This should make porting easier. Will probably
continue to refactor a little more, moving platform dependent
event handling stuff into lib/platform.
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
Renamed from platform/CMSWindowsScreen.cpp (Browse further)