ヒューマン インターフェイス デバイス (HID) の概要

ヒューマン インターフェイスデバイス (HID) は、PS/2 スタイルのコネクタを汎用 USB ドライバーに置き換えて、キーボード、マウス、ゲーム コントローラーなどの HID デバイスをサポートするデバイス クラス定義です。 HID より前のデバイスでは、マウスとキーボードに対して厳密に定義されたプロトコルのみを使用できました。 ハードウェアのイノベーションでは、既存のプロトコルでデータをオーバーロードするか、独自の特殊なドライバーを使用して非標準ハードウェアを作成する必要がありました。 HID は、拡張可能で標準化された、簡単にプログラミング可能なインターフェイスを通じてイノベーションのサポートを追加しながら、ブート モード デバイスのサポートを提供します。

HID デバイスには、英数字ディスプレイ、バーコード リーダー、スピーカー、ヘッドセット、補助ディスプレイ、センサーなどが含まれます。 ハードウェア ベンダーは、独自のデバイスにも HID を使用します。

HID は最初 USB を使用するように設計されましたが、バスに依存しないように設計されています。 低待機時間で低帯域幅のデバイス向けに設計されましたが、基になるトランスポートの速度を柔軟に指定できます。 USB-IF は、1996 年に HID over USB の仕様を承認しました。 他のトランスポートに対する HID のサポートが間もなく続きました。 現在サポートされているトランスポートの詳細については、Windows でサポートされている HID トランスポートに関するページを参照してください。 サードパーティのベンダー固有のトランスポートも、カスタム トランスポート ドライバー経由で使用できます。

HID の概念

HID は、レポート記述子とレポートという 2 つの基本的な概念で構成されています。 レポートは、デバイスとソフトウェア クライアントの間で交換される実際のデータです。 レポート記述子は、デバイスによってサポートされるデータの形式と意味を説明します。

Reports

アプリケーションと HID デバイスは、レポートを介してデータを交換します。 レポートには、次の 3 つの種類があります。

レポートの種類 説明
入力レポート 通常、コントロールの状態が変化したときに、HID デバイスからアプリケーションに送信されるデータ。
出力レポート アプリケーションから HID デバイス (キーボードの LED など) に送信されるデータ。
機能レポート 手動で読み取りや書き込みができるデータ。通常、構成情報に関連します。

レポート記述子に定義されている最上位レベルの各コレクションには、各型のレポートをゼロ個以上含めることができます。

使用法テーブル

USB-IF ワーキング グループは、HID デバイスで実行できることを説明するレポート記述子の一部である HID 使用法テーブルを公開します。 これらの HID 使用状況テーブルには、レポート記述子内の特定のアイテムの意図された意味と使用方法を説明する 使用法 の説明が含まれています。 たとえば、使用法はマウスの左ボタンに対して定義されます。 レポート記述子では、アプリケーションがマウスの左ボタンの現在の状態を見つけることができるレポート内の場所を定義できます。 使用法テーブルは、使用法ページと呼ばれる複数の名前空間に分割されています。 使用法の各ページには、ドキュメントを整理するのに役立つ、関連する使用法のセットが説明されています。 使用状況と使用状況ページの組み合わせによって、使用状況テーブル内の特定の使用状況を一意に識別する使用状況 ID が定義されます。

こちらもご覧ください