ALSA 驱动上的模拟摇杆支持¶
2003 年 10 月 14 日
Takashi Iwai <tiwai@suse.de>
概述¶
首先,您需要在 Linux 内核上启用 GAMEPORT 支持,以便将摇杆与 ALSA 驱动程序一起使用。有关 gameport 支持的详细信息,请参阅简介。
ISA 和 PCI 卡的 ALSA 驱动程序的摇杆支持是不同的。对于 ISA (PnP) 卡,通常由独立的模块 (ns558) 处理。同时,ALSA PCI 驱动程序具有内置的 gameport 支持。因此,当 ALSA PCI 驱动程序内置于内核中时,CONFIG_GAMEPORT 也必须为“y”。否则,该卡上的 gameport 支持将被(静默地)禁用。
一些适配器模块在加载时探测设备的物理连接。在加载模块之前插入摇杆设备会更安全。
PCI 卡¶
对于 PCI 卡,当指定相应的模块选项时,将启用摇杆。某些驱动程序不需要选项,并且始终启用摇杆支持。在以前的 ALSA 版本中,有一个用于摇杆激活的动态控制 API。但是,由于系统稳定性和资源管理,它已更改为静态模块选项。
以下 PCI 驱动程序原生支持摇杆。
驱动程序 |
模块选项 |
可用值 |
---|---|---|
als4000 |
joystick_port |
0 = 禁用(默认),1 = 自动检测,手动:任何地址(例如 0x200) |
au88x0 |
不适用 |
不适用 |
azf3328 |
joystick |
0 = 禁用,1 = 启用,-1 = 自动(默认) |
ens1370 |
joystick |
0 = 禁用(默认),1 = 启用 |
ens1371 |
joystick_port |
0 = 禁用(默认),1 = 自动检测,手动:0x200、0x208、0x210、0x218 |
cmipci |
joystick_port |
0 = 禁用(默认),1 = 自动检测,手动:任何地址(例如 0x200) |
cs4281 |
不适用 |
不适用 |
cs46xx |
不适用 |
不适用 |
es1938 |
不适用 |
不适用 |
es1968 |
joystick |
0 = 禁用(默认),1 = 启用 |
sonicvibes |
不适用 |
不适用 |
trident |
不适用 |
不适用 |
via82xx [1] |
joystick |
0 = 禁用(默认),1 = 启用 |
ymfpci |
joystick_port |
0 = 禁用(默认),1 = 自动检测,手动:0x201、0x202、0x204、0x205 [2] |
以下驱动程序不支持原生 gameport,但有其他模块。加载相应的模块以添加 gameport 支持。
驱动程序 |
附加模块 |
---|---|
emu10k1 |
emu10k1-gp |
fm801 |
fm801-gp |
注意:“pcigame”和“cs461x”模块仅适用于 OSS 驱动程序。这些 ALSA 驱动程序(cs46xx、trident 和 au88x0)具有内置的 gameport 支持。
如上所述,ALSA PCI 驱动程序具有内置的 gameport 支持,因此您无需加载 ns558 模块。只需加载“joydev”和相应的适配器模块(例如“analog”)。
ISA 卡¶
ALSA ISA 驱动程序没有内置的 gameport 支持。相反,除了“joydev”和适配器模块(例如“analog”)之外,您还需要加载“ns558”模块。