制御できない奇妙なスクロール

制御できない奇妙なスクロール

私は今朝この奇妙な状況に目を覚ました。昨日、コンピュータから出たとき、これは起こりませんでした。

私は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

  1. イベントが受信されていることを確認するxev

  2. これらのイベントを発生させるデバイスIDを見つけるには、次のコマンドを使用します。

xinput --test-xi2

次のイベントが出力されます。

EVENT type 15 (RawButtonPress)
    device: 2 (16)
    detail: 7
    flags: emulated
    valuators:
  1. デバイス名の検索:(16)デバイスID(たとえば)がマッピングされているデバイスのリストxinput --list

おすすめ記事