19

Читая о функциях Das Keyboard, я вижу следующее:

Геймеры и быстрые машинистки будут рады услышать, что Das Keyboard 4 поддерживает полноценную N-Key Rollover (NKRO) через USB. Больше не нужно использовать адаптер PS2. Просто нажмите shift + mute, чтобы переключить NKRO.

Почему на клавиатуре есть возможность переключать NKRO? Есть ли причина, по которой вы не захотите НКРО?

3 ответа3

14

Причина, по-видимому, заключается в поддержке старых материнских плат.

Я связался с Das Keyboard, и это был ответ, который они дали:

Спасибо, что нашли время связаться с нами.

Причина переключения NKRO заключается в том, что некоторые старые материнские платы не "понимают" и "не получают" NKRO через USB. Это немного сложнее, чем это, но это самый простой способ выразиться - чтобы пользователи с более старыми материнскими платами могли без проблем использовать клавиатуру через USB. Конечно, они могли бы использовать адаптер PS/2 для достижения NKRO, но, поскольку в настоящее время мир полностью посвящен USB, не у всех будет доступ к порту PS/2 на их компьютере.

4

Помимо старых материнских плат, большинство KVM-переключателей не будут работать с клавиатурами NKRO.

0

На https://geekhack.org/index.php?topic=37567.0 ведется длительное обсуждение технических причин, по которым NKRO иногда вызывает проблемы. TLDR этого обсуждения:

  • NKRO, скорее всего, вызовет проблемы с BIOS и KVM-переключателями. Эти проблемы вызваны мерами по сокращению расходов, а не присущи НКРО.
  • 6KRO подходит для любого обычного использования, включая большинство игр.

Наиболее ярким комментарием в этой ветке обсуждения является следующее:

Стандарты USB не говорят ничего конкретного о клавиатурах, мышах и т.д. В любой версии.

Это стандарт HID, который делает. Структура отчета с шестью ключами и модификаторами действительно была предназначена только для того, чтобы упростить жизнь BIOS (чтобы им не приходилось анализировать дескрипторы отчетов), но фактически стала «стандартом» для клавиатур. Однако стандарт HID позволяет создавать всевозможные отчеты, и все основные ОС поддерживают его полностью, поэтому нет необходимости в дополнительных драйверах.

Другое ограничение заключается в том, что низкоскоростной пакет данных USB может быть не более 8 байтов. Отчет может быть больше, но его отправка занимает много времени. Стандарт USB позволяет только низкоскоростному устройству отправлять один пакет каждые 10 мс (на конечную точку). ОС обычно подталкивает это до 8 мс, то есть 125 Гц (без взломов). Потребовалось до 16 мс, чтобы получить ключ к хозяину, это будет дерьмо! Таким образом, у нас была стадия производителей, пытающихся получить больше от низкоскоростных чипов, чем они могут реально справиться, с помощью трюков, таких как множественные конечные точки и т.д. :(

Полноскоростной USB освобождает эти ограничения. Каждый пакет может иметь размер 64 байта и может отправляться каждые 1 мс (опять же, для каждой конечной точки). Это позволяет использовать стандарт HID в полной мере.

Наконец, НКРО не сделано только ради этого. Для выполнения полного NKRO требуется только один бит на ключ, а не один байт, и не нужно рассматривать модификаторы как особый случай. Таким образом, клавиатура может отправлять, например, 104 клавиши всего за 13 байтов - при использовании другой схемы 13 байтов будут управлять только 11 КРО (11 клавиш + модификаторы + один зарезервированный байт). Конечно, это все еще много ключей, но это гораздо менее элегантный метод (и все же «не-6KRO», поэтому он все еще может быть несовместим с немыми хостами).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .