我最近换到了 Ubuntu 18.04,从那时起,我的键盘输入就出现了很大的延迟,有时甚至要好几秒。我可以输入文字,但需要一段时间才能显示在屏幕上。
我之前使用过 Ubuntu 16.04,没有任何问题。
此错误在终端中发生,也在我的网络浏览器中发生。
知道我可以从哪里开始调试这个问题吗?
我发现,某些键触发此问题的可能性可能高于其他键。例如,当我打字时,cdcdcdcd
此问题出现得比较频繁。
另外,可能需要知道我使用了不同的键盘布局,我通过以下命令设置了该键盘布局:
setxkbmap de neo # (german neo layout) (so cd is rl on asdf)
尽管这对滞后没有影响。
显然,这个问题只发生在 GNOME/budgie 桌面上。
答案1
答案2
也许您可以尝试查看系统日志。我注意到我的系统上出现以下错误(多次):
xhci_hcd 0000:3a:00.0: xHCI host controller not responding, assume dead
这似乎是 USB3 的问题。我的笔记本电脑上的键盘和触摸板没有这个问题。我的 USB 连接鼠标也滞后。
当我使用系统上仍可用的旧版内核(如 17.10 中使用的内核版本 4.13.0-39-generic)加载 Ubuntu 18.04 时,我没有收到 XHCI 错误。此外,我的键盘和鼠标也不再滞后。
我能够通过我的设置中的 GRUB 菜单选择该内核。
评论 我还没有完全搞清楚。旧内核似乎运行得更好,但时不时会出现延迟。使用默认内核时,我可以提出一些意见:连续按键(只按住一个字母或字符)效果很好。它只是不断输出字母或字符,没有抖动。此外,只输入字母也没问题。我认为我的设置有问题的地方是特殊字符,例如(逗号、句号、冒号、分号等)。一旦将这些字符引入输入,它就会出错。最初我以为这可能是由死键引起的,但关闭这些死键也没什么区别。你能确认这种行为吗?此外,在我的设置中,慢速按键无法解决这个问题。
更新 今天早上我收到了一个更新,似乎解决了我网站上的键盘问题。来自我的更新日志:命令行:
$ aptdaemon role='role-commit-packages' sender=':1.147'
Upgrade: intel-microcode:amd64 (3.20180312.0~ubuntu18.04.13.20180425.1~ubuntu0.18.04.1)
这是目前为止我获得的唯一 18.04 更新。这可能也解决了我的笔记本电脑启动时间缓慢的问题。现在只需几秒,而不是一分钟。我将在本周晚些时候发送确认信息。
答案3
这不是键盘的问题。也不是窗口合成器的问题。滞后的问题在于任何给定程序的 GUI 控件中发生的事件序列。除了键盘输入和显示文本之外,它们都有一个共同点,那就是辅助功能选项,例如 orca 屏幕阅读器,这导致 GUI 必须在屏幕更新之间做更多的工作。这就像 3D 视频渲染一样,过多的计算会降低帧速率,直到它表现得像一系列没有连续性的静止图像。
停止计算,就可消除滞后。
我通过关闭 orca 进程然后转到 [启动程序] 解决了延迟问题。进入后,我将 orca 连同我不想在启动时运行的其他程序一起从启动列表中删除。我还取消选中了该框以停止记住关机时正在运行的程序。
键盘输入不再延迟,即使在 Firefox 中也是如此
答案4
我在使用带有统一接收器的无线 Logitech 键盘和鼠标时也遇到了类似的问题。我有一台固定 PC,并尝试了许多方法来解决这个问题:
使用 fwupdmgr 将固件更新至最新的 Logitech 版本。我认为它有所帮助,但显然效果并不持久。
我在一个新文件中创建了一条新的 udev 规则
/etc/udev/rules.d/10-logitech-receiver.rules
,其内容如下:
=======
# Unified USB receiver
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="046d",
ATTR{idProduct}=="c52b", ATTR{product}=="USB Receiver", TEST=="power/control", ATTR{power/control}:="on"
=======
这条规则确保接收器电源始终处于开启状态。对于固定式 PC 来说,这也许不是必需的,但这样做也无妨。我认为它有所帮助,但不确定它是否具有持久的效果。对于笔记本电脑来说,它可能有帮助,但会以耗电量为代价。
- 对其他设备的干扰
我注意到,当我将 USB 钥匙插入邻近的 USB 插槽或附近其他 USB 设备时,延迟会增加。我将其他 UDB 设备移至背板,并将接收器放在 PC 正面的 USB 延长线上,并将其放置在距离 PC 约一米的地方。这显然是迄今为止最好的解决方案 - 至少对于我的无线 Logitech 设置而言。它也可能与每个 USB 总线上连接的设备数量有关,因此电压可能会下降并损害接收。我还注意到它在 USB 3.x 插槽中的工作效果远好于在 USB 2.x 插槽中的工作效果。
将其移离可能产生干扰的设备后,它现在很稳定,键盘距离加密狗约 3 米 :-)