安装Ubuntu 18.10之后,我的触控板正在做这件有趣的事情,我可以轻轻点击轨道垫,并注册为单个鼠标单击(并且可与双击一起使用)。
触控板还具有按下直到物理点击的功能。此功能有时不工作,有时不工作,这也意味着右键单击不起作用,因为右键单击只能在触控板右下角区域按下并点击才能工作。
有人知道这是否是软件问题吗?
还值得注意的是,双指滚动功能正在发挥作用。
更新1:因此,在我的18.10进行了几次更新后,安装触摸板停止使用敲击,因此触控板只会滚动和移动,但我根本无法单击。
在网上搜索后,发现许多人都遇到过电池膨胀导致触控板出现问题的问题。我检查了一下,我的电池没有膨胀的迹象,为了保险起见,我取下了电池,看看这是否会有什么变化,但结果并没有。
最后的测试是查看点击 BIOS 设置是否有效,结果是有效的,所以我确信这是 Ubuntu 的问题。我只是不知道要更改什么才能让它正常工作。
更新 2:更多挖掘更多猜测。以下是 xinput 的输出:
╰─$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ xwayland-pointer:15 id=6 [slave pointer (2)]
⎜ ↳ xwayland-relative-pointer:15 id=7 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ xwayland-keyboard:15 id=8 [slave keyboard (3)]
这是它可以看到的输入设备列表,我现在想知道 Wayland 是否是导致我出现问题的原因。但在 GDM 上切换到 xorg 意味着我的触控板和鼠标不再工作,所以目前看来我陷入了进退两难的境地。
更新 3:安装sudo apt-get install xserver-xorg-input-all
意味着我的鼠标可以在 xorg 上恢复运行,但触控板仍然无法运行,但 xinput 列表已经改变
╰─$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Performance MX id=10 [slave pointer (2)]
⎜ ↳ DLL0704:01 06CB:76AE Touchpad id=12 [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_Webcam_HD: Integrate id=11 [slave keyboard (3)]
↳ Intel HID events id=13 [slave keyboard (3)]
↳ Dell WMI hotkeys id=14 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
专门查看鼠标:
╰─$ xinput list-props 12
Device 'DLL0704:01 06CB:76AE Touchpad':
Device Enabled (147): 1
Coordinate Transformation Matrix (149): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (280): 1
Device Accel Constant Deceleration (281): 2.500000
Device Accel Adaptive Deceleration (282): 1.000000
Device Accel Velocity Scaling (283): 12.500000
Synaptics Edges (302): 48, 1168, 36, 644
Synaptics Finger (303): 25, 30, 0
Synaptics Tap Time (304): 0
Synaptics Tap Move (305): 61
Synaptics Tap Durations (306): 180, 180, 100
Synaptics ClickPad (307): 1
Synaptics Middle Button Timeout (308): 0
Synaptics Two-Finger Pressure (309): 282
Synaptics Two-Finger Width (310): 7
Synaptics Scrolling Distance (311): 27, 27
Synaptics Edge Scrolling (312): 0, 0, 0
Synaptics Two-Finger Scrolling (313): 1, 1
Synaptics Move Speed (314): 1.000000, 1.750000, 0.143575, 0.000000
Synaptics Off (315): 0
Synaptics Locked Drags (316): 0
Synaptics Locked Drags Timeout (317): 5000
Synaptics Tap Action (318): 0, 0, 0, 0, 1, 3, 2
Synaptics Click Action (319): 1, 3, 2
Synaptics Circular Scrolling (320): 0
Synaptics Circular Scrolling Distance (321): 0.100000
Synaptics Circular Scrolling Trigger (322): 0
Synaptics Circular Pad (323): 0
Synaptics Palm Detection (324): 0
Synaptics Palm Dimensions (325): 10, 200
Synaptics Coasting Speed (326): 20.000000, 50.000000
Synaptics Pressure Motion (327): 30, 160
Synaptics Pressure Motion Factor (328): 1.000000, 1.000000
Synaptics Resolution Detect (329): 1
Synaptics Grab Event Device (330): 0
Synaptics Gestures (331): 1
Synaptics Capabilities (332): 1, 0, 0, 1, 1, 0, 0
Synaptics Pad Resolution (333): 12, 12
Synaptics Area (334): 0, 0, 0, 0
Synaptics Soft Button Areas (335): 0, 0, 0, 0, 0, 0, 0, 0
Synaptics Noise Cancellation (336): 6, 6
Device Product ID (273): 1739, 30382
Device Node (272): "/dev/input/event5"
更新 5:这是切换到 libinput 后的输出
╰─$ xinput list-props 12
Device 'DLL0704:01 06CB:76AE Touchpad':
Device Enabled (147): 1
Coordinate Transformation Matrix (149): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (302): 0
libinput Tapping Enabled Default (303): 0
libinput Tapping Drag Enabled (304): 1
libinput Tapping Drag Enabled Default (305): 1
libinput Tapping Drag Lock Enabled (306): 0
libinput Tapping Drag Lock Enabled Default (307): 0
libinput Tapping Button Mapping Enabled (308): 1, 0
libinput Tapping Button Mapping Default (309): 1, 0
libinput Natural Scrolling Enabled (284): 0
libinput Natural Scrolling Enabled Default (285): 0
libinput Disable While Typing Enabled (310): 0
libinput Disable While Typing Enabled Default (311): 1
libinput Scroll Methods Available (286): 1, 1, 0
libinput Scroll Method Enabled (287): 1, 0, 0
libinput Scroll Method Enabled Default (288): 1, 0, 0
libinput Click Methods Available (312): 1, 1
libinput Click Method Enabled (313): 1, 0
libinput Click Method Enabled Default (314): 1, 0
libinput Middle Emulation Enabled (291): 0
libinput Middle Emulation Enabled Default (292): 0
libinput Accel Speed (293): 0.000000
libinput Accel Speed Default (294): 0.000000
libinput Left Handed Enabled (298): 0
libinput Left Handed Enabled Default (299): 0
libinput Send Events Modes Available (269): 1, 1
libinput Send Events Mode Enabled (270): 0, 0
libinput Send Events Mode Enabled Default (271): 0, 0
Device Node (272): "/dev/input/event5"
Device Product ID (273): 1739, 30382
libinput Drag Lock Buttons (300): <no items>
libinput Horizontal Scroll Enabled (301): 1
谢谢,马特
答案1
在 Xorg 上,您已激活 synaptics 驱动程序,而现在,使用 libinput 会更好。为此,请删除该软件包xserver-org-input-synaptics
并确保xserver-org-input-libinput
已安装。您会注意到,这还会增加“设置 - 鼠标和触摸板”中的触摸板配置选项。运行 Wayland 时,您可能已经在使用 libinput。
答案2
这是 @Vanadium答案的扩展版本。
1. 启动 xorg 而不是 wayland
当您登录时,寻找齿轮或选项以将您的窗口管理器更改为 Xorg。
2. 检查触摸板使用了哪个库
要检查您是否正在使用Libinput进行触控板,请执行以下操作:
- 运行
xinput --list
以获取设备列表并找到您的触控板。
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Performance MX id=10 [slave pointer (2)]
⎜ ↳ DLL0704:01 06CB:76AE Touchpad id=12 [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_Webcam_HD: Integrate id=11 [slave keyboard (3)]
↳ Intel HID events id=13 [slave keyboard (3)]
↳ Dell WMI hotkeys id=14 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
- 在上面的例子中,触控板的 id 为
12
。通过运行以下命令,您可以查看触控板正在使用的库:xinput list-props <touchpad ID>
$ xinput list-props 12
Device 'DLL0704:01 06CB:76AE Touchpad':
Device Enabled (147): 1
Coordinate Transformation Matrix (149): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (302): 0
libinput Tapping Enabled Default (303): 0
libinput Tapping Drag Enabled (304): 1
libinput Tapping Drag Enabled Default (305): 1
libinput Tapping Drag Lock Enabled (306): 0
libinput Tapping Drag Lock Enabled Default (307): 0
libinput Tapping Button Mapping Enabled (308): 1, 0
libinput Tapping Button Mapping Default (309): 1, 0
libinput Natural Scrolling Enabled (284): 0
libinput Natural Scrolling Enabled Default (285): 0
libinput Disable While Typing Enabled (310): 0
libinput Disable While Typing Enabled Default (311): 1
libinput Scroll Methods Available (286): 1, 1, 0
libinput Scroll Method Enabled (287): 1, 0, 0
libinput Scroll Method Enabled Default (288): 1, 0, 0
libinput Click Methods Available (312): 1, 1
libinput Click Method Enabled (313): 1, 0
libinput Click Method Enabled Default (314): 1, 0
libinput Middle Emulation Enabled (291): 0
libinput Middle Emulation Enabled Default (292): 0
libinput Accel Speed (293): 0.000000
libinput Accel Speed Default (294): 0.000000
libinput Left Handed Enabled (298): 0
libinput Left Handed Enabled Default (299): 0
libinput Send Events Modes Available (269): 1, 1
libinput Send Events Mode Enabled (270): 0, 0
libinput Send Events Mode Enabled Default (271): 0, 0
Device Node (272): "/dev/input/event5"
Device Product ID (273): 1739, 30382
libinput Drag Lock Buttons (300): <no items>
libinput Horizontal Scroll Enabled (301): 1
如果大多数行是从开始的,libinput
那么您可以跳到“我正在使用libinput”部分,否则请检查“安装libinput”部分
3.安装libinput
xserver-xorg-input-libinput
使用此命令安装:
sudo apt-get install xserver-org-input-libinput
您可能还需要删除之前使用的任何库,就我而言,触摸板使用的是 synaptics,因此我必须运行:
sudo apt-get remove xserver-xorg-input-synaptics
。
4. 我正在使用 libinput
安装了LibInput后,转到设置>“设备”>“鼠标”和“触控板”,然后启用“点击键”(为什么首先没有启用此功能是超出我的)。
答案3
这对 Dell XPS 15 9500 来说很有用,其中 12 是我的触摸板 ID
xinput --set-prop 12 "libinput Tapping Enabled" 1