Short, Long, Double, and Compound Clicks implemented for Keyboard and Mouse

Try running the code and looking at the console to see what input
actions are being called.
refactor