USB standartları, herhangi bir sürümde klavyeler veya fareler vb. Hakkında özel bir şey söylemez.
Bunu yapan HID standardı. 6 tuşlu artı değiştiriciler rapor yapısı yalnızca BIOS için hayatı kolaylaştırmayı amaçladı (bu nedenle rapor tanımlayıcılarını ayrıştırmak zorunda kalmadılar), ancak klavyeler için fiili bir 'standart' haline geldi. Bununla birlikte, HID standardı her türlü farklı rapora izin verir ve tüm büyük işletim sistemleri bunu tam olarak destekler, bu nedenle ekstra sürücülere gerek yoktur.
Diğer sınırlama, düşük hızlı bir USB veri paketinin en fazla 8 bayt olabilmesidir. Bir rapor daha büyük olabilir, ancak bunun gönderilmesi çok zaman alır. USB standardı, düşük hızlı bir aygıtın her 10ms'de bir (her uç nokta için) bir paket göndermesine izin verir. OS tipik olarak 8 ms'ye kadar dürtüyor, yani 125Hz (kesmeksiz). Ev sahibine bir keypress almak için 16 ms kadar almak bok olurdu! Bu nedenle, çok hızlı uç yongaları gibi hilelerle, düşük hızdaki yongalardan gerçekten başa çıkabileceğinden daha fazlasını elde etmeye çalışan bir aşama yaptık. :(
Tam hızlı USB bu sınırlamaları ortadan kaldırır. Her paket 64 bayt olabilir ve her 1ms'de (yine uç nokta başına) gönderilebilir. Bu, HID standardının tam olarak kullanılmasına izin verir.
Son olarak, NKRO sadece uğruna yapılmaz. Tam NKRO yapmak, bir bayt yerine anahtar başına sadece bir bit gerektirir ve değiştiricileri özel bir durum olarak ele almak zorunda değildir. Böylece bir klavye sadece 13 baytta 104 anahtar gönderebilir - diğer düzeni kullanarak 13 bayt sadece 11KRO'yu (11 tuş + değiştirici + bir ayrılmış bayt) yönetir. Tabii, bu hala çok sayıda anahtar, ama çok daha az zarif bir yöntem (ve hala '6KRO', bu yüzden hala aptal ana bilgisayarlarla uyumsuz olabilir).