KeyboardEvent.key

- WD

A KeyboardEvent property whose value is a string identifying the key that was pressed. Covers character keys, non-character keys (e.g. arrow keys), and dead keys.

Chrome

  1. 4 - 50: Not supported
  2. 51 - 128: Supported
  3. 129: Supported
  4. 130 - 132: Supported

Edge

  1. 12 - 18: Partial support
  2. 79 - 128: Supported
  3. 129: Supported

Safari

  1. 3.1 - 10: Not supported
  2. 10.1 - 17.6: Supported
  3. 18.0: Supported
  4. 18.1 - TP: Supported

Firefox

  1. 2 - 22: Not supported
  2. 23 - 28: Partial support
  3. 29 - 129: Supported
  4. 130: Supported
  5. 131 - 133: Supported

Opera

  1. 9 - 11.6: Not supported
  2. 12: Support unknown
  3. 12.1: Supported
  4. 15 - 37: Not supported
  5. 38 - 113: Supported
  6. 114: Supported

IE

  1. 5.5 - 8: Not supported
  2. 9 - 10: Partial support
  3. 11: Partial support

Chrome for Android

  1. 129: Supported

Safari on iOS

  1. 3.2 - 10.2: Not supported
  2. 10.3 - 17.6: Supported
  3. 18.0: Supported
  4. 18.1: Supported

Samsung Internet

  1. 4: Not supported
  2. 5 - 24: Supported
  3. 25: Supported

Opera Mini

  1. all: Supported

Opera Mobile

  1. 10 - 11.5: Not supported
  2. 12: Support unknown
  3. 12.1: Supported
  4. 80: Supported

UC Browser for Android

  1. 15.5: Supported

Android Browser

  1. 2.1 - 4.4.4: Not supported
  2. 129: Supported

Firefox for Android

  1. 130: Supported

QQ Browser

  1. 14.9: Supported

Baidu Browser

  1. 13.52: Supported

KaiOS Browser

  1. 2.5: Supported
  2. 3: Supported

"Some key events, or their values, might be suppressed by the IME in use". On mobile (virtual keyboard), for every key Blink and WebKit based browsers report "Unidentified", Gecko reports "Process".

Resources:
WebKit feature request bug
Chrome tracking bug
MDN Web Docs - key
shim-keyboard-event-key: shim for non-standard key identifiers for IE & Edge
Edge bug report
Spec listing all key string values