Como posso remapear as teclas do teclado? [duplicado]

34

Estou procurando instruções gerais sobre o remapeamento de chaves.

Alguém pode me dizer como remapear F9 para PrtScr e F10 para o botão ScrollLock ?

Examinei todos os tópicos aqui e nenhuma das sugestões funcionou.

Estou usando uma configuração de teclado sueco e o Ubuntu 12.04.

    
por jdc 16.05.2013 / 12:11

3 respostas

41

Esta resposta foi feita principalmente usando as informações das três primeiras etapas desta Resposta do Ask Ask e deste Fórum do Ubuntu < href="http://ubuntuforums.org/showpost.php?p=7675138&postcount=2"> thread ao qual ele se refere / se refere. Esta outra resposta do Ask Ask foi muito útil. Então, todo o crédito para NES, llazarte, bodhi.zazen e Argusvision.

Para simplesmente trocar duas funções de teclas: A partir do Terminal, execute xev e, em seguida, pressione F9 , o que daria algo como

FazeromesmoparaPrtScnãodeunenhumasaídaemxevparamim(ounãoencontreio"evento KeyPress"), então usei o conselho da Argusvision para usar os Atalhos Personalizados em Todos Configurações, mas fazendo isso para desabilitar PrtSc como botão de captura de tela, reatribuindo como Shift + Alt , tente pressionar novamente o que me deu o código 107 para < kbd> PrtSc em xev como assim

Repetiroprocessoparatodasasquatrochavesmedeu

  • F9=códigodeacesso75
  • PrtSc=keycode107,printdeação
  • F10=códigodeacesso76
  • ScrollLock=códigodeacesso127,açãoPausa

Paraalterarumafunçãodeteclas,precisamossaberocódigodetecladateclaNEWsendopressionadaea"ação" da chave OLD ou existente para essa função.

Agora que temos os códigos chave para identificar as chaves, agora fazemos com que o sistema faça o que queremos usando xmodmap e, como sabemos, F9 tem "keycode 75" e PrtSc tem a ação de "Imprimir", tudo o que precisamos fazer é

xmodmap -e "keycode 75 = Print"

para fazer a tecla F9 se comportar como se a tecla PrtSc tivesse sido pressionada. Ou seja, o código de acesso permanece o mesmo, mas pressionar a tecla F9 terá resultados diferentes.

Usando xev com Scroll Lock também deu

queconfirmaa"ação" para a tecla Scroll Lock é "Pause" então para fazer o F10 agir como Scroll Lock tentando

xmodmap -e "keycode 76 = Pause"

deve dar os resultados desejados.

Isso é até você sair ou desligar etc, então o que temos que fazer depois de confirmar os comandos

xmodmap -e "keycode 75 = Print"
xmodmap -e "keycode 76 = Pause"

dê os resultados desejados é classificar SysRec que é modificado PrtSc e trocar os outros botões para que não tenhamos várias instâncias da mesma ação-chave. Adicionando

xmodmap -e "keycode 107 mod1 = F9 Sys_Req"

deve trocar F9 para onde PrtSc está mantendo o SysReq modificado ( Alt + PrtSc ) mais uma vez podemos usar xev para ajudar a verificar isso.

É mais fácil trocar os botões Scroll Lock e F10

xmodmap -e "keycode 127 = F10"

Depois de se certificar de que ao executar

xmodmap -e "keycode 75 = Print"
xmodmap -e "keycode 107 mod1 = F9 Sys_Req"
xmodmap -e "keycode 76 = Pause"
xmodmap -e "keycode 127 = F10"

faz realmente o que se pretende tudo o que resta a fazer é conseguir que isso aconteça no momento da inicialização. Para fazer isso, execute

xmodmap -pke|egrep  -e '(F9|Print)'

que me deu

estamosinteressadossomentenoscódigosdeteclas75e107.Façaomesmopara

xmodmap-pke|egrep-e'(F10|Pause)'

quemedeu

e estamos interessados apenas nos códigos de teclas 76 e 127.

Crie um novo documento de texto com sua cópia do editor de texto favorito e cole as informações relevantes

keycode  75 = Print NoSymbol Print
keycode 107 = F9 Sys_Req F9 Sys_Req
keycode  76 = Pause NoSymbol Pause
keycode 127 = F10 NoSymbol F10

nomear o arquivo como .Xmodmap e salvá-lo em seu diretório Inicial permitiria que você executasse as alterações simplesmente fazendo login após a reinicialização.

    
por geezanansa 16.05.2013 / 23:21
13

Para versões mais recentes do Ubuntu, o Xmodmap funciona, mas após a reinicialização, você perde seus mapeamentos de teclado! Em vez disso, o que fiz foi editar o arquivo xbd ( / usr / share / X11 / xkb / símbolos / pc ).

Nesse caso, você adicionaria as seguintes entradas:

key <FK09> { [Print] };
key <FK10> { [Scroll_Lock] };

Em seguida, limpe o cache de configurações do xkb:

rm -rf /var/lib/xkb/*

Após a reinicialização, suas chaves são mapeadas corretamente. Se você precisar de mais ajuda com isso, veja o meu post sobre remapeamento de chaves no Ubuntu 15.04

    
por Captain 05.10.2015 / 15:16
4

Vá para System Settings > keyboard > Custom Shortcuts . Aqui você pode atribuir um comando a qualquer tecla ou conjunto de chaves. Clique no botão Adicionar (+). Na janela que aparece, Name = Print Screen ; Comando = gnome-screenshot . Depois de criá-lo, clique na linha à direita do nome onde está escrito "Desativado". Isso deve mudar para "New Accelorator" Basta pressionar F9.

Ainda procurando por bloqueio de rolagem.

% bl0ck_qu0te%

Dê uma olhada na saída de xmodmap -pke | grep F10 .
O meu é:

keycode  76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10  

Isso significa que minha chave F10 é keycode 76 . Talvez seja diferente, já que você está usando um layout diferente.

Então, I deve ser capaz de atribuir scroll lock para F10 com o seguinte comando:

xmodmap -e "keycode 76 = Scroll_Lock"  

Você precisará inserir o "código-chave" encontrado para sua chave F10.

Você também pode procurar por man xmodmap e xmodmap --help para opções adicionais. Por exemplo, xmodmap -pke lista sua tabela de keymaps como expressões. Dessa forma, você pode localizar as expressões atribuídas a outras teclas também.

    
por Argusvision 16.05.2013 / 14:37