Estou procurando uma maneira de remapear certas chaves no ubuntu.
ie
Eu gostaria de mudar PgUppara Homeou PgDownpara End.
Existe um comando interno ou uma ferramenta para reatribuir chaves no Ubuntu / GNOME?
Estou procurando uma maneira de remapear certas chaves no ubuntu.
ie
Eu gostaria de mudar PgUppara Homeou PgDownpara End.
Existe um comando interno ou uma ferramenta para reatribuir chaves no Ubuntu / GNOME?
xmodmap
é privado! para obter uma configuração de todo o sistema que você precisa usarxkb
. Portanto, edite o arquivo de idioma/usr/share/X11/xkb/symbols/
para adicionar suas alterações. Veja askubuntu.com/a/898462/34298Respostas:
Aviso: A partir de 2013, o Ubuntu e os derivados não usam mais
xmodmap
, mas usamxkb
. Para mais informações, consulte esta resposta . A resposta abaixo não é mais relevante para os lançamentos atuais.Para remapear determinadas chaves, você precisa de duas ferramentas. Primeiro xev (ferramenta de linha de comando) e segundo xmodmap (também ferramenta de linha de comando). Ambos devem estar disponíveis no Ubuntu sem a instalação extra.
Inicie a janela do terminal e execute
xev
. Agora está ativo e espera que você pressione uma tecla. Em seguida, pressione a tecla cujo comportamento você deseja alterar. ie PgUp.xev
produzirá algumas informações sobre a tecla pressionada. A terceira linha é importante. Deve ser semelhante a:Neste exemplo,
Prior
é o nome do comportamento ao qual a chave está atribuída no momento, o número do código-chave é o ID interno para reconhecer a chave. Agora faça isso com outra tecla, ou seja, PgDowndê essa saídaAqui, novamente, a parte interessante para nós é
keycode 115
eNext
- o nome do comportamento.Agora, quando você quiser trocar as duas chaves, use
xmodmap
.Isso altera a tecla com o código de tecla 110 no teclado para a ação
Next
. É bem simples.Observe que se a tecla que você está mapeando deve ter um significado diferente quando usada com a Shifttecla (por exemplo, layouts de teclado britânicos, Shift+ 2fornece aspas), basta listar o comando secundário após o primeiro. Por exemplo, se você deseja que a chave com o código 53 seja mapeada para a barra invertida normalmente, mas para o símbolo de barra quando usado com shift, você pode:
Informações adicionais: A sequência destes mapeamentos é Key, Shift+Key, mode_switch+Key, mode_switch+Shift+Key, AltGr+Key, AltGr+Shift+Key. Para pular uma coluna, use
NoSymbol
. Além disso, aqui está uma lista abrangente de todos os principais ginásios.Nota: Essas alterações são apenas para a sessão X ativa e serão perdidas após a reinicialização. Quando você deseja salvar as alterações permanentemente, execute os seguintes comandos após os acima:
(ele cria um arquivo nomeado
.Xmodmap
em seu diretório pessoal (~
))Então você tem que criar um arquivo chamado
.xinitrc
em seu diretório home, onde você colocar o comandoxmodmap .Xmodmap
no.Agora você pode modificar
.Xmodmap
e executarxmodmap .Xmodmap
no console para ver as alterações imediatamente. As alterações.Xmodmap
persistirão.fonte: Ubuntu Foruns
Material bônus:
Se a tecla que você está remapeando tiver um comportamento diferente, dependendo de um estado (como a forma como as teclas do teclado numérico dependem do NumLock), basta
xmodmap -pm
executar uma lista de modificadores para:xmodmap -e "KEYCODE MODIFIER = behaviour behaviour_with_modifier"
Suponha, por exemplo, que você queira obter um ponto final em vez de vírgula no teclado numérico (útil para a maioria dos programadores), mas deseje manter o comportamento de "exclusão" quando o NumLock estiver desativado.
mod2
, Porquexmodmap -pm
nos diz quemod2
éNum_Lock
, os outros nomes são obtidos pressionando as teclas noxev
.fonte
xev
não é capaz de detectarFn
pressões importantes-event
bandeira no Ubuntu 12.04. Ele gera um erro e não menciona "evento" emman xev
.Se você estiver tentando mover uma tecla Shift, existem algumas etapas extras:
fonte
Acabei de pensar um pouco .. acho que você pode significar algo completamente diferente com "remapear" ... mas vou deixar minha resposta como está ... (não sei como reatribuir uma tecla para comportar-se como outro)
ATUALIZAÇÃO : meu 'pensamento tardio' foi confirmado; (Respondi à pergunta errada:) ... consulte a resposta do Wiki da Comunidade do NES (aceita acima).
Existem duas maneiras gerais de
remapearumaligaçãonovamente.(uma chave pode ser usada para diferentes coisas em diferentes aplicativos / janelas)
(uma chave tem a mesma função em todas as janelas)
Para métodos 'locais para um programa', às vezes existe uma maneira de alterar as combinações de teclas oferecidas pelo próprio aplicativo ... por exemplo.
Firefox
tem um addon chamado keyconfig ... para mais informações, veja este post do MozillZineA maioria dos programas Ubuntu são baseados no Gnome e existe um utilitário específico para modificar a combinação de teclas para qualquer item de menu desses aplicativos Gnome ... É chamado
Editable Menu Accelerator
... É uma ferramenta muito 'delicada', mas bastante poderosa. Você pode ativar executandogconf-editor
(via Terminal ou Alt + F2) ... navegue paradesktop
-gnome
-interface
e selecionecan_change_accels
.... Você pode alterar os itens de menu para virtuais o que quiser (por programa / janela) ... sugiro que desative assim que você tiver feito o que precisa ..Caso contrário, você pode configurar as teclas de atalho globais. Eu uso um programa chamado xbindkeys , e também há uma opção disponível no Menu Principal - Preferências, chamado
Keyboard Shortcuts
Se você usa xbindkeys, precisará adicioná-lo aos seus "Aplicativos de Inicialização" (Menu Principal - Preferências) ... Também (como sugerido por Stefano Palazzo), eu escrevi anteriormente uma descrição mais detalhada de xbindkeys em uma resposta sobre isso. página askubuntu
fonte
xdotool
, confira a página de manual, usei-a para resolver esse problema .Aqui está como eu tentei mudar o mapeamento da ENTERchave para a SHIFTchave (e vice-versa):
RELATÓRIOS:
RELATÓRIOS:
RELATÓRIOS:
(ignore as próximas cinquenta linhas)
O importante é a terceira linha de cada pressionamento de tecla:
REVERSE O MAPEAMENTO:
SALVAR OS RESULTADOS:
ADICIONAR, ACRESCENTAR
O principal problema foi que a reversão NÃO funcionou. A ENTERchave foi mapeada para a SHIFT_Rchave; mas a SHIFT_Rchave não foi mapeada para a ENTERchave. Vai saber.
fonte
Para fazer remaps globais independentemente do X, você pode usar a instalação do console (5) .
No meu caso, eu queria remapear a Caps Lockchave para D, pois minha Dtecla está quebrada :)
Primeiro, usei dumpkeys (1) para obter um modelo para um mapeamento; no caso da Dtecla -key, o pouco interessante é o mapeamento do código-chave 32 (no meu teclado); Observe que existem dois espaços no padrão grep!
Para alterar o mapa a ser aplicado Caps Lock(código de tecla 58 no meu teclado), em vez
Agora lê
Para adicionar este remapeamento ao mapa padrão, ele simplesmente precisa ser anexado ao arquivo de inclusão do remapeamento para a instalação do console
e a configuração do console precisa ser reconfigurada (ignorando as perguntas de baixa prioridade
-phigh
)Agora o remapeamento deve ser concluído e carregado automaticamente na inicialização.
fonte
Passei um dia inteiro tentando criar um atalho para
Ctrl+Pageup
.Eu tentei pela primeira vez,
xmodmap
mas isso não pode gerar eventos modificadores. Portanto, é impossível criar um atalho que gere, por exemplo, oControl
evento.Eu então tentei
xbindkeys
comxmacro
. Isso funciona, masxbindkeys
não é possível capturar algumas combinações de teclas no meu sistema, comoAlt + ___
.Finalmente, usei os Atalhos de teclado do Unity -> Atalhos personalizados para configurar meu atalho.
E, em vez de
xmacro
, agora usei oxvkbd
programa para gerar os eventos do teclado, mas isso é apenas uma preferência pessoal. Ambosxmacro
exvkbd
funcionam quase da mesma forma. Uma dica adicional é adicionar um parâmetro de atrasoxmacro
ouxvkbd
garantir que os eventos não se percam.fonte
Para mim, o AutoKey do Software Center funcionou melhor. Possui interface gráfica intuitiva, para adicionar nova ligação, clique em Novo -> Frase e
<left>
(a lista de teclas especiais está aqui ).fonte
Super+C
eSuper+V
paraCtrl+C
eCtrl+V
. Apenas a solução perfeita ao usar o Ubuntu via VirtualBox em um macSuper+V
para "mostrar a lista de notificações", vá para Configuração -> Dispositivos -> Teclado e desative-o láSe você precisar remapear uma chave apenas para um programa específico, adicionei esse recurso ao hax11.
Para fazer isso com o hax11, abra o arquivo de configuração de perfil do programa em
~/.config/hax11/profiles
(por exemplo~/.config/hax11/profiles/usr\lib\firefox\firefox
) e adicione:fonte