2022/05/05 更新 |By Gechic 編集部
Raspberry Piユーザーがタッチモニターを縦置きしようとすると、表示画面は常に縦向き表示になっているのに、モニターのタッチの反応位置が回転後に同期されない問題に突き当たります。これは、タッチモニターの反応位置を、必ず変換行列(Transformation Matrix)を通じてポインターの対応位置を新しく定義しなければならないからです。Xinputで正確な縦向きのタッチ変換行列値を新しく指定していない場合、タッチモニターは正確に反応できません。
この記事では、Kiosk、ガイドシステムまたは産業コントローラー等での縦向きタッチ操作ニーズを満たすため、Raspberry Pi OSで画像表示を縦向き(90°)または縦向き回転(270°)に設定して、変換行列を指定してM505Tタッチモニターを縦向き又は縦向き回転で操作するための方法について、詳細に説明していきます。
Raspi-Configの解像度オプションで標準の横向き表示を選択するだけです。例えば、M505Tでは、[ DMT Mode 82 ]が16:9の横向き表示の設定値となります。(Raspi-Configの詳細)
M505Tを縦置きする場合、次の手順に従って設定してください。
ホーム画面左上のTerminalアイコンをクリックしてTerminalを開きます
Terminalに
〖 sudo nano /boot/config.txt 〗と入力します
HDMI_mode=82 を探し、その下に〖display_hdmi_rotate=1〗を追加して、, をクリック→ Y をクリック→enterをクリックして保存します。
注1:時計回りの方向に回転角度が計算されます,display_hdmi_rotate =0 (0°) display_hdmi_rotate=1 (90°) display_hdmi_rotate=2 (180°) display_hdmi_rotate=3 (270°)
注2:M505Tの電源スイッチは、モニター正面向かって右側にあります。デスクに設置する際は、M505Tの90°縦置きでの使用をおすすめします。
注:Debianは2022年4月に再改訂されます。display_hdmi_rotate= 1コマンドを入力しても画面の向きが回転しない場合は、設定ファイルを確認し、デフォルトのコマンド dtoverlay=vc4-kms-v3dの先頭に#を付けるデフォルトのコマンドをキャンセルし、保存して再起動してください。再起動した後、コマンドdisplay_hdmi_rotateは正常に実行できます。
④ 再起動する
Terminalに〖 sudo reboot 〗と入力します
⑤ 再起動後、モニター画面が縦向き標示に変更されています
Terminal に
〖 cd /usr/share/X11/xorg.conf.d〗と入力します
〖 ls〗と入力して、フォルダ内のすべてのファイル名を一覧表示します。
〖sudo nano 40-libinput.conf〗と入力します
touchscreen の段落を見つけたら、段落 , 〖Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1" 〗と入力します。
M505T の様々な角度のタッチ行列変換値を入力する。
各角度のM505T 行列変換値
90° = Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1"
180° = Option "TransformationMatrix" "-1 0 1 0 -1 1 0 0 1"
270° = Option "TransformationMatrix" "0 -1 1 1 0 0 0 0 1"
注:メーカーによってタッチモニターのXY起点が異なる可能性があります。そのため、90°と270°の行列変換値がちょうど反対となることもあります。
〖 sudo reboot〗と入力します
⑤ M505TタッチモニターでRaspberry menuキーを選択し、タッチ位置が正確であることを確認します。
縦置きのM505Tタッチモニターでもxinput_calibratorプログラムでタッチポインターの補正をすることで、さらに正確なタッチ操作ができるようになります。詳しくはこちらの記事を参考にしてください。
3.タッチパネル補正プログラムのインストール