Como posso identificar o componente responsável por reordenar a entrada do teclado?

4

Eu tenho o Ubuntu 14.04 em execução em um laptop Dell Latitude 13. Quando eu inicio o Chromium e abro várias páginas do stackexchange em diferentes abas. Qualquer texto que eu digite freqüentemente terá caracteres aparecendo em uma ordem diferente de como eles foram digitados. Por exemplo, este parágrafo realmente apareceu como:

  

Eu tenho o Ubuntu 14.04 runnign no laptop Dell Latitude 1.   Quando eu faço o download de várias páginas, preencha as guias do documento. Qualquer texto que eu digita irá ter dois caracteres em diferentes formatos a partir do momento em que o texto for digitado. Para o exmapel, esse parágrafo na verdade foi mostrado como

Como você pode imaginar, ter que corrigir isso manualmente toda vez que isso acontece pode ser muito frustrante. O comportamento parece que alguma camada na pilha de software está inserindo pressionamentos de teclas em uma pilha em vez de em uma fila, e se eles não forem consumidos tão rapidamente quanto chegam, eles aparecem na ordem errada.

Isso só acontece esporadicamente e parece acontecer com mais frequência quando o Chromium está trocando muito. Não consegui identificar qual camada da pilha de software está causando o problema. Existe alguma depuração / registro de log adicional que eu possa ativar para mostrar-me em que ordem os caracteres aparecem em diferentes camadas na pilha de software?

O que tentei até agora

Ao enviar sinais alternados de STOP e CONT para um xterm, consegui reduzir o xterm o suficiente para reproduzir o sintoma. Como o reordenamento da entrada do teclado não deve acontecer mesmo que o xterm esteja congelado por um tempo, acho que é seguro concluir que a falha não está no Chromium ou no stackexchange, mas em alguns softwares envolvidos nos dois casos.

Para descartar a possibilidade de que possa ser uma falha no hardware do teclado, testei com teclas sintéticas.

sleep 10 ; for K in {a..z} ; do xdotool type "$K" ; sleep 0.2 ; done

Com esse comando, consegui reproduzir o problema. Em uma ocasião, as chaves apareceram na ordem abcdefghlmkjpnioqrstuvwxyz . Então, quando isso também acontece com pressionamentos de tecla gerados por xdotool , não pode ser uma falha no teclado ou no teclado.

Se eu acelerar ainda mais a entrada produzida usando o xdotool, isso fará com que o xterm seja bloqueado.

Ver um bloqueio xterm quando a entrada do teclado chega rapidamente é algo que eu vi mesmo sem desacelerar artificialmente usando sinais STOP. Quando eu vejo o xterm bloqueado assim, ele geralmente continua acontecendo depois que eu mato o xterm e começo um novo. Esse problema persiste até eu executar compiz --replace . Depois de executar esse comando, tudo corre mais rápido e o xterm não é mais bloqueado pelo menos nos primeiros dias.

Portanto, há algumas evidências sugerindo que os dois problemas estão relacionados e de alguma forma tem algo a ver com compiz , mas não tenho nenhuma evidência sólida para respaldar essa suspeita.

    
por kasperd 13.06.2015 / 17:25

0 respostas