Ambiente
- OSX 10.7.4
- Meados de 2010 iMac
- VirtualBox 4.1.18
- Ubuntu Precise Pangolin (todas as atualizações aplicadas)
Problema
Eu criei um novo VirtualBox vm e instalei Precise a partir do ISO da área de trabalho padrão. Como parte da instalação, selecionei o mapa-chave 'English UK (Mac International)'. Todas as teclas parecem estar emitindo o caractere correto, no entanto, para algumas teclas um caractere não será registrado até que eu tenha pressionado a tecla duas vezes .
Por exemplo, a primeira vez que eu pressiono a tecla 'nenhum caractere aparece no prompt do terminal. No entanto, a segunda vez funciona.
Isso também acontece com algumas outras teclas e combinações de deslocamento - ou seja, ~ (shift + ') também é afetado.
Mais informações
- Isso não parece ser um problema de VM. Eu instalei o Precise no VMware Fusion e o mesmo problema parece ocorrer.
- Não está relacionado à velocidade que estou digitando. Eu posso pressionar a tecla, esperar alguns segundos, depois pressioná-la novamente e obter o mesmo comportamento.
- Alternando para um layout de teclado alternativo (WinKeys estendidos do inglês do Reino Unido), o problema persiste para o caractere de backtick (você deve pressionar a tecla § no teclado). Pressionar a tecla 'emite um caractere () imediatamente. Em outras palavras, o problema parece estar relacionado a caracteres específicos, em vez dos códigos de hardware emitidos por chaves específicas.
saída xev
Primeiro pressionamento de tecla:
KeyPress event, serial 30, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3935772, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_grave), same_screen YES,
XLookupString gives 1 bytes: (60) "'"
XmbLookupString gives 0 bytes:
XFilterEvent returns: True
KeyRelease event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3935884, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_grave), same_screen YES,
XLookupString gives 1 bytes: (60) "'"
XFilterEvent returns: False
Segunda pressão:
KeyPress event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3939630, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_grave), same_screen YES,
XLookupString gives 1 bytes: (60) "'"
XmbLookupString gives 0 bytes:
XFilterEvent returns: True
KeyPress event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3939630, (317,33), root:(320,141),
state 0x0, keycode 0 (keysym 0x60, grave), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 1 bytes: (60) "'"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3939777, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_grave), same_screen YES,
XLookupString gives 1 bytes: (60) "'"
XFilterEvent returns: False
Terceiro pressionamento de tecla:
KeyPress event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3956078, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_grave), same_screen YES,
XLookupString gives 1 bytes: (60) "'"
XmbLookupString gives 0 bytes:
XFilterEvent returns: True
KeyRelease event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3956214, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_grave), same_screen YES,
XLookupString gives 1 bytes: (60) "'"
XFilterEvent returns: False
A tecla adicional "grave" só parece ser emitida em todas as outras teclas físicas.