私たちはたくさん使うビーグルボーンブラックボード(オペレーティングシステムDebian、カーネル 3.8.13-bone50(2014年5月13日))LCDタッチスクリーン4DCape-70T。
私のJavaアプリケーションは起動後に実行されます。オペレーティングシステム Debian 7.5。このJavaアプリケーションでは、GPIOライブラリlibbulldogを使用してUARTポート(UART1_RXD == P9_26とUART4_RXD == P9_11)とI2Cバス(I2C2_SCL == P9_19とI2C2_SDA == P9_20)を制御しています。 + GND、3、3V、5Vを使用しています。ピン。当社のハードウェア制御ユニットは、gpioピンを介してi2cバスに接続されています。このI2Cバスの周波数を100kHzから25kHzに下げる必要があります(リンク:http://randymxj.com/?p=538)。しかし、私は、これらの周波数の低下がLCDタッチスクリーンタッチ制御に使用される他のI2Cバスの周波数に影響を与えるとは思わない。
最後に、私たちの質問は次のとおりです。
LCDタッチスクリーンを搭載したBeagleBoneBoardでは、顧客は次の場合にタッチスクリーンの問題をシミュレートできます。タッチが機能しません。。これは1日4〜5回起こります。 TightVNCを介してBeagleBoneBlack画面にリモートで接続(チームビューア)した後、マウスの左クリックも機能しませんただし、カーソルを移動でき、10秒間アクティビティがない場合は、カーソルを自動的に非表示にするアプリ設定ヘルパーを使用してもカーソルは引き続き表示されます。私のJavaアプリケーションでは、ボタンの1つがまだ押されています。 Putty(sudo pkill java)を介してJavaアプリケーションを停止しても、左マウスクリックはまだ機能しません。しかし、右クリックすると機能します。そしてカーソル移動も可能です。
最後の操作がMOUSE_RELEASED(指拡張)ではなくMOUSE_PRESSED(指タッチ)であることがわかっているため、Javaアプリケーションで最終的に実行できるいくつかのLinuxコマンドを使用してこの動作を再開できる可能性のあるコマンドはまだ見つかりませんでした。そのため、タイマーを使用してMOUSE_PRESSED操作を実行してから、コマンドを実行してタッチ/マウスコントローラを再起動したい(可能であれば)。これで、顧客は毎回ボードを再起動して電源コードを抜く必要があります。
2番目のより良い解決策はカーネルを更新しないいくつかのLinuxエディタであるかもしれません(Debian 8.3を試してみましたが、「ジャンプカーソル」の問題がありました(議論:https://groups.google.com/forum/#!msg/beagleboard/SGCdVCqdh00/5GbeINiiHMAJ) また、問題は、私のアプリケーションに十分な空きディスク領域がないことです。このソリューションを1ヶ月間テストする必要があります。
または、ソフトウェアで解決できないハードウェアの問題かもしれません。私はまだ本当の問題が何であるかわかりません。
ご回答ありがとうございます。
答え1
結局、両手でタッチスクリーンディスプレイを繰り返しタッチして問題を再現しました。
debian@beaglebone:~$ xinput --list \u23a1 Virtual core pointer id=2 [master pointer (3)] \u239c \u21b3 Virtual core XTEST pointer id=4 [slave pointer (2)] \u239c \u21b3 HID 1241:1177 id=8 [slave pointer (2)] \u239c \u21b3 ti-tsc id=7 [slave pointer (2)] \u23a3 Virtual core keyboard id=3 [master keyboard (2)] \u21b3 Virtual core XTEST keyboard id=5 [slave keyboard (3)] \u21b3 tps65217_pwr_but id=6 [slave keyboard (3)] \u21b3 gpio_keys.13 id=10 [slave keyboard (3)]
注: HID 1241:1177 - 接続マウス
ti-tsc - touschcreen (私の考えでは)
ightVNCのlxterminalで「xinput reattach 7 2」コマンドを実行すると、マウスの左ボタンクリックが再び機能し始めます!しかし、まだタッチスクリーンクリック回復コマンドがわかりません。 :(