Для управления вводом с клавиатуры / мыши вам достаточно взглянуть на xdotool, двоичный файл с открытым исходным кодом, который позволяет управлять входами X11: http://www.semicomplete.com/projects/xdotool/#id54155
Вы можете свободно использовать их код, если вы согласны с лицензией.
Для захвата скриншотов окон (именно это, я думаю, вы хотите сделать), лучшая комбинация, которую я нашел в linux, - это сочетание функций управления окнами X11 (таких как получение окна по заголовку) и imlib2.