KeyboardEvent.which

- UNOFF

A legacy KeyboardEvent property that is equivalent to either KeyboardEvent.keyCode or KeyboardEvent.charCode depending on whether the key is alphanumeric.

IE

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

Edge

  1. 12 - 91: Supported
  2. 92: Supported

Firefox

  1. 2 - 89: Supported
  2. 90: Supported
  3. 91 - 92: Supported

Chrome

  1. 4 - 91: Supported
  2. 92: Supported
  3. 93 - 95: Supported

Safari

  1. 3.1 - 4: Not supported
  2. 5: Support unknown
  3. 5.1 - 14: Supported
  4. 14.1: Supported
  5. 15 - TP: Supported

Opera

  1. 9 - 9.6: Support unknown
  2. 10 - 76: Supported
  3. 77: Supported

Safari on iOS

  1. 3.2 - 4.3: Support unknown
  2. 5 - 14.4: Supported
  3. 14.5: Supported

Opera Mini

  1. all: Not supported

Android Browser

  1. 2.1 - 2.2: Support unknown
  2. 2.3 - 4.3: Supported
  3. 4.4 - 4.4.4: Partial support
  4. 92: Supported

Opera Mobile

  1. 10 - 12.1: Supported
  2. 64: Supported

Chrome for Android

  1. 92: Partial support

Firefox for Android

  1. 90: Partial support

UC Browser for Android

  1. 12.12: Supported

Samsung Internet

  1. 4: Not supported
  2. 5 - 13.0: Partial support
  3. 14.0: Partial support

QQ Browser

  1. 10.4: Supported

Baidu Browser

  1. 7.12: Partial support

KaiOS Browser

  1. 2.5: Supported

This property is legacy and deprecated. "Some key events, or their values, might be suppressed by the IME in use". On mobile (virtual keyboard), all keys are reported as 229.

Resources:
MDN Web Docs - which