Como configurar botões extras no Logitech Mouse

64

Alguém pode me dizer como configurar todos os botões em um mouse Logitech MX 620 no Ubuntu 12.04?

Especificamente, gosto de fazer um deles ser apenas a Ctrlchave (para controlar o clique nas páginas da web) e outro Ctrl+ Wpara fechar as guias. Eu também normalmente abro a página da roda de rolagem para cada clique (caso contrário, dói muito em meus braços rolar tanto). Eu faço empurrando a roda para a esquerda = retorno e empurrando para a direita = página para frente.

Procurei outras respostas para isso e encontrei algo relacionado aqui

Mas quando publiquei um post de acompanhamento para resolver o problema, ninguém respondeu - talvez eu cometi o erro de postar em uma pergunta que havia sido "resolvida". Não tenho certeza de como devo reabrir uma pergunta que seja pertinente à minha pergunta, mas não resolva a minha.

Rick
fonte
11
Eu acho que esta é a maneira mais fácil de obter o mouse trabalhar com funcionalidade total: ralf-oechsner.de/opensource/page/logitech_performance_mx
Edward Kennedy

Respostas:

70

Você precisará de vários aplicativos para isso, para instalá-los, execute

sudo apt-get install xbindkeys xautomation xev

ou

sudo apt-get install xbindkeys xautomation x11-utils

edit: xev foi mesclado no x11utils, a partir do Ubuntu 14.04 ou superior.

Passo 1

Você precisa encontrar os números dos botões do mouse. Corra xev. Você verá uma pequena janela branca aparecer, coloque o mouse e pressione os botões do mouse (é melhor fazer um botão de cada vez). Você deve obter uma saída como esta para cada botão:

ButtonRelease event, serial 41, synthetic NO, window 0x4c00001,
root 0x2e9, subw 0x4c00002, time 25804905, (31,28), root:(821,80),
state 0x110, button 1, same_screen YES

(nota: xevtambém capture o movimento do mouse, para que você possa peneirar os eventos de movimento do mouse para encontrar os eventos do botão; por exemplo xev -event mouse | grep Button --before-context=1 --after-context=2:)

Isto é o que é importante do que a produção: button 1. Isso nos diz que um botão específico é o botão um. Eu armazenaria isso em um .txtarquivo por enquanto.

Passo 2

Crie o xbindkeysarquivo de configuração usando:

xbindkeys --defaults > $HOME/.xbindkeysrc  

Em seguida, precisamos adicionar as ligações de tecla / botão ao arquivo de configuração. Você pode abrir este arquivo com gedit $HOME/.xbindkeysrc. Isto é onde a diversão começa. Vamos usar xtepara definir ligações para nossos botões.

Para fazer um botão agir como Ctrladicionamos:

"xte 'key Control_L'"
b:1  

Isso ligaria Ctrlao botão do mouse um.

Se você me informar os números dos botões e o que deseja que cada um faça, escreverei o script para você.

Seth
fonte
@ seth: eu gostaria de configurar os botões 8 e 9 como "back" e "forward", respectivamente. Melhor ainda, se eu pudesse descobrir onde encontrar os comandos que posso configurar com xbindkeys, isso seria ótimo. Obrigado, Dan
dbbd
11
A maneira mais fácil de reduzir a insanidade da saída xev é, executando a saída através do grep: xev | grep -A2 ButtonPress; isso deixará todos os eventos de movimento do mouse, eventos de foco etc. e apenas mostrará os ButtonPresseventos.
Lambart
@dbbd Aparentemente, perdi sua mensagem de alguma forma. Vou investigar e voltar para você.
Seth
2
Meu mouse também é um G300 e não consigo fazer isso funcionar. Os botões estão mapeados incorretamente e dois botões estão mapeados para o mesmo botão Control_L e não tenho idéia de como mapeá-los, pois, quando pressionados, eles não se identificam.
Inoki
6
"xbindkeys -p" para aplicar as alterações
Alex Fedulov 28/11/16
12

Eu segui as instruções do @ Seth , mas a ligação que eu queria era que o botão do polegar e o M705 fizessem CTRL + Left-click(para abrir links em uma nova guia no navegador Chrome). A ligação que eu precisava adicionar era esta:

"xte 'keydown Control_L' 'mouseclick 1' 'keyup Control_L'"
    b:10 + Release

Espera que o botão do polegar seja liberado e pressiona a tecla Control, executa o clique do mouse e libera a tecla Control.

