Czy istnieje powód do wyłączenia N-Key Rollover?

20

Czytając o funkcjach klawiatury Das , widzę:

Gracze i szybcy maszyniści z przyjemnością usłyszą, że Das Keyboard 4 obsługuje pełne n-key rollover (NKRO) przez USB. Nie musisz już używać adaptera PS2. Wystarczy nacisnąć Shift + Mute, aby przełączyć NKRO.

Dlaczego klawiatura ma możliwość przełączania NKRO? Czy jest jakiś powód, dla którego nie chcesz NKRO?

Will Eddins
źródło

Odpowiedzi:

15

Wydaje się, że powodem jest starsza obsługa płyt głównych.

Skontaktowałem się z Das Keyboard i to była odpowiedź, którą dali:

Dziękujemy za poświęcenie czasu na skontaktowanie się z nami.

Powodem przełączania NKRO jest to, że niektóre starsze płyty główne nie „rozumieją” ani „nie dostają” NKRO przez USB. Jest to nieco bardziej skomplikowane, ale jest to najprostszy sposób - aby użytkownicy ze starszymi płytami głównymi mogli bez problemu korzystać z klawiatury przez USB. Oczywiście mogliby użyć adaptera PS / 2, aby osiągnąć NKRO, ale ponieważ obecnie światem jest USB, nie wszyscy mieliby dostęp do portu PS / 2 na swoim komputerze.

Will Eddins
źródło
4

Oprócz starych płyt głównych większość przełączników KVM nie będzie działać z klawiaturami NKRO.

Prashanth Chandra
źródło
0

Długa dyskusja na https://geekhack.org/index.php?topic=37567.0 na temat technicznych przyczyn, dla których NKRO czasami powoduje problemy. TLDR tej dyskusji to:

  • NKRO najprawdopodobniej spowoduje problemy z BIOSami i przełącznikami KVM. Problemy te są spowodowane raczej środkami obniżającymi koszty niż nieodłącznym elementem NKRO.
  • 6KRO nadaje się do każdego zwykłego użytku, w tym do większości gier.

Najbardziej pouczający komentarz w tym wątku dyskusyjnym to:

Standardy USB nie mówią nic konkretnego o klawiaturach, myszach itp., W żadnej wersji.

Jest to standard HID. Struktura raportu z 6 klawiszami i modyfikatorami miała naprawdę ułatwić życie BIOS-owi (więc nie musieli analizować deskryptorów raportów), ale stała się de facto „standardem” dla klawiatur. Jednak standard HID pozwala na różnego rodzaju raporty, a wszystkie główne systemy operacyjne w pełni go obsługują, więc nie ma potrzeby stosowania dodatkowych sterowników.

Drugim ograniczeniem jest to, że pakiet danych USB o niskiej prędkości może mieć maksymalnie 8 bajtów. Raport może być większy, ale wysyłanie go zajmuje dużo czasu. Standard USB pozwala tylko urządzeniu o niskiej prędkości wysyłać jeden pakiet co 10 ms (na punkt końcowy). System operacyjny zwykle przesuwa to do 8 ms, tj. 125 Hz (bez włamań). Poświęcenie klawisza hostowi do 16 ms byłoby badziewiem! Mamy więc fazę, w której twórcy próbują wydobyć więcej z układów o niskiej prędkości, niż są w stanie naprawdę obsłużyć, dzięki sztuczkom takim jak wiele punktów końcowych itp .:

Szybki port USB uwalnia te ograniczenia. Każdy pakiet może mieć 64 bajty i może być wysyłany co 1 ms (ponownie, na punkt końcowy). Pozwala to na pełne wykorzystanie standardu HID.

Wreszcie, NKRO nie jest zrobione tylko ze względu na to. Wykonanie pełnego NKRO wymaga tylko jednego bitu na klucz, a nie jednego bajtu, i nie musi traktować modyfikatorów jako specjalnego przypadku. Tak więc klawiatura może wysyłać np. 104 klucze w zaledwie 13 bajtach - przy użyciu innego schematu 13 bajtów poradziłoby sobie tylko z 11KRO (11 klawiszy + modyfikatory + jeden zarezerwowany bajt). Jasne, to wciąż mnóstwo kluczy, ale jest to metoda o wiele mniej elegancka (i wciąż „nie-6KRO”, więc nadal może być niekompatybilna z głupimi hostami).

Anonimowy Tchórz
źródło