Rejestrator Zdarzeń Klawiatury.
Panel diagnostyczny pokazujący surowe zdarzenia klawiatury z przeglądarki. Przydatny dla programistów debugujących obsługę zdarzeń lub sprawdzających konkretne właściwości klawiszy.
Zdarzenia w Czasie Rzeczywistym
| Zdarzenie | Key | Code | KeyCode | Location | Modyfikatory | Znacznik Czasu |
|---|---|---|---|---|---|---|
| Nie zarejestrowano jeszcze żadnych zdarzeń klawiatury. Ustaw fokus na celu przechwytywania i naciśnij kilka klawiszy. | ||||||
Sprawdź to, zanim zaczniesz rejestrować
- Ustaw fokus na polu przechwytywaniaKliknij je lub najpierw naciśnij Tab — żadne zdarzenia nie są rejestrowane, dopóki nie ma na nim fokusu.
- Czyść log między testamiZresetuj log przed każdym nowym klawiszem, aby sprawdzanie zdublowanych zdarzeń pozostało czytelne.
- Obserwuj znaczniki czasuDwa zdarzenia keydown oddzielone milisekundami od jednego stuknięcia wskazują na chattujący przełącznik, a nie na pomyłkę.
Jak działa rejestrator zdarzeń
- 1
Ustaw fokus na obszarze przechwytywania. Kliknij pole powyżej lub naciśnij Tab, aby je aktywować. Tekst statusu zmieni się, pokazując, że nasłuchuje zdarzeń klawiatury.
- 2
Naciskaj dowolne klawisze. Każde zdarzenie keydown i keyup jest logowane wraz z jego surowymi właściwościami — key, code, keyCode, location, modyfikatorami i znacznikiem czasu. Tabela aktualizuje się w czasie rzeczywistym, a nowe zdarzenia pojawiają się na górze.
- 3
Zarządzaj swoim logiem. Użyj przycisku „Wyczyść Logi”, aby zresetować tabelę, lub „Eksportuj jako CSV”, aby pobrać wszystkie zdarzenia do analizy w arkuszu kalkulacyjnym lub narzędziu do debugowania.
Zrozumienie właściwości zdarzeń klawiatury
key to rzeczywisty znak wytwarzany przez klawisz (np. "a", "A", "1"). Zmienia się w zależności od układu klawiatury i tego, czy aktywne są modyfikatory (Shift, Alt). Na francuskiej klawiaturze AZERTY skrajnie lewy klawisz literowy wytwarza "a" zamiast "q".
code to fizyczny klawisz, niezależny od układu (np. "KeyA", "Digit1", "Enter"). Naciśnięcie tego samego fizycznego klawisza zawsze zwraca ten sam kod, niezależnie od układu czy modyfikatorów.
keyCode to przestarzały kod numeryczny (np. 65 dla A) sprzed czasów nowoczesnych właściwości key i code. Jest teraz uznawany za przestarzały, ponieważ był niespójny między przeglądarkami i niewiarygodny dla klawiatur międzynarodowych oraz klawiszy specjalnych. Zamiast tego używaj code lub key.
location rozróżnia zduplikowane klawisze na Twojej klawiaturze. Standardowe klawisze raportują location 0; lewe modyfikatory (Shift, Ctrl, Alt) raportują 1; prawe modyfikatory raportują 2; klawisze numpada raportują 3. Rejestrator wyświetla je jako przyjazne etykiety: „Standardowy”, „Lewy (Mod)”, „Prawy (Mod)”, „Numpad”.
Flagi modyfikatorów to właściwości logiczne — ctrlKey, shiftKey, altKey, metaKey — które wskazują, czy podczas zdarzenia był przytrzymany Ctrl, Shift, Alt lub Command/Windows. Łączą się swobodnie: naciśnięcie Ctrl+Shift+A ustawia zarówno ctrlKey, jak i shiftKey na true.
repeat ma wartość true, gdy przytrzymany klawisz wyzwala powtarzające się zdarzenia keydown (auto-powtarzanie). Pierwsze zdarzenie keydown ma repeat: false; jeśli przytrzymasz klawisz, kolejne zdarzenia keydown mają repeat: true. Ten rejestrator wyświetla tylko keydown i keyup, więc możesz wypatrzyć powtarzające się klawisze, obserwując skupione, identyczne wpisy.
Dla kogo jest rejestrator zdarzeń
Debugowanie obsługi klawiszy
Programiści webowi tworzący niestandardowe interakcje klawiaturowe mogą zobaczyć dokładnie, które zdarzenia się wyzwalają i w jakiej kolejności, oraz sprawdzić pełne właściwości obiektu zdarzenia, aby upewnić się, że obsługa poprawnie reaguje na klawisze naciskane przez użytkowników.
Wykrywanie chatteru klawiszy
Uszkodzony przełącznik czasem rejestruje dwa zdarzenia keydown z jednego naciśnięcia (chatter). Obserwuj znaczniki czasu, aby wypatrzyć szybkie duplikaty i przypisać je do jednego fizycznego klawisza — oznaka zużycia sprzętu lub przełącznika wymagającego uwagi.
Identyfikowanie nieznanych klawiszy
Znalazłeś klawisz na swojej klawiaturze z nieznaną etykietą lub symbolem multimedialnym? Naciśnij go tutaj i odczytaj jego właściwości code i key, aby zrozumieć, jakie zdarzenie wywołuje, lub aby zmapować go w swojej aplikacji czy zestawie gamingowym.
Weryfikacja remapowania i modyfikatorów
Testuj oprogramowanie do remapowania klawiatury lub bindowanie klawiszy na poziomie systemu, logując zdarzenia i potwierdzając, że naciśnięte klawisze wytwarzają oczekiwane kombinacje code i modyfikatorów. Sprawdź, czy AltGr i inne międzynarodowe modyfikatory rejestrują się poprawnie.
Słownik zdarzeń klawiatury
key- Znak wytwarzany przez naciśnięcie klawisza, zależny od układu klawiatury i modyfikatorów — np. „a”, „A”, „1”, „!”, „é”.
code- Fizyczne położenie klawisza, niezależne od układu — np. „KeyA”, „Digit1”, „Enter”, „Space”, zawsze takie samo niezależnie od układu czy modyfikatorów.
keyCode(przestarzałe)- Przestarzały kod numeryczny (np. 65 dla A). Nie używaj w nowym kodzie — jest niespójny między przeglądarkami i nie działa wiarygodnie z klawiaturami międzynarodowymi.
location- Fizyczna pozycja klawisza: 0 = standardowy, 1 = lewy modyfikator, 2 = prawy modyfikator, 3 = numpad. Rozróżnia lewy Shift od prawego Shift oraz klawisze numpada od zwykłych klawiszy.
repeat- Flaga logiczna, która ma wartość true, gdy przytrzymany klawisz wyzwala powtarzające się zdarzenie keydown (auto-powtarzanie). Pierwsze keydown ma wartość false; kolejne są true, jeśli klawisz pozostaje wciśnięty.
- Flagi modyfikatorów (
ctrlKey,shiftKey,altKey,metaKey) - Flagi logiczne wskazujące, czy podczas zdarzenia przytrzymano Ctrl, Shift, Alt lub Command/Windows. Wiele flag może być jednocześnie true w przypadku kombinacji klawiszy.
FAQ rejestratora zdarzeń klawiatury
Jaka jest różnica między key a code?
key to rzeczywisty znak wytwarzany przez klawiaturę (np. 'a', 'A', '1', '!'), który zależy od układu klawiatury i tego, czy przytrzymane są modyfikatory, takie jak Shift. code to fizyczne położenie klawisza (np. 'KeyA', 'Digit1'), niezależne od układu i modyfikatorów — naciśnięcie tego samego fizycznego klawisza w różnych regionach zawsze zwraca ten sam code. W przypadku klawiatur międzynarodowych code pozostaje stały, podczas gdy key się zmienia.
Czym jest keyCode i dlaczego jest przestarzały?
keyCode to przestarzały kod numeryczny przypisany do każdego klawisza (np. 65 dla klawisza A). Był używany przed nowoczesnymi właściwościami key i code i jest uznawany za przestarzały, ponieważ był niespójny między przeglądarkami i nie działał wiarygodnie z klawiaturami międzynarodowymi ani klawiszami specjalnymi. Zamiast tego używaj code dla fizycznego położenia klawisza i key dla wytwarzanego znaku.
Jak wykryć chatter klawisza (klawisz, który rejestruje się dwukrotnie)?
Chatter klawisza występuje, gdy pojedyncze naciśnięcie wytwarza dwa lub więcej zdarzeń keydown bez pośredniego keyup. Sprawdź w rejestratorze szybkie zduplikowane wpisy keydown z tym samym code i bardzo małą różnicą czasu (zwykle poniżej 50ms). Jeśli klawisz konsekwentnie chattuje, może to być problem sprzętowy tego przełącznika. Niektóre klawiatury lub sterowniki można skonfigurować do debounce'owania; skonsultuj firmware lub oprogramowanie swojej klawiatury.
Czy rejestrator zapisuje lub przesyła moje naciśnięcia klawiszy?
Nie. Całe logowanie odbywa się wyłącznie w Twojej przeglądarce. Nic, co wpisujesz, nie jest wysyłane na serwer, przesyłane, przechowywane ani logowane nigdzie poza Twoim urządzeniem. Odświeżenie strony całkowicie czyści log. Ten rejestrator jest narzędziem diagnostycznym dla programistów — Twoja prywatność i dane nie są przesyłane.
Dlaczego niektóre klawisze — takie jak Fn czy klawisze multimedialne — nie pojawiają się w dzienniku?
Klawisze takie jak Fn oraz wiele dedykowanych klawiszy multimediów, głośności czy jasności są obsługiwane przez oprogramowanie układowe klawiatury lub system operacyjny, zanim przeglądarka w ogóle zobaczy zdarzenie — nie ma więc czego rejestrować. To normalne, a nie usterka. Standardowy klawisz, który nadal nie generuje tu zdarzenia keydown — mimo że kliknąłeś pole przechwytywania, aby je aktywować — wskazuje raczej na uszkodzony przełącznik lub przerwane połączenie.