Чому NKRO-клавіатура втрачає клавіші: пояснення
N-key rolover дозволяє клавіатурі повідомляти про багато одночасних натискань без фантомних клавіш, але не гарантує реєстрацію кожного натискання за будь-яких умов. Дизайн HID-звітів, прошивка, дребезг, сканування матриці, поведінка підключення та обробка вводу на боці хоста все ще можуть обмежувати великі акорди. Посібник розділяє гостинг і збої rollover, пояснює ліміти завантажувального протоколу та дескриптора, відрізняє rollover від частоти опитування і показує, як браузерний тестер клавіатури виявляє фактичний шаблон подій, залишаючись нездатним сертифікувати внутрішню матрицю або діодну схему пристрою. Зникла клавіша частіше вказує на прошивку, дребезг або матрицю, ніж на пропускну здатність USB.
Що написано на коробці проти того, що відбувається насправді
| Що ви читаєте на коробці | Що це означає насправді |
|---|---|
| «Full NKRO» | Прошивка здатна повідомляти про дуже велике число одночасних клавіш, але не обов’язково про кожну завжди. |
| «Без гостингу» | Справжня діодна ізоляція запобігає фантомним клавішам у протестованих комбінаціях, але прошивочні прийоми можуть не покривати всі сценарії. |
| «Працює з будь-якою грою» | У плати все ще є стеля дескриптора HID та цикл сканування — дуже великі акорди все ж можуть втрачати клавіші. |
| «N-key rollover» | N задається клавіатурою, а не протоколом. Плата, що заявляє 6KRO, має практичну стелю в шість. |
Специфікації не брехня, але й не повна картина. Ярлик каже, на що плата спроектована; дескриптор і прошивка кажуть, що вона реально може доставити в протестованих умовах.
«Повноцінний NKRO» входить до числа найактивніше рекламованих специфікацій клавіатур і зазвичай подається як гарантія того, що ви ніколи не втратите жодного натискання. Це формулювання вірне наполовину. Справді діодно-ізольована реалізація NKRO повністю вирішує матричний гостинг, але сам ярлик «NKRO» не доводить такої реалізації, і навіть справжня NKRO-плата не гарантує, що кожне натискання буде зафіксоване за будь-яких умов. Розрив між цими двома твердженнями породжує чималу плутанину, сталий потік необґрунтованих повернень і масу форумних суперечок між людьми, що описують одним і тим самим словом різні проблеми.
Гостинг і rollover — дві різні проблеми
Гостинг: проблема матричної розводки
Гостинг — апаратний артефакт матриці. Клавіатури сканують клавіші як сітку рядків та стовпців, а не підключають кожен перемикач індивідуально, бо індивідуальна розводка потребувала б непрактичної кількості виводів контролера. У матриці без ізолювальних діодів натискання трьох певних клавіш може зімкнути електричний шлях, що переконує контролер, ніби натиснута й четверта, неторкана клавіша. Ця фантомна реєстрація і є гостинг, і це властивість конструкції схеми, а не прошивки.
Rollover: скільки клавіш реєструється одночасно
Rollover, скорочено KRO, описує, скільки клавіш плата може повідомити одночасно. 2KRO — дві зразу, 6KRO — шість, а повноцінний NKRO — в принципі, всі.
Як NKRO усуває гостинг
NKRO — ліки від гостингу, бо коректні реалізації ставлять діод послідовно з кожним перемикачем: струм не може текти назад через ненатиснуті клавіші і створювати хибні шляхи. Коректно спроектована і коректно реалізована діодно-ізольована матриця запобігає традиційному матричному гостингу. Якщо плата справді реалізує NKRO з діодами, фантомні натискання у звичайних умовах експлуатації практично неможливі. Ця частина маркетингової заяви цілком точна. Помітьте: альтернативні конструкції матриці теж можуть досягати високого rollover без діодів на кожен перемикач; ключова різниця — чи ізольовані електричні шляхи, а не конкретна топологія.

