X Window系统下罗技Trackman轨迹球双按钮映射为滚动触发键的配置问题
X Window系统下罗技Trackman轨迹球双按钮映射为滚动触发键的配置问题
我在X Window系统上使用罗技Trackman轨迹球,它默认的按钮布局里,左侧有两个小按钮对应8号和9号键。我想要实现的是:按住这两个按钮中的任意一个,上下拨动轨迹球时,页面能像用鼠标滚轮一样滚动。
我尝试了下面的Xorg配置,几乎达到了效果:
Section "InputClass" Identifier "Logitech USB Trackball" MatchProduct "Logitech USB Trackball" Driver "libinput" Option "ButtonMapping" "1 2 3 4 5 6 7 9 9" Option "Scrollmethod" "button" Option "ScrollButton" "9" EndSection
用xev验证后,确实两个小按钮都会被识别成9号键,但奇怪的是,ScrollButton并没有正确响应这个映射——按住这两个按钮拨动轨迹球时,还是没法正常触发滚动。
解决办法
因为libinput的ScrollButton选项只支持绑定单个按钮,而且它是基于物理按钮而非逻辑映射的,所以我们可以借助xbindkeys和xdotool来实现双按钮触发滚动的效果:
- 先安装所需工具(以Debian/Ubuntu系为例):
sudo apt update && sudo apt install xbindkeys xdotool
- 创建
~/.xbindkeysrc配置文件,添加以下内容:
# 按住8号按钮时,模拟按住9号按钮 "xdotool mousedown 9" b:8 + release # 松开8号按钮时,模拟松开9号按钮 "xdotool mouseup 9" b:8
保持你原来的Xorg配置不变(或者把ButtonMapping改回默认的
1 2 3 4 5 6 7 8 9也可以,因为我们用工具来模拟按钮行为)。启动xbindkeys:
xbindkeys
如果想要开机自动启动,可以把xbindkeys添加到你的桌面环境自启动列表里。
这样设置后,不管按住8号还是9号按钮,都能触发轨迹球的滚动功能了。
备注:内容来源于stack exchange,提问作者Duncan Bayne
相关产品推荐
相关产品推荐

