因此,我正在使用轨迹球,并且已将其配置为轨迹球滚动。我现在想做的是重新映射原始滚轮以用于某些不同的功能。问题是,当重新映射它们时,轨迹球滚动也会重新映射到我映射按钮的任何功能。
根据我的理解,这种情况不应该发生,它应该发送关键事件 4 5 6 7,无论那些原始按钮做了什么。就像重新映射时普通鼠标按钮一样。
到目前为止,我尝试的是将其他按钮重新映射到滚轮的原始功能,例如按钮 12 现在用于滚动并重新映射到 5,然后将轨迹球滚动功能映射到该按钮,但这也没有'不工作。我为此使用了 evdev,因为我找不到任何有关如何使用 libinput 重新映射轨迹球滚动轴的信息。
我尝试过的配置:
Section "InputClass"
Identifier "ELECOM TrackBall Mouse HUGE TrackBall"
MatchProduct "ELECOM TrackBall Mouse HUGE TrackBall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "SendCoreEvents" "true"
Option "Buttons" "12"
Option "ButtonMapping" "1 10 3 11 12 0 0 0 4 5 6 7"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "3"
Option "YAxisMapping" "9 10"
Option "XAxisMapping" "11 12"
EndSection
我希望我的配置如下:
Section "InputClass"
Identifier "ELECOM TrackBall Mouse HUGE TrackBall"
MatchProduct "ELECOM TrackBall Mouse HUGE TrackBall"
Driver "libinput"
Option "ButtonMapping" "1 12 3 14 15 9 8 18 19 10 11 2"
Option "Scrollmethod" "button"
Option "ScrollButton" "2"
EndSection
按钮应像以前映射的那样工作,但轨迹球的滚动功能应始终发送用于滚动的键 4、5、6 和 7,无论最初具有该功能的键映射到什么。
也许有一个我错过的设置或其他我忘记的东西,但经过几个小时的尝试后我找不到任何与此相关的信息。
对于正确来源的任何帮助或提示将不胜感激。