Chciałbym napisać własny program grający przykładowo w szachy standardowo dostępne w Ubuntu z komputerem. Czyli na przykład ustawiam grę człowiek vs komputer i w mojej turze mój własny program automatycznie wykonuje i przekazuje ruchy do aplikacji szachów(coś na zasadzie gry szachy z Ubuntu vs moja własna aplikacja). Doszłem do tego, że taka aplikacja powinna nie tylko móc przekazywać pewne zdarzenia(w sumie tylko kliknięcie), ale także pobierać zdarzenia od danego programu i kompletnie nie mam pojęcia jak to zrobić

Nawet nie wiem zbyt jak taki problem w google wyszukać, więc nawet pomysły gdzie mógłbym takie rzeczy poczytać czy jakieś artykuły poruszające ten temat mile widziane
EDIT:
Co do języka programowania to chciałbym taką aplikację napisać w C++ lub Java w czym łatwiej.
Pozdrawiam