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