
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 dexbindkeys
para ejecutar un comando/script cuando se presionan ciertas teclas.
Para comenzar, puede indicar xbindkeys
que 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 xbindkeys
para 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 > Shortcuts
y cree un Launcher
acceso 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.
- Desbloquear widgets.
- Haga clic derecho en el iniciador y haga clic en Editar aplicaciones...
- Busque la aplicación a la que desea asignar un acceso directo
Otro
De lo contrario puedes usar xbindkeys
. Arch Wiki tiene unaxbindkeys
tutorialvale 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