Поиск по сайту:

Отключить автоматический режим полета в Ubuntu 22.04 на ноутбуке HP

Для пользователей ноутбуков может возникнуть довольно неприятная проблема: «Режим полета» автоматически включается при закрытии крышки или при наклоне экрана вбок.

Для ноутбуков HP под управлением Ubuntu, Fedora или другого Linux, использующего systemd, существует обходной путь, сопоставляющий скан-коды HP e057 и e058 со значением 240 (неактивный ключ). Таким образом, он не будет автоматически включать режим полета, хотя опция в настройках «Wi-Fi» и комбинация клавиш fn + F12 все еще работают.

ПРИМЕЧАНИЕ. Это руководство протестировано и работает в моей Ubuntu 22.04 на ноутбуке HP 246. Это может работать, а может и не работать на вашей машине.

1. Создайте сервис для переназначения сканкода:

1.) Сначала нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите команду для создания служебного файла и отредактируйте его с помощью текстового редактора Gedit:

sudo gedit /etc/systemd/system/hp-keycodes.service

В зависимости от среды вашего рабочего стола замените gedit в команде текстовым редактором вашей системы (например, gnome-text-editor для рабочей станции Ubuntu 22.10+/Fedora) или используйте nano редактор командной строки, работающий в большинстве Linux. Когда файл откроется, вставьте строки ниже и сохраните его.

[Отряд]
Описание=Исправлены коды ключей HP setkeycodes.

[Сервис]
Тип=одноразовый
Перезапуск=нет
RemainAfterExit=нет
ExecStart=/usr/bin/setkeycodes e057 240 e058 240

[Установить]
WantedBy=rescue.target
WantedBy=multi-user.target
WantedBy=graphical.target

Как уже упоминалось, эта служба сопоставляет скан-коды e057 и e058 с кодом недействующей клавиши 240.

2. Включите услугу

2.) После сохранения файла (для nano нажмите Ctrl+X, введите y и нажмите Enter), перезагрузите и включите службу, выполняя команды ниже одну за другой:

sudo systemctl daemon-reload
sudo systemctl enable hp-keycodes.service

И, наконец, перезагрузите компьютер и проверьте результат!

Отмените изменения:

Если метод вам не подходит, просто запустите команду в терминале (Ctrl+Alt+T), чтобы отключить службу:

sudo systemctl disable hp-keycodes.service

Далее удалите файл:

sudo rm /etc/systemd/system/hp-keycodes.service

Наконец, перезагрузите компьютер, чтобы изменения вступили в силу.

Статьи по данной тематике