Joystick4Doom
-------------
Are you annoyed playing Linux DOOM with your fat, clumsy fingers on your
sticky, dirty keyboard with its always wrong configured Xmodmap?

Here is the solution to all your problems: Joystick4Doom!
Grab out your good old joystick, plug in and play like never before!



Requirements
------------
You need to have the package 'joystick-0.7' (or later) for general
support of your joystick(s) under Linux. Get it, build the loadable
kernel module and insert it. Create the needed devices under /dev.
(Its all documented well in that package.)


Installation
------------
No installation. Just execute the binary you found in this archive.
It's called 'joystick4xdoom' and 'joystick4sdoom'.
joystick4xdoom is used with Linux X11 DOOM!
joystick4sdoom is used with Linux SVGA DOOM!

If you really want to do something more, you can build the program
by yourself; simply type 'make'. Copy the binary to whereever you
want, maybe to somewhere in your path, maybe to /tmp or what else
you think that is a good place for it.



Parameters
----------
Start 'joystick4doom' without parameters for a brief description
of each parameter:

joystick4doom <device> <first button> <second button> [-strafe]

device: The device of your joystick. If you have a 'standard'
configuration from the joystick-package, it's /dev/js0 or /dev/js1.

first/second button: The keys you want to map to the two joystick
buttons. This can be anyone from { Shift, Control, Alt, Meta, Space,
Escape }, which are the keys that can be used in Linux DOOM. (The
cursor keys are automatically mapped to the four joystick directions.)

-strafe:  If this option allows you to strafe by holding down the 
second button while moving right or left.  The second button still
operates normally.

My parameter list looks like this:

./joystick4doom /dev/js0 Control Space -strafe

That lets me fire with the first button and open doors with the second one.

After the program started, it asks you to calibrate your joystick; just
follow the instructions. Then activate the window you're running DOOM in
(by moving the pointer into it) and play it!
(It doesn't make a difference if you first start DOOM or joystick4doom.)

After playing, just press Control-C to exit the program.

To calibrate your joystick, run 

	joystick4doom -c <device>

To kill a running joystick4doom process, run

	joystick4doom -k


Bug reports, suggestions, donations, flames
-------------------------------------------
Send them all to aeglos@uni-paderborn.de and slouken@cs.ucdavis.edu!


And now have fun!

Holger Schemel


-----
Update: 
	Smoother acceleration; i.e. "touching" the joystick just barely
nudges your player, while pushing the joystick all the way forward makes
you run.
	Fewer X interactions.  Instead of constantly sending keypress
requests, the driver now tells X to "hold down" the movement keys.
	Calibration database and recalibration option.  You can recalibrate
your joystick with the -c option and the settings will be saved for the next
time you play doom.  This allows you to put joystick4doom into scripts 
without having to recalibrate your joystick every time you play.
	Autokill feature.  joystick4doom can be called with a -k option
to kill a running joystick process.  This is also useful in automated 
DOOM! scripts.
	Fixed a bug in WaitButton()
	Converted for use with Linux SVGA DOOM!

Enjoy!
	-Sam Lantinga			(slouken@cs.ucdavis.edu)

