使用 ThinkPad 中键滚动/避免粘贴

使用 ThinkPad 中键滚动/避免粘贴

我有一个 ThinkPad USB 键盘,我希望能够使用中键单击来粘贴和滚动。

这适用于我的 ThinkPad 笔记本电脑。在笔记本电脑上,如果按住中键按钮的时间足够短,那么当释放它时,它会被解释为“粘贴。” 当保持时间较长时,它被解释为“滚动”。

问题是,使用 USB 键盘时,按下中间按钮时会做出粘贴决定按下,不是当它是释放,所以如果我尝试通过中键单击滚动,它将首先粘贴,然后在我按住它时滚动(尽管有趣的是,如果我已经移动光标,则不会发生这种粘贴,这是我当前的解决方法)。

有没有办法告诉 X11 在释放中间按钮时粘贴而不是按下(根据按住的时间决定滚动而不是粘贴)?

答案1

尝试使用以下命令启用滚动模拟,该命令在多种型号的指点杆键盘上运行良好:

dev="TPPS/2 IBM TrackPoint"
xinput --set-int-prop "$dev" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput --set-int-prop "$dev" "Evdev Wheel Emulation Button" 8 2
xinput --set-int-prop "$dev" "Evdev Wheel Emulation" 8 1

如果您不喜欢这样,可以使用以下命令撤消它

xinput --set-int-prop "$dev" "Evdev Wheel Emulation" 8 0

您可能需要根据您的键盘型号调整开发。跑步

xinput --list | grep TrackPoint

查看您的指点设备的名称。

答案2

这对我来说很有效/etc/X11/xorg.conf.d/20-thinkpad.conf

Section "InputClass"
    Identifier  "Trackpoint Wheel Emulation"
    MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"
    MatchDevicePath "/dev/input/event*"
    Option      "EmulateWheel"      "true"
    Option      "EmulateWheelButton"    "2"
    Option      "Emulate3Buttons"   "false"
    Option      "XAxisMapping"      "6 7"
    Option      "YAxisMapping"      "4 5"
EndSection

重要的部分是MatchProduct条目,其中还包括 USB 键盘。您可以/var/log/Xorg.0.log通过 grep for找到键盘产品字符串(II) evdev:

答案3

我的新 Lenovo ThinkPad Trackpoint Keyboard II 也遇到了类似的问题。

对我有用的是更新到内核 5.19 并加载内核hid-lenovo模块。支持 Lenovo ThinkPad Trackpoint 键盘 II仅登陆内核 5.19

现在,单击中间按钮时不需要的粘贴消失了,我什至可以使用 TrackPoint 水平滚动! \o/

相关内容