[原创] btnx——多键鼠标完美解决方案

声卡/显卡/打印机/USB设备等硬件问题(网卡问题请发上面的网卡板块)
回复
nowhere
帖子: 31
注册时间: 2007-05-23 0:57
送出感谢: 0
接收感谢: 0

[原创] btnx——多键鼠标完美解决方案

#1

帖子 nowhere » 2008-04-03 2:12

图片

在linux下,多键鼠标的驱动程序一直是个问题。在ubuntu8.04以前,可以用evdev驱动+xbindkeysrc,具体方法在这里。但这个方法有三个问题,一是配置过程复杂,初学者不易掌握,二是实际效果不怎么样,最简单的例子是,它无法区分一次点击和多次点击,当我把我的MX518侧键之一定义为“Ctrl+=”后,每当我想在Firefox中放大文字,它总是会把文字变得十分巨大,而且,响应迟缓,点击按键之后需要等待好几秒钟才有效果。第三个问题更为致命:evdev驱动在ubuntu8.04中失效了。。

对于ubuntu8.04来说,btnx是替代上述方案的完美程序。它不是一个驱动程序,btnx的全称是——Button Extension,作用仅仅在于让鼠标上那个多余的键都能够发挥作用。

我的MX518在设置好之后,btnx的表现并不逊色于罗技原厂驱动。它很稳定、反应灵敏、拥有强大的自定义功能。而且,它还很容易使用——btnx-config用图形界面和向导方式帮助你设置自己的多键鼠标。

1.安装
在安装之前,需要确认uinput模块是否存在。

代码: 全选

$ sudo modprobe uinput
只要没有提示有错误存在,哪怕没有反应,那就表示uinput模块是存在的。你的系统可以安装btnx

下载btnx,最好是下载源码包。btnx也提供deb包,但我安装deb并不成功。
http://www.ollisalonen.com/btnx

需要下载btnx和btnx-config两个包,前者是后台程序,后者是设置程序。目前btnx的最新版本是0.47。

btnx下载后解压,执行

代码: 全选

$ make
$ sudo make install
即可安装。

btnx-config要复杂一些
先安装依赖和编译工具

代码: 全选

$ sudo apt-get install build-essential libgtk2.0-0 libgtk2.0-dev libglade2-0 libglade2-dev pkg-config
然后下载btnx-config并解压,开始编译

代码: 全选

$ ./configure
$ make
$ sudo make install
建议把这个源代码包解压编译之后的目录保存下来,以后若想卸载它们,在两个目录中分别执行

代码: 全选

$ sudo make uninstall
即可。

2.设置
安装好之后,会在应用程序-系统工具 中 出现一个新的程序btnx,点击它,会要求输入用户密码。在终端中执行

代码: 全选

$ sudo btnx-config
也有同样的效果。

启动出现如下界面,点击右边的Detect mouse & buttons
图片

然后点击最上面的Press to start button detection,开始鼠标按键侦测过程。
图片

反复按某一个键,直到Button detection进度条走满。然后按下最上面的Press to stop button detection大按钮。接下来在下面的Button name文本框中为刚侦测出的这个按键命名。
图片

重复这个过程,直到所有的按键都被侦测出来。最后,按OK回到主界面。

现在,点开Button页签。你会发现刚刚侦测出的所有按键都已经被列出。接下来,就是按键的自定义设置了。

图片

具体的自定义方法我就不多说,能看懂这个界面的人,应该都知道怎么设置。需要注意的是:
a. 只有Enabled前的复选框被选中,btnx才能控制这个键,也就是说,自定义设置才会有效。
b. Repeat delay中的数值默认为0,如果不希望某个键按下去就有连续点击的效果,可以为它设置一个适当的数值。
c. Force imemediate button release的意思是当这个键被按下后,马上释放该键。选中它也可以防止不希望发生的连续点击。

3. 两个疑难问题的解决
a. 多重事件混淆
使用btnx后,最通常发生的问题是多重事件。也就是我们点击了一次鼠标,却触发了两个事件。例如我用的MX518刚安装好btnx时,我把前进键设为“Ctrl+-”用于在浏览器中缩小页面,但每次按下前进键,在缩小页面的同时,还会自动前进到下一页。我怀疑ubuntu8.04自动把MX518的前进后退键的功能都设好了,而我的自定义设置也同时发生了作用。
解决办法是先运行在终端中运行xev,确定出问题的键的序号。例如,用xev查出有问题的是第6键。可以尝试如下命令

代码: 全选

