Alterar as associações de teclas individualmente para cada layout no Linux

0

Eu estou no Debian Jessie com o GNOME. Eu prefiro programar com o () ligado ao que é regularmente [e] porque eu faço muito lisp. Eu consegui fazer isso com o xmodmap, mas isso arruinou meu outro layout (português) ao girar a tecla que faz letras como:

á é í ó.

no colchete esquerdo "(".

O que eu prefiro fazer é ter cada layout vinculado a suas ligações de teclas especiais específicas para que eu possa ter o () e [] alternado individualmente para ambos os layouts, sem interferir um com o outro.

O tipo de layouts é a barra de menus do gnome

    
por Spenser Truex 25.05.2015 / 18:08

1 resposta

0

Eu não acho que você pode fazer isso em xmodmap . Aqui estão algumas possibilidades ...

Aproximações preferenciais.

  • Personalize o layout do teclado em inglês (deve ser /usr/share/X11/xkb/symbols/us ). Faça uma cópia e altere o original para trocar os parênteses e colchetes. Isso não deve afetar o layout português. Você também pode tentar o software Editor de Layout de Teclado .

    Algumas referências:

  • Se você estiver usando um ambiente personalizável (por exemplo, Emacs) para codificação, você pode simplesmente religar as teclas de parênteses e colchetes para inserir o outro símbolo.

    no Emacs:

    (define-key key-translation-map (kbd "[") (kbd "("))
    ;; etc...
    

    Ou no Vim:

    imap [ (
    " etc...
    

    Observação: Se não for possível vincular novamente as chaves de impressão em seu editor, você poderá usar um complemento de substituição de texto, correção automática ou expansão de snippets para substituir automaticamente os caracteres . (Você terá que verificar os recursos precisos da extensão para ver se funcionará para isso.)

    Por exemplo, no Emacs, além da abordagem acima, você também pode usar a autocorrecção abbrev-mode , ou mesmo o Yasnippet (se você o tiver configurado para expansão automática e não recursiva).

Outras abordagens.

  • Tecnicamente, tenho certeza que você poderia fazer isso em xbindkeys , ligando as chaves a um script que verifica o mapa de chaves atual e emula o pressionamento de tecla apropriado (não sei se pode fazer o último nativamente; se você não precisaria usar algo como xkvbd ou xdotool ).

    Esta provavelmente não é a melhor abordagem, no entanto. Seria mais rápido e menos propenso a erros para alterar o mapa de teclas.

  • Você deve conseguir fazer isso usando Autokey . Pode ser usado para substituição de texto. Você teria que fazer alguma pesquisa para descobrir como torná-lo condicional no mapa de teclado atual.

    Referência: artigo do Lifehacker

por 25.05.2015 / 18:54