Como atribuir ações de "retorno" e "encaminhamento" à roda de rolagem horizontal do Logitech Anywhere Mouse MX?

11

Estou usando um Logitech Anywhere Mouse MX no meu Ubuntu. O mouse funciona bem, mas não posso atribuir as ações aos botões extras disponíveis. O que mais sinto falta são as ações "voltar" e "encaminhar" atribuídas à inclinação da roda de rolagem para a esquerda e direita.

Como posso ativar esses recursos?

ysap
fonte

Respostas:

9

Eu uso xbindkeysem combinação com xdotool.

Crie um .xbindkeysrcarquivo no seu diretório pessoal. Deve conter:

# Mapping BACK to mousewheel left on old Logitech
"xdotool key Alt_L+Left"
m:0x0 + b:6

# Mapping FORWARD to mousewheel right on old Logitech
"xdotool key Alt_L+Right"
m:0x0 + b:7

No entanto, com o VMware, você não precisa fazer nada além de adicionar

mouse.vusb.enable = "TRUE"

para o arquivo .vmx no seu sistema host. É o que a VMware abre toda vez que você inicia seu sistema convidado.

fiod3s
fonte
Obrigado. Testarei a linha vmx na próxima vez em que reiniciar o sistema (não acontece com muita frequência).
ysap
Tentei apenas o arquivo vmx hack - e ele não parece funcionar. O que vejo é que, ao reiniciar, o VMware apaga a linha que acabei de adicionar, como se tivesse um modelo de arquivo padrão que está sendo redefinido toda vez que você inicia a máquina.
usar o seguinte comando
ok, parece que eu tive que percorrer todo o caminho e desligar a máquina, em vez de apenas reiniciar. Agora as configurações são preservadas. Infelizmente, trabalhando remotamente no momento, a roda do mouse parece ineficaz (o mesmo na máquina host). Vou verificar novamente quando estiver no site remoto e relatar os resultados.
usar o seguinte comando
Ah, sim - acabou de verificar e funciona!
usar o seguinte comando
Obviamente, você precisa executar xbindkeysa instalação.
HongboZhu 12/02
18

Eu tenho esse mesmo mouse e queria vincular os dois botões na lateral do mouse para avançar e voltar. Aqui está como eu resolvi isso:

1) Use o utilitário "xev" para determinar a quais números os botões que você deseja remapear correspondem. Pode ser necessário instalar este pacote usando

sudo apt-get install xev  

Após a instalação do xev, digite "xev" em um terminal e uma janela do X branca com uma caixa preta será exibida. Mover o mouse para essa janela começará a registrar eventos no terminal. A leitura cuidadosa da saída mostrará o número dos botões do mouse. No meu mouse, a inclinação esquerda e direita são mapeadas para os botões 6 e 7, respectivamente.

2) Agora vamos usar o utilitário "xbindkeys" para remapear os botões do mouse para pressionar as teclas. Se você ainda não o tem instalado, pode ser necessário instalá-lo com

sudo apt-get install xbindkeys

3) Crie um arquivo em seu diretório pessoal chamado ".xbindkeysrc". É isso que o xbindkeys irá ler para ver o que você está remapeando. O conteúdo do meu arquivo .xbindkeysrc é:

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
   m:0x0 + b:8

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
  m:0x0 + b:9

Portanto, isso indica ao meu computador para enviar o botão do teclado pressionando "Alt + Esquerda" ou "Alt + Direita" para o sistema usando o teclado virtual (xvkbd) sempre que o botão 8 do mouse 0 for pressionado ou o botão 9 do mouse 0 for pressionado, respectivamente. Essas teclas correspondem às teclas de avançar e voltar na maioria dos aplicativos. Isso funcionará, por exemplo, no Nautilus, chrome /

Nota : pode ser necessário instalar xvkbdse ainda não estiver presente no seu sistema.sudo apt-get install xvkbd

