Added basic support for keyboard recording and playback (although it's really buggy right now)