kubo2276
2020年10月15日 21時24分
いつもお世話になっております。久保と申します。
USBポートにマウスとキーボードを接続して操作するQt Widgetアプリケーションを開発しているのですが
一度マウス or キーボードを抜き、再接続するとアプリケーションでは認識されず
アプリケーションを再起動すると認識されるような挙動となっています。
暫定的な回避策として/ etc/ udev/ rules.d にルールを追加し
ACTION=="add", SUBSYSTEMS=="input" でinputデバイスが接続されたら
アプリケーションを再起動するようにしていますが
出来ることならアプリケーションの再起動を行わずともデバイスの再認識を行えればと思い
方法を模索しております、ArmadilloというよりはQtの仕組みを探すべきなのかも知れませんが
お知恵を拝借できればと思います。
【atmark-dist】3.4-at27
【Qtバージョン】5.6.2
コメント
kubo2276
at_akihito.irie
入江です。
> >default configを適用の上ビルドしてお使いください。
> default configの適用というのはどういった操作の事を指しておられるのでしょうか?
> (makeコマンドのオプションやMakefileの中身の記述等でしょうか?)
以下のようにmenuconfigにてDefault all settingsを有効にすることを
default configと呼称してしまいました。わかりにくい表現をしてしまい申し
訳ございません。
Kernel/Library/Defaults Selection ---> --- Kernel is linux-3.x (default) Cross-dev (None) Libc Version [*] Default all settings (lose changes) [ ] Customize Kernel Settings [ ] Customize Vendor/User Settings [ ] Customize Kernel Settings
patch適用後のatmark-distでは Default all settings を適用することでudev
のバージョンが175になるようになっております。
別途Makefileなどのファイルを編集する必要はございません。
at_akihito.irie
2020年10月26日 10時20分
入江です。
回答が遅くなってしまい申し訳ございません。
USBマウスやキーボードを再接続した際にQtアプリケーションで認識できない
のは、atmark-distのudevのバージョンが古い(v105)ためです。
Armadillo-840向けに配布しておりますdebianユーザーランドは、udevのバー
ジョンが新しい(v175)ため、Qtアプリケーション起動後にUSBマウスを抜き差
ししても認識することが確認できます。
そこで、Armadillo-840のatmark-distのudevのバージョンを175にするpatchを
作成してみました。
atmark-dist-20191226に添付のpatchを適用し、default configを適用の上ビ
ルドしてお使いください。
本手順で作成したatmark-distにおいて、当方では最低限USBマウス再接続時の
再認識を確認したのみで、他の動作に関しましてはテストを行っておりません
ので、ご使用の際はお客様による十分なテストを行ってからご使用ください。