No Gnome Tweak Tool, defina "Ctrl key position" para "Caps Lock as Ctrl" e "Caps Lock key behavior" para "Caps Lock está desativado".
História completa:
O problema parece ser como o Ubuntu está remapeando a chave CapsLock. Quando a propriedade "comportamento da tecla Caps Lock" do Gnome Tweak Tool é definida como "Tornar Caps uma Ctrl adicional", o xmodmap reporta:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Caps_Lock (0x42), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
O problema parece ser que ambos bloqueiam e controlam a lista "Caps_Lock (0x42)". Tudo funciona bem até você definir o foco em uma VM VMware (testei usando o VMWare Player). Depois de focar a janela do VMWare, xmodmap
reportará um mapeamento vazio:
xmodmap: up to 0 keys per modifier, (keycodes in parentheses):
shift
lock
control
mod1
mod2
mod3
mod4
mod5
A execução de setxkbmap
redefine o mapeamento do teclado e resolve temporariamente o problema. Jogando com xmodmap
, descobri que remover Caps_Lock (0x42) do bloqueio impediu o VMWare de liberar os mapeamentos de teclado. Mas , o Ubuntu 14.04 ignora .Xmodmap
arquivos, então não havia um método simples para usar xmodmap
.
Podemos consertar a causa-raiz dessa situação alterando duas configurações no Gnome Tweak Tool, conforme descrito no início deste post. Isso configurará adequadamente os mapeamentos de teclado para que o Caps_Lock (0x42) não apareça em dois locais:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_L (0x42), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)