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

SDL_hid_write

HIDデバイスに出力レポートを書き込む

ヘッダ

SDL3/SDL_hidapi.h

構文

int SDL_hid_write(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()で詳細を知ることができる.

詳細

dataの先頭バイトは必ずレポートIDであること. 単一レポートのみ対応するデバイスは, 0x0をセットすること. 残りのバイトがレポートデータである. レポートIDは必須で, SDL_hid_write()にはレポート内容より常に1バイト多く渡すことになる. 例えばHIDレポートが16バイトならば, SDL_hid_write()にはレポートID(または0x0, 単一レポートのデバイスならば)とその後に続くレポートデータ(16バイト)の17バイトを渡さなければならない. lengthの値は17になる.

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

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_hid_write - SDL Wiki