L'API per la simulazione degli eventi del mouse dipende dalla piattaforma. Non conosco nessuna soluzione multipiattaforma.
Su Windows, è possibile accedere all'API Win32 grazie ai ctypes. vedi mouse_event on MSDN. Potresti anche essere interessato a pywinauto
Per ottenere il colore sotto il mouse, hai bisogno della posizione del mouse. Vedi GetCursorPos on MSDN. Quindi se la tua app ha un'API per ottenere il colore in questa posizione, puoi usarla. In caso contrario, puoi provare ad afferrare una piccola porzione dello schermo attorno al cursore e usare PIL per ottenere i colori di ogni pixel in quest'area. Penso che l'acquisizione dello schermo PIL funzioni solo su Windows Paltform, ma non ne sono sicuro.
Sto usando la seguente funzione per una simile esigenza:
def grab_main_color(self, rect, max_colors=256):
"""returns a tuple with the RGB value of the most present color in the given rect"""
img=ImageGrab.grab(rect)
colors = img.getcolors(max_colors)
max_occurence, most_present = 0, 0
try:
for c in colors:
if c[0] > max_occurence:
(max_occurence, most_present) = c
return most_present
except TypeError:
raise Exception("Too many colors in the given rect")
Puoi trovare alcune informazioni cliccando qui: http://stackoverflow.com/questions/1181464/controlling-mouse-with-python – snw