Межа, яку NKRO не може прибрати
Ось що маркетинг послідовно опускає. Клавіатури USB HID передають коди клавіш усередині пакетів звіту, структура яких оголошена в HID-дескрипторі пристрою, і максимальна кількість одночасних клавіш, що їх плата може повідомити, задається цим дескриптором і прошивкою, а не універсальним правилом HID. Завантажувальний протокол допускає шість звичайних клавіш плюс біти модифікаторів. Далі реалізації різняться: одні використовують більший звіт зі скінченною кількістю слотів клавіш, інші — звіти у стилі бітової карти, здатні подати більшість або всі клавіші, треті виставляють кілька логічних HID-інтерфейсів. Єдиної фіксованої стелі для всіх клавіатур немає — практична межа така, якою її оголошують дескриптор і прошивка конкретної плати.
Натисніть достатньо багато клавіш у межах одного вікна звіту, і пакету просто нікуди подіти надлишок. Прошивка NKRO піднімає цю стелю значно вище за базову плату 6KRO, використовуючи прийоми на кшталт бітових звітів або кількох логічних HID-інтерфейсів, але жодна прошивка не здатна перевищити ємність, яку її власний дескриптор оголошує хосту.
Наслідок: навіть плата, заявлена як повноцінний NKRO, може втрачати клавіші при екстремальних акордах — не через гостинг, який усунули діоди, а тому, що звіт досяг ємності, оголошеної його дескриптором. У звичайному використанні це справді рідкість. Проте саме тому NKRO не означає нескінченних клавіш із нульовою втратою за будь-якого навантаження.
Чому ваша ігрова плата все ще може втрачати клавіші
Коли плата з високим rollover на практиці втрачає клавіші, імовірні причини такі:
- Переповнення звіту HID при незвично великих одночасних натисканнях, як описано вище.
- Затримка прошивки або дребезгу, коли спрацьовування відбувається швидше, ніж цикл сканування встигає розв’язати чисто, — на бюджетних платах це найчастіша причина.
- Завищена заява про NKRO, коли специфікація на папері перевищує реалізовану дійсність.
- Обробка вводу на боці хоста або ОС — перевантажений USB-контролер, непідходящий хаб або високе навантаження процесора можуть внесати вклад, але для типової настільної клавіатури пропускна здатність USB рідко є вузьким місцем. Загублена клавіша частіше виявляється проблемою прошивки, дребезгу або конструкції матриці, ніж пропускної здатності.
Розрізнити їх дозволяє тестер, що пише в журнал сирі коди подій, які фактично отримав браузер: лише тоді видно точно, які клавіші дійшли, а які — ні. Вгадування за відчуттям від клавіатури стабільно дає хибний діагноз.
Rollover і частота опитування — не одне й те саме
Ці дві специфікації незалежні, і їх змішання веде до покупки не того апгрейду:
- Rollover (KRO) визначає, скільки клавіш може реєструватися одночасно.
- Частота опитування (Hz) визначає, як часто плата повідомляє комп’ютеру, зазвичай 125, 250, 500 або 1000 разів на секунду.
Плата може пропонувати опитування 1000Hz при лише 2KRO або повноцінний NKRO при скромних 125Hz. Високе опитування може скорочувати очікування на етапі звіту, а високий rollover дозволяє реєструвати більше натискань разом. Якщо скарга на сприйману затримку — досліджуйте частоту опитування, час кадру та системну затримку. Якщо скарга на клавіші, що зникають при акордах, — досліджуйте rollover і дизайн HID-звіту. Вважати їх однією специфікацією — шлях до апгрейду, що не адресує симптом.
Скільки rollover вам справді потрібно?
Співвіднесіть специфікацію з фактичним використанням, а не з маркетинговим рівнем:
- Друк тексту: 6KRO зазвичай достатньо, бо звичайний друк включає відносно невеликі перекриваючі комбінації.
- Масові ігри: 6KRO часто покриває два напрямки руху плюс модифікатори та призначену здібність, але перевірте комбінації, які реально використовує ваша гра.
- Ритм-ігри, стенографія, складні макро-розкладки: повноцінний NKRO може бути цінний, бо ці сценарії навмисно використовують великі одночасні вводи.
Якщо продавець наполягає, що повноцінний NKRO необхідний незалежно від сценарію, це торгова позиція, а не технічна вимога.
Перевіряйте, а не довіряйте ярлику
Наш тестер клавіатури показує живу карту клавіш поруч із журналом подій key-down та key-up, які отримав браузер. Натисніть навмисно складний акорд і перевірте три умови: кожна натиснута клавіша підсвічється, жодна ненатиснута не підсвічється і кожна натиснута клавіша з’являється в журналі подій. Потім нарощуйте розмір акорду, поки щось не відмовить. Це виявляє, скільки одночасних клавіш ваша ОС та браузер доставили на сторінку, — практична, спостережувана браузером межа rollover. Він не може прочитати HID-дескриптор клавіатури або довести, що внутрішня матриця діодно ізольована, тому вважайте чистий результат сильним доказом, а не апаратною сертифікацією.

