Solamente hay algo que no me queda claro , al preisonar la letra tu programa debe de estar en primer plano o escondido
Porque si es la primera con el evento keypress del formulario lo puedes hacer, si es la segunda opcion con genansickeystate lo puedes hacer , seria un tipo mini keylogger que solo detecte la letra Q , y obteniendo la letra simplemente con la api setcursorpos mueves el cursor es cosa de buscar la declaracion de setcursorpos y usar asi:
Setcursorpos(10,10)
la primera cordenada es punto X ;horizontal , la segunda es Y;vertical
Lo del hacer click no recuerdo muy bien con que api era ...
Y lo de volver al mismo lugar pues primero optienes la posicion del cursor por ejemplo con getcursorpos , almacenas en una variable la posicion y despues de hacer el click vuelves a la posicion de la variable almacenada.
Si tienes algun problema con alguna de estas apis dilo , pero recuerda buscar un poquito antes en google porque sobre estas APIS hay mucha información.
Salu2