Adding a manpage - Alex
[terminatorX.git] / aseqjoy / README
1 aseqjoy is a simple Joystick to ALSA MIDI Sequencer Converter
2 -------------------------------------------------------------
3
4 Copyright 2003 by Alexander K├Ânig - alex@lisas.de
5 License: GPL V2 - see the file COPYING
6
7 What it does: Each axis of the joystick device is mapped to a specific MIDI 
8 controller. Moving the joystick along an axis will cause aseqjoy to emit
9 MIDI controller messages via ALSA's sequencer API. The value of the controller
10 message represents the joystick's position along the axis (eg 'left' -> 0, 
11 'middle' -> 63, 'right' -> 127).
12
13 aseqjoy uses the ALSA sequencer API to emit the MIDI events. Therefor it
14 creates and output port named after joystick used. You can then use for example
15 the alsa-patch-bay to connect an aseqjoy instance to an input port of your
16 choice. 
17
18 Requirements:
19 -------------
20
21 - Linux System with correctly configured Joystick support.
22 - A working ALSA 0.9 installation.
23
24 Links:
25 ------
26
27 aseqjoy homepage: http://terminatorX.cx/aseqjoy
28 ALSA homepage: http://www.alsa-project.org
29 Joystick utils: http://atrey.karlin.mff.cuni.cz/~vojtech/joystick/
30 ALSA-patch-bay: http://pkl.net/~node/alsa-patch-bay.html
31
32 Howto:
33 ------
34
35 In some cases the joystick may not utilize the full range of available 
36 controller values - in this case you should use "jscal" from the joystick
37 pacakge (most distributions feature this package) to calibrate your joystick 
38 before running aseqjoy. Note: Analog PC joysticks are no high-precision 
39 devices - so even after calibrating the device you might not always be able
40 to reach "0" or "127" controller values - depending on the joystick you
41 use.
42
43 Start aseqjoy - if you have a working Joystick (Nr. 0 - use the -d switch to
44 select other joysticks) aseqjoy will detect that and each axis to a controller
45 from 10 on upwards:
46
47 Axis -> Controller
48    0 -> 10
49    1 -> 11
50    2 -> 12
51    
52 From now on aseqjoy emits events over the "Joystick0" output port. To make use
53 of these events in another application use for example the alsa-patch-bay
54 to connect that output port to another application's input sequencer port
55 (for example the "terminatorX" input port for terminatorX). After you bound
56 the controllers to certain controls you should see how moving the joystick
57 affects the corresponding control.
58
59 Have Fun,
60 Alex