Obserwacja to nie pełna diagnoza
Zdarzenia, które dotarły do strony
Przeglądarka otrzymuje keydown i keyup. Fizyczne code nie zmienia się wraz z językiem klawiatury, podczas gdy key opisuje wartość w konkretnym układzie. Numpad oraz lewy i prawy modyfikator mogą mieć inną lokalizację.
Fn i skróty zarezerwowane
Fn często działa w urządzeniu i nie jest samodzielnym zdarzeniem dla strony. System lub przeglądarka mogą przejąć skrót, np. do paska adresu. Nie blokujemy tych działań. Po utracie fokusu kończymy zbieranie i opróżniamy stan przytrzymanych; zachowujemy już zgromadzone obserwacje.
Powtarzanie i szybkie wpisy
System może powtarzać znak przy trzymaniu klawisza. Oznaczenie repeat pokazujemy oddzielnie. Szybkie ponowne zdarzenie może mieć różne przyczyny; nie nazywamy samego odstępu czasowego uszkodzonym przełącznikiem.
Metoda próby pisania
Możesz przepisać jeden z trzech gotowych tekstów albo własny tekst 20-3000 znaków po NFC. Źródło oraz wpis porównujemy po NFC i zamianie CRLF/CR na LF. Spacje, wiersze i znaki spoza BMP są liczone jako punkty kodowe. Trafność jest pozycyjna: wstawienie dodatkowego znaku może przesunąć dalsze pozycje. Czas rusza przy pierwszym wpisaniu, a wynik kończymy po zatwierdzeniu kompozycji, po ręcznym zatrzymaniu lub utracie fokusu okna. Nie mierzymy samodzielnie trudności tekstu, więc wyniki różnych fragmentów nie są rankingiem.
Wniosek z wybranej kombinacji
Możesz sprawdzić jeden z czterech zestawów albo wybrać własne 2-10 fizycznych kodów z listy. Lewy i prawy modyfikator oraz numpad są odrębne. Podczas zaznaczania nie zbieramy klawiszy. Odpowiedź „tak” w raporcie znaczy, że podczas aktywnej próby strona choć raz miała wszystkie oczekiwane kody przytrzymane razem. Odpowiedź „nie” oznacza brak takiej obserwacji w tej próbie, bez wskazania przyczyny.
Start nowej próby lub zmiana aktywnego zestawu usuwa wcześniejsze obserwacje i raport. Dodatkowe odebrane klawisze pozostają w tabeli, a odpowiedź o wspólnym przytrzymaniu dotyczy tylko oczekiwanych kodów. Utrata fokusu kończy zbieranie, zwalnia przytrzymane kody oraz zachowuje już otrzymane obserwacje tego zestawu. Raport można pobrać po zatrzymaniu; nie jest wynikiem próby wszystkich możliwych kombinacji. Powtarzanie systemowe tego samego kodu nie dodaje nowego klawisza.
Czego nie obiecujemy
Nie mierzymy fizycznego opóźnienia od urządzenia ani częstotliwości odpytywania USB. Liczba odebranych naraz klawiszy nie jest certyfikatem wszystkich kombinacji NKRO. Dotknięcie ekranu lub wpisanie klawiaturą ekranową nie stanowi dowodu działania fizycznego klawisza.
Źródło metody: MDN KeyboardEvent. Obsługa zależy od systemu, przeglądarki i urządzenia.