Como remapear o botão do mouse não identificado por xev

2

O Logitech M720 possui um botão de polegar que não aparece com um identificador de botão em xev :

EstebotãodopolegarresultaemCtrl+Alt+Tab.

EstouusandooFedora28,emboraomesmoproblemasejarelatadoaquinoUbuntu: link

Existem também algumas questões relacionadas com a diferença entre os ratos da Logitech: MX Master question e MX Anywhere 2S , que parece ter recebido alguns nomes de botões com evtest , mas minha saída evtest para o botão thumb 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 é realmente hardwired para emitir CTRL ALT TAB?

É possível remapear o botão do polegar?

    
por adatum 30.09.2018 / 05:23

1 resposta

0

O botão produz a sequência Ctrl Esquerda Alt Esquerda Tab no nível da camada de entrada do kernel, o que significa que é o próprio dispositivo que produz aquele seqüência. Que isso é diferente para outros dispositivos da Logitech não significa nada.

Não sei o quão "hardwired" é essa sequência, pode ser possível alterá-la para ferramentas específicas da Logitech 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ê abrir o código-fonte, outras pessoas com esse dispositivo também poderão usá-lo, então talvez alguém já tenha feito isso (gaste um pouco de tempo pesquisando para descobrir).

A outra opção é pegar essa sequência em particular no nível X (com seu WM ou xbindkeys etc.) e anexar seu próprio evento, etc. a ela. Embora, claro, isso também detecte a mesma seqüência em seu teclado.

Uma terceira opção é detectar a sequência no nível da camada de entrada. Para isso, você precisará ser capaz de escrever um programa em C que "capture" o /dev/input/eventX correspondente, converta essa sequência de chaves específica e passe por todo o restante, usando um dispositivo uinput como uma nova fonte de camada de entrada. / p>

Uma quarta opção poderia ser usar hwdb para fazer algum tipo de tradução, mas o AFAIK não traduz sequências (mas eu não analisei isso em detalhes).

    
por 01.10.2018 / 08:47

Tags