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 - 85: Supported
  2. 86: Supported

Firefox

  1. 2 - 80: Supported
  2. 81: Supported
  3. 82 - 83: Supported

Chrome

  1. 4 - 85: Supported
  2. 86: Supported
  3. 87 - 89: Supported

Safari

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

Opera

  1. 9 - 9.6: Support unknown
  2. 10 - 70: Supported
  3. 71: Supported

iOS Safari

  1. 3.2 - 4.3: Support unknown
  2. 5 - 13.7: Supported
  3. 14: 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. 81: Supported

Blackberry Browser

  1. 7: Supported
  2. 10: Supported

Opera Mobile

  1. 10 - 12.1: Supported
  2. 59: Partial support

Chrome for Android

  1. 85: Partial support

Firefox for Android

  1. 79: Partial support

IE Mobile

  1. 10: Supported
  2. 11: Supported

UC Browser for Android

  1. 12.12: Supported

Samsung Internet

  1. 4: Not supported
  2. 5 - 11.2: Partial support
  3. 12.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