后退/前进鼠标按钮未显示在 evtest 中

后退/前进鼠标按钮未显示在 evtest 中

我的 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

然后重新启动。

相关内容