Improve description

This commit is contained in:
Daniel Lorch 2025-05-03 23:29:01 +02:00
parent 0c7d5aae4c
commit f808d2692b
1 changed files with 12 additions and 6 deletions

View File

@ -332,12 +332,18 @@ export default function WebRTCVideo() {
// Example: If altKey is true, keep all modifiers // Example: If altKey is true, keep all modifiers
// If altKey is false, filter out 0x04 (AltLeft) // If altKey is false, filter out 0x04 (AltLeft)
// //
// Special case: Despite the Alt-Gr key being pressed, `altKey' on // But intentionally do not filter out 0x40 (AltRight) to enable Alt Gr (Alt Graph)
// the event `e' is set to `false'. This means we cannot detect if Alt-Gr // as a modifier. The altKey attribute is not set on key combinations involving the
// is being pressed while the user e.g. presses the `2' key. Instead, we // Alt Gr key, which means the modifier would otherwise unintentionally disappear
// we need to rely on keyUpHandler/keyDownHandler to toggle the state // from the filteredModifiers list.
// 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. // For example, the KeyboardEvent for Alt Gr + 2 has the following structure:
// - altKey: false
// - code: "Digit2"
// - type: ["keydown" | "keyup"]
//
// Adding and removing 0x40 (AltRight) from and to the list of active modifiers is
// taken care of by the respective logic in the keyUpHandler an keyDownHandler.
.filter( .filter(
modifier => modifier =>
altKey || altKey ||