CoatedMoose
fonte
Esta solução, não a acima, funcionou como um encanto no Ubuntu Mate 16.04 com o mouse Logitech M705. Usei-o para atribuir copiar e colar aos botões laterais, para que minhas configurações fossem assim: "xte 'keydown Control_L' 'chave c' 'keyup Control_L'" b: 9 "xte 'keydown Control_L' 'key v' 'keyup Control_L '"b: 8
Draco
2
"xbindkeys -p" para aplicar as alterações.
user3616725
8

Para quem deseja vincular copiar e colar ações nos botões do mouse:

  1. Siga a resposta de Seth (aquela com os passos 1, 2 e sudo apt-get install xbindkeys xautomation xev)
  2. Coloque as seguintes linhas no seu .xbindkeysrcarquivo:

Isto é para copiar:

"xte 'keydown Control_L' 'key c' 'keyup Control_L'"
b:9

Isto é para colar:

"xte 'keydown Control_L' 'key v' 'keyup Control_L'"
b:8

* b:9significa o botão 9 do mouse (verifique os números dos botões com xev)

  1. Não funcionará imediatamente, você deve recarregar .xbindkeysrcprimeiro ou reiniciar sua máquina.
zwolin
fonte
oh uau, isso funcionou para mim perfeitamente. tentando configurar essas chaves nos últimos 4 anos e só agora é capaz de fazer isso. obrigado! btw é super importante saber o que botões aqueles são, para mim eles eram 16 e 17 no meu rato ..
Tio TROM
NOTA: o b: 9 etc precisa estar em uma nova linha no arquivo de configuração. Coloquei-os na mesma linha e não consegui entender por que não estava funcionando.
precisa saber é o seguinte
Isso funcionou para mim na GUI, mas não funciona no terminal Bash. Existe alguma maneira de fazer copiar / colar funcionar para a GUI e o shell com os mesmos botões?
JoeMjr2
@ JoeMjr2 No terminal Bash, você provavelmente cola usando Ctrl + Shift + V e copia pressionando Ctrl + Shift + C. Portanto, você precisaria de alguma maneira de usar o mapeamento específico do aplicativo. Não tenho certeza de como. Talvez você possa usar algum emulador de terminal e configurar teclas de atalho para copiar e colar da maneira padrão - os botões do mouse para copiar e colar devem funcionar.
Zwolin
5

Você deve instalar o Solaar, uma ferramenta Linux que permite gerenciar os mouses e teclados do Logitech Unifying Receiver, fornecidos com uma interface gráfica do usuário e uma linha de comando. Para fazer isso, adicione o seguinte repositório e instale executando os seguintes comandos:

sudo add-apt-repository ppa:daniel.pavel/solaar

sudo apt-get update

sudo apt-get install solaar

Isso permitirá aumentar e maximizar o DPI do mouse, monitorar a bateria, permitir rolagem suave e rolagem lateral. Para que o botão de múltiplas janelas e zoom funcione, você pode visitar este site, que o orienta nas etapas fáceis para obter a funcionalidade que você está procurando:

http://www.ralf-oechsner.de/opensource/page/logitech_performance_mx

Edward Kennedy
fonte
Eu fiz isso no meu C720 / crouton. Quando corri solaar, ele caiu de volta para a tela inicial. Eu tive que reiniciar (e descobrir que o comando era sudo startxfce4) e remover o solaar.
Marty cohen #
Solaar foi muito buggy para mim em 14.04 e, eventualmente, simplesmente não funcionaria. Sei que a pergunta original era de 12.04, mas achei que valeria a pena mencionar. Talvez poupe alguém algum tempo.
musgo
12
-1. Esta resposta não responde à pergunta. solaar não faz nenhum mapeamento dos botões do mouse.
Twifty
também não funcionou para mim.
Woitg
3

Você já deve tê-los como eles devem vir com o Ubuntu, mas execute isso apenas por precaução.

sudo apt-get install libdaemon-dev libglade2-dev libgtk2.0-dev 

Agora, faça o download e instale

  1. btnx-config
  2. BTNX Nesta ordem.

Para instalar:

Descompacte e cdem cada uma dessas pastas.

Em cada um deles, execute:

./configure
make
sudo make install

Depois que os dois estiverem instalados, execute

sudo btnx-config

Na guia Configurações, clique em Detectar mouse e botões

insira a descrição da imagem aqui

Na guia Botões, atribua uma tecla ou funcionalidade ao botão do mouse. Verifique se a marca de seleção está ativada .

insira a descrição da imagem aqui

Por fim, na guia Configurações, clique no botão Reiniciar btx para que suas alterações entrem em vigor.

insira a descrição da imagem aqui

