Стандарти USB взагалі нічого не говорять про клавіатури, миші тощо.
Це стандарт HID. Структура звітів з 6-ти клавішними модифікаторами дійсно була покликана полегшити життя BIOS (тому їм не довелося розбирати дескриптори звітів), але стала фактично «стандартом» для клавіатур незалежно. Однак стандарт HID дозволяє створювати всілякі різні звіти, і всі основні ОС підтримують його повністю, тому немає необхідності в додаткових драйверах.
Інше обмеження полягає в тому, що низькошвидкісний пакет даних USB може бути максимум 8 байт. Звіт може бути більшим, але для надсилання його потрібно забирати значну кількість часу. Стандарт USB дозволяє лише низькошвидкісному пристрою надсилати один пакет кожні 10 мс (за кінцеву точку). Зазвичай ОС вимагає до 8 мс, тобто 125 ГГц (без злому). Зробити до 16 мс, щоб отримати клавішу для хоста, було б лайно! Таким чином, у нас виникла фаза, яка намагається отримати більше виходів з низькошвидкісних мікросхем, ніж вони реально впораються, з трюками, як кілька кінцевих точок тощо :(
Повношвидкісний USB звільняє ці обмеження. Кожен пакет може мати 64 байти, і його можна надсилати кожні 1 мс (знову ж таки, за кінцеву точку). Це дозволяє використовувати стандарт HID для повного його дії.
Нарешті, НКРО робиться не просто заради цього. Для виконання повного NKRO потрібен лише один біт на ключ, а не один байт, і не потрібно розглядати модифікатори як особливий випадок. Таким чином, клавіатура може надсилати, наприклад, 104 клавіші всього в 13 байтах - за допомогою іншої схеми 13 байтів управлятимуть лише 11 кРО (11 клавіш + модифікатори + один зарезервований байт). Звичайно, це ще багато клавіш, але це набагато менш елегантний метод (і все ще "не-6КРО", тому все ще може бути несумісний з тупими хостами).