at_kazutaka.bito
2015年10月19日 16時26分
Armadillo-440でQtで作成したGUIをUSBマウスで操作できるようにしてみました。 (本方法はArmadillo-410、Armadillo-460も同様に使用できます。)
1.カーネルコンフィギュレーションで、マウスデバイスを有効にします。
make menuconfigで、コンフィギュレーションの画面を開いて、MainMenuで、
Kernel/Library/Defaults Selection ---> [*] Customize Kernel Settings (NEW)
を選択してExitします。
カーネルコンフィギュレーションの画面が開くので、下記の★箇所の設定を有効にします。
Linux Kernel Configuration Device Drivers ---> Input device support ---> -*- Generic input layer (needed for keyboard, mouse, ...) --- Userland interfaces <*> Mouse interface // ★*をつけて有効にする --- Input Device Drivers [*] Mice ---> // ★*をつけて有効にする
Miceの下にドライバを選択できる項目がありますが、 当方の使用したMicrosoft Optical Mouse 200だと、デフォルトで有効になっているドライバで動作しました。
上記の設定でビルドしたカーネルをArmadillo-440に書き込みます。
2.Armadillo-440を起動して、USBマウスのデバイスファイルを確認します。
例)Armadillo-440を起動後にUSBマウスを差した場合
[root@armadillo440-0 (ttymxc1) ~]# cat /sys/class/input/mouse0/device/name imx_adc_ts [root@armadillo440-0 (ttymxc1) ~]# cat /sys/class/input/mouse1/device/name USB Optical Mouse
この場合、USBマウスのデバイスファイル名は、/dev/input/mouse1になります。
なお、/dev/input/mouseの番号は認識した順番によって異なります。 ->USBマウスを差した状態でArmadillo-440を起動するとmouse0になります。 Armadillo-440を起動後にUSBマウスを差すとmouse1になります。
参考)USBマウスの認識をArmadillo-440を起動後にしたい(デバイスファイルの番号を固定したい)場合は、
USBデバイスの認識を遅らせる https://users.atmark-techno.com/blog/615/1189
という方法があります。
3.QtのマウスデバイスとしてUSBマウスを設定します。
例)USBマウスのデバイスファイル名が/dev/input/mouse1の場合
[root@armadillo440-0 (ttymxc1) ~]# export QWS_MOUSE_PROTO=IntelliMouse:/dev/input/mouse1
上記の設定後、Qtのプログラムを起動すると、USBマウスに合わせてマウスポインタが反応します。