Ghosting klawiatury i N-key rollover: wyjaśnienie
Ghosting klawiatury to sytuacja, w której wciśnięty klawisz nie zostaje zarejestrowany, bo trzymasz już wciśnięte inne klawisze. W grze może to oznaczać, że nie da się jednocześnie biec po skosie i skakać. Ten poradnik wyjaśnia, skąd bierze się ghosting klawiatury, co oznaczają N-key rollover i 6-key rollover, jak samodzielnie zrobić test ghostingu klawiatury i co naprawdę obiecuje napis „anti-ghosting” na pudełku.
Co to jest ghosting klawiatury?
Microsoft, który badał ten problem przy projektowaniu klawiatury SideWinder X4, opisuje ghosting jako „problem polegający na tym, że niektóre klawisze klawiatury nie działają, gdy kilka klawiszy jest wciśniętych jednocześnie”. Przykład zna każdy gracz: nie da się jednocześnie biec po skosie i strzelać, na przykład wciskając razem A, W i G.
Te pojęcia są używane dość swobodnie. Ściśle mówiąc, chodzi o dwie różne usterki:
| Usterka | Co się dzieje |
|---|---|
| Ghosting | Zgłasza dodatkowy, niewciśnięty klawisz |
| Jamming (blokowanie) | Ignoruje klawisz, który wciskasz |
Wikipedia wyjaśnia, że nowoczesne klawiatury wykrywają warunki, które stworzyłyby klawisz widmo, i zamiast go zgłosić, ignorują trzeci klawisz. To jest jamming, ale większość ludzi, a także większość pudełek klawiatur, nazywa to ghostingiem.
Dlaczego klawiatury mają ghosting
Większość klawiatur nie ma osobnego połączenia dla każdego klawisza. Microsoft opisuje typową konstrukcję: pod klawiszami leżą folie z nadrukowaną siatką ścieżek w wierszach i kolumnach, a wciśnięcie klawisza łączy jeden wiersz z jedną kolumną. Na podstawie tego połączenia klawiatura ustala, który klawisz wcisnąłeś.
Przy dwóch wciśniętych klawiszach nie ma pomyłki. Przy trzech klawiszach w trzech rogach prostokąta na siatce prąd może popłynąć także przez czwarty róg, a klawiatura nie jest w stanie stwierdzić, czy ten czwarty klawisz jest wciśnięty. Według Microsoftu typowa klawiatura wtedy „przestaje zgłaszać nowe naciśnięcia, aby nie zgłosić niewłaściwych klawiszy”.
Rozwiązaniem jest dioda przy każdym klawiszu, dzięki której prąd może płynąć tylko w jedną stronę. Microsoft zaznacza, że wymaga to płytki drukowanej z ponad setką diod, co „jest stosunkowo drogie”. Tańsze klawiatury układają ścieżki tak, aby działały popularne kombinacje w grach, ale jak ujmuje to Microsoft, przenosi to problem jedynie „na inne zestawy klawiszy, gdzie użytkownik ma mniejszą szansę go zauważyć”.
Trzy przyczyny
Microsoft wymienia trzy miejsca, w których mogą zginąć jednocześnie wciśnięte klawisze:
- Elektronika klawiatury nie potrafi rozpoznać, które klawisze są wciśnięte.
- Połączenie między klawiaturą a komputerem ogranicza liczbę klawiszy, które można zgłosić.
- Oprogramowanie komputera nie obsługuje wielu klawiszy naraz, nawet gdy klawiatura zgłasza je poprawnie.
N-key rollover i 6-key rollover
Rollover określa, ile klawiszy klawiatura może zarejestrować jednocześnie.
- 2-key rollover: dowolne dwa klawisze działają razem, ale trzeci może nie zadziałać.
- 6-key rollover (6KRO): do sześciu zwykłych klawiszy plus klawisze modyfikujące.
- N-key rollover (NKRO): Wikipedia definiuje to jako klawiaturę, która „potrafi poprawnie wykryć sygnał z każdego klawisza na klawiaturze jednocześnie, niezależnie od tego, ile innych klawiszy jest również wciśniętych.”
Skąd się bierze limit sześciu klawiszy
Klawiatury USB mogą komunikować się z komputerem na dwa sposoby. Wikipedia wyjaśnia, że prosty protokół rozruchowy (boot protocol), używany na przykład przez BIOS komputera, jest ograniczony do ośmiu klawiszy modyfikujących plus maksymalnie sześciu kodów klawiszy. Systemy operacyjne korzystają z pełniejszego protokołu raportów (report protocol), który „nie nakłada żadnych ograniczeń i obsługuje pełny n-key rollover”. Haczyk polega na tym, że specyfikacja nie wymaga od klawiatury obsługi większej liczby klawiszy, więc niektóre tanie klawiatury i tak zachowują limit sześciu klawiszy.
Niektórzy producenci nadal podają limit sześciu klawiszy dla swoich klawiatur USB, więc sprawdź specyfikację swojego modelu. Microsoft zauważa też, że klawiatury, które przekraczają sześć klawiszy dzięki własnej metodzie zgłaszania, mogą nie działać w pełni przed załadowaniem systemu operacyjnego, na przykład w BIOS.
Czy „anti-ghosting” to to samo co NKRO?
Niekoniecznie. Microsoft ostrzega, że klawiatura reklamowana jako anti-ghosting „może oznaczać jedynie, że określony podzbiór klawiszy na klawiaturze dobrze ze sobą współpracuje”, a obietnice „do” dużej liczby klawiszy mogą ukrywać wiele niedziałających kombinacji trzech klawiszy. Wikipedia dodaje, że niektóre klawiatury gamingowe mają osobne diody tylko przy najczęściej używanych klawiszach w grach, takich jak WASD i strzałki.
Sam typ przełącznika też o tym nie przesądza. Cherry podaje, że osobne przełączniki klawiatur mechanicznych zapobiegają ghostingowi, ale rollover zależy od tego, jak klawiatura jest okablowana i jak jej kontroler zgłasza klawisze. Zamiast zakładać, sprawdź specyfikację rollover dokładnie tego modelu. Pozostałe różnice opisuje nasz poradnik klawiatura mechaniczna czy membranowa.
Jak zrobić test ghostingu klawiatury
Rada samego Microsoftu, jak znaleźć problematyczne kombinacje:
- Przytrzymaj A, S, D i W, czyli typowe klawisze ruchu w grach.
- Trzymając je, wciskaj po kolei wszystkie pozostałe klawisze.
- Jeśli któryś klawisz nie zostanie zarejestrowany, puść część z czterech klawiszy i spróbuj ponownie. Często znajdziesz kombinację trzech klawiszy, która nie działa.
Microsoft zwraca też uwagę, że znalezienie jednej działającej kombinacji sześciu klawiszy „nie musi oznaczać, że działa każda kombinacja 6”. Testuj kombinacje, których naprawdę używasz, na przykład ruch plus skok, kucanie i przeładowanie.
Co test w przeglądarce może pokazać, a czego nie
Rejestrowanie naciśnięć możesz obserwować na każdej stronie, która je wyświetla, w tym w internetowej demonstracji ghostingu klawiatury od Microsoftu. Przeglądarka widzi tylko to, co zgłosiła klawiatura i przekazał system operacyjny, więc niektóre klawisze nigdy nie docierają do strony internetowej:
- W systemie Windows przeglądarki zwykle nie wykrywają klawisza Print Screen.
- Klawisz Windows przenosi fokus do menu Start.
- MDN podaje, że w macOS Caps Lock wysyła tylko zdarzenie keydown, a macOS nie obsługuje Num Lock.
- Czytniki ekranu mogą przechwytywać naciśnięcia klawiszy, dlatego Microsoft radzi wyłączyć je na czas testu.
- Klawisze takie jak Fn są często obsługiwane wewnątrz klawiatury i mogą w ogóle się nie pojawić.
Jeśli chcesz sprawdzić szybkość zamiast kombinacji, nasz test KPS liczy, ile klawiszy wciskasz na sekundę.
Co zrobić z ghostingiem
- Zmień przypisanie klawiszy. Przenieś akcję, która nie działa, na klawisz spoza problematycznej grupy.
- Poszukaj trybu NKRO lub trybu gamingowego. Niektóre klawiatury gamingowe pozwalają przełączać się między 6KRO a NKRO w swoim oprogramowaniu albo kombinacją klawiszy. Sprawdź instrukcję swojego modelu.
- Wypróbuj inny port USB lub kabel, jeśli klawiatura, która powinna obsługiwać NKRO, zachowuje się jak 6KRO, i zaktualizuj firmware lub oprogramowanie klawiatury.
- Kupuj według specyfikacji. Jeśli grasz w gry wymagające wielu klawiszy naraz, szukaj pełnego NKRO podanego dla danego modelu, a nie tylko „anti-ghosting”.
Najczęściej zadawane pytania
Co to jest ghosting klawiatury?
To sytuacja, w której naciśnięcie nie zostaje zarejestrowane albo pojawia się klawisz, którego nie wcisnąłeś, bo trzymasz kilka klawiszy naraz. Wynika to ze sposobu, w jaki większość klawiatur łączy klawisze we wspólną siatkę.
Czym różni się ghosting od jammingu?
Ściśle mówiąc, ghosting to dodatkowy klawisz widmo, a jamming to prawdziwy klawisz, który zostaje zignorowany. Nowoczesne klawiatury zwykle blokują klawisze zamiast generować ghosting, ale oba zjawiska powszechnie nazywa się ghostingiem.
Co oznacza N-key rollover?
NKRO oznacza, że klawiatura może zarejestrować każdy klawisz jednocześnie, bez względu na to, ile jest wciśniętych. 6-key rollover oznacza do sześciu zwykłych klawiszy plus modyfikatory.
Czy anti-ghosting oznacza NKRO?
Nie zawsze. Microsoft ostrzega, że anti-ghosting może obejmować tylko zestaw klawiszy, które dobrze ze sobą współpracują. Szukaj podanej wartości rollover, na przykład NKRO, dla dokładnie tego modelu.
Jak sprawdzić, czy moja klawiatura ma ghosting?
Przytrzymaj W, A, S i D, a potem wciskaj po kolei wszystkie pozostałe klawisze i obserwuj na wyświetlaczu klawiszy, które z nich nie zostają zarejestrowane. Następnie przetestuj dokładnie te kombinacje, których używasz w grach.
Czy wszystkie klawiatury mechaniczne mają NKRO?
Nie. Rollover zależy od okablowania i kontrolera klawiatury, a nie tylko od przełączników. Sprawdź specyfikację modelu.