Ubuntu上的新无线鼠标无法双击

从某天开始中毒机械键盘, 同时慢慢的对自己用的微软4000人体工学键盘那不争气的按键越来越不满。 终于前几天买了一款 iOne Xarmor U27 无线键盘鼠标套装, Cherry青轴。 用着很喜爱, 不过却发现无论如何都无法双击鼠标。

问题是这样解决的:

运行xev 在测试框中点击鼠标左键, 看到以下日志:

ButtonPress event, serial 36, synthetic NO, window 0×4800001,
root 0xbd, subw 0×4800002, time 74858954, (28,24), root:(409,77),
state 0×0, button 1, same_screen YES

ButtonPress event, serial 36, synthetic NO, window 0×4800001,

root 0xbd, subw 0×4800002, time 74858955, (28,24), root:(409,77),
state 0×100, button 10, same_screen YES

ButtonRelease event, serial 36, synthetic NO, window 0×4800001,
root 0xbd, subw 0×4800002, time 74859034, (28,24), root:(409,77),
state 0×100, button 1, same_screen YES

ButtonRelease event, serial 36, synthetic NO, window 0×4800001,
root 0xbd, subw 0×4800002, time 74859035, (28,24), root:(409,77),
state 0×0, button 10, same_screen YES

可以看到鼠标事件是 button 1 跟着 一个 button 10。 很奇怪, button 10应该是一些高级鼠标的拇指按键。 看来这个鼠标按左键就会同时触发两个事件, 所以无法触发左键的双击事件了, 因为中间夹了一个button 10的。 也不知道是硬件问题还是驱动问题。 但是我知道只要disable button 10的就好了。

可惜我无论如何都无法找到xorg.conf这个文件关于鼠标button的设置。 最后找到这个网页帮助了我:

http://askubuntu.com/questions/59128/how-to-disable-mouse-wheel-scroll-in-ubuntu-11-04-or-10-10

解决方法就是运行 xinput list 找到你的鼠标 设备 id

jianma@jianma-desktop:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Cypress Semiconductor CY4672 PRoC LP RDK Bridge id=9 [slave pointer (2)]

可以看到设备id是9

然后运行xinput 来设置按键映射 disable 10和11

xinput set-button-map 9 1 2 3 4 5 6 7 8 9 0 0

为了每次自动运行可以放到 ~/.xinitrc中即可

 

 

 

About albert

一个软件工程师, 一个准GEEK; 爱旅行, 爱发呆; 喜欢阅读科幻小说, 喜欢看电影, 喜欢玩打游戏; 心中有一个大大的梦想, 用这个网志不断的激励自己去完成.
This entry was posted in 工具. Bookmark the permalink.

发表评论

电子邮件地址不会被公开。

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>