padJoy - 0.6
------------

This is an extension to play with play station emulators like ePSXe and PCSX.
Credits: I used linuzappz' padXwin as a reference; thanks to lu_zero, Skye
and others for their support.

New Features:
V0.6	- support for macros

V0.5	- support for mulithreaded reading of joy device input (hope it helps those who have timing problems)
	- disabled keyboard support for ePSXe (doesnt't work anyway) - use the internal keyboard support of ePSXe instead, this works concurrently with this Plugin

V0.4	- redesign of the code
	- support for mixed input from joy devices and keyboard (PCSX needs that)
	- axes configurable

V0.3	- support for PCSX byte order

V0.2	- config dialogue, about dialogue

V0.1	- first alpha version, support for joy devices everything hardcoded, easy to compile (doesn't need GTK or X header files)



Important: Configuration is saved to cfg/padAmmoq.cfg, so you must create a cfg directory (relative to the directory where you start the emulation).

It has been developed an tested with SuSE Linux 7.3. 

Installation: copy or move bin/libpadJoy-0.5.so into the plugin directory of your emulation.

To compile, just type
	make

You need gtk-devel to compile.

Device file name; try /dev/input/js0 or /dev/js0

(To test if a device file is working, try
	od -xw8 /dev/input/js0
you should see output like that:
0000000 d900 0026 0000 0081
0000010 d900 0026 0000 0181
0000020 d900 0026 0000 0281
0000030 d900 0026 0000 0381
0000040 d900 0026 0000 0481
0000050 d900 0026 0000 0581
0000060 d900 0026 0000 0681
0000070 d900 0026 0000 0781
0000100 d900 0026 0000 0881
0000110 d900 0026 0000 0981
0000120 d900 0026 0000 0a81
0000130 d900 0026 0000 0b81
0000140 d900 0026 0000 0082
0000150 d900 0026 0000 0182
0000160 d900 0026 0000 0282

with one new line every time you press or release a button.

If you get no response, try 
	modprobe joydev
as root.

I have no experience with non-USB joy devices, so if you have one, tell me
wether it worked or not. 

Macros: in the configuration screen, there are new buttons labeled "M1", "M2"
and "M3". Click on this button to define the event that launches a button.
Then click on "Def" to define the sequence of events that should be executed
when launching the macro. Note that also the timing of events is recorded.
Recording stops after 2 seconds of inactivity.
To playback a macro, press the correspondig button and keep it pressed.
Once you release the button, playback is stopped.
You can program the launch event as part of the macro sequence; this makes
it a looping makro. So if "A" is mapped to the X button of the pad and "C"
is the lauch event for the macro, recording "Apress" "Arelease" "Cpress"
as a macro gives you continuous fire on X.

Questions:
Once you get it working, I would be happy to get feedback about the following
questions:

- which Linux version, which joydevice are you using?

- what was the device file name?

- which emulation?

- everything works?

- if you have problems, which settings?

Please send answers, comments, requests to ammoq@ammoq.com .

Have fun, ammoQ