jarvisschultz
fonte
Obrigado. No entanto, ao executar o utilitário xev, vejo muitas informações, embora as funções de rolagem para cima e para baixo sejam mapeadas para as teclas 4 e 5, não recebo nenhum evento quando inclino a roda de rolagem, nem quando clico nos dois botões laterais. Alguma idéia do porquê?
ysap
É possível que, por algum motivo, seu sistema não reconheça os sinais enviados pelo mouse. Se for esse o caso, você verá códigos de erro em / var / log / messages ou em dmesg. Leia mais sobre esse problema e como corrigi-lo neste URL jveweb.net/en/archives/2011/01/… Se esse não for o problema, teremos que analisá -lo mais.
jarvisschultz
ok, olhei para o log do dmesg. é uma lista bastante longa de mensagens. O que exatamente eu deveria estar procurando?
ysap
BTW, eu não mencionei isso na pergunta, mas pode ajudar - estou usando o Ubuntu como sistema operacional convidado no VMware Player no Windows 7. Pela minha experiência com alguns dispositivos, a emulação é muito boa, o Ubuntu definitivamente deve ver tudo mensagens enviadas pelo mouse.
ysap
1
Seria possível que um sudo apt-get install xvkbdesteja faltando aqui?
c_korn
5

Aqui está o que eu fiz. Não sudosão necessários comandos ou novos pacotes:

  • Testei meus botões com xev-> todos os botões correspondem a um determinado valor, o que significa que eles são reconhecidos pelo sistema
  • inspecionar dispositivos com xinput list-> o mouse está listado com o ID 9 no meu caso
  • xinput list-props 9 mostra o mapeamento atual e fala especialmente sobre os rótulos dos botões -> parece que para frente / para trás corresponde aos botões 8 e 9 que eu não tenho (a inclinação da roda é 6 e 7 e mapeada para rolagem horizontal)
  • remapear as ligações via xmodmapcomo interpretado por X é a solução mais conveniente para mim. Os primeiros cinco botões não devem ser alterados (clique com o botão esquerdo do mouse e movendo-se para cima e para baixo), mas os que relatam como botões 6 e 7 devem navegar para frente / para trás
  • executar xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16"em um terminal troca os botões 6 e 7 por 8 e 9 (virtualmente)
  • se esse mapeamento não funcionar, você restaura os padrões xmodmap -e "pointer = default"e tenta um mapeamento diferente
  • Agora eu tenho o comando button swap em meus aplicativos de inicialização para ser executado após o login
  • também parece possível de acordo com o man xmodmaparmazenamento deste comando em um arquivo chamado ~/.xmodmaprcou anexar a instrução a~/.bashrc

Trabalhou para mim. Espero que isto ajude.

Andreas
fonte
1
+1: Essa xmodmapabordagem funcionou imediatamente para mim, mas ... é possível modificar o mapeamento para um mouse específico?
MestreLion 19/09/2013
4

Isto é o que funcionou para mim:

1) Instale xbindkeys

sudo apt-get install xbindkeys

2) Instalar xautomation

sudo apt-get install xautomation

3) Crie um arquivo .xbindkeysrc em seu diretório pessoal com este dentro:

# History Back & Forward
"xte 'keydown Alt_L' 'key Left' 'keyup Alt_L' "
  b:6
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L' "
  b:7

4) Vá para Aplicativos de inicialização e adicione um programa com o comando xbindkeys.

5) Saia e faça login

Fonte: Fóruns do Ubuntu

B-Scan
fonte
Obrigado, B-Scan. Suponho que você quisesse que o arquivo fosse colocado no meu diretório pessoal. Eu coloquei lá e adicionei uma xbindkeysentrada aos Aplicativos de Inicialização, desconectado e conectado e ... ele não funciona :-(
ysap
Sim, diretório inicial. Agora eu vi que você está usando o VMware. Talvez possa estar relacionado a isso ?
B-Scan
0

Easystroke é, muito fácil de configurar.

sudo apt-get install easystroke
Scott Goodgame
fonte