La API para simular eventos de mouse depende de su plataforma. No conozco ninguna solución multiplataforma.
En Windows, puede acceder a la API Win32 gracias a ctypes. ver mouse_event on MSDN. Usted también podría estar interesado por pywinauto
Para obtener el color debajo del mouse, necesita la posición del mouse. Ver GetCursorPos on MSDN. Entonces, si su aplicación tiene una API para obtener el color en esta posición, puede usarla. De lo contrario, puede tratar de tomar una pequeña porción de la pantalla alrededor del cursor y usar PIL para obtener los colores de cada píxel en esta área. Creo que la captura de pantalla PIL solo funciona en Windows, pero no estoy seguro.
estoy usando la siguiente función de una necesidad similar:
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")
Puede encontrar información haciendo clic aquí: http://stackoverflow.com/questions/1181464/controlling-mouse-with-python – snw