Reimplemented the event catching. Fixes #4 and closes #5

By listening for the keydown event in a different manner, I was able to fix all our issues. Great success!