title: String.fromCharCode on keypress and keydown are returning wrong characters
body: <p>I'm trying to catch the character inserted before it shows on the screen to validate the screen. See my code</p>
  
  <pre><code>_this.on('keypress keydown',function(e){
      var t = e.target;
      var k = e.which || e.keyCode;
      var c = String.fromCharCode(k);
      console.log(String.fromCharCode(k))
  });
  </code></pre>
  
  <p>If I for example type <code>~</code> or any other punctuation characters, it returns non-latin characters, such as <code>å</code>. I'm on Chromium, Ubuntu.</p>
  
  <p>I noticed that the keypress is being ignored with these special characters, what is a shame and that's why I am trying with keydown as well. But keydown fails to detect the right character and converts them to scandinavian and asian characters.</p>
  
  <p>Is there a workaround to get the correct character being yped? </p>