title: event.key is undefined in mobile browsers for keyup, keydown and keypress
body: <p>The following code is supposed to simply suppress any key press and add the pressed key to a div instead. This works fine on desktop, however on mobile (safari and chrome) <code>event.key</code> is undefined.</p>
  
  <pre><code>&lt;html&gt;
      &lt;head&gt;&lt;/head&gt;
      &lt;body&gt;
          &lt;input /&gt;
          &lt;div id="#test"&gt;&lt;/div&gt;
          &lt;script&gt;
              var str = '';
              var el = document.getElementById('#test');
              document.addEventListener('keypress', function(event) {
                  str += event.key;
                  event.preventDefault();
                  el.innerHTML = str;
              })
          &lt;/script&gt;
      &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p><code>event.keyCode</code> and <code>event.keyIdentifier</code> are both available but casting those to a string will give me unwanted results on different keyboard layouts and languages, especially with special characters.</p>
  
  <p>Is there anyway to get the value of the key directly?</p>
  
  <p>Here's a codepen example just in case: <a href="https://codepen.io/anon/pen/pryYyQ" rel="noreferrer">https://codepen.io/anon/pen/pryYyQ</a></p>