「ヒューマンインターフェイスデバイス(HID)のデバイスクラス定義」バージョン11.1仕様から:
LEDの状態とCAPS LOCK、NUM LOCK、SCROLL LOCK、COMPOSE、およびKANAイベント間の同期は、キーボードではなくホストによって維持されます。付録Bのキーボード記述子を使用する場合、LEDの状態は、Set_Report(Output)要求を介してキーボードに5ビットの絶対レポートを送信することにより設定されます。
キーボードのLEDを変更するには、キーボードでコマンドを受け入れます。したがって、「入力専用」デバイスではありません(つまり、ホストにデータを出力するだけです)。
そうは言っても、ホストとデバイス間のやり取りを必要とするすべてのUSBデバイスとのネゴシエーションと列挙プロセスがあります。「読み取り専用」USBデバイスは使用できません。
USBの前でさえ、PCキーボードコントローラーは、キーボードの読み取り以外にもいくつかのことを行っていたため、コマンドを受け入れます(参照)。
キーボードが独立した周辺システムユニットである場合(最新のデスクトップコンピューターなど)、キーボードコントローラーはキーに直接接続されていませんが、何らかのシリアルインターフェイスを介してキーボードに埋め込まれたマイクロコントローラーからスキャンコードを受信します。この場合、コントローラーは通常、ワイヤーを介してキーボードにデータを送り返すことにより、キーボードのLEDも制御します。
IBM PC ATは、Intel 8042チップを使用してキーボードに接続しました。このコンピューターは、Intel 80286のチップバグの回避策を実装するために、A20ラインへのアクセスも制御しました。1キーボードコントローラーは、CPUがプロテクトモードからリアルモードに移行できるように、ソフトウェアCPUリセットを開始するためにも使用されました。モード1 CPUはリセットされない限り、286はCPUがリアルモードにプロテクトモードから行くことができませんでしたので。BIOSとオペレーティングシステムサービスは、リアルモードのプログラムからしか呼び出せないため、これは問題でした。
これらの動作は、この動作を期待する多くのソフトウェアで使用されているため、キーボードコントローラーを介したリセットの必要性がIntel 80386の切り替え機能によって不要になった場合でも、キーボードコントローラーはA20ラインの制御とソフトウェアCPUリセットの実行を継続しましたCPUリセットなしの保護モードからのリアルモード。