Program to press a key at timed intervals
Solution 1:
Yes, there is an open source program to create fake keyboard and mouse inputs for GNU/Linux. It is called Xdotool .
To press a key (in this example 'a') every two seconds you can use a script like this :
#!/bin/bash
while true; do
xdotool key a
sleep 2
done
If you make this script executable and add it to Startup Applications it will press 'a' every two seconds.
Here is the documentation for Xdotool
And here is the specific part on keyboard commands
Solution 2:
If you are using a Logitech keyboard, there is a package called "g15macro" in the Ubuntu repo that is useful. Otherwise there are other open source applications such as "xmacro" and "xnee".