Xbindkeys: 
FrontEnd hecho con Gambas3
Preparando un ejemplo de FrontEnd hecho con gambas3 para el curso de gambas que estoy terminando de escribir (http://cursogambas.blogspot.com.es/), pues he hecho esta pequeña utilidad, para facilitar el uso de XbindKeys.
Simplemente sirve para asignar una combinación de teclas al programa que le indiquemos haciendonos las correspondinetes preguntas, y el solo modifica y actualiza el fichero de configuración, activando la combinación de teclas.
' Gambas class file
Public Sub _new()
End
Public Sub Form_Open()
'comprobar que exista el fichero .xbindkeysrc
If Exist(User.Home & "/.xbindkeysrc") Then
'no hago nada
Else
'copio el archivo de conifguracion inicial
Copy "xbindkeysrc" To User.Home & "/.xbindkeysrc" 'este archivo es oculto
Endif
Me.center
End
Public Sub ToolButtonCrear_Click()
Dim contenido As String
Dim comando As String
Dim salida As String
Dim lineas As New String[]
Message.Info("Cuando cierre esta ventana,pulse la combinación de teclas", "cerrar")
Shell "xbindkeys -k" To salida
'de la salida extraigo las dos ultimas lineas que son las que me interesan
lineas = Split(salida, gb.CrLf)
Print salida
Print "lineas que me interesan:"
Print lineas[lineas.max - 2]
Print lineas[lineas.max - 1]
comando = InputBox("Introduce el nombre del programa al que llamara esa combinación de teclas:")
contenido &= gb.CrLf
contenido &= "\"" & comando & "\"" & gb.CrLf
contenido &= lineas[lineas.max - 2] & gb.CrLf
contenido &= lineas[lineas.max - 1] & gb.CrLf
Shell "xbindkeys"
Message.Info("Se acaba de añadir la combinacion de teclas...!!!")
End
Public Sub ToolButtonConfigurar_Click()
Shell "xbindkeys-config"
End
Pulsando el boton de "Crear nuevo atajo", lo que hacemos sacar un mensaje para indicar al usuario que tiene que pulsar la combinación de teclas cuando cierre el mensaje:
Message.Info("Cuando cierre esta ventana,pulse la combinación de teclas", "cerrar")
a continuación ejecutamos el programa xbindkeys, (y pulsaremos la combinación de teclas), capturamos la salida que produce el comando xbindkeys,
Shell "xbindkeys -k" To salida
y preguntamos que aplicación se va a ejecutar con la combinación de teclas dada anteriormente.
comando = InputBox("Introduce el nombre del programa al que llamara esa combinación de teclas:")
Con la información recopilada,
lineas = Split(salida, gb.CrLf)
contenido &= gb.CrLf
contenido &= "\"" & comando & "\"" & gb.CrLf
contenido &= lineas[lineas.max - 2] & gb.CrLf
contenido &= lineas[lineas.max - 1] & gb.CrLf
la vamos a añadir al fichero oculto
.xbindkeysrc
Finalmente, ejecutamos
Shell "xbindkeys"
Enlaces de descarga:
- Archivo de instalación .deb: enlace
- Archivo fuente: enlace

