Есть ли причина отключить N-Key Rollover?

20

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

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

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

Уилл Эддинс
источник

Ответы:

15

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

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

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

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

Уилл Эддинс
источник
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 клавиш + модификаторы + один зарезервированный байт). Конечно, это все еще много ключей, но это гораздо менее элегантный метод (и все же «not-6KRO», поэтому он все еще может быть несовместим с тупыми хостами).

Анонимный трус
источник