Remapeando Caps Lock para Compor

5

Como agora e depois preciso usar letras escandinavas apesar de usar o Dvorak dos EUA como meu layout, gostaria de usar o Caps Lock como uma chave de composição. (Eu não preciso do Caps Lock, não sou um troll do fórum)

Como alguém conseguiria isso?

Usando o Linux Mint 17 com o xfce, se isso fizer diferença.

Para o registro, eu sou o único usuário deste PC, e preferiria que este fosse o padrão do sistema, principalmente no xorg, mas também no tty se não fosse muito trabalho penoso.

    
por Jarmund 08.04.2015 / 15:38

1 resposta

7

X11 (clássico)

Execute o programa xev de um terminal para ver o código de tecla enviado pela tecla CapsLock . Esse é o número logo após keycode na terceira linha da linha KeyPress event correspondente a pressionar a tecla. Em um PC, o código é 66.

Crie um arquivo chamado .Xmodmap em seu diretório pessoal e adicione a linha

keycode 66 = Mode_switch
clear Lock

Mode_switch é o nome estranho que o X11 fornece para Compor . clear Lock é necessário para evitar que a chave aja ocasionalmente como Caps Lock, embora não seja Caps Lock ( Lock é o modificador Caps Lock, e alguns aplicativos se comportam um pouco estranhamente quando declarações modificadoras e declarações de keysym não são consistentes) . Alternativamente, você pode usar as linhas

keysym Lock = Mode_switch
clear Lock

que faz com que qualquer tecla que esteja atualmente enviando o Caps Lock seja rebatida para enviar o Compose. De qualquer maneira, você precisa organizar o comando

xmodmap ~/.Xmodmap

a ser executado quando sua sessão começar. Essa é uma convenção comum, mas nem todas as combinações de ambiente de distribuição / desktop fazem isso automaticamente. Se o seu não fizer isso, adicione o comando à lista de comandos executados no início da sessão (no editor de configuração XFCE4, vá para “Sessão e inicialização” → “Início automático do aplicativo” e adicione esse comando).

X11 (XKB)

O XKB é mais puro e mais poderoso, mas mais complicado de usar em geral que o xmodmap. Existe uma predefinição na configuração padrão para fazer o que você quer, então é fácil no seu caso: executar o seguinte comando:

setxkbmap -option compose:caps

Veja a seção anterior para saber como executar este comando quando sua sessão começar.

console do Linux

Descubra o código de tecla da tecla CapsLock . Execute showkey em um console de texto, pressione CapsLock e espere 10 segundos por showkey para sair. Em um PC, o código de acesso é 0x3a. Você precisa ter a seguinte linha no seu arquivo de mapa de teclas do console:

keycode 0x3a = Compose

O arquivo de mapa de teclas do console padrão é /etc/console/boottime.kmap.gz no Debian com o pacote console-tools . Pode ser um arquivo diferente em Mint; este é o arquivo no qual loadkeys é invocado nos scripts de inicialização. Se preferir, você pode deixar os arquivos fornecidos pela distribuição intactos, criar um arquivo com a linha acima e executar loadkeys /path/to/your/file.kmap de /etc/rc.local .

    
por 09.04.2015 / 01:33