web-dev-qa-db-ja.com

マウスのスクロールホイールが機能しなくなった

約1週間前の時点で、マウスのスクロールホイールは機能しなくなりました(1つだけでなく、すべてのマウス)。これが私が問題を調査して修正しようとしたものですが、これまでのところまったく役に立ちませんでした:

  • 問題が3匹のマウスで持続することを確認しました。 1つはCorsair、2つはLogitechです
  • 3つのマウスすべてが他のオペレーティングシステムで正常に動作することを確認しました
  • 同じマシンでWindowsを起動し、スクロールが機能することを確認したので、ハードウェアの問題ではありません
  • xinputは、スクロールホイールを含むマウスを示し、ボタンマップは1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16です。
  • xevは、スクロールホイールが動かされたときのイベントを表示しません。ただし、マウスの中クリックは問題なく機能します。
  • ウィンドウマネージャーを再起動しても効果はありませんでした
  • 別のウィンドウマネージャーに切り替えても効果はありませんでした
  • Xを再起動しても効果はありませんでした
  • 再起動しても効果はありませんでした
  • USBポートが3つありますが、いずれかに変更しても効果はありません。別のマウスに切り替えてみましたが、同じ問題です。同じ問題で、3番目のマウスを試しました。
  • すべてのソフトウェアを更新し、カーネルをアップグレードしました
  • Reddit、Super User、Quoraなどで回答を検索しましたが、すべてのソリューションはすでに上記によって除外されています
  • Reddit r/linuxmintについて質問しましたが、役に立ちませんでした

これが私が使っているものに関するいくつかの情報です:

  • OS:Linux Mint 18.1
  • カーネル:x86-64 Linux4.10.0-14-汎用
  • WM:i3、また素晴らしいシナモンを試しました

私が見る最大の問題は、xevがイベントを表示せず、問題が異なるマウス間で一貫していることです。繰り返しになりますが、この問題は1週間前に発生したばかりで、約1年前は気にせずに機能していました。私は前の最後の日にこれを引き起こしたかもしれないどんな変化も考えることができず、私はますます欲求不満を増しています。

原因、修正、次に何を調査するかについてのアイデアはありますか?

更新:コメントによると、xinput list-propsの出力は次のとおりです。

Device 'ckb1: Corsair Gaming Sabre PRO RGB Mouse':
Device Enabled (152):   1
Coordinate Transformation Matrix (154): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (276): 0
Device Accel Constant Deceleration (277):   1.000000
Device Accel Adaptive Deceleration (278):   1.000000
Device Accel Velocity Scaling (279):    10.000000
Device Product ID (269):    6940, 6959
Device Node (270):  "/dev/input/event8"
Evdev Axis Inversion (280): 0, 0
Evdev Axes Swap (282):  0
Axis Labels (283):  "Rel X" (162), "Rel Y" (163), "Rel Z" (581), "Rel Rotary X" (582), "Rel Rotary Y" (583), "Rel Rotary Z" (584), "Rel Horiz Wheel" (489), "Rel Dial" (585), "Rel Vert Wheel" (275), "Rel Misc" (586), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0)
Button Labels (284):    "Button Left" (155), "Button Middle" (156), "Button Right" (157), "Button Wheel Up" (158), "Button Wheel Down" (159), "Button Horiz Wheel Left" (160), "Button Horiz Wheel Right" (161), "Button Side" (273), "Button Extra" (274), "Button Forward" (298), "Button Back" (299), "Button Task" (300), "Button 8" (579), "Button 9" (580), "Button Unknown" (272), "Button Unknown" (272), "Button Unknown" (272), "Button Unknown" (272), "Button Unknown" (272), "Button Unknown" (272), "Button Unknown" (272), "Button Unknown" (272), "Button Unknown" (272), "Button Unknown" (272)
Evdev Scrolling Distance (285): -77, -77, 1
Evdev Middle Button Emulation (286):    0
Evdev Middle Button Timeout (287):  50
Evdev Third Button Emulation (288): 0
Evdev Third Button Emulation Timeout (289): 1000
Evdev Third Button Emulation Button (290):  3
Evdev Third Button Emulation Threshold (291):   20
Evdev Wheel Emulation (292):    0
Evdev Wheel Emulation Axes (293):   0, 0, 4, 5
Evdev Wheel Emulation Inertia (294):    10
Evdev Wheel Emulation Timeout (295):    200
Evdev Wheel Emulation Button (296): 4
Evdev Drag Lock Buttons (297):  0

そして、ホイールを上下にスクロールしたときのevtestの出力:

