| 1 |
Analog Joystick Support on ALSA Drivers |
|---|
| 2 |
======================================= |
|---|
| 3 |
Oct. 14, 2003 |
|---|
| 4 |
Takashi Iwai <tiwai@suse.de> |
|---|
| 5 |
|
|---|
| 6 |
General |
|---|
| 7 |
------- |
|---|
| 8 |
|
|---|
| 9 |
First of all, you need to enable GAMEPORT support on Linux kernel for |
|---|
| 10 |
using a joystick with the ALSA driver. For the details of gameport |
|---|
| 11 |
support, refer to Documentation/input/joystick.txt. |
|---|
| 12 |
|
|---|
| 13 |
The joystick support of ALSA drivers is different between ISA and PCI |
|---|
| 14 |
cards. In the case of ISA (PnP) cards, it's usually handled by the |
|---|
| 15 |
independent module (ns558). Meanwhile, the ALSA PCI drivers have the |
|---|
| 16 |
built-in gameport support. Hence, when the ALSA PCI driver is built |
|---|
| 17 |
in the kernel, CONFIG_GAMEPORT must be 'y', too. Otherwise, the |
|---|
| 18 |
gameport support on that card will be (silently) disabled. |
|---|
| 19 |
|
|---|
| 20 |
Some adapter modules probe the physical connection of the device at |
|---|
| 21 |
the load time. It'd be safer to plug in the joystick device before |
|---|
| 22 |
loading the module. |
|---|
| 23 |
|
|---|
| 24 |
|
|---|
| 25 |
PCI Cards |
|---|
| 26 |
--------- |
|---|
| 27 |
|
|---|
| 28 |
For PCI cards, the joystick is enabled when the appropriate module |
|---|
| 29 |
option is specified. Some drivers don't need options, and the |
|---|
| 30 |
joystick support is always enabled. In the former ALSA version, there |
|---|
| 31 |
was a dynamic control API for the joystick activation. It was |
|---|
| 32 |
changed, however, to the static module options because of the system |
|---|
| 33 |
stability and the resource management. |
|---|
| 34 |
|
|---|
| 35 |
The following PCI drivers support the joystick natively. |
|---|
| 36 |
|
|---|
| 37 |
Driver Module Option Available Values |
|---|
| 38 |
--------------------------------------------------------------------------- |
|---|
| 39 |
als4000 joystick_port 0 = disable (default), 1 = auto-detect, |
|---|
| 40 |
manual: any address (e.g. 0x200) |
|---|
| 41 |
au88x0 N/A N/A |
|---|
| 42 |
azf3328 joystick 0 = disable, 1 = enable, -1 = auto (default) |
|---|
| 43 |
ens1370 joystick 0 = disable (default), 1 = enable |
|---|
| 44 |
ens1371 joystick_port 0 = disable (default), 1 = auto-detect, |
|---|
| 45 |
manual: 0x200, 0x208, 0x210, 0x218 |
|---|
| 46 |
cmipci joystick_port 0 = disable (default), 1 = auto-detect, |
|---|
| 47 |
manual: any address (e.g. 0x200) |
|---|
| 48 |
cs4281 N/A N/A |
|---|
| 49 |
cs46xx N/A N/A |
|---|
| 50 |
es1938 N/A N/A |
|---|
| 51 |
es1968 joystick 0 = disable (default), 1 = enable |
|---|
| 52 |
sonicvibes N/A N/A |
|---|
| 53 |
trident N/A N/A |
|---|
| 54 |
via82xx(*1) joystick 0 = disable (default), 1 = enable |
|---|
| 55 |
ymfpci joystick_port 0 = disable (default), 1 = auto-detect, |
|---|
| 56 |
manual: 0x201, 0x202, 0x204, 0x205(*2) |
|---|
| 57 |
--------------------------------------------------------------------------- |
|---|
| 58 |
|
|---|
| 59 |
*1) VIA686A/B only |
|---|
| 60 |
*2) With YMF744/754 chips, the port address can be chosen arbitrarily |
|---|
| 61 |
|
|---|
| 62 |
The following drivers don't support gameport natively, but there are |
|---|
| 63 |
additional modules. Load the corresponding module to add the gameport |
|---|
| 64 |
support. |
|---|
| 65 |
|
|---|
| 66 |
Driver Additional Module |
|---|
| 67 |
----------------------------- |
|---|
| 68 |
emu10k1 emu10k1-gp |
|---|
| 69 |
fm801 fm801-gp |
|---|
| 70 |
----------------------------- |
|---|
| 71 |
|
|---|
| 72 |
Note: the "pcigame" and "cs461x" modules are for the OSS drivers only. |
|---|
| 73 |
These ALSA drivers (cs46xx, trident and au88x0) have the |
|---|
| 74 |
built-in gameport support. |
|---|
| 75 |
|
|---|
| 76 |
As mentioned above, ALSA PCI drivers have the built-in gameport |
|---|
| 77 |
support, so you don't have to load ns558 module. Just load "joydev" |
|---|
| 78 |
and the appropriate adapter module (e.g. "analog"). |
|---|
| 79 |
|
|---|
| 80 |
|
|---|
| 81 |
ISA Cards |
|---|
| 82 |
--------- |
|---|
| 83 |
|
|---|
| 84 |
ALSA ISA drivers don't have the built-in gameport support. |
|---|
| 85 |
Instead, you need to load "ns558" module in addition to "joydev" and |
|---|
| 86 |
the adapter module (e.g. "analog"). |
|---|