睡眠后键盘和触控板将无法使用

睡眠后键盘和触控板将无法使用

我有一台运行最新固件和 Ubuntu 20.04 的 Dell Inspiron 5379。笔记本电脑休眠后​​,键盘和触控板会间歇性地无法工作。触摸屏可以工作,因此我可以使用屏幕键盘重新启动。重新启动后,键盘和触控板可以工作。

在谷歌搜索后,我发现了这个建议,可以/etc/default/grub用这个GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.direct i8042.dumbkbd"来编辑Ubuntu 17.04 键盘在挂起后无响应但它没有任何效果。

我还发现Dell Inspiron 15-7568 触摸板在 Xenial 16.04 上移动冻结但由于我没有synapse安装,它似乎不适用。

更新:安装后synaptics(并确认触控板正在通过 使用它xinput list-props),该问题现在仅影响键盘。键盘仍通过 进行管理libinput

我有点确信这与在某些情况下启用“平板电脑模式”有关(https://www.dell.com/support/article/en-uk/sln305434/how-to-enable-or-disable-tablet-mode-on-your-notebook-in-windows-10?lang=en)我猜我需要找出如何禁用它。

可能相关:https://bbs.archlinux.org/viewtopic.php?id=237782

更新 2xinput list-props:尝试在键盘不工作时运行,没有其他信息:

vitor@vitor-Inspiron-5379:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ELAN Touchscreen                          id=12   [slave  pointer  (2)]
⎜   ↳ DELL0804:00 06CB:7E7E Mouse               id=13   [slave  pointer  (2)]
⎜   ↳ DELL0804:00 06CB:7E7E Touchpad            id=14   [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=10   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate           id=11   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver               id=15   [slave  keyboard (3)]
    ↳ Intel HID events                          id=16   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=17   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=18   [slave  keyboard (3)]
# Device not working
vitor@vitor-Inspiron-5379:~$ xinput list-props 18
Device 'AT Translated Set 2 keyboard':
    Device Enabled (171):   1
    Coordinate Transformation Matrix (173): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Send Events Modes Available (293): 1, 0
    libinput Send Events Mode Enabled (294):    0, 0
    libinput Send Events Mode Enabled Default (295):    0, 0
    Device Node (296):  "/dev/input/event4"
    Device Product ID (297):    1, 1
vitor@vitor-Inspiron-5379:~$ 
# Device working (after reboot)
vitor@vitor-Inspiron-5379:~$ xinput list-props 18
Device 'AT Translated Set 2 keyboard':
    Device Enabled (171):   1
    Coordinate Transformation Matrix (173): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Send Events Modes Available (293): 1, 0
    libinput Send Events Mode Enabled (294):    0, 0
    libinput Send Events Mode Enabled Default (295):    0, 0
    Device Node (296):  "/dev/input/event4"
    Device Product ID (297):    1, 1
vitor@vitor-Inspiron-5379:~$ 

更新 3:已关注,找到了适当的事件(https://github.com/alesguzik/linux_detect_tablet_mode也很有用)。即使解除驱动程序的绑定似乎也无法解决这个问题。

我想知道是否应该尝试编写 GNOME 扩展来管理平板电脑模式。

更新 4:虽然当我将笔记本电脑扩展为平板电脑模式时,我仍然会收到平板电脑模式事件,但解除驱动程序绑定似乎可以抑制打开盖子时出现的问题。我还没有对此做出解释。我会找到一种方法来自动化执行此操作,如果可以的话,我会尝试找出根本原因。

答案1

我在 Dell Inpiron 13 700 上遇到了非常类似的问题。我做了同样的事情,重新启动笔记本电脑以使鼠标/键盘恢复工作,这让我很恼火。我想翻转屏幕,强制将其设置为平板电脑模式,然后再回到“笔记本”位置,一切就会恢复正常。这并不能解决问题,但作为一种解决方法,至少我不需要重新启动。

答案2

似乎有些 Dell Inspiron 2-in-1 笔记本电脑报告称,它们在挂起时会进入“平板电脑”模式。libinput 库会阻止键盘和触摸板作为响应。唤醒时,硬件不会发送有关离开平板电脑模式的事件。

这种行为似乎很难可靠地重现。不过,以下解决方法似乎有效:

  1. 短暂关闭并再次打开盖子。下次重启前只需执行一次。
  2. 将盖子翻转至平板电脑模式,然后再翻转回来。此操作可以在让笔记本电脑进入睡眠状态之前提前完成,并且只需在重启前执行一次即可。
  3. intel_vbtn通过(可以手动或从 cron 执行)重新加载驱动程序modprobe -r intel_vbtn && modprobe intel_vbtn。它将检测开关。
  4. 延迟启动时加载intel_vbtn驱动程序。可以通过添加rd.driver.blacklist=intel_vbtn到 Linux 内核命令行来实现。驱动程序仍会加载,但会在启动过程中稍后加载。

相关内容