Como posso atribuir ações a todos os botões do meu mouse?

24

Eu tenho um mouse com muitos botões, mas não é um mainstream como o Logitech. Para o Windows, eu tenho um driver que me permite atribuir ações como fechar janela (Ctrl + W) ou próxima-guia (Ctrl + Tab), mas eu não tenho um driver Linux. Como o Linux é tão flexível, pensei que talvez haja uma maneira geral de fazer isso, independentemente da marca?

Atualização: Com base na entrada do Cyrex, instalei e executei sudo apt-get install btnx , que encontrou vários, mas nem todos os botões do mouse.
Encontrado: esquerda, direita, roda, wheelclick, polegar fwd, polegar para trás.
Não encontrado: roda para a esquerda, roda para a direita, botão do meio do polegar.
O ID do fornecedor é 0x04d9, o ID do modelo é 0xa015.

Atualização 2: No sistema > Prefs > mouse, há um ícone de lâmpada para testar a velocidade do clique duplo. Cada botão de trabalho pode ligar e desligar a lâmpada, mas os botões que faltam não podem. Parece que o Ubuntu não tem conhecimento desses botões e, portanto, não registra seus cliques. Acho que preciso procurar um driver, embora um mouse comum seja provavelmente o caminho mais fácil.

    
por Torben Gundtofte-Bruun 31.12.2010 / 19:45

9 respostas

7

Se todos os botões forem detectados corretamente, você poderá instalar o btnx:

sudo apt-get install btnx OU sudo aptitude install btnx

Em seguida, vá para: Aplicativos - > Ferramentas do sistema - > Btnx

Tem suporte para muitos tipos de ratos

    
por Luis Alvarado 31.12.2010 / 23:50
23

Eu tenho um MX Anywhere "M-R0001"

Eu uso os botões Avançar e Voltar como Copiar e Colar.

Passos:
1) Todos os botões são detectados com o último kernel ... pelo menos com

uname -a

3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6 20:47:07 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

2) Então, basicamente, você só precisa mapear esses botões com ações desejadas. Como saber com o botão é pressionado e o código numérico correspondente? Bem, você pode usar o programa 'xev':

xev

Este programa é um sniffer de eventos chave e mouse. Quando ele está em execução, você pode ver uma janela na qual você pode pressionar os botões do mouse e ver se eles são detectados. Por exemplo, com o botão de zoom do Performance MX, você verá algo assim:

ButtonPress event, serial 35, synthetic NO, window 0x5800001,
    root 0x15a, subw 0x0, time 64521438, (84,117), root88,144),
    state 0x10, button 13, same_screen YES

isso significa que 13 é o código desse botão do mouse. Você pode experimentar todos os botões do mouse na sua mão ... para facilitar o acesso, aqui está o mapa para o Performance MX:

  • botão Voltar: 8
  • botão Avançar: 9
  • botão de zoom: 13
  • Botão Mostrar janelas: 10

os outros botões são bem reconhecidos e você não precisa mapear para ações.

3) Agora, você precisa instalar um pequeno programa para mapear novamente entradas de mouse e teclado. O mago é 'xbindkeys' ... a instalação fácil está usando:

sudo apt-get install xbindkeys

4) Uma vez instalado, você pode fazer a mágica. A idéia é configurar os botões do mouse para enviar combinações de teclas para ativar outras funcionalidades da área de trabalho (na verdade, xbindkeys podem ser usados para executar qualquer outro programa quando você pressiona um botão do mouse). No KDE você pode fazer isso com a combinação de teclas Ctrl + F10. O ponto é criar um arquivo de configuração do xbindkeys para fazer o trabalho.

5) Para criar o arquivo de configuração, basta executar o seguinte comando:

xbindkeys --defaults > $HOME/.xbindkeysrc

6) E precisamos editar o arquivo para especificar o mapeamento do seu botão:

gedit $HOME/.xbindkeysrc

7) Precisamos adicionar nossas configurações de botão-a-chave. Por exemplo, tenho o seguinte:

# Back changed to Copy
"xte 'keydown Control_L' 'key C' 'keyup Control_L'"
  b:8

# Forward
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L'"
  b:9

# Present desktops
"xte 'keydown Control_L' 'key F8' 'keyup Control_L'"
  b:13

# Present windows
"xte 'keydown Control_L' 'key F10' 'keyup Control_L'"
  b:10

8) Houve um novo requisito. o programa 'xte', que basicamente simula combinações de teclas de usuário. Instale-o usando:

sudo apt-get install xautomation

Agora, se você executar em um terminal algo como:

