title: Keydown and keypress events gives different keyCode
body: <p>I've read through related answers and articles on Stack Overflow, but still doesn't get it: </p>
  
  <p>On Chrome console if I add two listeners to output <code>keyCode</code> on <code>keypress</code> and <code>keydown</code> events I get different <code>keycode</code> when the key is lowercase. </p>
  
  <p>When uppercase however, the <code>keyCode</code> appears to be the same for the two events. </p>
  
  <p>Example: 
  <div class="snippet" data-lang="js" data-hide="true" data-console="false" data-babel="false">
  <div class="snippet-code snippet-currently-hidden">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>document.addEventListener('keypress', function(e){ console.log('keyPress', e.keyCode); });
  document.addEventListener('keydown', function(e){ console.log('keyDown', e.keyCode); });
  
  // Open your console  
  // Typing 'a' in the result field outputs 'keyPress 97' 'keyDown 65'
  // on chrome 42 console. Activate uppercase, and then typing 'A' outputs 'keyPress 65' and 'keyDown 65'
  
  // Why ? </code></pre>
  </div>
  </div>
  </p>
  
  <p>So is this normal behaviour ? </p>