Il livello più basso a cui agganciarsi per pilotare il mouse nell'ambiente grafico* è il server X, e quindi le funzioni di Xlib; nello specifico, ti serve XQueryPointer per ottenere la posizione del puntatore e XWarpPointer per spostarlo.

* in realtà si può anche leggere direttamente dai device di /dev/input, ma devi essere superuser, se ce n'è più di uno non sai quale pescare (mentre X è già configurato) e non ci puoi scrivere. A livello più alto invece ci sono i vari toolkit grafici.