SSブログ

USBマウスのレポート・ディスクリプタで悩む [タッチ・スイッチ]

(2014.01.29)
タッチ・スイッチ基板にUSBマウス機能を組み込もうとして、一つ判らないことが出てきました。Micrichip社のサンプル・プログラム(Device-HID-Mouse)はマウス・ポインタを操作するだけで、マウス・ボタンのON/OFFは行っていません。そもそも、Device-HID-Mouseにマウス・ボタン機能が組み込まれているのかどうかも判りません。orz

WEB検索を掛けて”HID-Mouse”に関する、情報を集めました。

<仕様書>
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
<CQ出版 書籍抜粋?>
http://www.cqpub.co.jp/hanbai/books/33/33381/33381.pdf
<後閑さんの資料>
http://www.picfun.com/picclub/dai12/usbtech.pdf
<人と電子の工房さん>
http://esyokunin.dee.cc/30xSub_USB_Siyou/331_Siyou1_HidKb/331_Siyou1_HidKb.html
<きむ茶工房ガレージハウスさん>
http://www.geocities.jp/zattouka/GarageHouse/micon/USB/USB6.htm

”レポート・ディスクリプタ”が鍵を握っていることは判ったのですが、USB_DESCRIPTOR.Cの記述を見ても、その意味が掴めません。orz

//Class specific descriptor - HID mouse
ROM struct{BYTE report[HID_RPT01_SIZE];}hid_rpt01={
    {0x05, 0x01, /* Usage Page (Generic Desktop)             */
    0x09, 0x02, /* Usage (Mouse)                            */
    0xA1, 0x01, /* Collection (Application)                 */
    0x09, 0x01, /*  Usage (Pointer)                         */
    0xA1, 0x00, /*  Collection (Physical)                   */
    0x05, 0x09, /*      Usage Page (Buttons)                */

以下省略


で、ついにこの資料を見つけました。
<ルネサスエレクトロニクス>
http://documentation.renesas.com/doc/products/mpumcu/apn/rjj05b1417_m16cap.pdf

少し異なる部分もある(WHEEL機能が追加されている)のですがレポート・ディスクリプタの記述は殆ど一緒で、一つ一つの説明を読んでようやく理解することが出来ました。

Device-HID-Mouseのレポート・プロトコル・フォーマットは(多分)こんな感じです。
2014_0129.png先頭バイトの下位3bitがマウス・ボタン

にほんブログ村 IT技術ブログへ
にほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。