Ubuntu 14.04 + VMware 6: Ctrl esquerdo e deslocamento direito não funcionam

3

Antes de iniciar uma máquina virtual no VMware, todas as teclas modificadoras funcionam corretamente. Mesmo quando eu inicio o VMware, mas antes de iniciar a máquina virtual, tudo funciona muito bem.

No entanto, quando inicio uma máquina virtual, minhas teclas esquerda Ctrl e direita Shift param de funcionar. Eles simplesmente não têm efeito.

Aqui estão algumas observações que podem levar a algo:

  • Meu Shift esquerdo ainda continua funcionando.
  • Eu mapeei meu Caps Lock para Ctrl e ele funciona corretamente.
  • A execução de sudo setxkbmap define temporariamente tudo em ordem. Quando o VMware ganha foco e eu digito algo, o problema volta.
  • O problema persiste mesmo depois de eu sair do VMware.

Esta é a primeira vez que estou usando o Unity (uso o Gnome há muito tempo) e suspeito que o problema esteja relacionado a isso. Alguma idéia de por que isso pode estar acontecendo?

    
por Can Bal 09.07.2014 / 04:02

1 resposta

3
TLDR:

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)
    
por Nathan 06.11.2014 / 20:14