我的鼠标滚动功能在任何电脑上都不起作用。查看前面的问题这里,它确实出现故障。
有什么办法可以查明是否真的坏了 - 运行一些诊断测试(除了上下滚动并发现鼠标指针不动)并验证它确实坏了?
答案1
运行xev
,将光标移动到黑色方块内,然后上下滚动应该会导致按钮 4 和 5发生ButtonPress
和事件。ButtonRelease
答案2
X-鼠标按钮控制是 Windows 软件,它可以显示鼠标正在执行的操作。
打开软件,点击按钮或滚动滚轮。执行每个操作时,旁边的下拉列表会闪烁黄色 - 例如,当您向上移动鼠标滚轮时,“滚轮向上”旁边的下拉列表将闪烁黄色。
该应用程序还允许您自定义每个操作的功能 - 我使用它来反转我电脑上的滚轮,以便与 Mac OSX Lion 中的滚轮相同。
答案3
我的鼠标刚刚出了问题 - 原来是硬件问题(它是罗技无线 USB 鼠标之一,在中间的按钮滚轮上有一个“平滑滚动”选项 - 按一次,即可获得“平滑滚动”,再按一次,即可获得“步进”滚动...) 事实证明,我的中间轮子卡住了,所以我不得不按它几次直到它“恢复” - 我使用xev
(在 Ubuntu 10.04 上)来控制它。
关于 Ubuntu 下的鼠标,再多说几句 - 您可以检查系统日志,查看启动时记录的内容,例如 USB 设备 - 查看设备是否被识别。但是,“系统日志”不一定能修复这个问题 - 在 Ubuntu 10.04 上,我只是查看了一下/var/log/messages
- 但在 11.04 中,这些文件中显示了“Logitech”字符串:
$ grep --files-with-matches --recursive Logitech /var/log 2>/dev/null
/var/log/spnavd.log
/var/log/Xorg.0.log
/var/log/Xorg.1.log
/var/log/dmesg.0
/var/log/Xorg.0.log.old
/var/log/dmesg
/var/log/kern.log.1
/var/log/udev
在 11.04 下,我猜一种方法是 grep/搜索“usb”字符串/var/log/dmesg
- 或者甚至更简单;再次搜索“Logitech”字符串:
$ grep Logitech /var/log/dmesg
[ 22.323032] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input7
[ 22.323529] generic-usb 0003:046D:C526.0001: input,hidraw0: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:1d.1-1/input0
[ 22.502664] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.1/input/input8
[ 22.509847] generic-usb 0003:046D:C526.0002: input,hiddev0,hidraw1: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:1d.1-1/input1
您想要的是查看设备连接到哪个“USB 地址” - 上面我们看到“ usb3
”,因此我们基本上可以“ ”到 stdout下的cat
相应文件(即);这应该为我们提供来自设备的“原始”USB 数据;由于此二进制文件无法直接在终端中呈现,我们将它输入以进行格式化:usbmon
/dev
/dev/usbmon3
hexdump
$ sudo cat /dev/usbmon3 | hexdump -C
00000000 80 6b 14 f1 00 00 00 00 43 01 81 02 03 00 2d 00 |.k......C.....-.|
00000010 4c e0 75 4e 00 00 00 00 41 5a 07 00 00 00 00 00 |L.uN....AZ......|
00000020 08 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 |................|
00000030 00 00 ff ff 00 00 00 00 80 6b 14 f1 00 00 00 00 |.........k......|
00000040 53 01 81 02 03 00 2d 3c 4c e0 75 4e 00 00 00 00 |S.....-<L.uN....|
....
现在,当您对鼠标执行操作(移动、按下按钮)时,终端中应该会分别显示更多数据(最终使用 Ctrl-C 终止此进程)。请注意,您必须sudo
在上面的命令中使用。
重点是 - 如果在上面的测试中,你在上下移动鼠标滚轮时获得了生成的数据;那么至少硬件和链的 USB 驱动程序部分应该正常工作 - 如果一切正常,那么这些事件应该传播到 X 系统,并且也会被报告xev
。(因为在我的情况下我没有看到这些事件,所以我可以推断出硬件问题;这次幸运的是,只需按几下就可以轻松解决。还要注意 - 当一切正常时,移动滚轮也会在终端中生成数据,因此您将无法使用滚轮滚动终端 :) 在这种情况下,暂时恢复到键盘箭头滚动终端)。