Skip to content

Instantly share code, notes, and snippets.

@jclay
Created February 8, 2019 01:20
Show Gist options
  • Save jclay/a5167ede78622bdb14c8e2b889499463 to your computer and use it in GitHub Desktop.
Save jclay/a5167ede78622bdb14c8e2b889499463 to your computer and use it in GitHub Desktop.
Fixing Logitech M705 Mouse in Linux

Fixing Logitech M705 Mouse in Linux

I have experienced issues with the free scroll toggle button on older Logitech M705 mouse in every distribution I've tried.

Here's how I ended up fixing it:

$> xinput list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft Nano Transceiver 1.1 Consumer Control id=11   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft Nano Transceiver 1.1  id=14   [slave  pointer  (2)]
⎜   ↳ Logitech M705                             id=16   [slave  pointer  (2)]
⎜   ↳ Logitech M510                             id=17   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Microsoft Microsoft Nano Transceiver 1.1  id=10   [slave  keyboard (3)]
    ↳ Microsoft Microsoft Nano Transceiver 1.1 System Control   id=12   [slave  keyboard (3)]
    ↳ Microsoft Microsoft Nano Transceiver 1.1  id=13   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=18   [slave  keyboard (3)]
    ↳ HP WMI hotkeys                            id=19   [slave  keyboard (3)]
    ↳ Microsoft Microsoft Nano Transceiver 1.1 Consumer Control id=20   [slave  keyboard (3)]
    ↳ Topre Corporation Realforce 87            id=15   [slave  keyboard (3)]

Take note of the ID associated with the mouse.

Take a look at the current mapping:

$> xinput get-button-map 16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Using xev and clicking down the scroll button, I was able to identify that the button was identified as button 20. We can simply disable it as follows:

$> xinput set-button-map 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0

And now everything works as expected!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment