Aqui está o que finalmente funcionou! Eu usei o arquivo xmodmap
e um arquivo ~/.Xmodmap
em vez da configuração xkb.
~/.Xmodmap
:
clear Shift
! Key Shift+Key mode_switch+Key mode_switch+Shift+Key AltGr+Key AltGr+Shift+Key
! Key Shift_L+Key Shift_R+Key Shift_R+Shift_L+Key AltGr+Key AltGr+Shift_L+Key
keycode 10 = 1 1 exclam 1
keycode 11 = 2 2 at 2
keycode 12 = 3 3 numbersign 3
keycode 13 = 4 4 dollar 4
keycode 14 = 5 5 percent 5
keysym Shift_R = Mode_switch
add Shift = Shift_L
As duas linhas comentadas (com !
) mostram os títulos das colunas antes e depois das minhas alterações. Isso permitiu que eu especificasse col 2 como Shift_L e col 3 como Shift_R, já que mapeei shift_R como Mode_switch.
As alterações são feitas executando:
# setxkbmap us
# xmodmap ~/.Xmodmap
setxkbmap us
define o mapa padrão dos EUA para que você trabalhe em uma lista limpa e xmodmap
anexa as alterações personalizadas a ele.
Quando implementado, os caracteres !
, @
, #
, $
e %
só podem ser digitados com a tecla shift direita e ^
, &
, *
, (
e )
só podem ser digitados com a tecla shift esquerda.
Agora posso continuar mapeando todas as teclas no lado esquerdo do teclado para apenas serem modificadas pela tecla shift direita (ou seja, os caracteres aplaônicos e suas modificações maiúsculas) e vice-versa; essa solução significa que eu só preciso remapear o lado esquerdo.
Outros links úteis encontrados ao longo do caminho:
Muito obrigado ao @Trudbert por ter me ajudado bastante na resposta!