propagation should be disabled by default for keyboard events
changes to use new event trait
hand over char code to callback function
changes due to new event trait
changes due to new event trait