触摸板手势和按住键不起作用

Mac*_*cio 3 touchpad keyboard 16.04

我面临着非常奇怪的问题,我找不到解决方案。有一次触摸板手势停止与键盘按键一起工作。触摸板正在移动光标,但仅此而已。当我按住键盘键时,它们只出现一次,尽管在我的设置中它被设置为重复键。

$ uname -r
4.13.0-26-generic
Run Code Online (Sandbox Code Playgroud)

Win*_*nix 13

许多人报告了内核 4.13.0-26 的问题

2018 年 1 月 11 日左右,许多 Ubuntu 用户开始报告内核 4.13.0-26 自动更新的问题:

这些是过去几天报告的问题。并非所有这些问题都经过验证是由内核 4.13.0-26 引起的。

2018 年 1 月 27 日更新:检查您的英特尔微码

用于解决推测执行分支安全漏洞的英特尔微代码更新 2018-01-08破坏了一些系统。从 1 月 8 日到 1 月 21 日,这影响了许多 Ubuntu 系统。2018 年 1 月 22 日,Ubuntu 发布了一个更新,该更新从 2​​017 年 7 月 7 日起放回了较旧的微码。

如果您在 2018-01-08 和 2018-01-22 之间遇到更新问题、重新安装 Ubuntu 并关闭更新,您可能需要再次尝试 Ubuntu 自动更新。查看上一段中的链接以获取更多信息。

如何找出您的内核版本

打开使用终端Ctrl+ Alt+ T。然后输入:

uname -r
Run Code Online (Sandbox Code Playgroud)

由于终端已经打开,请使用以下命令获取您的 Ubuntu 版本:

lsb_release -a
Run Code Online (Sandbox Code Playgroud)

要关闭终端使用:

exit
Run Code Online (Sandbox Code Playgroud)

使用旧内核最简单的解决方案启动

当您在 Grub 菜单中启动计算机时,选择高级选项,然后选择较旧的内核以查看问题是否消失。如果是这样,请继续定期更新到较新的内核,因为它们在 Ubuntu LTS 中提供,并检查它们直到一个工作正常。确保您不运行sudo apt auto-remove这可能会使您的旧内核消失。


修复 Kernel 4.13 中的键盘重复问题

随着 2018 年 1 月 11 日左右的内核 4.13.0-26 Ubuntu LTS 更新的引入,以及2017 年 9 月的旧错误重新浮出水面。开发人员建议尝试 Kernel 4.14(在下一个会话中描述),但更快的修复似乎是禁用PEAQ WMI Hotkeys

验证 PEAQ WMI 热键已加载

正如在Unix & Linux 中讨论的,第一步是确保它被加载:

$ xinput list
? Virtual core pointer                              id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                    id=4    [slave  pointer  (2)]
?   ? Dell Dell KM632 Wireless Keyboard and Mouse   id=11   [slave  pointer  (2)]
?   ? Dell Dell KM632 Wireless Keyboard and Mouse   id=12   [slave  pointer  (2)]
?   ? SynPS/2 Synaptics TouchPad                    id=16   [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)]
    ? Video Bus                                     id=8    [slave  keyboard (3)]
    ? Sleep Button                                  id=9    [slave  keyboard (3)]
    ? Dell Dell KM632 Wireless Keyboard and Mouse   id=10   [slave  keyboard (3)]
    ? Lenovo EasyCamera: Lenovo EasyC               id=13   [slave  keyboard (3)]
    ? Ideapad extra buttons                         id=14   [slave  keyboard (3)]
    ? AT Translated Set 2 keyboard                  id=15   [slave  keyboard (3)]
    ? Dell Dell KM632 Wireless Keyboard and Mouse   id=18   [slave  keyboard (3)]
    ? PEAQ WMI hotkeys                              id=17   [slave  keyboard (3)]
Run Code Online (Sandbox Code Playgroud)

注意上面的最后一行

如果您加载了它,您可以使用xinput命令禁用它,但我们将使用上面错误报告中的解决建议:

为当前会话禁用 PEAQ WMI 热键

sudo rmmod peaq_wmi
Run Code Online (Sandbox Code Playgroud)

永久禁用 PEAQ WMI 热键

使用您最喜欢的 sudo 编辑器,编辑/etc/modprobe.d/blacklist.conf. 在文件末尾插入两行:

#spams ^@
blacklist peaq_wmi
Run Code Online (Sandbox Code Playgroud)

