murakami_sec
2019年11月5日 14時27分
お世話になります。村上と申します。
Armadillo440でSW1の状態が読めません。
プログラム(C言語)で
/dev/input/event0
をopenしてreadで状態を確認するのですが
イベントコード 28 (KEY_ENTER) に変化することがありません。
(openはエラーが出ていません。)
手持ちのArmadillo420で動作確認済みの実行ファイルで
実行しましたが駄目でした。
スタートアップガイド
(armadillo-440_startup_guide_ja-2.0.1.pdf)
にある「9.3. swmgr 使用例」を参考に
swmgr sw0 1 date
で実行してもSW1の押下を検知しません。
(※同じ手順でArmadillo420はSW1の押下を検知しました。)
2台のArmadillo440で同様の動作結果となっているので
機器の個体不良ではないと思います。
原因として何が考えられるでしょうか?
ご教授のほどよろしくお願いいたします。
コメント
murakami_sec
> 佐藤です。
>
> > 原因として何が考えられるでしょうか?
> > ご教授のほどよろしくお願いいたします。
> Armadillo440電源投入後に自動で起動する Xfbdev が先にキーイベントを拾ってしまうためと考えられます。
> Xfbdev を kill した後に再度確認してみてください。
村上です。早速の回答ありがとうございます。
Xfbdev を killで動作確認できました。
自動起動でSW1を使用するアプリを動作させる場合、
XWindowを使用しなければユーザランドでX.Org KDriveを外すのがセオリーでしょうか?
rc.localで「killall Xfbdev」を実行してからアプリを起動するほうが良いでしょうか?
推奨される方法があれば教えてください。
at_makoto.sato
佐藤です。
> XWindowを使用しなければユーザランドでX.Org KDriveを外すのがセオリーでしょうか?
X を全く使わないのであれば、こちらのほうが ROMサイズも小さくなりArmadilloの起動も早くなるので良いかと思います。
以下の2つのコンフィグを外して atmark-dist をビルドしてください。
Vendor specific --> functester X Window System --> X.Org KDrive
ビルド方法
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…
murakami_sec
at_makoto.sato
2019年11月5日 15時20分
佐藤です。
> 原因として何が考えられるでしょうか?
> ご教授のほどよろしくお願いいたします。
Armadillo440電源投入後に自動で起動する Xfbdev が先にキーイベントを拾ってしまうためと考えられます。
Xfbdev を kill した後に再度確認してみてください。