Sim, eu sei que há actkbd que permite atribuir atalhos de teclado globais que funcionarão em todos os lugares, incluindo o console de texto e uma sessão gráfica, mas não quero executar um daemon extra (também sem manutenção) para um único atalho de teclado. Eu quero algo muito mais simples, sem opções de configuração e que tenha a quantidade mínima absoluta de código.
A tarefa é executar um comando quando esta combinação de teclas é pressionada:
Win+ End->systemctl suspend
Provavelmente vale a pena postar no stackoverflow.com, mas não tenho certeza.
Então, o Linux tem um framework bem legal para essas coisas:
uinput
; evdev é uma interface legal para isso que não esconde nada. É magro.Para basicamente todas as distribuições Linux existe um
python3-evdev
pacote (pelo menos esse é o nome do pacote no debian, ubuntu e fedora).Então, são algumas linhas de código para escrever seu daemon; este é apenas um código de exemplo ligeiramente modificado , onde adicionei algumas explicações para que você saiba o que está fazendo
E é isso. Seu daemon em 16 linhas de código.
Você pode executá-lo diretamente com
sudo python
, mas provavelmente deseja iniciá-lo automaticamente:Salve-o como um arquivo
/usr/local/bin/keydaemon
,sudo chmod 755 /usr/local/bin/keydaemon
para torná-lo executável. Adicionar um arquivo/usr/lib/systemd/system/keydaemon.unit
com conteúdoCom
sudo systemctl enable --now keydaemon
você pode garantir que o daemon seja iniciado (instantaneamente e em cada inicialização futura).