Como posso mapear a comutação de layout em caps lock e swap caps com escape simultaneamente com xkb?

6

Eu só posso definir separadamente: alternar layouts em caps lock ou swap de escape e caps lock keys, mas não tenho sucesso em tentar fazê-lo simultaneamente. A variante final que quero é obter o comportamento de caps lock como a chave de escape e usar a chave de escape para a mudança de layout.

Eu tentei algo assim:

setxkbmap -option grp:switch,grp:caps_toggle,grp_led:caps,caps:swapescape us,ru
    
por simplylizz 05.09.2012 / 09:44

2 respostas

4

Você deve poder trocar as chaves com xmodmap se não conseguir fazer isso com setxkbmap . Você precisa do modificador remove Lock para caps lock, pois é uma chave 'especial'.

remove Lock = Caps_Lock
keycode 66 = Escape NoSymbol
keycode 9 = Caps_Lock ISO_Next_Group

Você pode colocar o acima em ~/.Xmodmap , que ainda é lido na inicialização se o comando correto estiver em ~/.xinitrc , conforme explicarei mais adiante nesta resposta:

No entanto, não é possível misturar facilmente os comandos xmodmap e setxkbmap , pois o último cancela as alterações feitas com o primeiro, como discutimos nos comentários.

Para executar estes comandos xmodmap no terminal para testá-los, você executaria, por exemplo,

xmodmap -e "remove Lock = Caps_Lock"

mas você só colocaria remove Lock = Caps_Lock no seu arquivo ~/.Xmodmap , como explicarei em mais detalhes na minha resposta vinculada acima.

    
por user76204 29.10.2012 / 12:24
1

Use o xmodmap para alternar as chaves.

Você pode escrever um arquivo ... ou seja, nomeá-lo .switch_keys

keycode 9 = Caps_Lock
keycode 66 = Escape

Isso redefine os códigos de tecla no meu teclado. Verifique com xev se o seu teclado usa os mesmos códigos de teclas.

Salve o arquivo e instale o modmap executando xmodmap .switch_keys . Faça isso depois de configurar a comutação de layout com o setxkbmap.

Depois disso, a sua chave de escape funciona como Caps Lock e vice-versa.

    
por Paul Hänsch 27.10.2012 / 23:31

Tags