Sem suor
fonte
Funcionou bem no disco ubuntu. Uma correção: deve ser justo ./configure, não ./configure make. Além disso, você não precisa do sudo com o make.
panta82 15/06
@ panta82 Peguei aqueles diretamente do arquivo README.md
No Sssweat
Eu sei. Há um erro no arquivo README :)
panta82 20/06
2

Eu também tenho o mouse para jogos g700s. A boa notícia é que era caro (para um mouse) e a fabricação realmente o construiu com um alto padrão. As funções do mouse são armazenadas no mouse. A má notícia é configurá-lo corretamente. Você precisa usar o software da Logitech, que roda apenas no Windows.

Então ... basicamente, você precisa conectar o mouse a uma caixa do Windows e configurá-lo exatamente como deseja . Eu recomendo a utilização da função de perfis de switch para que você possa configurá-la para uso normal, como: executar a área de trabalho linux, funções de compiz (alternar aplicativos, alternar áreas de trabalho, alternar maximizar etc.) e criar outro perfil para jogos ( possivelmente com uma taxa de atualização diferente) e os botões de jogo. Quanto ao compiz, considere definir os botões dos quatro polegares laterais para alt, ctl, shift, superkey, pois isso facilitará o uso da alternância com a roda de rolagem. alt + roda de rolagem para cima se torna o botão polegar 1 + roda de rolagem para cima.

Meu esquema:

botão 1 do polegar (avançar mais baixo) = alt

botão do polegar 2 (superior para a frente) = shift

botão de polegar 3 (traseira inferior) = ctrl

botão polegar 4 (parte traseira superior) = superchave (tecla Windows)

botão do meio do dedo indicador = ctrl + alt + numpad 5

dedo indicador mais perto de você = tab

dedo indicador mais distante de você = alt-f4 (aplicativo compiz / linux / winX)

padrões do compiz:

alternar espaço de trabalho = alt + ctl + arrastar o mouse = abaixar 2 botões do polegar juntos + clicar e arrastar o mouse; parece complicado quando digitado, mas é muito eficiente de usar.

alternar entre aplicativos = alt + tab = botão inferior para a frente do polegar + botão mais próximo do dedo indicador (lembre-se de que isso funcione bem, você deve manter pressionado o botão do polegar para poder alternar o aplicativo anterior)

esmaecendo uma janela (transparência) = alt + roda de rolagem = polegar botão para a frente e roda de rolagem

Depois, leve-o de volta à sua caixa Linux e ele funcionará perfeitamente.

As combinações de teclas descritas acima funcionam muito bem, mas considere que o campo de batalha 4 também sofre muito com o reconhecimento do mouse como um mouse com 10 botões; portanto, eu tive que mapear meus 4 botões para =, \ e;. Mas, obviamente, no linux, isso é bobagem, e vincular novamente a tecla = ao "próximo aplicativo" é uma lição de futilidade, especialmente ao codificar hahahaha.

MUITOS LINKS NECESSÁRIOS AO USAR O VIRTUALBOX PARA EXECUTAR O WINDOWS 7:

https://stackoverflow.com/questions/20021300/usb-devices-are-not-recognized-in-virtualbox-linux-host

https://www.youtube.com/watch?v=-0OyrvbZNwo

user681010
fonte
1

Eu tenho um Logitech MX 500 e queria mapear as teclas laterais com as ações Copiar e Colar (é muito útil).

Usei este guia para entender como configurar o arquivo xbindkeysrc e para mapear as chaves.

alemão
fonte
2
Você sabe que mover o ponteiro do mouse para o início / fim do texto que você deseja copiar e, em seguida, pressione o botão esquerdo e mantenha-o pressionado até chegar ao final / início do que você deseja copiar e copiá-lo. Quando você deseja colar, pressione o botão do meio (se você tiver apenas um mouse de dois botões, pressione os botões esquerdo e direito ao mesmo tempo) e cole o texto. Não há necessidade de configurar nada, isso está pronto para uso em todas as máquinas Unix e Linux com um sistema XWindows. Tenha em mente que não está usando um produto Microsoft inexpressivo, mas GNU / Linux
@ user350566 Este tipo de copiar + colar tem algumas limitações. Às vezes, você deseja a outra área de transferência, também conhecida como Ctrl + C / + V. Apenas dizendo.
precisa saber é o seguinte
1

Eu fiz uma solução que funciona com Wayland.

Está aqui https://github.com/mathportillo/wayland-mouse-mapper

Ele usa o evemu para enviar um aviso de evento do dispositivo ao kernel, portanto não é restrito pelo Wayland

Um script bash resumido que mostra como funciona está abaixo (a maioria dos comandos requer privilégios de root)

encontre o seu dispositivo:

libinput list-devices

