Apple Magic Trackpad 2 支持点击和手势,但不能在 X 中移动鼠标,只能在 Wayland 中移动

Apple Magic Trackpad 2 支持点击和手势,但不能在 X 中移动鼠标,只能在 Wayland 中移动

我买了一个 Apple Magic Trackpad 2 并将其插入我的 Ubuntu 20.04 系统。单击、单击并拖动以及三指工作区切换等手势都可以使用,但实际上移动鼠标仅在 Wayland 中有效,而在 X 中无效。

答案1

啊哈,我想我已经找到解决办法了,因为我也遇到了同样的问题。我最初以为只是点击并拖动就可以了,但事实并非如此。慢慢地给我的手指施加更多的压力,直到它检测到点击,然后保持这种压力并移动我的手指,但鼠标没有移动。需要再施加一点压力。

经过一番绝望的谷歌搜索后,我发现了这篇 Reddit 帖子,它表明默认的手指压力水平可能不正确:https://www.reddit.com/r/Ubuntu/comments/ahgbdg/apple_magic_trackpad_2_configuration_on_kubuntu/

我尝试将其设置为与线程中相同的值并且它就开始工作了!

首先你需要 xinput 设备 ID

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
...
⎜   ↳ Apple Inc. Magic Trackpad 2               id=32   [slave  pointer  (2)]
...

这里我的触控板的 ID 是 32。

现在获取设备的属性来找到“Finger”ID

xinput list-props 32
Device 'Apple Inc. Magic Trackpad 2':
    Device Enabled (146):   1
    ...
    Synaptics Finger (330): 70, 75, 0
    ...

ID 是“Finger”后面括号里的位,我的是 330

现在您可以更改级别,我还不确定这些数字到底是什么意思,但 Reddit 上的数字对我来说很管用。确保根据需要更改两个 ID。

xinput set-prop 32 330 2, 2, 0

现在请注意,这只是一个临时解决方案,只要您拔下并重新插入 MT2,设置就会丢失。我还没有研究如何让它坚持下去,不过这看起来很有希望:https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Configuration

答案2

我找到了如何通过编辑 xorg.conf 文件来使这些设置永久生效的方法。

将此部分添加到您的 /etc/X11/xorg.conf 文件中:

Section "InputClass"
    Identifier "Apple Magic Trackpad"
    MatchIsTouchpad "on"
    MatchUSBID "05ac:0265"
    Driver        "synaptics"
    Option        "VertScrollDelta" "50"
    Option        "HorizScrollDelta" "50"
    Option        "MinSpeed"        "0.6"
    Option        "MaxSpeed"        "1.3"
    Option        "AccelFactor"     "0.08"
    Option        "VertResolution"  "1"
    Option        "HorizResolution" "3"
    Option        "TapButton1"      "1"
    Option "TapButton3" "2"
    Option "VertEdgeScroll" "on"
    Option "VertTwoFingerScroll" "on"
    Option "HorizEdgeScroll" "on"
    Option "HorizTwoFingerScroll" "on"
    Option "CircularScrolling" "on"
    Option "CircScrollTrigger" "2"
    Option "EmulateTwoFingerMinZ" "40"
    Option "EmulateTwoFingerMinW" "8"
    Option "CoastingSpeed" "0"
    Option "FingerLow" "2"
    Option "FingerHigh" "2"
    Option "MaxTapTime" "125"
EndSection

这两个选项可以像 xinput 一样发挥作用:

Option "FingerLow" "2"
Option "FingerHigh" "2"

使用你的设备 ID 更新 USB ID,通过“lsusb”获取

希望有所帮助。

问候。

答案3

根据Wayland 触控板上由 libinput 管理,X 上由 xinput 管理。尝试比较普通鼠标和触控板的设置。也许灵敏度设置为 0,或者触控板发出特定事件进行移动,而您必须将 xinputs 的移动事件绑定到它们。我也想买同样的触控板,希望我们能找到解决您问题的方法。

相关内容