Existe alguma maneira de desativar CapsLocksempre que Escé pressionado. Sim, eu uso o VIM! Na verdade, tenho um layout de teclado all-caps alternativo, Ctrl-6mas acho complicado e prefere que o sistema operacional desative o CapsLock sempre que Escfor pressionado. Além disso, eu costumo fazer SSH em outros servidores por algumas horas, por isso estou no VIM de estoque lá.
Note que eu já troquei as teclas CapsLocke Esc. No entanto, quando a Esctecla é pressionada (que está rotulada CapsLock
no teclado e fica ao lado A), eu preciso que ela execute as teclas Escape
e Disable-CapsLock-If-It-Is-Enabled
.
Isso está no Kubuntu 12.10. Obrigado.
vim
ou a área de trabalho completa?Respostas:
No X11 (no console eu não sei), você pode fazer isso redefinindo o comportamento da tecla Escape. Eu olhei para a definição "shift (break_caps)" para ver como ele funciona e a adaptei.
Veja esta resposta no xkb para obter mais detalhes sobre como / onde colocar os arquivos modificados localmente e carregá-los.
E para fazer o que você deseja, você precisa no arquivo de símbolos locais (por exemplo
~/.xkb/symbols/mysymbols
:) uma seção como esta:e no arquivo de mapa de teclas local (por exemplo:;
~/.xkb/keymap/mykbd
você pode criá-lo comsetxkbmap -print > ~/.xkb/keymap/mykbd
) altere axkb_symbols
linha a ser adicionada+mysymbols(esc_breaks_caps)
.Agora você pode carregá-lo com:
xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
e pressionar Escirá remover o estado CapsLock (na verdade, o efeito acontece no lançamento do Esc; acho que apenas as teclas modificadoras têm efeito imediato; outras, o efeito é após o lançamento.)Ah, se você também quiser trocar as teclas Escape e CapsLock; então use isso (e você coloca "+ mysymbols (esc_swap_and_breaks_caps)" no seu arquivo mykbd):
observe que as chaves físicas são
<CAPS>
e<ESC>
;<CAPS>
(tecla gravada CapsLockno teclado) envia Escape e<ESC>
(tecla gravada Esc) envia CapsLock, com<CAPS>
(enviando Escape) também desabilitando o estado do capslockfonte
Adicione estas linhas a
~/.Xmodmap
:Em seguida, digite o comando:
Sua Caps Lockchave agora está remapeada para a Escchave.
URL de referência .
Leia também este belo artigo sobre o Mapping CapsLock to Escape no Ubuntu , que parece ser um usuário unix.se :)
fonte
Esc
eCapslocks
após essas alterações?ESC
tecla, aCapsLock
função alterna e, ao pressionar aCapsLock
tecla, oESC
comando é enviado (ou seja, aESC
tecla é remapeada paraCapsLock
e aCapsLock
tecla remapeada paraESC
). Meu objetivo com esta pergunta é fazer com que aCapsLock
tecla seja executada tanto naESC
função (que atualmente é executada ) quanto desativadaCapsLock
, se e somente se aCapsLock
função estiver ativada (ou seja, não alternar aCapsLock
função, mas desativá-la seCapsLock
estiver ativada).Não tenho certeza se isso responde à sua pergunta, mas para mapear a Escfunção para a CapsLockchave, você pode usar o seguinte:
fonte