xbindkeys ..
sudo apt-get install xbindkeys
Xbindkeys é um programa muito versátil que permite remapear as chaves com muita facilidade. Ele usa um arquivo de configuração, meu padrão localizado em seu diretório pessoal, para alterar as combinações de teclas em determinados comandos.
Para criar um arquivo de configuração padrão, use o comando:
xbindkeys --defaults
O que imprime o arquivo de configuração padrão. Portanto, se você deseja criar o arquivo que contém os valores padrão, você usaria:
xbindkeys --defaults > $HOME/.xbindkeysrc
Que imprime os valores padrão em um arquivo oculto chamado .xbindkeysrc
localizado em home ( ~
).
Agora, para realmente alterar as ligações de chaves, primeiro precisamos saber qual é o nome ou o código de chave dessas chaves. xbindkeys
nos permite usar a -k
alça para encontrar o nome de uma chave ou combinação de teclas. Corre:
xbindkeys -k
E pressione uma tecla ou combinação de teclas. Sua saída será algo semelhante a isto (ao pressionar space):
"NoCommand"
m:0x10 + c:65
Mod2 + space
"No Command"
nos diz que atualmente nenhum comando está associado à Spacechave.
m:0x10 + c:65
Mod2 + space
É o nome da combinação de teclas / teclas.
o arquivo de configuração ..
Vamos abrir o arquivo de configuração que você criou anteriormente:
gedit .xbindkeysrc
Aqui está um trecho do arquivo de configuração padrão:
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
# Mod3 (CapsLock), Mod4, Mod5 (Scroll).
#
# The release modifier is not a standard X modifier, but you can
# use it if you want to catch release events instead of press events
# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.
#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable
# Examples of commands:
"xbindkeys_show"
control+shift + q
Toda linha que começa com #
é um comentário e não será lida ou executada xbindkeys
.
Até agora, a única linha que não foi comentada é:
"xbindkeys_show"
control+shift + q
Este trecho mostra a sintaxe básica dos xbindkeys
comandos:
"Command to run (in quotes)"
key to associate with command (no quotes)
Então, como você pode ver:
"xbindkeys_show"
control+shift + q
Executa o comando xbindkeys_show
quando você pressiona Ctrl+ Shift+ q.
vincular chaves a comandos ..
Agora vamos tentar vincular algumas chaves. Eu recomendo limpar o arquivo padrão inteiro para que fique em branco. Ele contém ligações de teclas predefinidas que você provavelmente não deseja.
Agora, digamos que você queira usar Ctrl+ bpara abrir o navegador. Primeiro, você precisa saber qual é o nome ou o código da teclaCtrl + b. Como mencionado anteriormente, você pode usar xbindkeys -k
para encontrar o nome de uma chave ou chaves, mas existe uma maneira mais fácil. Para combinações simples como Ctrl+, bvocê pode simplesmente usar:
Control+b
Muito mais fácil, não é!
Agora encontre o comando para o seu navegador favorito:
Lembra da sintaxe anterior? O xbindkeys
comando para iniciar o Firefox (ou seu outro navegador favorito) quando você pressiona Ctrl+ bé:
"firefox"
Control+b
Agora coloque isso no seu arquivo de configuração e salve-o. Agora você pode perceber que seu comando ainda não funciona, é porque xbindkeys
não está sendo executado. Para iniciá-lo, basta executar a xbindkeys
partir de um terminal. O seu Ctrl+ bdeve agora iniciar o seu navegador!
vincular chaves a outras chaves ..
Se você deseja que uma tecla do teclado chame uma tecla diferente, precisará de um software extra, pois xbindkeys
ele não suporta isso por si só. Eu sei de dois programas que podemos usar, xdotool
e xte
. Eu prefiro, xte
então eu vou usar isso.
Instale-o:
sudo apt-get install xautomation
A sintaxe para xte
é assim:
xte 'command key/mousebutton/xyCoordinates'
Exemplos:
Para chamar uma única tecla, pressione: xte 'key keyName'
Para chamar uma combinação de teclas: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName
Para chamar um botão do mouse: xte 'mouseclick buttonNumber'
(Discutiremos um pouco mais sobre a localização dos números dos botões)
Para mover o mouse: xte 'mousemove xCoordinate yCoordinate'
E mais! Lerman xte
Agora que você conhece o comando para simular pressionamentos de tecla, pode chamá-lo a partir do seu xbindkeys
script, assim:
"xte 'key b'"
Control+b
Como você pode imaginar, isso é chamado xte 'key b'
quando pressionamos Ctrl+ b, o que entraria bem qualquer documento em que você esteja trabalhando no momento.
I coisa a notar, porém, é que xbindkeys
e xte
nem sempre funcionam muito bem juntos. Às vezes, você precisa pressionar as teclas exatamente ao mesmo tempo para obter a saída, outras vezes funciona bem. Isso pode ou não ter a ver com a configuração do sistema e / ou hardware. Não tenho certeza. Consulte a resposta do maggotbrain para obter uma maneira mais confiável de vincular chaves a outras chaves.
vincular botões do mouse a comandos ..
Você também pode usar xbindkeys
para vincular botões do mouse a comandos (e, portanto, atalhos de teclado, veja acima). O formato básico para os botões do mouse deve ser familiar para você agora:
" [command to run] "
b:n
Onde [command to run]
está o comando que você deseja executar e n
o número do botão do mouse que você deseja usar para esse comando.
Se você não souber o número do botão do mouse, poderá usar xev
para descobrir o que é:
xev | grep button
A saída será algo como isto:
user@host:~$ xev | grep button
state 0x10, button 1, same_screen YES
state 0x110, button 1, same_screen YES
state 0x10, button 2, same_screen YES
state 0x210, button 2, same_screen YES
state 0x10, button 3, same_screen YES
state 0x410, button 3, same_screen YES
Quando pressiono cada um dos botões do mouse.
Por exemplo:
" firefox "
b:2
Inicia o Firefox quando pressiono o botão do meio do mouse.