キーボード入力の並べ替えを担当するコンポーネントをどのように特定できますか?

キーボード入力の並べ替えを担当するコンポーネントをどのように特定できますか?

私は Dell Latitude 13 ラップトップで Ubuntu 14.04 を実行しています。Chromium を起動し、異なるタブで StackExchange からいくつかのページを開くと、入力したテキストの文字が、入力した順序とは異なる順序で表示されることがよくあります。たとえば、この段落は実際には次のように表示されました。

私はDell Latitude 13ラップトップでUbuntu 14.04を実行しています。Chormiumを開いている間、複数のページが複数のタブで開きます。入力したテキストは、入力された場所とは異なる形式で表示されます。たとえば、このアプリは実際には次のように表示されます。

ご想像のとおり、毎回手動で修正しなければならないのは非常に面倒です。この動作は、ソフトウェア スタック内の一部のレイヤーがキーの押下をキューではなくスタックに挿入しているように見え、キーが到着した直後に消費されない場合、キーは間違った順序で表示されます。

これは散発的にしか発生せず、Chromium が頻繁にスワップしているときに頻繁に発生するようです。ソフトウェア スタックのどのレイヤーが問題を引き起こしているかを特定できませんでした。ソフトウェア スタックのさまざまなレイヤーで文字がどのような順序で表示されるかを示すために有効にできる追加のデバッグ/ログ記録はありますか?

これまで試したこと

STOPxterm に交互にand信号を送信することでCONT、症状を再現できる程度に xterm を遅くすることができました。xterm が少しの間フリーズしてもキーボード入力の並べ替えは行われないはずなので、この欠陥は Chromium や stackexchange にあるのではなく、両方のケースに関係する何らかのソフトウェアにあると結論付けても間違いないと思います。

キーボードのハードウェアに欠陥がある可能性を排除するために、合成キーの押下でテストしました。

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

そのコマンドで問題を再現できました。あるとき、キーは の順序で表示されましたabcdefghlmkjpnioqrstuvwxyz。したがって、 によって生成されたキー入力でも発生する場合xdotool、キーボードまたはキーボード コントローラの欠陥ではあり得ません。

xdotool を使用して生成された入力をさらに高速化すると、xterm がロックアップします。

キーボード入力がすぐに到着すると xterm がロックアップする現象は、STOP 信号を使用して人工的に速度を落とさなくても見られる現象です。xterm がこのようにロックアップすると、通常、xterm を終了して新しい xterm を起動した後も、この問題は発生し続けますcompiz --replace。この問題は、 を実行するまで続きます。このコマンドを実行すると、すべてが高速化され、少なくとも最初の数日間は xterm がロックアップしなくなります。

したがって、2 つの問題が関連しており、何らかの形で と関係があることを示唆する証拠はいくつかありますcompizが、その疑いを裏付ける確固たる証拠はありません。

関連情報