Raspberry Piでモバイルタッチディスプレイの相性が悪かった話

ラズパイ4とWIMAXIT 15.6インチ タッチパネルモバイルディスプレイでセルフレジPOS端末を作ってました。

タッチパネルが反応しない、
HDMI経由でChromium-browserで音が出ない、
と問題が発生しました。
ラスパイ向けタッチモニター等だと調整不要できちんと動く場合が多いです。

結論から言うとchromium-browserの起動方法により挙動が変わります。
ごく一部の方にしか需要がない情報だと思うので解決方法だけ載せておきます。

# ------------------------
# chromium-browser 自動起動スクリプト
# ------------------------
$ mkdir /home/pi/.config/autostart
$ vi /home/pi/.config/autostart/browser.sh
$ chmod 755 /home/pi/.config/autostart/browser.sh

#!/bin/sh
export DISPLAY=0
DISPLAY=:0 /usr/bin/chromium-browser --kiosk "http://localhost:3000" --noerrdialogs --autoplay-policy=no-user-gesture-required --disable-pinch --no-default-browser-check --no-first-run --disable-infobars --disable-session-crashed-bubble

# ------------------------
# chromium-browser 自動起動設定
# ------------------------
$ mkdir /home/pi/.config/autostart
$ vi /home/pi/.config/autostart/browser.desktop

[Desktop Entry]
Type=Application
Name=DecoderPro
Comment=POS
Exec=lxterminal -e /home/pi/.config/autostart/browser.sh
Terminal=true;

これだけで安定してchromium-browserがタッチ、サウンド再生可能な状態で
自動起動できます。

要点は/home/pi/.config/autostart に{}.desktopとして起動登録し、
lxterminal -e
Terminal=true;
でターミナルからシェルでchromiumを起動することです。
こうすることで音が出るようになります。
未検証ですが、--autoplay-policy=no-user-gesture-required も必要でしょう

export DISPLAY=0
DISPLAY=:0
はきちんと指定しておかないとchromiumがタッチ操作をマウス操作としてしか認識しない場合が多いです。


いいなと思ったら応援しよう!