Cómo captar pulsaciones de teclas en un entorno Linux

Cómo captar pulsaciones de teclas en un entorno Linux

Necesito que se ejecute un código C cuando se presionan algunas teclas particulares en el entorno de "Escritorio" de Linux.

¿Cuáles son las formas de registrarse para un evento de este tipo y cómo?

¿Debería escribir ISR para eso? Necesito una parte exacta de Linux desde donde pueda recibir esta llamada.

¿Qué parte del sistema operativo maneja cosas como estas? ¿Es parte del entorno de escritorio como GNOME o parte de algún servicio?

Respuesta1

Intentaría hacer uso dexbindkeyspara ejecutar un comando/script cuando se presionan ciertas teclas.

Para comenzar, puede indicar xbindkeysque se genere un archivo de configuración de plantilla como este:

$ xbindkeys --defaults > /home/saml/.xbindkeysrc

Luego abra el archivo de configuración resultante en cualquier editor y agregue una línea como esta:

"nautilus --browser /home/saml/projects/path/to/some/dir"
 Mod4+shift + q

Luego finalice y reinicie xbindkeyspara volver a cargar las modificaciones en el archivo de configuración:

$ killall xbindkeys
$ xbindkeys

Ahora, con esto ejecutándose, cada vez que escriba Mod+ Shift+ QNautilus se abrirá con la carpeta correspondiente abierta.

Lo anterior se puede modificar fácilmente para que se pueda ejecutar cualquier script o comando en lugar de lo anterior. Este es sólo un ejemplo para ilustrar el enfoque y ayudarle a comenzar.

Referencias

Respuesta2

Su entorno de escritorio puede tener una utilidad de configuración para configurar combinaciones de teclas.

Gnomo 3 Concha

Vaya System Settings > Keyboard > Shortcutsy cree un Launcheracceso directo[1].

KDE

Ir a System Settings[2] > Shortcuts and Gestures > Global Shortcuts[3] y asignar una combinación de teclas personalizada, o

Asigne un acceso directo de KDE a su iniciador de aplicaciones[4]. Es posible que necesite un archivo .desktop para que su aplicación lo utilice.

  1. Desbloquear widgets.
  2. Haga clic derecho en el iniciador y haga clic en Editar aplicaciones...
  3. Busque la aplicación a la que desea asignar un acceso directo

Otro

De lo contrario puedes usar xbindkeys. Arch Wiki tiene unaxbindkeystutorialvale la pena leer.

[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

información relacionada