Is there a way to cover all the cases with a combination of `keyDown` + `setTimeout`? That could get us started. The paste issue could be handled separately.