HID (Human Interface Device) クラスでは、レポートと呼ばれる単位でデータを転送します。例えばマウスの場合、各ボタンが押されているかどうか、水平方向の移動量、垂直方向の移動量、ホイールの移動量といった情報をまとめたレポートを定期的に転送します。
レポートの中にどのような情報がどのように並んでいるかは、レポートディスクリプタによって定義されます。
マウスのレポートディスクリプタの例
・USAGE_PAGE、USAGE、USAGE_MINIMUM、USAGE_MAXIMUMは、データの種類を表します。なお、Page ID 0xFF00~0xFFFFはベンダ定義となっており、ベンダ独自のデータを定義することが可能です。
・LOGICAL_MINIMUM、LOGICAL_MAXIMUMは、値の範囲を表します。
・REPORT_SIZEは、ビット数を表します。・REPORT_COUNTは、データの数を表します。