私は今朝この奇妙な状況に目を覚ました。昨日、コンピュータから出たとき、これは起こりませんでした。
私はtmuxキーバインディングが機能しないときに初めてそれを見つけました。私の接頭辞はCtrl + spaceです。その後、マウスをブラウザタブの上に移動すると、右にスクロールし続けることがわかりました。その後、端末が常に下にスクロールすることがわかりました。しかし、私のvimセッションにはなく、urxvtを使用するときはtmux内でのみ可能ですが、kittyを使用するtmuxの内部ではそうではありません。その後、フレームよりも広く、水平スクロールバー付きのテキストを含むブラウザフレームが右にスクロールすることも確認しました。また、ブラウザでCtrlキーを押し続けると、縮小され続けます。
問題を解決するために私がしたことは次のとおりです。
- 私のパッケージをすべて更新しました。
- 何度も再起動
- すべてのtmuxセッションの終了
- さまざまなマウスとキーボード
- 床のセンサーを含むマウスを徹底的に清掃し、髪がないことを確認しました。
- キーボードが完全に取り外されたときにこれが発生します。
- キーボードでマウスコントロールが可能で、マウスをオフにしてキーボードだけを使ってテストしてみました。
マウスをオンにせずにキーボードを接続していない状態でこのようなことが発生した場合、私が思うデバイスの外部にあることは間違いありません。
- コンピュータ:Dell 13 XPS
- オペレーティングシステム:アーチLinux
- デスクトップ環境:なし
- ウィンドウマネージャ:AwesomeWM
- キーボード: Ergodox EZ
- マウス: J-Tech Digital
私の質問は、この問題をどのように解決できるかということです。不明なキーストロークが発生していることを確認する方法はありますか?または、マウスホイールのコマンドが停止しましたか?
修正する:
コメントに提案をいただいた@duthilsに感謝します。私は実行し、xev
予想されるマウス移動イベントに加えてこの出力を見つけました。
ButtonPress event, serial 32, synthetic NO, window 0x3600001,
root 0x1a6, subw 0x0, time 87726801, (433,445), root:(4274,482),
state 0x0, button 7, same_screen YES
ButtonRelease event, serial 32, synthetic NO, window 0x3600001,
root 0x1a6, subw 0x0, time 87726801, (433,445), root:(4274,482),
state 0x0, button 7, same_screen YES
これは以下に基づいています。文書何とかトラックパッドから水平スクロールイベントが送信されるようです。だから私はそれを無効にすると思うものがあります。でもまだそんなことが起きているようです。一部のサービスなどを再起動する必要がありますか?無効にする方法は次のとおりです。
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN25B5:00 04F3:25B5 id=12 [slave pointer (2)]
⎜ ↳ DELL07E6:00 06CB:76AF Mouse id=13 [slave pointer (2)]
⎜ ↳ DELL07E6:00 06CB:76AF Touchpad id=14 [slave pointer (2)]
...
$ xinput disable "DELL07E6:00 06CB:76AF Touchpad"
しかし、そのようなことが起こっています。だから私も
$ xinput disable "DELL07E6:00 06CB:76AF Mouse"
確かにしてください。しかし、まだそのようなことが起こります。正しい方法で無効にしていますか?または、生成されたイベント出力を誤って読みましたかxev
?また、タッチパッドとマウスを無効にしてテストし、実際のマウスをオフにして水平スクロールイベントが送信されないようにしました。マウスをオフにしてもこの現象が発生し続けます。マウスがオフになっていて、トラックパッドとマウスが無効になっている場合、他の理由は何ですか?
なぜこれが起こるのだろうか。私のコンピュータが突然一晩水平トラックパッドスクロールイベントを送信することを決めたのはなぜですか?
アップデート2:
xinput --test-xi2
@duthilsの提案のおかげで、結果は次のようになります。
EVENT type 17 (RawMotion)
device: 2 (16)
detail: 0
flags:
valuators:
2: 15.00 (15.00)
EVENT type 15 (RawButtonPress)
device: 2 (16)
detail: 7
flags: emulated
valuators:
EVENT type 16 (RawButtonRelease)
device: 2 (16)
detail: 7
flags: emulated
valuators:
EVENT type 13 (RawKeyPress)
device: 3 (19)
detail: 37
valuators:
EVENT type 14 (RawKeyRelease)
device: 3 (19)
detail: 37
valuators:
EVENT type 13 (RawKeyPress)
device: 3 (19)
detail: 37
valuators:
EVENT type 17 (RawMotion)
device: 2 (16)
detail: 0
flags:
valuators:
2: 15.00 (15.00)
EVENT type 15 (RawButtonPress)
device: 2 (16)
detail: 7
flags: emulated
valuators:
EVENT type 16 (RawButtonRelease)
device: 2 (16)
detail: 7
flags: emulated
valuators:
EVENT type 17 (RawMotion)
device: 2 (16)
detail: 0
flags:
valuators:
0: -0.89 (-1.00)
1: 0.00 (0.00)
私が知っている限り、IDが16のデバイス(マイマウス)に対してボタンを押してから離すことと、IDが19(マイキーボード)のデバイスに対してキーを押してから離すことを受け取ることを知らせます。
各デバイスを無効にしてテストを実行し、再度有効にしてテストを再実行するなど、他の多くのテストを実行しました。違いなどを比較してみてください。キーボードでキーを押したり離したりすることに違いはないようです。しかし、マウスを押すか離すとそうでした。私が奇妙に思うのは、マウスがオフになっても(電源が切れてバッテリーがない場合)、まだ発生することです。しかし、私の推測では、USBドングルから出てきたようです。だから私はそれを取り出して再び差し込みました、ヴィオラ。問題は消えた。
ベストアンサー1
イベントが受信されていることを確認する
xev
これらのイベントを発生させるデバイスIDを見つけるには、次のコマンドを使用します。
xinput --test-xi2
次のイベントが出力されます。
EVENT type 15 (RawButtonPress)
device: 2 (16)
detail: 7
flags: emulated
valuators:
- デバイス名の検索:
(16)
デバイスID(たとえば)がマッピングされているデバイスのリストxinput --list
。