TypedEvent: use a string instead of a rune for user input; Fixes #8