$ xmodmap -e "pointer = 1 2 3 4 5 9 7 8 6"
注意数字6和数字9的位置互换了,意思是说,把第6键指定为第9键,而这个第9键,一般是不起作用的,鼠标上根本不存在的键。这样就屏蔽了系统自身对某一个键的设定。找出合适的按键序列后,新建一个.Xmodmap文件,输入确定好的序列,如上述的序列可用,那.Xmodmap就为:

代码: 全选

pointer = 1 2 3 4 5 9 7 8 6
然后重启,系统在进入桌面后会问是否载入新的.Xmodmap文件,确认载入后,btnx的多重事件问题就解决了。

b.滚轮出问题,如果安装btnx后,滚轮也出现了多重事件问题。解决办法是安装 lomoco。

代码: 全选

$ sudo apt-get install lomoco
安装完成后,执行

代码: 全选

$ sudo lomoco --no-sms
滚轮问题一般也能解决。

btnx-config的帮肋文件写得非常详细,尤其是故障解决部分。在安装后遇到的问题,仔细阅读帮助文件,一般都能够解决。

资源:
btnx官网:http://www.ollisalonen.com/btnx/
使用手册:http://www.ollisalonen.com/btnx/man/
bug汇报:https://launchpad.net/btnx
英文ubuntu论坛的btnx官方贴:http://ubuntuforums.org/showthread.php?t=455656
头像
bones7456
论坛版主
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
送出感谢: 0
接收感谢: 8 次
联系:

#2

帖子 bones7456 » 2008-04-03 10:55

用普通鼠标的顶一个.
关注我的blog: ε==3
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#3

帖子 eexpress » 2008-04-03 11:41

xmodmap -pp
都不看下。都32个了。还需要搞这些?
● 鸣学
头像
EI
帖子: 38
注册时间: 2008-03-31 16:13
来自: 山东济南
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 EI » 2008-04-03 14:51

下载btnx,最好是下载源码包。btnx也提供deb包,但我安装deb并不成功。
http://www.ollisalonen.com/btnx
这样就可以安装上了:Run "mkdir /etc/btnx" as root if you have problems installing this package.
多键鼠标的驱动困扰我n久,lz提供了一个很好的解决方法。
头像
qiang_liu8183
论坛版主
帖子: 10687
注册时间: 2006-09-10 22:36
来自: 北京
送出感谢: 1 次
接收感谢: 6 次

#5

帖子 qiang_liu8183 » 2008-04-03 15:14

先顶后看~ :D
看破、放下、自在、随缘、念佛
真诚、清净、平等、正觉、慈悲
Eadon
帖子: 7
注册时间: 2007-11-27 18:18
送出感谢: 0
接收感谢: 0
联系:

#6

帖子 Eadon » 2008-07-27 15:07

有哥们用微软鼠标成功过的吗?
我检测和一切设置都正常,就是死活映射不了,不知啥问题。也不知道是不是因为我的是蓝牙鼠标的关系。
用电器
帖子: 10
注册时间: 2009-03-11 3:03
送出感谢: 0
接收感谢: 0

Re: [原创] btnx——多键鼠标完美解决方案

#7

帖子 用电器 » 2010-07-28 22:25

:em06 官网已经挂了
好在ubuntu10.04的新立得里面自带,可以直接安装
挺好的,这贴应该置顶啊,简单方便的多键鼠标设置方法 :em11
pwcpp
帖子: 9
注册时间: 2007-11-26 21:51
送出感谢: 0
接收感谢: 0

Re: [原创] btnx——多键鼠标完美解决方案

#8

帖子 pwcpp » 2011-06-12 20:30

我在11.04的新立得管理器中装了btnx,不过不能识别MX518的前进、后退键,也不能识别+、-键。
songpengtao
帖子: 5
注册时间: 2011-03-05 22:09
送出感谢: 0
接收感谢: 0

Re: [原创] btnx——多键鼠标完美解决方案

#9

帖子 songpengtao » 2011-08-26 16:40

找了好久,终于发现了这篇贴子,按楼主的方法完美解决了,真是太感谢了!
euroford
帖子: 763
注册时间: 2009-06-26 17:49
送出感谢: 0
接收感谢: 4 次

Re: [原创] btnx——多键鼠标完美解决方案

#10

帖子 euroford » 2011-08-26 16:49

都是有米的人啊。 :em06
头像
Lavande
论坛版主
帖子: 5349
注册时间: 2008-12-21 15:27
来自: TARDIS
送出感谢: 1 次
接收感谢: 8 次

Re: [原创] btnx——多键鼠标完美解决方案

#11

帖子 Lavande » 2011-08-26 17:00

:em20 :em20 我看成了多鼠標,還在想,要那麼多鼠標怎麼操作啊
回复

回到 “常用硬件支持”