Apakah ada alasan untuk menonaktifkan N-Key Rollover?

20

Membaca fitur Das Keyboard , saya melihat yang berikut:

Gamer dan pengetik cepat akan senang mendengar bahwa Das Keyboard 4 mendukung rollover n-key penuh (NKRO) melalui USB. Tidak perlu menggunakan adaptor PS2 lagi. Cukup tekan shift + mute untuk beralih NKRO.

Mengapa keyboard memiliki kemampuan untuk beralih NKRO? Apakah ada alasan mengapa Anda tidak ingin NKRO?

Will Eddins
sumber

Jawaban:

15

Alasannya tampaknya karena dukungan motherboard yang lebih lama.

Saya menghubungi Das Keyboard, dan ini adalah respons yang mereka berikan:

Terima kasih telah meluangkan waktu untuk menghubungi kami.

Alasan untuk beralih NKRO adalah karena beberapa motherboard yang lebih tua tidak "mengerti" atau "mendapatkan" NKRO melalui USB. Ini sedikit lebih rumit dari itu, tapi itu cara paling sederhana untuk menjelaskannya - sehingga pengguna dengan motherboard yang lebih tua dapat menggunakan keyboard melalui USB tanpa masalah. Tentu saja, mereka dapat menggunakan adaptor PS / 2 untuk mencapai NKRO, tetapi karena dunia sekarang adalah semua tentang USB, tidak semua orang akan memiliki akses ke port PS / 2 pada mesin mereka.

Will Eddins
sumber
4

Selain dari motherboard lama, sebagian besar switch KVM tidak akan berfungsi dengan keyboard NKRO.

Prashanth Chandra
sumber
0

Ada diskusi panjang di https://geekhack.org/index.php?topic=37567.0 tentang alasan teknis mengapa NKRO terkadang menyebabkan masalah. TLDR dari diskusi ini adalah:

  • NKRO kemungkinan besar menyebabkan masalah dengan BIOS dan sakelar KVM. Masalah-masalah ini disebabkan oleh langkah-langkah pemotongan biaya daripada menjadi melekat pada NKRO.
  • 6KRO baik untuk penggunaan biasa, termasuk kebanyakan game.

Komentar yang paling mencerahkan dalam utas diskusi itu adalah sebagai berikut:

Standar USB tidak mengatakan sesuatu yang spesifik tentang keyboard atau mouse dll, dalam versi apa pun.

Standar HID yang melakukannya. Struktur laporan 6-key plus modifiers hanya benar-benar dimaksudkan untuk memudahkan BIOS (sehingga mereka tidak perlu menguraikan deskriptor laporan), tetapi menjadi 'standar' de-facto untuk keyboard apa pun. Namun, standar HID memungkinkan untuk semua jenis laporan yang berbeda, dan semua OS utama mendukung sepenuhnya, sehingga tidak perlu driver tambahan.

Keterbatasan lainnya adalah bahwa paket data USB kecepatan rendah hanya bisa maksimum 8 byte. Laporan dapat menjadi lebih besar, tetapi itu mulai memakan banyak waktu untuk mengirim. Standar USB hanya memungkinkan perangkat kecepatan rendah untuk mengirim satu paket setiap 10 ms (per titik akhir). OS biasanya mendorong hingga 8ms, yaitu 125Hz (tanpa peretasan). Membutuhkan waktu hingga 16ms untuk mendapatkan penekanan tombol ke host adalah omong kosong! Jadi kami memiliki fase pembuat mencoba untuk mendapatkan lebih banyak dari chip berkecepatan rendah daripada yang benar-benar dapat mereka tangani, dengan trik seperti beberapa titik akhir dll :(

USB berkecepatan penuh membebaskan batasan-batasan itu. Setiap paket dapat 64 byte, dan dapat dikirim setiap 1ms (sekali lagi, per titik akhir). Ini memungkinkan standar HID digunakan untuk efek penuhnya.

Akhirnya, NKRO tidak dilakukan hanya untuk kepentingan itu. Melakukan NKRO penuh hanya membutuhkan satu bit per kunci, bukan satu byte, dan tidak harus memperlakukan pengubah sebagai case khusus. Jadi keyboard dapat mengirim mis 104 kunci hanya dalam 13 byte - menggunakan skema lain 13 byte hanya akan mengelola 11KRO (11 tombol + pengubah + satu byte yang dipesan). Tentu, itu masih banyak kunci, tetapi metode yang jauh lebih elegan (dan masih 'tidak-6KRO', jadi masih bisa tidak kompatibel dengan host bodoh).

Pengecut Anonim
sumber