Выключите автоматическое отключение сенсорной панели и клавиатуры в Lenovo Yoga 3 14
проблема
Я использую Lenovo Yoga 3 14, и когда я открываю его под определенным углом (между 135 и 180 градусами), его клавиатура и мышь перестает отвечать на запросы / зависает. Однако это не полная заморозка - они время от времени размораживаются или повторяют последнее действие сто раз.
Как я могу отключить эту функцию, которая продолжает отключать мои устройства ввода?
подробности
генеральный
Ноутбук работает хорошо при открытии вот так (~ 120 градусов).
Проблемы начинаются, когда я открываю его на 135 или более градусов:
Вот видео, показывающие, каково это тогда использовать клавиатуру и мышь. Требуется около 5 секунд, чтобы отключить клавиатуру и трекпад.
- Мышь зависает и зависает взад и вперед: https://www.youtube.com/watch?v=bKynOx6Vdiw
- В какой-то момент клавиатура зависает, а затем на некоторое время повторяет последнюю нажатую клавишу, а затем останавливается (навсегда?): https://www.youtube.com/watch?v=CxMQrWHeEbo
Все возвращается на круги своя, когда я открываю ноутбук на 180 градусов (что довольно глупо, потому что я на самом деле вхожу в режим палатки или планшета).
Сам ноутбук не зависает, только клавиатура и мышь. Сенсорный экран тоже работает.
Это зависит от ОС?
Я испытал это поведение в:
- Ubuntu 16.10 и Ubuntu 17.04 в Unity 7 и в dwm
- FreeBSD 12-CURRENT как в консоли, так и в dwm
Это говорит о том, что он либо не слишком специфичен для ОС, либо в Ubuntu и FreeBSD есть несколько действительно плохих драйверов в их ядрах.
Однако стоит отметить, что эта проблема встречается гораздо реже в FreeBSD. Фактически, мой ноутбук может быть открыт настолько широко, насколько я хочу, и зависание происходит только время от времени (раз в неделю или около того). В отличие от Ubuntu, где это происходит постоянно, даже если экран открыт только на 100 градусов.
Отслеживание с xev
, xinput
а также xdotool
Я попытался отследить сигнал, заставляющий аппарат отключить сенсорную панель и клавиатуру с помощью xev
и другие, но это ничего не показывало. X-сервер считает, что эти устройства ввода в порядке и включены все время. Это неудивительно, поскольку зависание происходит, когда X-сервер не работает.
ACPI
acpi_listen
ничего не печатает, когда это происходит.
BIOS
В BIOS нет возможности отключить эту функцию.
Отключить использование предустановленного программного обеспечения Lenovo
Я предполагаю, что это функция Lenovo, которая должна отключать клавиатуру и сенсорную панель, когда пользователь переключается в режим планшета. Возможно, в Windows эта функция работает нормально (в прошлый раз, когда я пытался, это было не совсем), или, по крайней мере, есть способ отключить ее с помощью некоторого предустановленного программного обеспечения Lenovo. Я ничего не нашел для Linux, хотя.
Встроенный контроллер
Я нажал кнопку питания в течение 8 секунд, чтобы сбросить EC, но это не помогло. Я еще не пытался полностью разрядить аккумулятор для сброса ЕС.
Рекомендации:
2 ответа
Вопрос в основном решен сейчас:
на Ubuntu 17.10 я просто запускаю:
xinput disable "$(xinput -list | awk -F'[=\t]' '/ELAN/{print $3}')"
и тогда все просто работает ™.
на FreeBSD 12-CURRENT с
drm-next-kmod
(что принесло поддержку графики Intel для этого ноутбука), однако, это больше не проблема. Вероятно, из-за того, что сенсорный экран по умолчанию не реагирует, и я не удосужился его настроить.
Заметки
- Я не обновил BIOS, как предложено в другом ответе на этот вопрос.
- Если кто-то придумает лучшее решение этой проблемы, я буду рад отметить, что это принятый ответ.
Это общая проблема с этими устройствами, с этого сайта: https://forums.lenovo.com/t5/Lenovo-Yoga-Series-Notebooks/Yoga-3-14-Keyboard-issues/td-p/2165832
Попробуйте обновить BIOS, это сработало для других людей в подобных обстоятельствах.