KeyboardEvent.which

- UNOFF

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

Chrome

  1. 4 - 122: Supported
  2. 123: Supported
  3. 124 - 126: Supported

Edge

  1. 12 - 122: Supported
  2. 123: Supported

Safari

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

Firefox

  1. 2 - 123: Supported
  2. 124: Supported
  3. 125 - 127: Supported

Opera

  1. 9 - 9.6: Support unknown
  2. 10 - 107: Supported
  3. 108: Supported

IE

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

Chrome for Android

  1. 122: Partial support

Safari on iOS

  1. 3.2 - 4.3: Support unknown
  2. 5 - 17.3: Supported
  3. 17.4: Supported

Samsung Internet

  1. 4: Not supported
  2. 5 - 22: Partial support
  3. 23: Partial support

Opera Mini

  1. all: Not supported

Opera Mobile

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

UC Browser for Android

  1. 15.5: 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. 122: Supported

Firefox for Android

  1. 123: Partial support

QQ Browser

  1. 14.9: Supported

Baidu Browser

  1. 13.52: Partial support

KaiOS Browser

  1. 2.5: Supported
  2. 3: 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