Xmodmap pode fazer o que você está pedindo, contanto que você não se importe em quebrar o seu < Tecla kbd> CapsLock .
O Xmodmap pode distinguir entre a tecla Shift esquerda e direita, então podemos inicialmente remapear RightShift para ModeSwitch para seguir nosso caminho:
xmodmap -e "keysym Shift_R = Mode_switch"
A sintaxe básica para modificar o comportamento de uma chave é
xmodmap -e "keycode KEYCODE = KEYSYMBOL1 KEYSYMBOL1 KEYSYMBOL3 KEYSYMBOL4"
xmodmap -e "keysym KEYSYMBOL = KEYSYMBOL1 KEYSYMBOL1 KEYSYMBOL3 KEYSYMBOL4"
onde
-
KEYSYMBOL2
é acionado ao pressionar a tecla enquanto pressiona Shift . -
KEYSYMBOL3
é acionado ao pressionar a tecla enquanto pressiona ModeSwitch . -
KEYSYMBOL4
é acionado ao pressionar a tecla enquanto pressiona Shift + ModeSwitch . -
KEYSYMBOL1
é acionado ao pressionar a tecla sem nenhuma das opções acima. - ModeSwitch é AltGr por padrão (funciona apenas em alguns layouts de teclado).
Tanto para a teoria. Na prática, esses remapeamentos podem se comportar um pouco diferente ao modificar uma combinação de Shift + Letra . Eu não posso falar pelo Kubuntu, mas alguns aplicativos do Unity irão sobrescrever o comportamento especificado pelo Xmodmap nestes casos.
Para reconfigurar cada chave para aceitar apenas o modificador adequado, descobri que a maneira mais robusta é a seguinte:
-
Para fazer com que R aceite apenas RightShift , execute o seguinte comando:
xmodmap r r R R
-
Para fazer com que L aceite apenas o LeftShift , execute o seguinte comando:
xmodmap l L l l
Dicas:
-
Para tornar os remapeamentos permanentes, crie / edite um script de shell em
~/.kde/Autostart/
, torne-o executável e salve os comandos correspondentes nele. -
Para desfazer todos os remapeamentos, basta executar o seguinte comando:
setxkbmap