Go to file
Bill Currie af5d92708d [x11] Implement raw keyboard input via XInput2
UI key presses are still handled by regular X events, but in-game
"button" presses arrive via raw keyboard events. This gives transparent
handling of keyboard repeat (UI keys see repeat, game keys do not),
without messing with the server's settings (yay, that was most annoying
when it came to debugging), and the keyboard is never grabbed, so this
is a fairly user-friendly setup.

At first, I wasn't too keen on capturing them from the root window
(thinking about the user's security), but after a lot of investigation,
I found a post by Peter Hutterer
(http://who-t.blogspot.com/2011/09/whats-new-in-xi-21-raw-events.html)
commenting that root window events were added to XInput2 specifically
for games. Since application focus is tracked and unfocused key events
are dropped very early on, there's no way for code further down the
food-chain to know there even was an event, abusing the access would
require modifying the x11 input code, in which case all bets are off
anyway and any attempt at security anywhere in the code will fail,
meaning that nefarious progs code and the like shouldn't be a problem.
2021-11-23 11:39:48 +09:00
RPM [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
config.d [x11] Use barriers to trap the pointer in the window 2021-11-22 14:59:27 +09:00
debian [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
desktop [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
doc [doc] Fix some typos 2021-03-29 19:02:22 +09:00
hw Merge branch 'master' into vulkan 2020-06-25 14:03:52 +09:00
include [input] Make event names easy to print 2021-11-22 14:59:32 +09:00
libs [x11] Implement raw keyboard input via XInput2 2021-11-23 11:39:48 +09:00
m4 [build] Update for autoconf 2.71 2021-11-20 12:54:05 +09:00
nq [x11] Use barriers to trap the pointer in the window 2021-11-22 14:59:27 +09:00
pkg-config [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
qtv [ui] Create library for UI support code 2021-06-12 22:50:51 +09:00
qw [x11] Use barriers to trap the pointer in the window 2021-11-22 14:59:27 +09:00
ruamoko [input] Add broadcast events for app focus gain/loss 2021-11-22 14:59:32 +09:00
tools [vulkan] Pick up vulkan.h from correct location 2021-11-19 22:36:19 +09:00
.gitignore Update .gitignore yet again 2021-07-24 10:12:24 +09:00
COPYING initial checkin of most recent newtree and nuq(?) source 2001-02-19 21:15:25 +00:00
INSTALL [build] Update for autoconf 2.71 2021-11-20 12:54:05 +09:00
Makefile.am [qwaq] Create a commandline-only version of qwaq 2021-07-06 12:25:24 +09:00
NEWS Update for 0.7.2. 2013-01-23 12:01:36 +09:00
README.cygwin audit the usage of "only" 2010-01-13 06:42:26 +00:00
TODO Detect the silent death of the jack client thread. 2011-09-07 15:16:27 +09:00
bootstrap [build] Relax autoconf version requirement 2021-11-22 07:41:16 +09:00
configure.ac [build] Relax autoconf version requirement 2021-11-22 07:41:16 +09:00

README.cygwin

This file gives instruction for compiling QF with cygwin to run in MS Windows(R).

DISCLAIMER: Use at your own risk, NO WARRANTY of any kind. NO GUARANTEE of correctness or usability.

If you have problems with these instructions please let me know.

email: wildcode@users.sourceforge.net
IRC: irc.xiph.org #quakeforge
==========================================================================

WARNING: This is not intended for inexperienced users, binaries are available on request.

         QuakeForge may take several hours from bootstrap to the completion
         of make install on some systems

To build win32(mingw) QuakeForge bins you will need to download and install cygwin, and the Microsoft DirectX SDK. Cygwin can be found at http://www.cygwin.org

Once cygwin is installed along with the appropriate developement modules, copy dinput.h from the DirectX SDK and place it in /usr/include/w32api/

If you want to use DirectSound also copy dsound.h to the same spot.

in the quakeforge source dir, within cygwin, type
./bootstrap
./configure --host=i386-mingw32 --build=i386-cygwin --target=i386-mingw32 --program-prefix= --with-static-plugins --disable-shared --disable-oss --disable-vorbis --disable-Werror --enable-optimize --enable-asmopt --disable-debug --enable-zlib
make
make install

--disable-Werror is needed as some versions of the DX SDK are buggy.

Go to the /usr/local/bin directory and copy the qw-* and nq-* files to your dos
quake dir

Let us know how it works for you.

NOTE: At the time of writing qw-server.exe was not working correctly. Please refrain from using it unless you are willing to fix it.

Special Note: QuakeForge supplies only our own version of the programs for Quake. To get the game data, you still need to have purchased Quake or get the shareware version from Id Software.

Chris Ison (WildCode) for QuakeForge
March 11, 2003