Quero alterar as combinações de teclas em algumas das teclas do meu teclado. Eu quero que alguns executem comandos e outros para ativar chaves diferentes.
Quais aplicativos posso usar para fazer isso?
Índice:
Configurações padrão de teclado e atalho (em Configurações do sistema)
- xkb
xkb
: askubuntu.com/a/347382/354350Respostas:
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:
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:
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:E pressione uma tecla ou combinação de teclas. Sua saída será algo semelhante a isto (ao pressionar space):
"No Command"
nos diz que atualmente nenhum comando está associado à Spacechave.É o nome da combinação de teclas / teclas.
o arquivo de configuração ..
Vamos abrir o arquivo de configuração que você criou anteriormente:
Aqui está um trecho do arquivo de configuração padrão:
Toda linha que começa com
#
é um comentário e não será lida ou executadaxbindkeys
.Até agora, a única linha que não foi comentada é:
Este trecho mostra a sintaxe básica dos
xbindkeys
comandos:Então, como você pode ver:
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:Muito mais fácil, não é!
Agora encontre o comando para o seu navegador favorito:
Para o Firefox:
firefox
Para cromo:
chromium-browser
Para o Opera:
opera
Lembra da sintaxe anterior? O
xbindkeys
comando para iniciar o Firefox (ou seu outro navegador favorito) quando você pressiona Ctrl+ 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 axbindkeys
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
exte
. Eu prefiro,xte
então eu vou usar isso.Instale-o:
A sintaxe para
xte
é assim: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! Ler
man xte
Agora que você conhece o comando para simular pressionamentos de tecla, pode chamá-lo a partir do seu
xbindkeys
script, assim: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
exte
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:Onde
[command to run]
está o comando que você deseja executar en
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 é:A saída será algo como isto:
Quando pressiono cada um dos botões do mouse.
Por exemplo:
Inicia o Firefox quando pressiono o botão do meio do mouse.
fonte
Xev e xmodmap
Alterando as combinações de teclas usando
xev
exmodmap
.Os dois aplicativos de linha de comando estão disponíveis por padrão, portanto, não há necessidade de instalar software adicional.
O Xev "cria uma janela e solicita ao servidor X que envie eventos sempre que algo acontecer com a janela (como sendo movida, redimensionada, digitada, clicada etc.)". página de manual do xev
xmodmap é um "programa usado para editar e exibir o mapa modificador de teclado e a tabela de mapa de teclas que são usados pelos aplicativos clientes para converter códigos de chave de evento em academias de teclas". Página de manual do xmodmap
O exemplo a seguir remapeará a Caps_Lockchave para o comportamento da Escchave (muitos usuários do vi / vim acham que esse é um mapeamento de teclado útil).
Usando xev
Inicie o
xev
aplicativo a partir de uma janela do terminal ( Ctrl- Alt- t).O aplicativo será inicializado, exibirá várias linhas e iniciará uma janela em branco. Mantenha a
xev
janela do aplicativo em foco e pressione a tecla cujas propriedades / comportamento que você deseja usar.Na janela do terminal, você verá várias linhas de saída. Anote a terceira linha retornada. Isso conterá o nome da propriedade que você deseja mover para a outra chave.
Nesse caso, a Esctecla (código 9) usa o nome "Escape" .
Desta vez, estamos procurando o código de chave que Caps Lockestá usando.
Novamente, observe a terceira linha:
Usando xmodmap
Agora que obtivemos as informações sobre as chaves das quais desejamos mudar
xev
, usaremosxmodmap
para modificar os mapas de teclas. No terminal de comando ( Ctrl+ Alt+ t), execute os seguintes comandos:Este comando modifica o Caps Lockpara usar o mesmo comportamento queEsc
Esta opção imprime uma tabela de mapa de teclas como expressões no arquivo
~/.Xmodmap
Ative as alterações (somente para esta sessão de login) com o seguinte comando:
Tornando as alterações persistentes nas reinicializações:
Se não existir, crie um arquivo na sua pasta pessoal chamado
.xinitrc
.Coloque a seguinte linha no arquivo e salve o arquivo:
Modificando chaves com diferentes comportamentos de estado
(como Num Lock)
Obtenha a tabela de mapa de teclas para as teclas modificadoras (saída abreviada aqui)
Se você quiser alterar, por exemplo, o comportamento do período ativado Del/ Periodtecla no teclado numérico, para vírgula, use o seguinte comando:
Observe que isso está usando o
mod2
mapeamento de teclas para alterar o comportamento das teclas quando o modificador Num Locké pressionado. A sintaxe para isso é:Recurso
fonte
Por padrão (isso serve apenas para complementar a resposta Excelente de Seth), o Ubuntu (neste exemplo, estou usando o 16.04) tem 2 categorias que vêm por padrão nas Configurações do sistema:
Para acessar as Configurações do sistema, no canto superior direito, clique no ícone de engrenagem :
Em seguida, selecione Configurações do sistema :
Aqui você encontrará 2 opções que podem ser enviadas para a seção Criação de atalhos.
Se você selecionar Entrada de texto, deverá selecionar o link Configurações do teclado no canto inferior direito, que o enviará diretamente para as opções de atalhos.
Se você selecionar a opção Teclado , teria que clicar na guia Atalhos
Depois de chegar às guias Atalhos, você selecionaria os Atalhos personalizados na parte inferior da lista no lado esquerdo:
E, em seguida, clique no sinal de mais na parte inferior para começar a criar seu próprio atalho:
A partir daí, basta adicionar o nome do atalho (não confunda o nome do atalho, para o nome do comando real que você estará executando). E abaixo, no campo Comando, é onde você colocará qual comando será executado para este atalho. No exemplo a seguir, nomeei o atalho "Sublime Text 3" para saber a que se refere esse atalho específico. E no campo de comando eu adicionei o comando real, que é
subl
.Você terminará com o seguinte na tela que mostra que, como o atalho ainda não possui uma tecla ou combinação de teclas atribuída, ele está Desabilitado por padrão:
Em seguida, clicamos na mensagem "Desativado" para adicionar uma combinação de teclas:
Nesta parte, atribuo a combinação de teclas SHIFT+ CTRL+ Spara que, ao pressionar essa combinação, abra o aplicativo Sublime Text.
Depois disso, você pode simplesmente testar sua combinação pressionando a combinação de teclas correspondente e vendo o aplicativo aberto:
NOTA: Para combinações especiais como a que mata o servidor X, sugiro visitar o seguinte link: Como habilitar Ctrl-Alt-Backspace para matar o servidor X?
fonte
If you click on the Options button at the bottom right (Found on 13.04 or previous versions)...
Onde está o botão de opções nas versões> 13.04?Vá para Configurações do sistema → Keboard , selecione a guia Atalhos e adicione um novo atalho personalizado para o seu navegador. Se o seu brouser padrão for o Firefox, use
firefox
for no campo de comando; se o seu brouser padrão for o Firefox, usechromium-browser
e assim por diante:fonte
Você pode criar atalhos de teclado complexos (várias teclas) instalando o AutoKey a partir do centro de software. Ao contrário do xmodmap, o AutoKey não liga novamente as teclas reais do teclado; ele é executado em segundo plano e intercepta os atalhos de teclado definidos e envia pressionamentos de tecla simulados para seus aplicativos.
Na primeira vez em que você inicia o AutoKey, ele inicia o serviço em segundo plano (o ícone de notificação não foi atualizado para a unidade, portanto, não há indicação visual). Quando estiver em execução, você poderá abrir a interface de configuração executando o iniciador novamente:
Agora abra Editar> Preferências e selecione "Iniciar automaticamente a AutoKey no login" para garantir que seus atalhos funcionem sempre que você estiver conectado.
Mapeando um atalho de teclado para outro atalho de teclado
Digitar as teclas que deseja mapear a na caixa de texto.
+
(por exemplo<ctrl>+c
, copie na maioria dos aplicativos;<ctrl>+c<ctrl>+n<ctrl>+v
crie um novo documento contendo a seleção;<shift>+ubuntu
digite o texto "Ubuntu")Pressione o botão "Definir" ao lado de "Tecla de atalho". Isso fará com que uma janela que permite determinar a combinação de teclas que pretende mapear a partir de :
Selecione Arquivo> Salvar
Um exemplo de configuração concluída (que é enviada
<enter>
quando você pressiona<ctrl>+m
) se parece com isso:fonte
Tente o seguinte:
Instale um programa chamado XKeyCaps. Para instalar, basta pressionar Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o (s) comando (s) abaixo:
Uma vez instalado, você pode executar xkeycaps no prompt para executar o programa. Depois de executado, escolha o layout de teclado correto e clique em OK
Então, quando você colocar o teclado na tela, clique com o botão direito do mouse na tecla desejada, no seu caso S, e escolha as teclas de troca.
Adicione a linha abaixo às suas sessões para que ela seja iniciada automaticamente sempre que você inicializar.
Fonte: UFM ytsejam1138
fonte
uname-n
suposto seruname -n
?unmae-n
. Não tenho acesso a uma máquina Ubuntu para testar, mas assim que fizer isso, verificarei mais.Se você deseja remapear as chaves, as outras respostas são ótimas.
No entanto, há outra maneira de abordá-lo. O AutoKey é um processador de macro para teclado que permite associar qualquer combinação de teclas / modificadores a um script que pode fazer quase tudo o que você pode fazer com o teclado e muito mais.
O AutoKey possui um gravador de scripts e uma maneira simples de inserir seqüências básicas de teclas, mas seus scripts são escritos em Python e podem fazer quase qualquer coisa que você possa codificar.
A maneira mais simples de usá-lo é enviando pressionamentos de teclas para seus aplicativos / desktop. Quando usados dessa maneira, o sistema / aplicativos não pode dizer que não é você que está digitando; portanto, não há API ou outra interface necessária, eles apenas fazem o que "você" digitou.
O AutoKey também pode processar frases. Quando você digita uma cadeia de caracteres acionadora, ela pode substituir o novo texto por essa cadeia (imediatamente ou depois de digitar um caractere separador, como uma nova linha ou guia).
Ele também possui filtros de janela para que você possa restringir uma frase ou script específico para executar apenas em tipos específicos de janelas (como as que têm Mozilla no título, para que funcionem apenas em coisas como Firefox ou Thunderbird).
O AutoKey atualmente possui as versões Gtk e Qt.
Editar% s:
Guia de instalação
Fórum do usuário Fórum ativo do usuário.
Existem vários exemplos de scripts no wiki. Como é principalmente um aplicativo GUI com muitas opções, os exemplos exigiriam muitas capturas de tela e um artigo inteiro.
Eu tenho uma frase definida para que, quando eu digitar " Jmail! ", Ela a substitua instantaneamente pelo meu endereço de email bastante longo.
Eu escrevi um script que é acionado digitando Ctrl- Pque só é ativo nas janelas que têm "Mozilla" no título. Digitação Ctrl- Pabre a caixa de diálogo de impressão (Firefox ou Thunderbird), seleciona Imprimir em arquivo e preenche o nome do próximo arquivo de impressão disponível na minha fila de impressão (os numero 01, 02, ... e o script lê a fila diretório, localiza o último número do arquivo e o incrementa em 1). Eu o uso com meu software de emulação de impressão duplex ( duplexpr ) para eliminar uma tonelada de pressionamentos de tecla e movimentos do mouse.
Eu já vi outros scripts de jogadores que permitem acessar informações sobre seus personagens e recursos muito rapidamente, para que possam se concentrar na ação.
fonte
USANDO CHAVES DE TECLADO COMO BOTÕES DO MOUSE
Você pode mapear uma tecla do teclado para um botão do mouse. Se você deseja clicar usando uma tecla do teclado (útil se você tiver um macbook ou um botão incorreto no trackpad), faça o seguinte.
instale alguns utilitários:
encontre o código da chave que você deseja mapear:
xev | grep keycode
no terminalpressione a tecla de interesse e uma linha como esta aparecerá:
usando o código da tecla, remapeie a tecla para fazer o mesmo que o botão esquerdo do mouse:
xkbset m
xmodmap -e "keycode 64 = Pointer_Button1"
Pointer_Button3
é o botão direito do mouse ePointer_Button2
é o meio.fonte
Usando xkb
xkb
é a extensão do teclado X. É responsável por mapear as teclas do teclado para a função designada.xkb
símbolos podem ser encontrados em/usr/share/X11/xkb/symbols/
. As teclas modificadoras são mapeadas/usr/share/X11/xkb/symbols/pc
.Digamos, eu preciso mudar as funções das teclas
Caps Lock
eLeft Control
. Essas alterações são necessárias nopc
arquivo:Para aplicar os novos mapeamentos, você precisa limpar o
xkb
cache de/var/lib/xkb
:Agora, basta reiniciar sua sessão X e você estará pronto.
Fonte: https://radu.cotescu.com/remapping-keys-in-ubuntu-14.04/
Edit: Fazer um
ls
dentro dosymbols
diretório fornece isso:Os mapeamentos dentro do arquivo
ru
são baseados no teclado padrão russo. Amacintosh_vndr
pasta contém os mapeamentos para teclados da Apple. Em poucas palavras, essa abordagem é muito versátil. Vá em frente e brinque com ele :)fonte
/usr/share/X11/xkb/symbols/pc
.Descobriu-se que está sob o aplicativo 'teclado'.
Se você mencionar isso, poderá alterar os atalhos conforme necessário ...
a mudança é um pouco estranha no primeiro uso. Você clica à direita (a coluna que tem ctrl-alt-T, Desativado, etc., em seguida, clica nas teclas reais, por exemplo, ctrlaltba desejada. Você verá a nova sequência de teclas aparecer agora nesse espaço. Feche a janela ( ou clique fora) e o novo atalho agora funcionará.
fonte
O atalho já existe como WWW, basta alterá-lo para Ctrl+ Alt+ b. Não há necessidade de criar um novo.
fonte
Gerenciador de configurações CompizConfig (CCSM)
O CCSM permite alterar alguns atalhos de teclado do sistema.
Para instalá-lo, use o Centro de Software ou este comando:
Por exemplo
Usei-o para alterar o atalho "Window spread" do padrão Super+ Wpara Super+ Tab, como no Windows 10. Da minha resposta em outro tópico :
fonte
Eu queria pressionar Print Screen para salvar uma captura de tela usando o
gnome-screenshot
aplicativo, como no MintMas eu queria fazê-lo usando o terminal, não a GUI, pois quero torná-lo padrão ao criar um ISO personalizado usando
squashfs
ferramentas.Primeiro instalei o gnome-screenshot usando o comando
Em seguida, atribuai o atalho personalizado usando Configurações -> Teclado -> Atalhos personalizados -> botão Adicionar (+) ->
Na caixa de diálogo:
Pressione o botão Adicionar
Então pressione a Print screentecla
A chave está agora vinculada e eu posso salvar as capturas de tela conforme necessário.
Mas não usando terminal, é a maneira da GUI
Então eu instalei
dconf-editor
usandoE pesquise por
gnome-screenshot
encontrar minhas associações de teclas personalizadas neste caminho
Os valores das chaves são:
Agora eu os copio e excluo a tecla de atalho personalizada da GUI
Abro o terminal e digito esses comandos
E voila
Agora eu posso salvar capturas de tela sem qualquer GUI apenas usando
dconf
e terminal. Também não precisodconf-editor
mais, ele foi instalado para obter os valores.fonte
Eu tentei a solução de Kevin (a abordagem xmodmap) no ubuntu 18.04. Não funcionou no meu caso. No entanto, esse procedimento fez com que funcionasse finalmente:
xmodmap .Xmodmap
em um arquivo chamado em.xsession
vez de.xinitrc
./home/<YOUR_USER_NAME>/.xsession
o comando as.fonte