O mouse Logitech M560 no linux envia eventos de entrada confusos

6

Meu amigo comprou ontem um mouse Logitech M560 (você pode ver aqui ) e tentei em seu sistema Ubuntu. Parece ser um modelo relativamente novo, então não há informações sobre isso em nenhum lugar, exceto no site da própria Logitech. O mapeamento de teclas estava desativado, mas achei que era fácil remapear os botões - tenho feito isso na última década com uma variedade de mouses da Logitech. No entanto, ao contrário de outros mouses, onde você tem que dizer o botão 13 com o botão 2, este mouse envia alguns eventos de pressionamento de teclas, como se você tivesse digitado no teclado.

O mouse tem botões esquerdo e direito, uma roda de rolagem com capacidade de inclinação (4 botões), botões de voltar e avançar na lateral, além de um pequeno botão quadrado atrás do volante - um total de nove botões. Pressionando a roda não funciona como clique do meio, não há interruptor sob ele. Em vez disso, pressionar a roda engata e desengata uma trava, permitindo que ela gire em etapas ou livremente.

Eu queria que todos os botões "habituais" fizessem o que deveriam e mapeasse a ação do meio-clique para o pequeno botão atrás do volante, então comecei com xev e xinput para identificar qual é qual:

Botão 1 - > Clique esquerdo Botão 3 - > clique direito Botão 4 - > roda para cima Botão 5 - > a roda para baixo Botão 8 - > inclinação para a esquerda Botão 9 - > incline para a direita

E aqui está a parte estranha: Pressionar o botão de avanço é como pressionar Super_R (código de acesso 134). Pressionar o botão de retorno produz simultaneamente Super_L e d (códigos de teclas 133 e 40).

Ainda mais estranheza: Pressionando o botão quadrado uma vez, dá simultaneamente Alt_L, Super_L e XF86TouchpadOff (códigos de teclas 64, 133, 201). Pressionando uma segunda vez é como pressionar o botão 1 ...

Assim, os primeiros seis botões enviam eventos de pressionamento / liberação de botão, enquanto os outros três enviam vários eventos de pressionamento / liberação de teclas.

É relativamente fácil mapear um botão do mouse para um código de tecla do teclado, mas é possível fazer o oposto, sem prejudicar o teclado do sistema? Devo contatar alguém do kernel.org para adicionar suporte ao mouse?

    
por xander.pl 15.11.2013 / 12:56

4 respostas

5

Você pode remapear as chaves via udev. O mouse funciona como um teclado. Há um trabalho por aqui: link

    
por 19.12.2013 / 16:50
1

esta é minha configuração:

~$ cat .xbindkeysrc |egrep -v "^$|^#"
"xte 'mouseclick 2'"
    m:0x50 + c:134

Desta forma, se for feito " trabalho ", o botão do meio.

Eu escolho o texto que preciso copiar / colar enquanto pressiono o botão direito, depois de escolher onde colar, clico no botão. Se for necessário colar novamente o mesmo texto, já que o botão quadrado não gera os mesmos eventos todas as vezes, clico nele duas vezes rapidamente.

Se você selecionar outro texto, o evento espalhado a partir do botão quadrado é sempre aquele que faz o xte para emular o clique do meio.

Não é perfeito, mas é melhor do que não ter um clique do meio.

    
por 20.08.2014 / 10:21
0

Sinto muito por ser esse cara, mas por favor, tenha paciência comigo. Eu tenho usado mouses e dispositivos apontadores da Logitech em várias máquinas, Windows, Linux e ambos, sem problemas. Até mesmo o touchpad T650, que foi anunciado como sendo um dispositivo Windows 8, funcionou corretamente no Linux com uma atualização de firmware. O M560 simplesmente não pode ser feito para funcionar 100% corretamente em qualquer coisa, exceto no Windows, sem alguns hacks excessivos. Você pode ser capaz de trocar com alguém por um modelo antigo / de trabalho, ou você pode ser capaz de obter um reembolso, uma vez que não é claro na embalagem que o mouse não é compatível com nada além do Windows, mas eu realmente não recomendo gastar muito tempo com isso.

Eu exilei meu M560 para um HTPC que não usa muito o mouse.

    
por 29.09.2014 / 03:24
-1

É 2018, com o meu KDE Fedora 25, kernel 4.13.16-100.fc25.x86_64 e o botão do meio do quadrado M560 sai da caixa como um botão do meio normal (botão 2).

    
por 02.03.2018 / 19:03