我希望有这样的行为:使用任何鼠标设备,我都可以按住中间键(或真正的滚轮)并向前、向后或从左向右移动以模拟滚轮行为。
我暂时找到了一种方法来做到这一点:
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