Ubuntu 16.04では、これは3m ErgoMouseのevdevconfigで正常に機能し、「中央」ボタンを押したままにしてスクロールホイールをエミュレートしました。 Ubuntu18.04では機能しなくなりました。
/usr/share/X11/xorg.conf.d/42-middle-mouse-scrolling.conf -rw-r--r--1ルートルート395 2017年2月23日42-middle-mouse-scrolling.conf
Section "InputClass"
Identifier "Middle Mouse Button Scrolling"
Driver "evdev"
MatchProduct "Optical Mouse"
MatchDevicePath "/dev/input/event*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
それを追加した後、私は再起動しました。
Ubuntu 18.04では、これは機能しなくなりました。だから私はより多くの情報を見つけるためにこれを試しました:
xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Forward USB Optical Mouse id=10 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Chicony USB2.0 Camera: Chicony id=11 [slave keyboard (3)]
↳ HID 05f3:0007 id=12 [slave keyboard (3)]
↳ HID 05f3:0007 id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
また、入力の名前は同じです。上記の構成MatchProductをフルネーム「ForwardUSBOpticalMouse」で試しました。
次に、Sudo evtest
を試してイベントを確認しました。
Event: time 1533888912.632951, -------------- SYN_REPORT ------------
(3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Forward USB Optical Mouse id=10 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave Event: time 1533888912.729025, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
そしてそこからもOption "EmulateWheelButton" "4"
に変更してみました。
Ubuntu16とUbuntu18がxorgでどのように機能するかを誰かが知っているか、私が間違ったことを見つけられることを願っています。
さて、私は今これを分類することができたので、この問題に遭遇した他の人のために。
xinput
は私のデバイスをリストしました:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse id=13 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
...
次に、そこから入力の小道具を見ることができました。
Device 'PixArt USB Optical Mouse':
Device Enabled (142): 1
Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Natural Scrolling Enabled (279): 0
libinput Natural Scrolling Enabled Default (280): 0
libinput Scroll Methods Available (281): 0, 0, 1
libinput Scroll Method Enabled (282): 0, 0, 1
...
これにより、evdevはもはやドライバーではなく、libinputがドライバーであることが明らかになりました。その時点で、私は https://www.systutorials.com/docs/linux/man/4-libinput/ にアクセスし、オプションを/usr/share/X11/xorg.conf.dに設定しました。 /42-middle-mouse-scrolling.confを次のように:
Section "InputClass"
Identifier "Middle Mouse Button Scrolling"
MatchProduct "PixArt USB Optical Mouse"
Option "MiddleEmulation" "on"
Option "ScrollMethod" "button"
Option "ScrollButton" "2"
EndSection
再起動後、3mのエルゴマウスのスクロールが再び機能します。