![后退/前进鼠标按钮未显示在 evtest 中](https://linux22.com/image/932835/%E5%90%8E%E9%80%80%2F%E5%89%8D%E8%BF%9B%E9%BC%A0%E6%A0%87%E6%8C%89%E9%92%AE%E6%9C%AA%E6%98%BE%E7%A4%BA%E5%9C%A8%20evtest%20%E4%B8%AD.png)
我的 Mi Silent Mouse 在按下后退/前进按钮时不会产生事件。鼠标通过蓝牙连接到 Ubuntu 20.04.1。
$ xinput query-state "Mi Silent Mouse"
生产
2 classes :
ButtonClass
button[1]=up
button[2]=up
button[3]=up
button[4]=up
button[5]=up
button[6]=up
button[7]=up
ValuatorClass Mode=Relative Proximity=In
valuator[0]=1973
valuator[1]=741
valuator[2]=0
valuator[3]=11640
按钮 1-5 是三个主按钮加上滚轮向上/向下,因此按钮 6-7 应该是后退/前进按钮。
evtest
按下这两个按钮时不会显示任何事件。
另一方面,鼠标在同一台机器的辅助分区上的 Windows 上运行良好。
我还没有找到太多关于如何解决这个问题的信息,如能得到任何帮助我将不胜感激。
答案1
鼠标通过蓝牙发送了错误的 HID 报告描述符(通过 USB 发送正确的描述符)。我编写了一个内核模块来修复它:https://github.com/matega/hid_mimouse
安装说明:
sudo apt install git build-essential dkms
git clone https://github.com/matega/hid_mimouse.git
cd hid_mimouse
make
如果make
运行没有错误你可以
sudo make install
sudo dkms add .
sudo dkms install hid_mimouse/1.0
然后重新启动。