With some pointers from @Yogi I got a working solution.
issue 1: no events fired in js - only happens when caret is placed before "space" -> always set caret position to end of element
issue 2: key=229 is returned in keydown -> handle it the same as backspace and reset the inputs content to " " in onkeyup