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”模块。