]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
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"). |