Para encontrar diretamente o nome do seu dispositivo indicador, use:

libinput list-devices | grep pointer -B3 | grep -o '/dev/input/event[1-9]*'

para listar os eventos do seu dispositivo (altere event5 para o nome do dispositivo do ponteiro):

libinput debug-events --device /dev/input/event5

para vincular comandos aos eventos do seu dispositivo, use:

while read line; do
    echo ${line} # line represents a command
    # your code goes here
done < <(stdbuf -oL libinput debug-events --device /dev/input/event5 & )

para acionar um evento de mouse, use:

evemu-event /dev/input/event5 --sync --type EV_KEY --code KEY_PAGEUP --value 1

o tipo pode ser diferente do pressionamento de tecla e o código pode ser diferente de PageUp, o valor é 1 para pressionado e 0 para liberado sim, o mouse pode acionar pressionamentos de tecla, o sistema o interpretará da mesma forma que os teclados, todos os eventos dos dispositivos de evento.

Um script que mescla todos os conceitos acima em um mapeador de trabalho, que funciona em Wayland e pode ser configurado como um serviço para iniciar na inicialização do sistema, pode ser encontrado no repositório git acima.

Matheus Portillo
fonte
0

no Debian você tem um xbindkeys-configpacote que o ajudará a configurar suas ligações de chave / botão. Então faz:

sudo apt-get install xbindkeys-config
hrv
fonte
2
Esse programa trava sempre que tento fazer alguma coisa com o meu G300.
Inoki
0

O Lomoco está incluído no Ubuntu Software Center e foi especificamente projetado para lidar com personalizações específicas do fornecedor do Logitech Mouse. Possivelmente, pode realizar algumas das coisas que você está tentando fazer.

http://manpages.ubuntu.com/manpages/trusty/man1/lomoco.1.html

Invenção1
fonte
não funciona para o G700
m4l490n
0

Então, eu uso meu desempenho MX na minha máquina ubuntu por cerca de 6 meses. Eu deixei a maioria dos botões padrão, mas fiz o botão de polegar ser a tecla Super, mais prática do que ir para o canto superior esquerdo da tela no gnome. E fiz do botão de zoom um botão de controle. Mas está definido para ativar a CTRL e desativar a CTRL com cliques separados. Isso realmente ajuda, já que tenho uma tela 4K e uma 1080, para que eu possa clicar uma vez no botão de zoom, rolar a roda para aumentar e diminuir o zoom nas páginas da Web e, quando a página da Web estiver dimensionada da maneira que desejar, clique no zoom novamente. Aqui estão minhas configurações do xbindkeysrc:

"/usr/bin/xte 'keydown Control_L' &"
b:13
"/usr/bin/xte 'keyup Control_L' &"
Control + b:13
"/usr/bin/xte 'key Super_L'"
b:10 + release
JDAIII
fonte
Isso não parece responder à pergunta.
TheWanderer
0

btnxpode ser uma solução simples para o remapeamento de botões com os mouses da Logitech, pois deve funcionar com todas as marcas. Possui uma interface gráfica fácil e pode aprender sobre os botões disponíveis. O btnx fazia parte dos repositórios padrão anos atrás, mas foi removido. Atualmente, está disponível aqui: https://launchpad.net/~oliverstar/+archive/ubuntu/ppa

w-sky
fonte
0

Role para cima e para baixo com os botões avançar e voltar do mouse

Primeiro, instale os pacotes necessários:

$ sudo apt install x11-utils xbindkeys xautomation

Em seguida, use o xevfornecido por x11-utilspara detectar os números exatos dos botões Voltar e Avançar do mouse.

$ xev |grep -A2 ButtonPress

Para o mouse Anker vertical com fio, as direções para frente e para trás são respectivamente os botões 8 e 9.

ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1708382, (68,54), root:(939,498),
    state 0x10, button 8, same_screen YES
--
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1711030, (69,48), root:(940,492),
    state 0x10, button 9, same_screen YES

mouse Anker vertical com fio

Continue criando um arquivo oculto nomeado .xbindkeysrcem seu diretório pessoal com o seguinte conteúdo:

"xte 'keydown Down'"
b:8

"xte 'keyup Down'"
b:8 + Release

"xte 'keydown Up'"
b:9

"xte 'keyup Up'"
b:9 + Release

O xtecomando é fornecido pelo xautomationpacote.

Por fim, efetue logoff e logon novamente na área de trabalho para que essas alterações entrem em vigor. Agora você pode rolar para cima e para baixo em navegadores e outros programas, pressionando e segurando os botões para trás e para frente do mouse.

Serge Stroobandt
fonte