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


11

我有一个ThinkPad USB键盘,我希望能够同时使用鼠标中键进行粘贴和滚动。

这可以在我的ThinkPad笔记本电脑上使用。在笔记本电脑上,如果将中键单击保持足够短的时间,则在松开该按钮时将其解释为“ 粘贴”。按住更长的时间,它将被解释为“ 滚动”

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

有没有一种方法可以告诉X11在释放中键而不是按下时粘贴(决定滚动而不是粘贴的时间取决于它保持了多长时间)?


2
令人惊讶的是,根据使用的是哪种鼠标,X11的行为会有所不同。我建议使用xev监视ButtonPressButtonRelease事件,以查看笔记本电脑的按钮是否确实发送了您认为是的事件。它可能正在做一些自己的魔术,而是在按下和释放按钮时“说谎”到X11。顺便说一句,粘贴是在按下按钮2 时立即发生,而不是松开,这是正常现象。
Celada

1
我也很想知道如何执行此操作,因为我正在使用Lenovo Bluetooth Trackpoint键盘。
贾斯汀N

那USB键盘,那是什么确切型号?它是否具有“真实”触摸板或所谓的“点击板”(没有物理按钮)?另外,您使用什么发行版和桌面环境?是否有任何特殊的xorg配置(/etc/X11/xorg.conf和/etc/X11/xorg.conf.d/中)?您可能会在这里找到一些指针:askubuntu.com/questions/2557/thinkpad-middle-button-scrolling和点击板在这里:askubuntu.com/questions/380825/…–
doktor5000

1
有任何更新吗?我在使用外部Lenovo键盘时遇到同样的问题。
languitar,2015年

FWIW,我有两种型号的蓝牙轨迹点键盘,其中一种有此问题。xev显示ButtonPress单击后即ButtonRelease开始滚动时的for按钮2 。应该发生的是,直到通过移动轨迹点(在这种情况下都不会产生按下或释放)或释放按钮2(在这种情况下,两个事件都在释放时发送)消除了歧义之前,这些事件都不会生成。
stewSquared,

Answers:


1

这对我来说很好/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通过grepping 查找键盘产品字符串(II) evdev:


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

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

xinput --list | grep TrackPoint

看看您的指点设备叫什么。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.