5

The Logitech M720 has a thumb button which does not show up with a button identifier in xev:

Logitech M720 Triathlon with thumb button

This thumb button results in Ctrl+Alt+Tab.

I am using Fedora 28, though the same issue is reported here for Ubuntu: https://askubuntu.com/questions/956484/logitech-mouse-thumb-button-not-showing-in-xev

There are also some related questions for difference Logitech mice: MX Master question and MX Anywhere 2S, which seems to have gotten some button names with evtest, but my evtest output for the thumb button doesn't look like it has any button names:

Event: time 1538277331.280194, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1538277331.280194, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1538277331.280194, -------------- SYN_REPORT ------------
Event: time 1538277331.288214, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1538277331.288214, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 1
Event: time 1538277331.288214, -------------- SYN_REPORT ------------
Event: time 1538277331.296210, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1538277331.296210, type 1 (EV_KEY), code 15 (KEY_TAB), value 1
Event: time 1538277331.296210, -------------- SYN_REPORT ------------
Event: time 1538277331.304218, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1538277331.304218, type 1 (EV_KEY), code 15 (KEY_TAB), value 0
Event: time 1538277331.304218, -------------- SYN_REPORT ------------
Event: time 1538277331.312212, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1538277331.312212, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 0
Event: time 1538277331.312212, -------------- SYN_REPORT ------------
Event: time 1538277331.320218, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1538277331.320218, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1538277331.320218, -------------- SYN_REPORT ------------

Is that button really hardwired to emit CTRL ALT TAB ?

Is it possible to remap the thumb button?

adatum
  • 1,141

2 Answers2

1

The button produces the sequence Left Ctrl Left Alt Tab on the kernel input layer level, which means it's the device itself that produces that sequence. That this is different for other Logitech devices means nothing.

I don't know how "hardwired" that sequence is, it may be possible to change it Logitech tools specific for that device. That won't be easy, you'll have to find such tools (likely for Windows), then you need to log the USB commands that Windows sends and receives with a USB sniffer, then you have to write a small program to imitate them on Linux. The good thing about that is if you make it open source, other people with this device are also able to use it, so maybe someone has already done it (spend a bit of time googling to find out).

The other option is that you catch this particular sequence on the X level (with your WM, or xbindkeys etc.), and attach your own event etc. to it. Though of course this will also detect the same sequence on your keyboard.

A third option is to detect the sequence on the input layer level. For this, you'll need to be able to write a C program that "grabs" the corresponding /dev/input/eventX, translates that particular key sequence and passes through everything else, using an uinput device as a new input layer source.

A fourth option could be to use hwdb to do some kind of translation, but AFAIK it doesn't translate sequences (but I haven't looked at that in detail).

dirkt
  • 32,309
  • I tried setting the button to a different action using Logitech's Options software in Windows with VirtualBox, but I didn't see any change in linux (behavior, xev, etc). Yes, I could use the WM or xbindkeys to catch Ctrl+Alt+Tab. It wouldn't be the most elegant, but it could work. The other options are a bit beyond me right now. – adatum Oct 03 '18 at 05:28
  • Depending on how you used VirtualBox, the new setting may just disappear as soon as you move the device to Linux again, because it gets enumerated/initialized. – dirkt Oct 03 '18 at 05:40
  • I passed through the unifying receiver to VirtualBox and thus the the paired M720 mouse and a wireless Logitech keyboard. The Options software recognized the devices and persisted the button reassignments between reboots of the VM. However, I was not able to move the mouse cursor or type with the keyboard in the VM with USB passthrough, though that may be a different issue. – adatum Oct 03 '18 at 18:39
1

With Solaar v1.0.3 it is possible to remap buttons, including the thumb button aka multiplatform gesture button, to other mouse actions:

enter image description here

The change will be reset if the mouse is turned off, unless Solaar is running to reinstate the mapping.

Persistent remapping and remapping to other key combinations are both possible and are under development: https://github.com/pwr-Solaar/Solaar/issues/832

adatum
  • 1,141