Chinaunix首页 | 论坛 | 博客
  • 博客访问: 578165
  • 博文数量: 155
  • 博客积分: 7055
  • 博客等级: 少将
  • 技术积分: 1700
  • 用 户 组: 普通用户
  • 注册时间: 2004-11-22 11:40
文章分类

全部博文(155)

文章存档

2016年(1)

2011年(2)

2010年(1)

2009年(2)

2008年(9)

2007年(39)

2006年(58)

2005年(38)

2004年(5)

我的朋友

分类: LINUX

2009-04-15 22:16:30

上周六60块RMB买了个北通小双打,BTP-CO27型号的。
回到家,进入到ubuntu7.10,先打开“新立得软件包管理器”,选择“设置”菜单下的“软件库”,
在“ubuntu软件库”标签下,把“被版权与合法性问题限制的软件(multiverse)”前面的勾勾上。确定。
更新后再搜索"xmame",就能找到一些包了,我这里的图形前端是只有kxmame
把这些包安装上。
说一下kxmame这个图形前端的使用方法,在游戏多的情况下,使用kxmame还是很省心的,比一次次输入xmame命令省心多了。
打开kxmame,进入“Settings” -> “文件夹选择” -> "Mame/Mess basic paths"
在这个标签下面,有一个"Mame ROMS path:",在它的后面填入你所拥有的ROMS的路径,点Add添加进去。然后点“重建游戏列表”,就可以看到你的游戏了。

好了,下面插上手柄,在/var/log/messages里有如下信息:
Apr 12 15:46:41 huangjh kernel: [ 2337.164000] usb 5-1: new low speed USB device using uhci_hcd and address 2
Apr 12 15:46:42 huangjh kernel: [ 2337.332000] usb 5-1: configuration #1 chosen from 1 choice
Apr 12 15:46:42 huangjh kernel: [ 2337.372000] input: Twin USB Gamepad  as /class/input/input9
Apr 12 15:46:42 huangjh kernel: [ 2337.372000] input: USB HID v1.10 Joystick [Twin USB Gamepad ] on usb-0000:00:1d.0-1
Apr 12 15:46:42 huangjh kernel: [ 2337.492000] usbcore: registered new interface driver xpad
Apr 12 15:46:42 huangjh kernel: [ 2337.492000] /build/buildd/linux-source-2.6.22-2.6.22/drivers/input/joystick/xpad.c: driver for Xbox controllers v0.1.6
同时可以发现设备文件 /dev/input/js0
进入到xmame中后,发现只有第一、二键可以用。于是我犯了一个错误,开始在网上找解决方法了。
linux下的驱动没有找到,还有人08年发贴子说这个CO27是他永远的痛,在ubuntu下不能用,妈的一大堆。还研究了一下jstest,joy2key这些软件,觉得还是挺有趣和有用的,但是终究是没有解决我的问题。
最后我又进了游戏,按TAB,设置键位,突然惊喜的发现按下手柄的键就设置为对应的功能键了。原来手柄默认就驱动好了!我还瞎折腾了几个小时。
接下来的事情就是玩游戏了,呵呵放松一哈。


------------------------------------

20090502

COMMON
-X
-dev /dev/input/js0
-thresh 0 0 0 0  -16383 16383  -16383 16383 0 0 0 0 -16383 16383
-16383 16383 0 0 0 0

START dosbox
-X
-buttons Escape Return r r r r r r r r s s s s s s s s s s
-axis r r r r Left Right Up Down r r r r r r r r r r r r


上面是配置文件 .joy2keyrc 的内容,放到用户目录下即可
根据实际情况,需要修改的地方有:

1 手柄的设备文件
crw-rw---- 1 root plugdev 13, 0 2009-05-02 20:22 /dev/input/js0

2 手柄轴的方向端,可以理解为方向键。
运行 jstest /dev/input/js0 显示如下
Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0  8: 32767  9: 32767
Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:off 11:off 12:off 13:off 14:off 15:off 16:off 17:off 18:off 19:off
按下手柄会有对应的显示。如我按方向左键,显示2:-32767;按方向右键,显示 2: 32767 。就是说轴0,1没有,轴2有,二端分别是-32767,32767。可以理解为1个轴(axis)有二个端(threshhold)
所以这里的配置为:-thresh 0 0 0 0  -16383 16383 ......
这里可以一一测试手柄上的按键,确认它们在系统中的表示,是第几个axis? 第几个button?

3 手柄与键盘的映射
buttons和axis都是按顺序来的,从0开始,与jstest所显示的一一对应,在它们后面,填入你想要映射的键盘的键代码即可。
键代码可通过 xev 得到
这里我要玩DOS仙剑,只设置了方向键,和回车,ESC键。

4 指定手柄映射键盘 所作用的程序
先运行 dosbox,然后在终端里运行 joy2key -config dosbox,根据提示点一下 dosbox窗口,这样手柄在dosbox窗口里就生效了。试试吧。


阅读(1498) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~