我几乎有同样的问题如何在不禁用“点击单击”的情况下禁用 Ubuntu 18.04(libinput)中的“点击拖动”功能?,但我没有足够的声誉来评论它。
就像在那里,我想禁用在 Ubuntu 18.04 中不单击的情况下使用触摸板拖放或标记文本的可能性。
就像在几乎相同的问题和帖子中提出的那样(https://askubuntu.com/a/935662/865596)我尝试在 /usr/share/X11/xorg.conf.d/40-libinput.conf 中设置一个选项:
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "TappingDrag" "false"
EndSection
重启后点击拖动仍然存在 :(
到目前为止,我的问题是重复的,但现在我开始对同一个问题提出问题:
在 libinput 的手册页上https://www.mankier.com/4/libinput这个已经写完了:
建议通过 InputClass 指令(参考 xorg.conf(5))配置 libinput 设备,而不是手动进行每个设备的配置。
这是什么意思?我该怎么做?我甚至在 Ubuntu 18.04 上找不到 xorg.conf 文件(我对 Ubuntu 完全陌生)
我听说 xorg.conf 的优先级比 .../xorg.conf.d/... 文件高。也许这就是问题的根源?
另一个潜在的问题来源:我的 .../xorg.conf.d/ 文件夹中有一个名为 70-wacom.conf 的文件。由于 70 高于 40,因此这也可能是一个问题,因为此文件中还有一个 Touchpad 部分,但此文件中没有说明任何特定选项。这仍然是问题的根源吗?在相应的手册页中http://manpages.ubuntu.com/manpages/bionic/man4/wacom.4.html我发现:
左键单击拖动:点击选择,快速(在 TapTime 周期内)再次触摸选择。然后拖动。可在触摸板上使用,例如 BambooPT,而不是触摸屏。
我认为这也描述了我想要禁用的现象。但我不知道 wacom.config 文件的语法。我不明白哪个驱动程序负责我的 Thinkpad x380 的触摸板,
答案https://askubuntu.com/a/1035508/865596对我来说,几乎相同的问题暂时有效:当我使用
xinput set-prop 'ETPS/2 Elantech Touchpad' 'libinput Tapping Drag Enabled' 0
直到我重新启动 Thinkpad,点击拖动功能才会启用。
在这个解决方案中他建议:
我永久设置它的方法是将其放入登录时运行的脚本中。
但我怀疑这是否是一个非常优雅的解决方案,而且我不知道如何做到这一点。
我不知道“Xorg”和“Wayland”是什么意思。
我很高兴了解这里发生了什么(例如为什么编辑配置文件没有帮助以及所有这些驱动程序如何相互作用)和/或一个易于使用的解决方案来解决我的问题以停用点击拖动。
编辑:根据评论中的要求pm-b,我添加了以下输出:
jakob@jakobThinkPadX380Yoga:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Wacom Pen and multitouch sensor Finger touch id=10 [slave pointer (2)]
⎜ ↳ Wacom Pen and multitouch sensor Pen stylus id=11 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=14 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech TrackPoint id=15 [slave pointer (2)]
⎜ ↳ Wacom Pen and multitouch sensor Pen eraser id=17 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=16 [slave keyboard (3)]
jakob@jakobThinkPadX380Yoga:~$ xinput list-props 14
Device 'ETPS/2 Elantech Touchpad':
Device Enabled (142): 1
Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (307): 1
libinput Tapping Enabled Default (308): 0
libinput Tapping Drag Enabled (309): 1
libinput Tapping Drag Enabled Default (310): 1
libinput Tapping Drag Lock Enabled (311): 0
libinput Tapping Drag Lock Enabled Default (312): 0
libinput Tapping Button Mapping Enabled (313): 1, 0
libinput Tapping Button Mapping Default (314): 1, 0
libinput Natural Scrolling Enabled (315): 1
libinput Natural Scrolling Enabled Default (316): 0
libinput Disable While Typing Enabled (317): 1
libinput Disable While Typing Enabled Default (318): 1
libinput Scroll Methods Available (319): 1, 1, 0
libinput Scroll Method Enabled (320): 1, 0, 0
libinput Scroll Method Enabled Default (321): 1, 0, 0
libinput Click Methods Available (322): 1, 1
libinput Click Method Enabled (323): 0, 1
libinput Click Method Enabled Default (324): 1, 0
libinput Middle Emulation Enabled (325): 0
libinput Middle Emulation Enabled Default (326): 0
libinput Accel Speed (327): 0.000000
libinput Accel Speed Default (328): 0.000000
libinput Left Handed Enabled (329): 0
libinput Left Handed Enabled Default (330): 0
libinput Send Events Modes Available (264): 1, 1
libinput Send Events Mode Enabled (265): 0, 0
libinput Send Events Mode Enabled Default (266): 0, 0
Device Node (267): "/dev/input/event6"
Device Product ID (268): 2, 14
libinput Drag Lock Buttons (331): <no items>
libinput Horizontal Scroll Enabled (332): 1
jakob@jakobThinkPadX380Yoga:~$ echo $XDG_SESSION_TYPE
x11