joystick.rst 3.3 KB
Newer Older
1
=======================================
L
Linus Torvalds 已提交
2 3
Analog Joystick Support on ALSA Drivers
=======================================
4 5 6 7

Oct. 14, 2003

Takashi Iwai <tiwai@suse.de>
L
Linus Torvalds 已提交
8 9 10 11 12 13

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
14
support, refer to Documentation/input/joydev/joystick.rst.
L
Linus Torvalds 已提交
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

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.

40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
==============	=============	============================================
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 [#f1]_	joystick	0 = disable (default), 1 = enable
ymfpci		joystick_port	0 = disable (default), 1 = auto-detect,
	                        manual: 0x201, 0x202, 0x204, 0x205 [#f2]_
==============	=============	============================================

.. [#f1] VIA686A/B only
.. [#f2] With YMF744/754 chips, the port address can be chosen arbitrarily
L
Linus Torvalds 已提交
65 66 67 68 69

The following drivers don't support gameport natively, but there are
additional modules.  Load the corresponding module to add the gameport
support.

70 71 72 73 74 75
=======	=================
Driver	Additional Module
=======	=================
emu10k1	emu10k1-gp
fm801	fm801-gp
=======	=================
L
Linus Torvalds 已提交
76 77

Note: the "pcigame" and "cs461x" modules are for the OSS drivers only.
78 79
These ALSA drivers (cs46xx, trident and au88x0) have the
built-in gameport support.
L
Linus Torvalds 已提交
80 81 82 83 84 85 86 87 88 89 90 91

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").