This commit is contained in:
Daniel Lorch 2025-05-01 22:53:53 +00:00 committed by GitHub
commit c525fa1841
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 4 deletions

View File

@ -330,11 +330,18 @@ export default function WebRTCVideo() {
)
// Alt: Keep if Alt is pressed or if the key isn't an Alt key
// Example: If altKey is true, keep all modifiers
// If altKey is false, filter out 0x04 (AltLeft) and 0x40 (AltRight)
// If altKey is false, filter out 0x04 (AltLeft)
//
// Special case: Despite the Alt-Gr key being pressed, `altKey' on
// the event `e' is set to `false'. This means we cannot detect if Alt-Gr
// is being pressed while the user e.g. presses the `2' key. Instead, we
// we need to rely on keyUpHandler/keyDownHandler to toggle the state
// for 0x40 (AltRight) and avoid filtering for this code here, so that we
// can remember the state of the Alt-Gr modifier on subsequent key presses.
.filter(
modifier =>
altKey ||
(modifier !== modifiers["AltLeft"] && modifier !== modifiers["AltRight"]),
(modifier !== modifiers["AltLeft"]),
)
// Meta: Keep if Meta is pressed or if the key isn't a Meta key
// Example: If metaKey is true, keep all modifiers

View File

@ -1,6 +1,6 @@
// Key codes and modifiers correspond to definitions in the
// [Linux USB HID gadget driver](https://www.kernel.org/doc/Documentation/usb/gadget_hid.txt)
export const keys = {
AltLeft: 0xe2,
AltRight: 0xe6,
ArrowDown: 0x51,
ArrowLeft: 0x50,
ArrowRight: 0x4f,