Atualmente, estou configurando meu layout de teclado padrão como este:
setxkbmap -layout us -variant dvorak -option ctrl:nocaps,[...]
Desativa a tecla caps lock e a torna uma tecla ctrl adicional, juntamente com um enxame de outras opções.
Gostaria de fazer o seguinte para alternar os layouts de teclado:
setxkbmap -layout us -variant dvorak-l -option ctrl:swapcaps
No entanto, não reativa a tecla caps lock; tanto a tecla de controle esquerda quanto a tecla caps lock permanecem como teclas de controle, tanto quanto eu posso ver.
Sei que posso limpar toda a lista de opções, mas, no interesse da manutenção, prefiro não copipar as opções. Como reativar o caps lock?
Atualização:
Observando as teclas pressionadas com xev (1), aparece ctrl: nocaps fornece a Control_L
para ambas as teclas e ctrl: swapcaps "restaura" a tecla caps lock (pressionar a tecla fornece Caps_Lock
). No entanto, o LED caps lock não acende nem funciona.
Observar o xkeyboard-config/symbols/ctrl
arquivo nas fontes do X.org sugere o problema:
xkb_symbols "nocaps" {
replace key <CAPS> { [ Control_L, Control_L ] };
modifier_map Control { <CAPS>, <LCTL> };
};
xkb_symbols "swapcaps" {
replace key <CAPS> { [ Control_L ] };
replace key <LCTL> { [ Caps_Lock ] };
};
A última opção não possui uma linha modifier_map, o que quer que isso faça
fonte
Respostas:
Os seguintes comandos devem funcionar:
ou
Os comandos acima funcionam muito bem para restaurar o comportamento padrão, que quase nunca preciso, por sorte.
Normalmente refiro o capslock para Control (felizmente VI / VIM suporta CTRL-C em vez de ESC) com o seguinte comando:
fonte
Tentar
setxkbmap -option -layout us -variant dvorak-l -option ctrl:swapcaps
Na página de manual:
A ironia é que aqui
-option ctrl:swapcaps
realmente se sobrepõe-option ctrl:nocaps
- acho que o comportamento mudou.Editar: Como o OP afirmou, ele deseja evitar a limpeza das opções (como feito da maneira acima).
/usr/share/X11/xkb/rules/xorg.lst
mostra a opçãoctrl:aa_ctrl
(controle no canto inferior esquerdo), que parece redefinir o caps lock depoisnocaps
daqui.Eu acho que vale a pena tentar, e você também pode olhar para a lista (
grep ctrl\:
) e ver se há algo mais que pode funcionar, caso este não funcione.Se não houver opção para isso, acho que a solução é invadir o mapa de teclas atual, associando o Caps Lock à tecla Caps Lock novamente (mas não tenho experiência com isso, além de acreditar que existe uma ferramenta que permite que você faça isso com uma linha).
fonte
swapcaps
na verdade reativa o caps lock aqui), mas a partir de/usr/share/X11/xkb/rules/xorg.lst
, vejo que existe a opçãoctrl:aa_ctrl
(controle na parte inferior esquerda), que parece redefinir o caps lock depoisnocaps
daqui.xmodmap
, mas eu não tenho certeza de como usá-loexiste uma opção "caps: capslock" (que mapeia a adição de "+ capslock (capslock)" a xkb_symbols) que ativa o capslock.
No entanto, essa opção (talvez todas as maiúsculas: xxxxx?) É adicionada antes das ctrl: xxxxx ones existentes; como ctrl: swapcaps redefine a tecla capslock, essa opção não tem efeito.
Portanto, você absolutamente precisa remover todas as opções e colocar as que deseja; da maneira que as opções existem, elas não devem desfazer a ação de uma anterior e, tendo opções conflitantes (por exemplo, duas (ou mais) que definem a mesma chave), não é possível definir a ordem delas.
fonte