title: Determine if key press resulted in printable Unicode character being input without deprecated APIs
body: <ul>
  <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Properties" rel="noreferrer"><code>char</code> is deprecated</a></li>
  <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/charCode" rel="noreferrer"><code>charCode</code> is deprecated</a></li>
  <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key" rel="noreferrer"><code>key</code> fires for both printable characters and control keys</a></li>
  <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode" rel="noreferrer"><code>keyCode</code> is deprecated</a></li>
  <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which" rel="noreferrer"><code>which</code> is deprecated</a></li>
  <li><a href="https://developer.mozilla.org/en-US/docs/Web/Events/keypress" rel="noreferrer"><code>keypress</code> is deprecated</a></li>
  <li><a href="https://developer.mozilla.org/en-US/docs/Web/Events/input" rel="noreferrer"><code>input</code> does not fire for elements that are not <code>input</code>, <code>textarea</code>, <code>select</code> or <code>contenteditable</code></a> - most annoyingly <code>tabindex</code> is not enough</li>
  </ul>
  
  <p>Is the recommended way going forwards to keep the list of <a href="https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values" rel="noreferrer">predefined <code>key</code> values</a> as a blacklist and assume what's not on there is a printable character? How's that going to work out for keyboards with special/programmable keys?</p>
  
  <p>When trying to capture printable characters on non-<code>input|textarea|select|contenteditable</code>, is as of current the only non-hacky (no incomplete ranges or blacklists as seen in many similar questions) way without using deprecated features to use a hidden <code>input</code>/<code>textarea</code> and use its value for capturing characters that actually change that value?</p>