Como capturar teclas digitadas em ambiente Linux

Como capturar teclas digitadas em ambiente Linux

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 aproveitarxbindkeyspara executar um comando/script quando certas teclas são pressionadas.

Para começar, você pode instruir xbindkeyspara 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 xbindkeyspara 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 > Shortcutse crie um Launcheratalho[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.

  1. Desbloquear widgets.
  2. Clique com o botão direito no inicializador e clique em Editar aplicativos...
  3. Encontre o aplicativo ao qual deseja atribuir um atalho

Outro

Caso contrário você pode usar xbindkeys. Arch Wiki tem umxbindkeystutorialVale 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

informação relacionada