My Mi Silent Mouse does not produce events when pressing the back/forward buttons. The mouse is connected via Bluetooth on Ubuntu 20.04.1.

photo of side buttons .

$ xinput query-state "Mi Silent Mouse" produces

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 

Buttons 1-5 are the three main buttons plus wheel up/down, so buttons 6-7 should be the back/forward buttons.

evtest doesn't show any events when pressing these two buttons though.

On the other hand, the mouse works perfectly on Windows on a secondary partition on the same machine.

I have not found much info on how to solve this problem, any help appreciated.

5

1 Answer

The mouse sends a bad HID report descriptor on Bluetooth (it sends the right one over USB). I wrote a kernel module to fix it:

Installation instructions:

sudo apt install git build-essential dkms git clone cd hid_mimouse make 

If make runs without errors you can

sudo make install sudo dkms add . sudo dkms install hid_mimouse/1.0 

And reboot.

0