注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 操作系统 > Linux 内容正文:如何在Linux/FreeBSD下玩模拟器游戏

如何在Linux/FreeBSD下玩模拟器游戏

发布时间:2006-09-26 13:31:05 来源:友佳学院 网友评论 0 条
  USB接口HID游戏杆

  我们这里所说的USB游戏手柄是指不带力回馈功能的标准UHID设备(M$称为人体工程学输入设备)这是目前市面上最容易买到,也最容易被驱动的游戏手柄,你只需选择一个选择一个usb接口,插上手柄,在/var/log/message里你可以看到发现新的HID设备的的信息,以root身份运行"modprobe joydev",然后执行"jstest /dev/input/js0"(对于Redhat Linux,/dev/js0也同样指向该设备)jstest将报告该游戏手柄的轴向个数和按钮个数,当你按下按钮时jstest报告哪个轴向发生了变化以及哪个按钮被按下。

  Gameport游戏杆

  这是在史前时代流传下来的游戏杆接口标准,Linux对她们有很好的支持。一个最常见的Gameport接口2轴 6键手柄的驱动方式看起来会像下面这样,你可以使用"jstest /dev/js0"来验证游戏手柄是否已被正确驱动。

  

# modprobe <your sound-card moudle> 
# 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         Contains modules:                 Id Name                 
216 isa/joy 3 1 0xc1d94000 4000 snd_cmi.ko Contains modules:
Id Name 211 pci/snd_cmi 4 1 0xc1d99000 14000 snd_pcm.ko
Contains modules: Id Name 210 snd_pcm 而Alex Teslik给出的结果是这样的
4 1 0xc3053000 3000 joy.ko Contains modules: Id Name
99 isa/joy 100 pci/joy 5 1 0xc305a000 14000 snd_pcm.ko
Contains modules: Id Name 101 snd_pcm

  我没有兴趣只是为了驱动游戏手柄而回滚内核代码,这么做没有意义,由于手边没有ISA声卡,我无从得知FreeBSD对于ISA-GAMEPORT的支持究竟如何,但至少SDL的JOYSTICK驱动中包含了对FreeBSD的GAMEPORT的支持(SDL12/src/joystick/bsd/SDL_sysjoystick.c 2003-06-02),因此,如果你有被列在FreeBSD兼容列表里的ISA的声卡,和GAMEPORT口的游戏手柄,你应当不会失望。

 5/5   |‹ ‹‹ 3 4 5
相关文章
  • 挖掘Linux操作系统堆内存释放的奥秘
  • Linux系统下X终端的详细使用方法
  • 国产Linux遭遇鲜花与暗礁
  • 开源之父Torvalds宣传新版Linux内核
  • Linux防火墙配置入门必学
【评论】【收藏本文】【打印】【关闭】
上一篇文章:Linux系统下X终端的详细使用方法
下一篇文章:挖掘Linux操作系统堆内存释放的奥秘
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Linux操作系统文件系统的桌面应用
Linux操作系统文件系统的桌面应用
Linux设备驱动编程之定时器
Linux设备驱动编程之定时器
Windows外衣Linux心 红旗桌面版详测
Windows外衣Linux心 红旗桌面版详测
超实用 Linux下通过VNC安装Oracle
超实用 Linux下通过VNC安装Oracle
推荐阅讯
  • 外资挺进 国产Linux越保护越脆弱?
  • Linux系统出现乱码问题的终极解决方法
  • Linux下代理服务器安装调试一例
  • 制作Linux启动盘的四种方法
  • 解析Linux笔记本基于“敲打”的命令
  • Linux Wine环境下如何编译安装CS反恐精英
  • Linux Journal特别供稿:别了,微软
  • 学会在Linux下对硬盘分区
  • Linux系统下显示多核模式方法
  • Novell:Linux引领Windows用户叛逃
阅读排行
  • 1.Windows外衣Linux心 红旗桌面版详测
  • 2.扮酷你的桌面 Linux超靓壁纸下载(多图)
  • 3.Linux安装流程
  • 4.浅谈Linux的内核
  • 5.RedHat Linux9.0安装实例(1)
  • 6.ARM的嵌入式Linux移植体验之基本概念
  • 7.Linux安装要点
  • 8.红旗Linux桌面版5.0BETA版OS
  • 9.如何在大硬盘上安装Linux
  • 10.RealPlayer流媒体播放器Linux版
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载