Якщо клавіші втрачаються лише при підключенні через хаб або лише під високим навантаженням системи, клавіатура, ймовірно, ніпричім, а несправність — у шляху підключення або конфігурації хоста. Перевірте прямо на порті материнської плати, перш ніж робити висновки про обладнання.
Цикл сканування матриці: як клавіатури насправді читають клавіші
Розуміння того, як клавіатура апаратно виявляє натискання, прояснює, чому виникає гостинг, чому діоди його запобігають і чому частота сканування значуща нарівні зі специфікаціями rollover. Процес замискуватіший за просту модель «натиснув клавішу — відправив сигнал», яку собі уявляє більшість користувачів.
Всередині клавіатури перемикачі розташовані сіткою рядків та стовпців, кожен на перетині одного рядкового та одного стовпцевого лінії. Мікроконтролер не здатен прочитати всі клавіші одночасно; замість цього він швидко сканує їх, подаючи високий рівень на один рядок за раз і читаючи всі стовпці, щоб побачити, які перемикачі цього ряду натиснуті. Потім він переходить до наступного ряду і повторює. Повне сканування типової матриці на сучасних контролерах займає помітно менше мілісекунди — точні цифри залежать від контролера та прошивки, — тому частота сканування зазвичай становить тисячі разів на секунду.
У матриці без ізолювальних діодів натискання кількох клавіш в одному рядку або стовпці може створювати ненавмисні електричні шляхи. Якщо три клавіші утворюють на сітці літеру L, струм від активного ряду може пройти через натиснуті перемикачі й повернутися неактивним рядом, переконавши контролер, що натиснута й четверта клавіша — в куті літери L. Це механізм гостингу, прямий наслідок конструкції матриці. Скан швидкий, але електричні шляхи не ізольовані.
Додавання діода послідовно з кожним перемикачем — поширений спосіб заблокувати зворотний струм і запобігти традиційним фантомним колам. Продукт, що продається як апаратний діодний NKRO, зазвичай використовує ізоляцію на кожен перемикач, але існують альтернативні конструкції матриці, і плата може повідомляти про багато одночасних клавіш, не доводячи, що використовує саме цю топологію. Сама по собі відсутність видимих діодів на кожну клавішу не визначає фактичний rollover або гостинг-поведінку плати.
З частотою сканування взаємодіє і дребезг. При змиканні механічного перемикача контакти фізично відскакують короткий час — зазвичай кілька мілісекунд залежно від конструкції, — породжуючи швидкі переходи вмкнено-вимкнено. Контролер має дочекатися, поки відскоки втихнуть, перш ніж зареєструвати натискання, тому кожен цикл сканування включає перевірку дребезгу. Якщо цикл — одна мілісекунда, а вікно дребезгу — п’ять, контролеру потрібні п’ять послідовних сканів, що показують натискання, перш ніж він зафіксує подію. Затримка дребезгу — усвідомлений компроміс: короткі вікна чутливіші, але ризикують зафіксувати шум; довгі стабільні, але додають вхідну затримку. Реалізація дребезгу — проектне рішення прошивки, тому дві клавіатури з ідентичним залізом перемикачів можуть відчуватися по-різному в чутливості.
Якщо ваша гра або застосунок регулярно затискає багато клавіш одночасно, NKRO з надійною ізоляцією може дати реальну користь. Для звичайних ігрових акордів із трьох–п’яти одночасних клавіш добре спроектованої плати 6KRO може вистачити, але точні комбінації мають значення. Перш ніж доплачувати за NKRO, протестуйте плату, якою володієте, або знайдіть модельний технічний огляд. Чистий браузерний результат — корисний доказ фактичної поведінки, а не апаратна сертифікація.
Чому діоди коштують грошей: виробнича економіка NKRO
Якщо діоди так ефективно вирішують гостинг, чому їх немає в кожній клавіатурі? Відповідь економічна, і розуміння структури витрат допомагає критичніше читати заяви виробників.
У традиційній діодно-ізольованій матриці NKRO кожен перемикач має свій діод. Сам компонент — лише частина витрат: внесок роблять розводка PCB, складання, пайка, інспекція та прошивка. Точні витрати залежать від постачальника, обсягу виробництва, конструкції матриці та того, чи використовує клавіатура іншу архітектуру, тому проста оцінка в доларах на клавішу ненадійна.
Багато бюджетних мембранних клавіатур використовують надруковані провідники на гнучких листах, а не дискретні компоненти перемикачів. Додати діоди на кожну клавішу в такій конструкції вимагало б іншої або гібридної конструкції та додаткового складання, послаблюючи частину її цінової переваги. Це не значить, що всі мембранні архітектури однакові або що високий rollover неможливий; реалізацію треба оцінювати за моделлю.
Преміальні механічні клавіатури часто рекламують NKRO як фічу, тоді як дешевші конструкції можуть використовувати інші розкладки матриці, бітові звіти або кілька логічних інтерфейсів, щоб підняти фактичний rollover. Прийом із форматом звіту може збільшити число поданих клавіш, але сам по собі не доводить, як електрична матриця поводиться з комбінаціями, схильними до гостингу. Ярлик тому не повністю описує реалізацію — ось чому модельне тестування залишається корисним.
Ця економічна структура пояснює і живучість 6KRO як стандарту. Шестиклавишний rolover досяжний на матриці без діодів за рахунок продуманої розкладки, що оминає поширені схильні до гостингу комбінації. Для виробників, нацелених на масовий ігровий ринок, 6KRO може дати достатню функціональність при меншій складності складання, а повноцінний NKRO додає запас для тих, кому він потрібен. Різниця в ціні надто сильно залежить від конструкції та моделі, щоб зводити її до універсальної роздрібної надбавки.
Покупцю практичний висновок такий: ставтеся до заяв про NKRO як до відправної точки, а не до повного опису. Тестуйте дедалі більші акорди і спостерігайте, чи не зникають натиснуті клавіші і чи не з’являються фантомні. Результат каже про те, що дійшло до цього браузера на цьому хості та підключенні; для ваших реальних комбінацій це корисніше за один ярлик, але не розкриває внутрішню конструкцію матриці.
Чи варто купувати NKRO?
Справжній діодно-ізольований NKRO покінчив із матричним гостингом у звичайних умовах експлуатації, але ярлик «NKRO» сам по собі не доводить такої реалізації, і кожна плата зберігає практичну стелю одночасних натискань, задану її HID-дескриптором та прошивкою. Трактуйте «повноцінний NKRO» як відсутність фантомних клавіш і високу фактичну ємність одночасних натискань, а не буквально кожну клавішу, завжди, за будь-якого міркуваного навантаження. Перевірте свою конкретну плату, перш ніж довіряти ярлику, розрізняйте проблеми rollover та опитування, бо