Armadilloフォーラム

USB HIDクラスをマウス/ジョイスティックとして動作させたい

ohshimayyyy

2018年12月19日 10時05分

大島と申します。
お世話になっております。

下記URLを元に、HID(キーボードのみ)を使用することは確認できましたが
キーボード/ジョイスティックとして使用することができておりません。

kernelコンフィギュレーションは、キーボード/マウス/ジョイスティックに関わらず
同等の設定で問題ない認識です。
一方、一部ガジェットの追加実装が必要の認識です。
その際の手法をご教示いただけないでしょうか?

以上、宜しくお願い致します。

コメント

> 下記URLを元に、HID(キーボードのみ)を使用することは確認できましたが
> キーボード/ジョイスティックとして使用することができておりません。
> https://users.atmark-techno.com/blog/750/2465

その記事のサンプルコードを見るとjoystickの実装が入っているように見えるのですが、

> 4.4. Armadillo-810側でサンプルアプリを実行します。
> [root@armadillo810-0 (ttySC2) ~]# ./hid_gadget_test /dev/hidg0 keyboard

ここで

./hid_gadget_test /dev/hidg0 joystick

としても動作しなかったという事ですか?

大島です。
お世話になっております。
ご対応いただき、有難う御座います。

キーボードのみの対応かと勘違いしていました。。

下記URLに示されているパッチより

linux-3.4-at20_a810_usbhid_support.patch

下記kernelのソースと差分を比較したところ
joystick/mouseについて記述がないように見えましたが
linux-3.4-at*/arch/arm/mach-shmobile/board-armadillo810.c

結論としては、joystick/mouseも動作するようです。
但し、それぞれ動作の振る舞いが分かっていないので
正しい動作をしているか、現状、定かではありません。

[root@armadillo810-0 (ttySC2) ~]# ./hid_gadget_test /dev/hidg0 joystick
joystick options:
--b1
--b2
--b3
--b4
--hat1
--hat2
--hat3
--hat4
--hatneutral

joystick values:
three signed numbers
--quit to close

[root@armadillo810-0 (ttySC2) ~]# ./hid_gadget_test /dev/hidg0 mouse
mouse options:
--hold
--b1
--b2
--b3

mouse values:
Two signed numbers
--quit to close

[root@armadillo810-0 (ttySC2) ~]# ./hid_gadget_test /dev/hidg0 keyboard
keyboard options:
--hold
--left-ctrl
--right-ctrl
--left-shift
--right-shift
--left-alt
--right-alt
--left-meta
--right-meta

keyboard values:
[a-z] or
--return --esc
--bckspc --tab
--spacebar --caps-lock
--f1 --f2
--f3 --f4
--f5 --f6
--f7 --f8
--f9 --f10
--f11 --f12
--insert --home
--pageup --del
--end --pagedown
--right --left
--down --kp-enter
--up --num-lock

以上、宜しくお願い致します。