从某天开始中毒机械键盘, 同时慢慢的对自己用的微软4000人体工学键盘那不争气的按键越来越不满。 终于前几天买了一款 iOne Xarmor U27 无线键盘鼠标套装, Cherry青轴。 用着很喜爱, 不过却发现无论如何都无法双击鼠标。
问题是这样解决的:
运行xev 在测试框中点击鼠标左键, 看到以下日志:
ButtonPress event, serial 36, synthetic NO, window 0x4800001,
root 0xbd, subw 0x4800002, time 74858954, (28,24), root:(409,77),
state 0x0, button 1, same_screen YESButtonPress event, serial 36, synthetic NO, window 0x4800001,
root 0xbd, subw 0x4800002, time 74858955, (28,24), root:(409,77),
state 0x100, button 10, same_screen YESButtonRelease event, serial 36, synthetic NO, window 0x4800001,
root 0xbd, subw 0x4800002, time 74859034, (28,24), root:(409,77),
state 0x100, button 1, same_screen YESButtonRelease event, serial 36, synthetic NO, window 0x4800001,
root 0xbd, subw 0x4800002, time 74859035, (28,24), root:(409,77),
state 0x0, 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中即可