自动为 Linux 上的任何鼠标设备启用鼠标滚轮模拟

自动为 Linux 上的任何鼠标设备启用鼠标滚轮模拟

我希望有这样的行为:使用任何鼠标设备,我都可以按住中间键(或真正的滚轮)并向前、向后或从左向右移动以模拟滚轮行为。

我暂时找到了一种方法来做到这一点:

MouseID=`xinput list " USB OPTICAL MOUSE" 2>/dev/null|grep id=|sed -e "s/.*id=\([0-9]*\).*/\1/"`
xinput set-int-prop $MouseID "Evdev Wheel Emulation" 8 1 2>/dev/null
xinput set-int-prop $MouseID "Evdev Wheel Emulation Button" 8 2 2>/dev/null
xinput set-int-prop $MouseID "Evdev Wheel Emulation Axes" 8 6 7 4 5 2>/dev/null

但是对于我的每一个鼠标,我都必须复制并粘贴上面的代码,并更改第一行以适合其名称,如果我拔出并再次插入鼠标,我必须再次运行脚本以启用模拟。

有没有更好的方法来处理这个问题,即每次插入鼠标设备时都使用完全正确的设备 ID 运行脚本?

非常感谢。

答案1

谢谢帮助在 Archlinux 的论坛上,我找到了存档此内容的方法:

编辑/etc/X11/xorg.conf.d/10-evdev.conf并将第一部分更改为:

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option      "EmulateWheel"      "true"
        Option      "EmulateWheelButton"    "2"
        Option      "XAxisMapping"      "6 7"
        Option      "YAxisMapping"      "4 5"
EndSection

相关内容