ALSA驱动上的模拟摇杆支持¶
2003年10月14日
Takashi Iwai <tiwai@suse.de>
概要¶
首先,你需要在Linux内核上启用GAMEPORT支持才能使用ALSA驱动的摇杆。关于gameport支持的详细信息,请参考Introduction。
ALSA驱动的摇杆支持在ISA和PCI卡之间有所不同。对于ISA (PnP)卡,通常由独立的模块(ns558)处理。同时,ALSA PCI驱动程序具有内置的gameport支持。因此,当ALSA PCI驱动程序构建到内核中时,CONFIG_GAMEPORT也必须为“y”。否则,该卡上的gameport支持将被(静默地)禁用。
一些适配器模块在加载时探测设备的物理连接。最好在加载模块之前插入摇杆设备。
PCI卡¶
对于PCI卡,当指定适当的模块选项时,摇杆被启用。某些驱动程序不需要选项,并且始终启用摇杆支持。在之前的ALSA版本中,有一个用于摇杆激活的动态控制API。但是,由于系统稳定性和资源管理,它已更改为静态模块选项。
以下PCI驱动程序原生支持摇杆。
驱动 |
模块选项 |
可用值 |
---|---|---|
als4000 |
joystick_port |
0 = 禁用(默认),1 = 自动检测,手动:任何地址(例如 0x200) |
au88x0 |
N/A |
N/A |
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 |
N/A |
N/A |
cs46xx |
N/A |
N/A |
es1938 |
N/A |
N/A |
es1968 |
joystick |
0 = 禁用(默认),1 = 启用 |
sonicvibes |
N/A |
N/A |
trident |
N/A |
N/A |
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”模块。