数日前、2つのボタンを同時に離したときにマウスボタンのリリースが認識されない場合がありました。したがって、1つのボタンの論理状態が「押された」状態に固定され、もう一度押すとリセットされるまで、迷惑な予期しない動作が発生します。
私できるマウスイベントの監視に関連する問題が再現されましたxev
(出力が時々予想されるキーリリースイベントを表示しない)。私できないイベントを監視して問題を再現します/sys/kernel/debug/usb/usbmon
(出力は常に実際の状況と一致します)。
したがって、欠陥は明らかにX11の下にありますが、USBの上にあるいくつかの抽象的なソフトウェアコンポーネントにあります。
原因は何ですか?どうすれば範囲を絞り込むことができますか?
答え1
USBイベントとXイベントのレベルは次のとおりです。
マウスが特別で、独自のドライバがない限り、HIDデバイスである可能性が高いです。その
hidraw
デバイス(選択済みdmesg
)を見つけて、そのデバイスからイベントを受信していることを確認してください。 USBからHIDへの変換はカーネルによって行われます。すべての入力イベントは、対応するデバイスを持つ入力層を介してカーネルを離れます
/dev/input
。ルートとして実行し、evtest
マウスを選択してイベントが受信されることを確認します。 HIDイベントから入力イベントへの変換はカーネルによって行われます。Xはほとんどの場合、すべての入力デバイスのドライバを自動的にロードします
evdev
。/var/log/Xorg.0.log
どのドライバがロードされているか確認してください。これらのドライバは入力イベントをXイベントに変換します。