@bio a sua ao menos resolve tudo, o problema é essa aqui
pt.stackoverflow.com/a/297568/3635, ela não resolve o problema do Ctrl+V, mas mesmo assim ganhou um upvote, a minha resposta explica que
String.fromCharCode(!e.charCode ? e.which : e.charCode)
não vai resolve tudo e eu dei uma solução melhor