O Logitech M720 possui um botão de polegar que não aparece com um identificador de botão em xev
:
Este botão de polegar resulta em Ctrl+Alt+Tab.
Estou usando o Fedora 28, embora o mesmo problema seja relatado aqui para o Ubuntu: https://askubuntu.com/questions/956484/logitech-mouse-thumb-button-not-showing-in-xev
Há também algumas perguntas relacionadas para a diferença dos mouses Logitech: MX Master question e MX Anywhere 2S , que parece ter obtido alguns nomes de botão com evtest
, mas minha evtest
saída para o botão do polegar não parece ter nenhum nome de botão:
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 ------------
Esse botão está realmente programado para emitir CTRL ALT TAB ?
É possível remapear o botão do polegar?
O botão produz a sequência Left Ctrl Left Alt Tabno nível da camada de entrada do kernel, o que significa que é o próprio dispositivo que produz essa sequência. Que isso seja diferente para outros dispositivos Logitech não significa nada.
Não sei o quão "hardwired" essa sequência é, pode ser possível alterá-la com ferramentas da Logitech específicas para esse dispositivo. Isso não será fácil, você terá que encontrar essas ferramentas (provavelmente para Windows), então você precisa registrar os comandos USB que o Windows envia e recebe com um sniffer USB, então você tem que escrever um pequeno programa para imitá-los no Linux. O bom disso é que, se você o tornar open source, outras pessoas com este dispositivo também poderão usá-lo, então talvez alguém já tenha feito isso (passe um pouco de tempo pesquisando no Google para descobrir).
A outra opção é que você pegue essa sequência específica no nível X (com seu WM ou
xbindkeys
etc.) e anexe seu próprio evento etc. a ela. Embora, é claro, isso também detecte a mesma sequência no seu teclado.Uma terceira opção é detectar a sequência no nível da camada de entrada. Para isso, você precisará escrever um programa em C que "pegue" o
/dev/input/eventX
, traduza essa sequência de teclas específica e passe por todo o resto, usando umuinput
dispositivo como uma nova fonte de camada de entrada.Uma quarta opção poderia ser usar
hwdb
para fazer algum tipo de tradução, mas o AFAIK não traduz sequências (mas não analisei isso em detalhes).Com o Solaar v1.0.3 é possível remapear botões, incluindo o botão de polegar, também conhecido como botão de gesto multiplataforma, para outras ações do mouse:
A alteração será redefinida se o mouse for desligado, a menos que o Solaar esteja em execução para restabelecer o mapeamento.
Remapeamento persistente e remapeamento para outras combinações de teclas são possíveis e estão em desenvolvimento: https://github.com/pwr-Solaar/Solaar/issues/832