Logitech MX-510: Alguns botões extras não podem ser utilizados

9

Eu tenho um Logitech MX-510, que uso há cerca de seis anos.

Logitech MX-510

O Mouse possui vários botões extras que eu gostaria de usar no Gnome, mas tenho problemas com os códigos dos botões que o mouse envia ao driver:

  • O botão 1 (botão da roda do mouse) funciona conforme o esperado. Um ButtonPressevento com state 0x10e button 1na imprensa, e ButtonReleasecom state 0x110no lançamento.

  • O botão 2 (botão da roda do mouse) funciona conforme o esperado. Um ButtonPressevento com state 0x10e button 2na imprensa, e ButtonReleasecom state 0x210no lançamento.

  • O botão 3 (botão direito) funciona conforme o esperado. Um ButtonPressevento com state 0x10e button 3na imprensa, e ButtonReleasecom state 0x410no lançamento.

  • O botão 4 (rolagem para cima) funciona conforme o esperado. Ele envia um ButtonPressevento com state 0x10e button 4, e um ButtonReleaseevento com state 0x810. Ambos os eventos ocorrem instantâneos em cada etapa da rolagem.

  • O botão 5 (role para baixo) funciona conforme o esperado. Ele envia um ButtonPressevento com state 0x10e button 5, e um ButtonReleaseevento com state 0x1010. Ambos os eventos ocorrem instantâneos em cada etapa da rolagem.

Os botões 6 e 7 parecem não existir.

  • O botão 8 (botão voltar) funciona conforme o esperado. Ele envia um ButtonPressevento com state 0x10e button 8, e um ButtonReleaseevento também com state 0x10. Ambos os eventos ocorrem instantâneos em cada etapa da rolagem.

  • O botão 9 (botão voltar) funciona conforme o esperado. Ele envia um ButtonPressevento com state 0x10e button 9, e um ButtonReleaseevento também com state 0x10. Ambos os eventos ocorrem instantâneos em cada etapa da rolagem.

O mouse possui três botões adicionais, como você pode ver na figura acima.

  • O botão 10 (na parte superior do mouse) não é utilizável. Ele envia um ButtonPressevento com state 0x10e button 10, e um ButtonReleaseevento também com state 0x10. O botão não pode ser usado com o Gnome, porque não é selecionável. A maioria dos seletores de opções, como a do CompizConfig Settings Manager, apenas sobe para o Botão 9.

  • O botão 11 (botão extra à frente da roda do mouse) não é muito utilizável. Quando pressionado, ele envia um ButtonPressevento com state 0x10e button 11, e um outro ButtonPressevento com state 0x10e button 4 e ainda um outro ButtonPressevento com state 0x810e button 4(os dois últimos sendo o mesmo comportamento como se a roda de rolagem foi movido um passo para cima). No lançamento, ele envia um ButtonReleaseevento com state 0x10e button 11. Mas o problema é que, quando o botão é pressionado, ele repete a "simulação da roda do mouse" cerca de cinco vezes por segundo. (como um controle de cruzeiro com roda do mouse ou algo assim).

  • O botão 12 (botão extra na parte de trás da roda do mouse) não é totalmente utilizável. Quando pressionado, ele envia um ButtonPressevento com state 0x10e button 12, e outro ButtonPressevento com state 0x10e button 5 e ainda outro ButtonPressevento com state 0x1010e button 5(os dois últimos são o mesmo comportamento como se a roda de rolagem fosse movida um passo para cima). No lançamento, ele envia um ButtonReleaseevento com state 0x10e button 12. Quando pressionado, ele exibe o mesmo comportamento de controle de cruzeiro que o botão 11, mas com os respectivos parâmetros de botão e estado.

Existe uma maneira de remapear essas chaves adicionais de uma maneira, onde eu possa usá-las ou torná-las utilizáveis ​​com o Gnome? E, principalmente, se possível, faça com que os botões 11 e 12 parem de enviar códigos para a roda do mouse para cima e para baixo. E, se possível, como posso alterar o comportamento geral dos botões do mouse em geral?

polemon
fonte
Acabei de inicializar o Windows, instalei os drivers da Logitech e tentei definir esses dois botões para outra coisa, que não precisa de "autofire" repetitivo. Mas não ajudou. Todos os números de estado foram alterados.
precisa saber é

Respostas:

2

Você precisa usar o lomoco para fazer alterações permanentes (como impedir que os botões 11 e 12 enviem eventos da roda de rolagem.) Pode ser necessário executar o lomoco na inicialização para manter as alterações. Eu fiz isso com o meu MX1000.

Você pode usar o xmodmap para remapear os botões, se desejar atribuir os botões 6 e 7 (que normalmente são tratados como rolagem horizontal em X.)

Malvineous
fonte
O problema é que lomoco não compila, pois o Linux não suporta Riachos (stropts.h)
Polemon
@polemon: Compila bem para mim - você está usando o link "download versão 1.0" da página inicial ?
Malvineous
@Malvineous: yes
polemon
@polemon: Parece que você está perdendo alguns arquivos de cabeçalho, talvez sua distro tenha pacotes -dev que você precisa instalar antes de poder compilá-lo? Eu tentei no Gentoo sem problemas. Talvez sua distribuição já tenha um pacote.
Malvineous
Eu verifiquei todos eles. Eles estão disponíveis apenas para fins de compilação cruzada. Os cabeçalhos padrão do Linux não os incluem mais. Uma distribuição relativamente nova não os tem nos repositórios ou em qualquer outro lugar. A versão 1.0 é muito antiga. :(
Polemon
1

(Eu mesmo tenho um Mx518 e estou fazendo algumas suposições sobre o 500 com base no meu 518.)

Os dois botões imediatamente à frente e atrás do volante destinam-se a controlar o DPI do mouse. Como isso parece ser feito no próprio hardware, não sei se é aconselhável usá-los para qualquer outra coisa.

Você pode usar lmctl para configurar o botão mais acima ou os botões de flanqueamento das rodas. Há outro programa chamado, logitech_appletmas nunca o usei

Andrew Lambert
fonte
11
O MX510 não tinha resolução ajustável. Esses dois botões de que você está falando tinham uma função totalmente diferente no MX-510 (conheço os dois mouses, MX-510 e MX-518).
Polemon
Eu vejo. Bem, um dos dois programas que mencionei pode ser capaz de mapeá-los.
Andrew Lambert
O lmctl está morto há muito tempo. O projeto subsequente, [lomoco], parece não ter manutenção, um pouco no momento, mas ainda vê desenvolvimento. No entanto, não pareço capaz de criar o repositório de compilação clonado. O lançamento é tão antigo que não será compilado.
Polemon
@polemon: verifique se você está usando o lomoco original, não a reescrita que atualmente não é compilada. Não acho que o lomoco original esteja sob controle de versão.
Malvineous