So-net無料ブログ作成
  • ブログをはじめる
  • ログイン

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