保存文件并退出。


在内核 4.13 中修复 Synaptics 触摸板

临时修复

根据这个Debian 错误报告,短期修复是使用:

sudo rmmod psmouse
sudo modprobe psmouse
Run Code Online (Sandbox Code Playgroud)

在终端中试试这个,然后测试你的触摸板。

永久修复

如果临时修复有效,则/etc/rc.local使用 sudo 权限编辑文件。添加以下几行:

/sbin/rmmod psmouse
/sbin/modprobe psmouse
Run Code Online (Sandbox Code Playgroud)

从现在开始,当您重新启动时,修复将是永久性的。

请注意,从挂起恢复时尚未对此进行测试。如果您在该部门有任何问题,请在下面发表评论。


安装最新的主线/稳定内核 4.14.xx

已经确认 4.14.13 为内核 4.13.0-26 的用户改进了触摸板和键盘。然而,截至 2018 年 1 月 20 日,4.14.14 现在是最新的内核,它包括 Spectre 支持,但运行速度慢了 2%。

20181 月 23 日- 内核 4.14.15 发布。 20181 月 31 日- 内核 4.14.16 发布。

在上面的错误报告中,开发人员建议尝试最新的主线(稳定)内核。在某些情况下,OP 想要使用更高的内核数而不是更低的内核数。本节重点介绍如何升级到最新的主线(稳定)内核。

有一些实例可以追溯到 2017 年 8 月,其中触摸板不起作用,这与内核 4.13.0-26 自动 Ubuntu LTS 升级无关,但答案之一仍然需要内核 4.14:在带有 Kubuntu 17.04 的 Lenovo Ideapad 320 上未检测到触摸板.

2018 年 1 月 10 日,最新的稳定主线内核是4.14.13. 如果您选择手动安装它,您应该知道:

  • 旧的 LTS 内核不会更新,直到它们大于标题为Ubuntu的主菜单第一个选项。
  • 手动安装的内核不会使用通常的sudo apt auto-remove命令删除。你需要遵循这个:如何删除旧的内核版本来清理启动菜单?
  • 监视旧内核的开发情况,以了解您何时想要恢复常规 LTS 内核更新方法。然后删除手动安装的主线内核,如上一个要点链接中所述。
  • 手动删除最新的主线内核运行sudo update-grub后,Ubuntu 的最新 LTS 内核将成为Grub 主菜单上名为Ubuntu的第一个选项。

现在警告已经消除,要安装最新的主线内核 ( 4.14.13 ),请点击此链接:如何在没有任何发行版升级的情况下将内核更新到最新的主线版本?

主线内核 4.14.13.png

定期观看您错过的 LTS 内核更新

如果您已更新到最新内核,请务必使用以下命令查看您错过的旧内核:

$ apt-cache search . | grep 'image-4.13.0-..-generic'
linux-image-4.13.0-16-generic - Linux kernel image for version 4.13.0 on 64 bit x86 SMP
(... SNIP ....)
linux-image-4.13.0-26-generic - Linux kernel image for version 4.13.0 on 64 bit x86 SMP
linux-image-4.13.0-31-generic - Linux kernel image for version 4.13.0 on 64 bit x86 SMP
linux-image-4.13.0-32-generic - Linux kernel image for version 4.13.0 on 64 bit x86 SMP
(... SNIP ....)
Run Code Online (Sandbox Code Playgroud)

当您看到 Ubuntu Kernel Team 提供的更新支持的内核时,您应该安装它并进行测试。例如,查看要安装的内容4.13.0-32

$ apt-cache search . | grep '4.13.0-32-generic'
linux-cloud-tools-4.13.0-32-generic - Linux kernel version specific cloud tools for version 4.13.0-32
linux-headers-4.13.0-32-generic - Linux kernel headers for version 4.13.0 on 64 bit x86 SMP
linux-image-4.13.0-32-generic - Linux kernel image for version 4.13.0 on 64 bit x86 SMP
linux-image-extra-4.13.0-32-generic - Linux kernel extra modules for version 4.13.0 on 64 bit x86 SMP
linux-signed-image-4.13.0-32-generic - Signed kernel image generic
linux-tools-4.13.0-32-generic - Linux kernel version specific tools for version 4.13.0-32
Run Code Online (Sandbox Code Playgroud)

大多数用户不需要所有这些软件包。通常只是headers, image,image-extrasigned-image