如何配置Elecom Huge轨迹球随球滚动?

如何配置Elecom Huge轨迹球随球滚动?

轨迹球最酷的事情之一是,按下用户定义的按钮后,球可以用于 2D 滚动。我有一个 Elecom Huge 轨迹球并想对其进行配置xinput(这样我就不需要重新加载 Xorg)。我想使用该Forward按钮并重新映射它,以便按下该按钮时可以使用该球进行滚动。如果没有发生滚动,我还希望该按钮充当中间按钮。

答案1

使用时xinput list可以通过名称轻松识别 Elecom 设备。在本例中,名称字符串是ELECOM TrackBall Mouse HUGE TrackBall。由于 Elecom 设备同时报告为指针和键盘,pointer:因此需要附加前缀。

接下来,需要识别相关按钮的按钮 ID。使用xev它很容易看出按钮(与和Forward相邻的按钮)具有 ID 。剩下要做的就是启用滚动方法并选择滚动按钮。以下两行可以实现这一点:Fn1Fn29

xinput set-prop "pointer:ELECOM TrackBall Mouse HUGE TrackBall" 'libinput Button Scrolling Button' 9
xinput set-prop "pointer:ELECOM TrackBall Mouse HUGE TrackBall" 'libinput Scroll Method Enabled' 0 0 1

此时,我们已根据需要配置了滚动,但该按钮尚未用作中间按钮。为了修改此行为,我们重新映射按钮,以便按钮9报告为2(中):

xinput set-button-map $(xinput list --id-only "pointer:ELECOM TrackBall Mouse HUGE TrackBall") \
1 2 3 4 5 6 7 8 2 10 11 12

为了使这些设置永久有效,可以将上述行放置~/.xinitrc在 Xorg 会话开始时运行。

答案2

@wojciech-gac 的回答是这个问题的正确答案。

为了完整起见,我想为那些寻求相同功能但更愿意在 Xorg 服务器中配置它的人分享等效的配置。

.conf在其中之一创建一个文件Xorg 配置路径。例如:

/etc/X11/xorg.conf.d/99-elecom-huge-scroll.conf

并将这些内容放入其中:

Section "InputClass"
    Identifier   "Elecom HUGE scroll config"
    MatchDriver  "libinput"
    MatchVendor  "ELECOM"
    MatchProduct "HUGE TrackBall"
    Option       "ScrollMethod" "button"
    Option       "ScrollButton" "9"
    Option       "ButtonMapping" "1 2 3 4 5 6 7 8 2 10 11 12"
EndSection

相关内容