Event: time 1491756163.211018, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1491756163.211018, -------------- SYN_REPORT ------------
Event: time 1491756163.459021, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1491756163.459021, -------------- SYN_REPORT ------------
Event: time 1491756163.684019, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1491756163.684019, -------------- SYN_REPORT ------------
Event: time 1491756164.165007, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1491756164.165007, -------------- SYN_REPORT ------------
Event: time 1491756164.582066, type 2 (EV_REL), code 8 (REL_WHEEL), value 1
Event: time 1491756164.582066, -------------- SYN_REPORT ------------
Event: time 1491756164.712050, type 2 (EV_REL), code 8 (REL_WHEEL), value 1
Event: time 1491756164.712050, -------------- SYN_REPORT ------------
Event: time 1491756164.872037, type 2 (EV_REL), code 8 (REL_WHEEL), value 1
Event: time 1491756164.872037, -------------- SYN_REPORT ------------
Event: time 1491756165.095999, type 2 (EV_REL), code 8 (REL_WHEEL), value 1
Event: time 1491756165.095999, -------------- SYN_REPORT ------------
Event: time 1491756166.027074, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1491756166.027074, -------------- SYN_REPORT ------------
Event: time 1491756166.419054, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1491756166.419054, -------------- SYN_REPORT ------------

更新2:/var/log/Xorg.0.logの関連セクション。明確にするために、ここで使用されているマウスはCorsairですが、LogitechとMicrosoftのマウスでも同じ問題が発生しました。

 (II) config/udev: Adding input device ckb1: Corsair Gaming Sabre PRO RGB Mouse (/dev/input/event6)
 (**) ckb1: Corsair Gaming Sabre PRO RGB Mouse: Applying InputClass "evdev keyboard catchall"
 (II) Using input driver 'evdev' for 'ckb1: Corsair Gaming Sabre PRO RGB Mouse'
 (**) ckb1: Corsair Gaming Sabre PRO RGB Mouse: always reports core events
 (**) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Device: "/dev/input/event6"
 (--) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Vendor 0x1b1c Product 0x1b2f
 (--) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Found 20 mouse buttons
 (--) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Found keys
 (II) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Forcing relative x/y axes to exist.
 (II) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Configuring as mouse
 (II) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Configuring as keyboard
 (**) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: YAxisMapping: buttons 4 and 5
 (**) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
 (**) Option "config_info" "udev:/sys/devices/virtual/input/input15/event6"
 (II) XINPUT: Adding extended input device "ckb1: Corsair Gaming Sabre PRO RGB Mouse" (type: KEYBOARD, id 14)
 (**) Option "xkb_rules" "evdev"
 (**) Option "xkb_model" "pc105"
 (**) Option "xkb_layout" "us"
 (II) config/udev: Adding input device ckb1: Corsair Gaming Sabre PRO RGB Mouse (/dev/input/event8)
 (**) ckb1: Corsair Gaming Sabre PRO RGB Mouse: Applying InputClass "evdev pointer catchall"
 (**) ckb1: Corsair Gaming Sabre PRO RGB Mouse: Applying InputClass "evdev keyboard catchall"
 (**) ckb1: Corsair Gaming Sabre PRO RGB Mouse: Applying InputClass "Natural Scrolling"
 (II) Using input driver 'evdev' for 'ckb1: Corsair Gaming Sabre PRO RGB Mouse'
 (**) ckb1: Corsair Gaming Sabre PRO RGB Mouse: always reports core events
 (**) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Device: "/dev/input/event8"
 (--) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Vendor 0x1b1c Product 0x1b2f
 (--) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Found 20 mouse buttons
 (--) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Found scroll wheel(s)
 (--) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Found relative axes
 (--) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Found x and y relative axes
 (--) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Found keys
 (II) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Configuring as mouse
 (II) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Configuring as keyboard
 (II) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: Adding scrollwheel support
 (**) Option "VertScrollDelta" "-77"
 (**) Option "HorizScrollDelta" "-77"
 (**) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: YAxisMapping: buttons 4 and 5
 (**) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
 (**) Option "config_info" "udev:/sys/devices/virtual/input/input16/event8"
 (II) XINPUT: Adding extended input device "ckb1: Corsair Gaming Sabre PRO RGB Mouse" (type: KEYBOARD, id 15)
 (**) Option "xkb_rules" "evdev"
 (**) Option "xkb_model" "pc105"
 (**) Option "xkb_layout" "us"
 (EE) BUG: triggered 'if (axnum >= dev->valuator->numAxes)'
 (EE) BUG: ../../Xi/exevents.c:2103 in InitValuatorAxisStruct()
 (EE) 
 (EE) Backtrace:
 (EE) 0: /usr/lib/xorg/Xorg (xorg_backtrace+0x4e) [0x560d79deaade]
 (EE) 1: /usr/lib/xorg/Xorg (InitValuatorAxisStruct+0x67) [0x560d79d7b677]
 (EE) 2: /usr/lib/xorg/modules/input/evdev_drv.so (0x7f48d221e000+0x4b15) [0x7f48d2222b15]
 (EE) 3: /usr/lib/xorg/modules/input/evdev_drv.so (0x7f48d221e000+0x58de) [0x7f48d22238de]
 (EE) 4: /usr/lib/xorg/modules/input/evdev_drv.so (0x7f48d221e000+0x6d23) [0x7f48d2224d23]
 (EE) 5: /usr/lib/xorg/Xorg (ActivateDevice+0x4a) [0x560d79c80c4a]
 (EE) 6: /usr/lib/xorg/Xorg (0x560d79c38000+0xa2b19) [0x560d79cdab19]
 (EE) 7: /usr/lib/xorg/Xorg (0x560d79c38000+0xb4f0b) [0x560d79cecf0b]
 (EE) 8: /usr/lib/xorg/Xorg (0x560d79c38000+0xb54f3) [0x560d79ced4f3]
 (EE) 9: /usr/lib/xorg/Xorg (config_init+0x9) [0x560d79cebea9]
 (EE) 10: /usr/lib/xorg/Xorg (InitInput+0xbb) [0x560d79ccefdb]
 (EE) 11: /usr/lib/xorg/Xorg (0x560d79c38000+0x57d91) [0x560d79c8fd91]
 (EE) 12: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf0) [0x7f48d8c8d830]
 (EE) 13: /usr/lib/xorg/Xorg (_start+0x29) [0x560d79c7a049]
 (EE) 
 (II) evdev: ckb1: Corsair Gaming Sabre PRO RGB Mouse: initialized for relative axes.
 (**) ckb1: Corsair Gaming Sabre PRO RGB Mouse: (accel) keeping acceleration scheme 1
 (**) ckb1: Corsair Gaming Sabre PRO RGB Mouse: (accel) acceleration profile 0
 (**) ckb1: Corsair Gaming Sabre PRO RGB Mouse: (accel) acceleration factor: 2.000
 (**) ckb1: Corsair Gaming Sabre PRO RGB Mouse: (accel) acceleration threshold: 4
 (II) config/udev: Adding input device ckb1: Corsair Gaming Sabre PRO RGB Mouse (/dev/input/mouse0)
 (II) No input driver specified, ignoring this device.
 (II) This device may have been added with another device file.

