Armadilloフォーラム

Armadillo-440 スイッチ(SW0)について

hondah

2015年3月2日 13時39分

お世話になっております。

Armadillo-440のスイッチについてご質問があります。
swmgrを使用して、スイッチ(SW0など)にコマンドを付与させています。
(参考:http://manual.atmark-techno.com/armadillo-4x0/armadillo-440_startup_gui…

その際に、
・長押しの際はコマンドA
・2回連続で押されたときはコマンドB

のように一つのボタンに対して複数のコマンドを指定したいのですが、可能でしょうか。

コメント

at_kojiro.yamada

2015年3月5日 14時00分

> その際に、
> ・長押しの際はコマンドA
> ・2回連続で押されたときはコマンドB
>
> のように一つのボタンに対して複数のコマンドを指定したいのですが、可能でしょうか。

swmgrのソースコードを修正すれば可能です。
ソースコードは、以下に配置されています。
atmark-dist-[VERSION]/vendors/AtmarkTechno/Armadillo-4x0.Common/swmgr/main.c

修正の例として、
長押しと短押しを区別できるようにするパッチを作成しましたので添付します。
動作確認については十分にできていませんが、参考にしていただければと思い
ます。

■パッチのあて方
atmark-dist-[VERSION]ディレクトリに移動して、
以下のコマンドを実行してください。

[ATDE ~/atmark-dist]$ patch -p1 < ./swmgr.patch

■実行方法
以下のようにすると、
スイッチを離した時にコマンドが実行されます。

スイッチを押した時間が、
0.5秒以上だと長押し、
0.5秒未満だと短押しとなります。

[Armadillo ~]# swmgr sw0 short 0 echo "short" &
[Armadillo ~]# swmgr sw0 long 0 echo "long" &
 
(sw0を長押しする)
long
(sw0を短押しする)
short

修正前と同等の動作(スイッチを押した時にコマンドを実行)をさせたい場合は
singleを指定します。

[Armadillo ~]# swmgr sw0 single 0 echo "single" &
 
(sw0を押す)
single
ファイル ファイルの説明
swmgr.patch swmgr 長押し対応パッチ

ご回答ありがとうございます。

パッチまで作っていただき助かりました。
動作確認後、こちらを参考にカスタマイズしていこうかと思います。

今後とも、よろしくお願い致します。

ご連絡が遅くなって申し訳ありません。

無事、長押し・短押しの動作確認が取れました。
教えていただきましたソースを元に開発を進めていこうかと思います。

今後とも、よろしくお願いいたします。