|
如何在Linux/FreeBSD下玩模拟器游戏(11) # modprobe ns558 # modprobe analog js=gamepad # modprobe joydev
如果你安装了kernel-source你可以在/usr/src/linux-2.4.xx/Documentation/joystick.txt里找到关于 js参数的详细描述。
Type Meaning none No analog joystick on that port auto Autodetect joystick 2btn 2-button n-axis joystick y-joy Two 2-button 2-axis joysticks on an Y-cable fcs Thrustmaster FCS compatible joystick chf Joystick with a CH Flightstick compatible hat fullchf CH Flightstick compatible with two hats and 6 buttons gamepad 4/6-button n-axis gamepad gamepad8 8-button 2-axis gamepad
并口游戏杆
对于并口游戏杆,Linux同样有出色的支持,最常见的PSX并口手柄可以用以下指令驱动:
# modprobe gamecon gc=0,7 # modprobe joydev"
gc参数形式是这样的:gc=port,pad1,pad2,pad3,pad4,pad5。这里gc的第一个参数0表示使用并口1作为输入端口,第二个参数7表示pad1是SonyPSX游戏杆(大部分常见的PSX跳舞毯也可以同样的方式驱动),其他参数类型见下表,你可以在/usr/src/linux-2.4.xx/Documentation/joystick-parport.txt找到完整而精彩的描述。
Type Joystick/Pad 0 None 1 SNES pad 2 NES pad 4 Multisystem 1-button joystick 5 Multisystem 2-button joystick 6 N64 pad 7 Sony PSX controller
另一个并口游戏杆驱动db9的参数形式是这样的:db9=port,type。她支持以下类型的并口游戏杆。
Type Joystick/Pad 0 None 1 Multisystem 1-button joystick 2 Multisystem 2-button joystick 3 Genesis pad (3+1 buttons) 5 Genesis pad (5+1 buttons) 6 Genesis pad (6+2 buttons) 7 Saturn pad (8 buttons) 8 Multisystem 1-button joystick (v0.8.0.2 pin-out) 9 Two Multisystem 1-button joysticks (v0.8.0.2 pin-out) 10 Amiga CD32 pad
FreeBSD与NetBSD共享一套uhid设备驱动代码,对于USB游戏手柄有最基本的支持,在我的PC上FreeBSD-5.1current下的SDL库(1.2.5)能够驱动我的Topway 单人手柄,但却坚持认为我的Gametec USB双人手柄有-1个按钮:-< 而使用BSD uhid接口的xmame-0.70.1 则干脆认不出任何游戏手柄设备,但Taik0说UHID游戏手柄设备在*BSD上可以使用,并且成功地在xmame-0.57.1上驱动了他的JOYSTICK,我相信这可能与游戏杆设备有关,你可以按照他给出的CASE试一试,或许这对你适用。但借助SDL的支持,xmame-0.70.1完美地支持了UHID单人手柄,需要注意的是你必须对/dev/uhid0拥有写权限,否则将无法使用手柄。
FreeBSD能够支持ISA声卡上的Gameport接口,但似乎对于PCI声卡上的Gameport接口不感兴趣,无论是4- STABLE还是5-CURRENT,Alex Teslik给出了一个不用修改代码就能让FreeBSD支持Logitech Wingman Attack joystick的方法,然而我在4.8-STABLE(2003-07-18)和5-CURRENT(2003-07-18)上测试均未成功,虽然FreeBSD已经驱动了我的CMEDIA PCI声卡。kldstat -v的输出是这样的:
2 1 0xc1db4000 2000 joy.ko
|