Ubuntu 22.04下如何配置轨迹球的滚动按钮与中键模拟?
Ubuntu 22.04下如何配置轨迹球的滚动按钮与中键模拟?
兄弟我太懂你这种升级后外设配置直接失效的崩溃感了——用惯了的轨迹球突然不能滚、不能模拟中键,改xorg.conf还差点搞炸X,简直闹心!别慌,Ubuntu 22.04改用libinput作为默认输入驱动了,老的xorg.conf配置逻辑已经不适用,咱们换个正确的姿势来搞定:
第一步:先把搞坏的X环境救回来(如果之前改崩了)
如果之前乱改xorg.conf导致X启动失败,先按Ctrl+Alt+F3进入TTY命令行,然后:
- 先备份当前可能有问题的配置:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak - 直接重命名禁用它:
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.old - 然后重启系统:
sudo reboot,这样就能回到正常桌面了。
第二步:找到你的轨迹球设备信息
打开终端,先确认设备的名称或ID:
xinput list
在输出里找到类似Logitech TrackMan Marble的条目,记下来它的完整名称(比如可能是Logitech USB Trackball,以实际输出为准)。
然后查看这个设备的libinput属性,确认关键配置项:
xinput list-props "Logitech TrackMan Marble"
你会看到libinput Middle Emulation Enabled(中键模拟)和libinput Button Scrolling Button(滚动触发按钮)这两个核心属性。
第三步:临时测试配置(先验证再永久化)
先别直接写配置文件,先临时设置看看效果:
- 开启中键模拟:
xinput set-prop "Logitech TrackMan Marble" "libinput Middle Emulation Enabled" 1
现在试试同时按左右键,应该能触发中键功能了(比如粘贴、打开新标签页)。
- 设置滚动触发按钮:
首先得确定你想用来滚动的按钮编号——运行xev命令,会弹出一个小窗口,用鼠标点击轨迹球上你想设为滚动的按钮,看终端输出里的button X(比如button 8),这个X就是按钮编号。
然后把编号代入命令:
xinput set-prop "Logitech TrackMan Marble" "libinput Button Scrolling Button" 8
现在按住这个按钮,移动轨迹球,应该就能滚动页面了!
第四步:把配置永久化(重启后不失效)
临时设置生效后,咱们把配置写到Xorg的conf.d目录里,确保每次启动都会加载:
- 创建配置文件:
sudo nano /etc/X11/xorg.conf.d/90-trackman-marble.conf
- 粘贴以下内容(注意把
ButtonScrollButton的值换成你刚才找到的按钮号,设备名称要和xinput输出里的一致):
Section "InputClass" Identifier "Logitech TrackMan Marble Custom Config" MatchProduct "Logitech TrackMan Marble" Driver "libinput" Option "MiddleEmulation" "on" Option "ButtonScrollButton" "8" # 替换成你的滚动按钮编号 EndSection
- 按
Ctrl+O保存,Ctrl+X退出编辑器,然后重启系统或者重启X服务(sudo systemctl restart display-manager)。
额外注意事项
- 如果之前的xorg.conf里有针对这个轨迹球的旧配置,一定要彻底删除或者禁用,避免和新的libinput配置冲突。
- 要是你的轨迹球型号名称有点不一样(比如带USB后缀),记得在
MatchProduct里写准确的名称,不然配置不会生效。
备注:内容来源于stack exchange,提问作者Didi Kohen




