Analog Joystick Support on ALSA Drivers¶
Oct. 14, 2003
Takashi Iwai <tiwai@suse.de>
General¶
First of all, you need to enable GAMEPORT support on Linux kernel for using a joystick with the ALSA driver. For the details of gameport support, refer to Introduction.
The joystick support of ALSA drivers is different between ISA and PCI cards. In the case of ISA (PnP) cards, itâs usually handled by the independent module (ns558). Meanwhile, the ALSA PCI drivers have the built-in gameport support. Hence, when the ALSA PCI driver is built in the kernel, CONFIG_GAMEPORT must be âyâ, too. Otherwise, the gameport support on that card will be (silently) disabled.
Some adapter modules probe the physical connection of the device at the load time. Itâd be safer to plug in the joystick device before loading the module.
PCI Cards¶
For PCI cards, the joystick is enabled when the appropriate module option is specified. Some drivers donât need options, and the joystick support is always enabled. In the former ALSA version, there was a dynamic control API for the joystick activation. It was changed, however, to the static module options because of the system stability and the resource management.
The following PCI drivers support the joystick natively.
Driver |
Module Option |
Available Values |
|---|---|---|
als4000 |
joystick_port |
0 = disable (default), 1 = auto-detect, manual: any address (e.g. 0x200) |
au88x0 |
N/A |
N/A |
azf3328 |
joystick |
0 = disable, 1 = enable, -1 = auto (default) |
ens1370 |
joystick |
0 = disable (default), 1 = enable |
ens1371 |
joystick_port |
0 = disable (default), 1 = auto-detect, manual: 0x200, 0x208, 0x210, 0x218 |
cmipci |
joystick_port |
0 = disable (default), 1 = auto-detect, manual: any address (e.g. 0x200) |
cs4281 |
N/A |
N/A |
cs46xx |
N/A |
N/A |
es1938 |
N/A |
N/A |
es1968 |
joystick |
0 = disable (default), 1 = enable |
sonicvibes |
N/A |
N/A |
trident |
N/A |
N/A |
via82xx [1] |
joystick |
0 = disable (default), 1 = enable |
ymfpci |
joystick_port |
0 = disable (default), 1 = auto-detect, manual: 0x201, 0x202, 0x204, 0x205 [2] |
The following drivers donât support gameport natively, but there are additional modules. Load the corresponding module to add the gameport support.
Driver |
Additional Module |
|---|---|
emu10k1 |
emu10k1-gp |
fm801 |
fm801-gp |
Note: the âpcigameâ and âcs461xâ modules are for the OSS drivers only. These ALSA drivers (cs46xx, trident and au88x0) have the built-in gameport support.
As mentioned above, ALSA PCI drivers have the built-in gameport support, so you donât have to load ns558 module. Just load âjoydevâ and the appropriate adapter module (e.g. âanalogâ).
ISA Cards¶
ALSA ISA drivers donât have the built-in gameport support. Instead, you need to load âns558â module in addition to âjoydevâ and the adapter module (e.g. âanalogâ).