adding keyup, keydown, and keypress events

adding keyup, keydown, and keypress events

also added binding that fixes issue with keyboard events not emitting due to object structure changes.

Signed-off-by: m4strmind <m4strmind@gmail.com>