xte 'keydown Control_L' 'key F10' 'keyup Control_L'

significa simular um pressionamento de teclas Ctrl + F10 . A idéia é usar xbindkeys para dizer: "quando eu pressiono o 13º botão do mouse, envie um teclado Ctrl + F10 usando o programa xte para gerar esse"

9) E, finalmente, você precisa configurar 'xbindkeys' para rodar automaticamente na inicialização do sistema. Clique no botão Startup Applications / Add e digite '/ usr / bin / xbindkeys' na caixa de diálogo.

FEITO

    
por BOB 16.06.2013 / 20:55
9

Easystroke é um aplicativo de reconhecimento de gestos de mouse e gerenciador de gestos de mouse para distribuição do Ubuntu e Linux . permite ao usuário controlar o aplicativo do Ubuntu com gestos do mouse desenhados à mão ou desenhar na tela. O Easystroke funciona em Tablet PCs e pode ser usado igualmente com um mouse, uma caneta ou até mesmo com os dedos, se você tiver uma tela sensível ao toque.

Instale o Easystroke no Ubuntu

sudo apt-get install easystroke

Se você quiser instalar o easystroke via PPA, você pode adicionar um repositório PPA, digite este comando:

sudo add-apt-repository ppa:easystroke/ppa
sudo apt-get update
sudo apt-get install easystroke

Para usuários de Unity : o EasyStroke ainda não usou o miniaplicativo de indicadores, portanto, quando você o executa a partir do menu, não há nada no miniaplicativo indicador. Para resolver este problema, simplesmente execute estes comandos no terminal:

easystroke -g

Ele executará o EasyStroke e abrirá as janelas de configuração automaticamente.

Fonte

    
por penreturns 01.10.2012 / 21:45
5

Se você instalar o Gerenciador de Configurações do CompizConfig então você poderá configurar vários atalhos de botão de gerenciamento de janelas.

Pode levar algum esforço para descobrir qual botão é qual.

Na captura de tela, estou atribuindo a abertura do alternador Super + Tab para um clique da minha roda de rolagem.

    
por 8128 31.12.2010 / 20:03
4
O

Reconhecimento de gestos simplificado foi desenvolvido principalmente para criar ponto de gestos de dispositivos , mas também pode ser usado para atribuir ações a simples pressionamentos de botões.

Para usá-lo dessa maneira,

  1. Abra a janela de configuração .
  2. Em Preferências ▸ Comportamento ▸ Botões Adicionais ▸ Adicionar , selecione Gestos Instantâneos e pressione o botão do mouse desejado na caixa cinza.

  3. EmAções,cliqueemAdicionaração.

  4. CliqueduasvezesnacolunaStokeepressionenovamenteobotãodomousedesejado.

  5. CliquenascolunasNome,TipoeDetalhesparaconfigurarumaação.

por ændrük 14.10.2012 / 23:04
2

Olli Salonen tem seu próprio ppa que precisa ser adicionado à sua lista se você quiser instalar via apt. Aqui está a informação sobre a adição de ppa.

link

Além disso, este link pode ajudar na instalação na versão mais recente do Ubuntu desde que eu vejo Olli não está ativo por um bom tempo agora.

    
por mbiber 23.02.2014 / 21:27
1

A fonte está aqui: link Ele construiu e rodou no meu Linux Mint 13 sem problemas. Advertência: o btnx-config precisa ser executado com perms root.

    
por Luke H 22.04.2014 / 18:19
1

Em meados de 2017, parece não haver nenhum pacote btnx atualizado para o Ubuntu 16.04 LTS, e easystroke também não parece ser mantido por mais tempo .

Eu queria atribuir copiar / colar aos dois botões adicionais do meu Microsoft IntelliMouse , e finalmente resolvi o imwheel , que é descrito em esta página no Wiki do Ubuntu .

Para referência, aqui está meu ~/.imwheelrc :

# https://help.ubuntu.com/community/ManyButtonsMouseHowto

"^(Gnome-terminal|Tilda)"
None, Thumb1, Shift_L|Control_L|C
None, Thumb2, Shift_L|Control_L|Insert

".*"
None, Thumb1, Control_L|C
None, Thumb2, Control_L|V

# vim:ts=4:shiftwidth=4:syntax=sh

Para iniciar a ferramenta junto com o servidor X, defina IMWHEEL_START=1 em /etc/X11/imwheel/startup.conf .

    
por Ingo Karkat 10.08.2017 / 15:33
0

O Btnx está disponível para download em aqui .

    
por Dusan Milosevic 23.02.2014 / 21:20