スクロールしたときのxinput --testの出力は次のとおりです。

motion a[8]=-1 motion a[8]=-2 motion a[8]=-3 motion a[8]=-2 motion a[8]=-1 motion a[8]=0 motion a[8]=1 motion a[8]=2 motion a[8]=3 motion a[8]=4 motion a[8]=3 motion a[8]=2 motion a[8]=1 motion a[8]=0

3
thornjad

こことRedditのすべての人、特に@dirktに、すべての助けをありがとう。結局、私は核のオプションを選択しました。ルートパーティションをワイプし、Linuxを再インストールしました。私のスクロールホイールは今では完璧に動作し、それは私が抱えていた他のいくつかの問題を修正しました。

このような問題が発生したほとんどのユーザーにはお勧めしませんが、機能します。すべてを削除する前に、修正を試みるいくつかの作業を実行します(もちろん、最初にすべてのデータをバックアップします)。

現在、デフォルトの4.8カーネルを使用しているLinux Mint18.2を使用しています。同じコマンド出力が現在何であるかについて誰かが興味を持っている場合は、より多くの情報で質問を更新できます。

1
thornjad

部分的な答え:

ご覧のとおり、スクロールホイールのイベントは正常に表示されます。しかし、X evdevドライバーは、それに対応する入力デバイスに多くの軸、多くのボタン、さらにはキーがあるという情報を取得するため、混乱します(これが、キーボードとしての構成が表示される理由です) ログ内)。これが、通常のようにホイールイベントをボタン4と5の押下に変換しない理由であり、したがって、アプリケーションもホイールイベントを認識しません。

したがって、問題は、デバイスがこれほど多くの入力を持っていると主張する理由です。 evtestを実行すると、タイプ1および2のサポートされているイベントがたくさんリストされると思います。比較のために、ここに私がマウスで得るもの:

$ Sudo evtest
...
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
    Event code 8 (REL_WHEEL)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)

おそらく、0から8までのすべての軸と、おそらくすべてのキーも取得します。

この場合は、カーネルドライバに問題があることを示しています。最新のカーネルに更新して、再試行してください。

すべてのマウスはおそらくHIDデバイス(標準化されたUSB入力プロトコル)です。カーネルの更新が機能しない場合、次のステップはHID記述子をチェックすることです(コメントを参照 ここ それを行う方法については)それが正しいかどうかを確認しますが、それは非常に始まりますテクニカル。

0
dirkt