Клавиатура и трекпад не работают после сна

Клавиатура и трекпад не работают после сна

У меня Dell Inspiron 5379 с последней прошивкой и Ubuntu 20.04. После того, как ноутбук переходит в спящий режим, периодически не работают клавиатура и тачпад. Сенсорный экран работает, поэтому я могу перезагрузиться с помощью экранной клавиатуры. После перезагрузки клавиатура и тачпад работают.

Погуглив, я нашел это предложение по редактированию /etc/default/grubс помощью этого GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.direct i8042.dumbkbd"отКлавиатура Ubuntu 17.04 не отвечает после перехода в режим ожиданияно это не имеет никакого эффекта.

Я также нашелDell Inspiron 15-7568 Touchpad Move Зависает на 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

Обновление 2: Попробовал запустить xinput 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драйвер modprobe -r intel_vbtn && modprobe intel_vbtn(можно вручную или из cron). Он обнаружит коммутатор.
  4. Отложить загрузку драйвера intel_vbtnпри загрузке. Это можно сделать, добавив rd.driver.blacklist=intel_vbtnв командную строку ядра Linux. Драйвер все равно загрузится, но позже во время загрузки.

Связанный контент