support artificial keyboard events

one possible approach to supporting artificial keyboard events. Fixes #6
Merge pull request #7 from brendankenny/patch-1

support artificial keyboard events