目次 - SDL 3.0 API(機能別) - HIDAPI - SDL_hid_send_feature_report

SDL_hid_send_feature_report

HIDデバイスに機能レポートを送信する

ヘッダ

SDL3/SDL_hidapi.h

構文

int SDL_hid_send_feature_report(SDL_hid_device *dev, const unsigned char *data, size_t length);

引数

SDL_hid_device *devSDL_hid_open()が戻したデバイスハンドル
const unsigned char *data先頭バイトのレポート番号を含む送信データ.
size_tmaxlen送信するデータのバイト数

戻り値

(int) 実際に書き込んだバイト数を戻す. エラーのとき-1を戻す. SDL_GetError()で詳細を知ることができる.

詳細

機能レポートはSet_Reportでコントロールエンドポイントを経由して送信される. dataの先頭バイトは必ずレポートIDであること. 単一レポートのみ対応するデバイスは, 0x0をセットすること. 残りのバイトがレポートデータである. レポートIDは必須で, SDL_hid_send_feature_report()にはレポート内容より常に1バイト多く渡すことになる. 例えばHIDレポートが16バイトならば, SDL_hid_send_feature_report()には17バイトを渡さなければならない: レポートID(または0x0, 単一レポートのデバイスならば)とその後に続くレポートデータ(16バイト)である. lengthの値は17になる.

もし1つでもあれば, SDL_hid_send_feature_report()はデータを最初のOUTエンドポイントに送信する. もしなければ, データをコントロールエンドポイント(エンドポイント0)に送信する.

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_hid_send_feature_report - SDL Wiki