No shell do gnome, o "Modo Avião" é ativado automaticamente na inicialização de muitos laptops HP, quando a tela é inclinada para os lados ou quando a tampa é aberta / fechada. A seguir, uma correção para laptops HP que executam o Linux e usam o shell do gnome. Keycode 240 é definido como KEY_UNKNOWN (um tipo de chave não operacional) em /usr/include/linux/input-event-codes.h. Além disso, o seu syslog não solicitará mais que você defina os códigos HP e057 e e058, o que pode ser extremamente irritante.
Primeiro é uma correção usando um script de init clássico do SysV, colocado no diretório init.d e linkado simbolicamente (Basicamente, nós queremos que ele seja executado independentemente do runlevel em qualquer coisa exceto halt (0) ou reboot (6)). O segundo é um serviço systemd que é muito mais confiável e talvez esteja presente com mudanças recentes do systemd, que também funcionam no Fedora 28 e em outras plataformas de distribuição. No Fedora em particular, você encontrará uma ausência quase completa de scripts no diretório /etc/init.d, juntamente com um pequeno README detalhando a transição do SysV para o systemd. O primeiro método funcionará, mas o segundo método é muito mais "amigável para o futuro", especialmente considerando para onde o Ubuntu está indo, e também funcionará de uma maneira um pouco menos ... irritante. Os scripts de inicialização do Systemd são realmente bastante úteis e totalmente implementados e usados com frequência no Ubuntu 18.04.
Método antigo do SysV:
$ sudo sh -c 'printf "#!/bin/sh\n/usr/bin/setkeycodes e057 240 e058 240\n" > /etc/init.d/hp-keycodes' $ sudo chmod +x /etc/init.d/hp-keycodes $ sudo ln -s /etc/init.d/hp-keycodes /etc/rc1.d/K01hp-keycodes $ sudo ln -s /etc/init.d/hp-keycodes /etc/rc2.d/S01hp-keycodes $ sudo ln -s /etc/init.d/hp-keycodes /etc/rc3.d/S01hp-keycodes $ sudo ln -s /etc/init.d/hp-keycodes /etc/rc4.d/S01hp-keycodes $ sudo ln -s /etc/init.d/hp-keycodes /etc/rc5.d/S01hp-keycodes $ sudo reboot
Novo método recomendado pelo Systemd:
$ sudo nano /etc/systemd/system/hp-keycodes.service
Cole as seguintes linhas ou digite-as no arquivo:
[Unit] Description=HP setkeycodes fix [Service] Type=oneshot Restart=no RemainAfterExit=no ExecStart=/usr/bin/setkeycodes e057 240 e058 240 [Install] WantedBy=rescue.target WantedBy=multi-user.target WantedBy=graphical.target
Salve e confirme o nome do arquivo com ctrl-x, y.
$ sudo systemctl daemon-reload $ sudo systemctl enable hp-keycodes.service $ sudo reboot
E é isso, nada de coisas estranhas mais irritantes quando você inclina a tela ou fecha / abre a tampa do laptop!