C'è una ragione per disabilitare N-Key Rollover?


20

Leggendo sulle caratteristiche di una tastiera Das , vedo il seguente:

I giocatori e i dattilografi veloci adoreranno sapere che Das Keyboard 4 supporta il rollover full-key (NKRO) su USB. Non c'è bisogno di utilizzare più di un adattatore PS2. Basta premere Shift + Mute per attivare o disattivare NKRO.

Perché la tastiera ha la possibilità di attivare o disattivare NKRO? C'è qualche motivo per cui si dovrebbe non vuole NKRO?

Risposte:


15

Il motivo sembra essere per il supporto della scheda madre più vecchia.

Ho contattato Das Keyboard, e questa è stata la risposta che ha dato:

Grazie per il tempo dedicato a contattarci.

Il motivo della commutazione di NKRO è perché alcune schede madri più vecchie non "capiscono" o "ottengono" NKRO su USB. È un po 'più complicato di così, ma questo è il modo più semplice per mettere - in modo che gli utenti con schede madri più vecchie possono utilizzare la tastiera USB senza problemi. Naturalmente, si potrebbe utilizzare un adattatore PS / 2 per ottenere NKRO, ma dal momento che il mondo è tutto su USB al giorno d'oggi, non tutti avrebbero accesso ad una porta PS / 2 sulla loro macchina.



0

C'è una lunga discussione al https://geekhack.org/index.php?topic=37567.0 circa i motivi tecnici per cui NKRO volte causa problemi. Il TLDR di questa discussione è:

  • NKRO è più probabile che causare problemi con BIOS e switch KVM. Questi problemi sono causati da misure di riduzione dei costi piuttosto che essere inerente NKRO.
  • 6KRO va bene per qualsiasi uso comune, tra cui la maggior parte dei giochi.

Il commento più illuminante in questo thread di discussione è il seguente:

Gli standard USB non dicono specifica nulla su tastiere o mouse, ecc, in qualsiasi versione.

E 'lo standard HID che fa. La struttura del report dei modificatori plus a 6 tasti aveva lo scopo di semplificare la vita del BIOS (quindi non era necessario analizzare i descrittori dei report), ma è diventata di fatto uno "standard" per le tastiere. Tuttavia, lo standard HID consente a tutti i tipi di diversi rapporti, e tutti i principali supporto di sistemi operativi pienamente, quindi non c'è bisogno di driver aggiuntivi.

L'altra limitazione è che un pacchetto di dati USB a bassa velocità può contenere solo un massimo di 8 byte. Un report può essere più grande, ma che inizia a prendere una notevole quantità di tempo per inviare. Lo standard USB consente a un dispositivo a bassa velocità di inviare un pacchetto ogni 10 ms (per endpoint). OS trilli in genere che fino a 8 ms, cioè 125Hz (senza hack). Prendendo fino a 16 ms per ottenere pressione di un tasto per l'host sarebbe merda! Così abbiamo avuto una fase di produttori che cercano di ottenere di più dal chip a bassa velocità di quello che può veramente gestire, con trucchi come più endpoint ecc :(

frees USB full-speed up tali limitazioni. Ogni pacchetto può essere di 64 byte, e può essere inviato ogni 1ms (di nuovo, per endpoint). In questo modo lo standard HID ad essere utilizzato per il suo pieno effetto.

Infine, NKRO non è fatto solo per il gusto di farlo. Facendo pieno NKRO richiede solo un bit per chiave, piuttosto che un byte, e non deve modificatori trattare come un caso speciale. Quindi una tastiera può inviare ad esempio 104 tasti in soli 13 byte - usando l'altro schema 13 byte gestirà solo 11KRO (11 tasti + modificatori + un byte riservato). Certo, è ancora un sacco di chiavi, ma è un metodo molto meno elegante (e ancora 'non-6KRO', quindi potrebbe essere ancora incompatibile con gli host stupidi).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.