
Preciso que um código C seja executado quando algumas teclas específicas são pressionadas no ambiente "Desktop" do Linux.
Quais são as formas de se inscrever em tal evento e como?
Devo escrever ISR para isso? Preciso de uma parte exata do Linux de onde possa receber esta ligação.
Qual parte do sistema operacional lida com coisas como estas. Faz parte do ambiente de desktop como o GNOME ou parte de algum serviço?
Responder1
Eu tentaria aproveitarxbindkeys
para executar um comando/script quando certas teclas são pressionadas.
Para começar, você pode instruir xbindkeys
para gerar um arquivo de configuração de modelo assim:
$ xbindkeys --defaults > /home/saml/.xbindkeysrc
Em seguida, abra o arquivo de configuração resultante em qualquer editor e adicione uma linha como esta:
"nautilus --browser /home/saml/projects/path/to/some/dir"
Mod4+shift + q
Em seguida, mate e reinicie xbindkeys
para recarregar as modificações no arquivo de configuração:
$ killall xbindkeys
$ xbindkeys
Agora com isso rodando a qualquer hora que eu digitar Mod+ Shift+ Qo Nautilus abrirá com a pasta correspondente aberta.
O acima pode ser facilmente modificado para que qualquer script ou comando possa ser executado em vez do acima. Este é apenas um exemplo para ilustrar a abordagem e para você começar.
Referências
Responder2
Seu ambiente de área de trabalho pode ter um utilitário de configurações para configurar atalhos de teclado.
Concha do Gnomo 3
Acesse System Settings > Keyboard > Shortcuts
e crie um Launcher
atalho[1].
KDE
Vá para System Settings
[2] > Shortcuts and Gestures > Global Shortcuts
[3] e atribua um atalho de teclado personalizado ou
Atribua um atalho do KDE ao inicializador do seu aplicativo[4]. Você pode precisar de um arquivo .desktop para seu aplicativo usar isso.
- Desbloquear widgets.
- Clique com o botão direito no inicializador e clique em Editar aplicativos...
- Encontre o aplicativo ao qual deseja atribuir um atalho
Outro
Caso contrário você pode usar xbindkeys
. Arch Wiki tem umxbindkeys
tutorialVale a pena ler.
[1]https://wiki.ubuntu.com/Keybindings
[2]http://docs.kde.org/stable/en/kde-workspace/systemsettings/using-kapp.html#starting
[3]http://docs.kde.org/stable/en/kde-workspace/systemsettings/general.html
[4]https://askubuntu.com/questions/90567/quickly-launch-any-app-in-kde-with-a-shortcut