mewph’s blog

QOL向上に取り組むEuph吹きの奮闘記

楽譜用PiPad(縦画面にする編)

ググったら色々やり方出てきて油断してたらおま環という壁が立ちはだかった

最終的に2通りの方法で動くことを確認
OSはRaspbian Stretch (4.14)

画面回転

$ sudo nano /boot/config.txt

開いたファイルに以下を追加

display_hdmi_rotate=1

1は90°、2は180°、3は270°
再起動で反映される

ここまでは楽勝
タッチパネルの回転はまた別になるので、2通りのやり方を書いておきます

①autoinputを使う場合

参考:ラズベリーパイを縦置きのタッチスクリーンで使用する設定 - Qiita

タッチパネルの回転コマンド

まずはタッチデバイスの詳細を調べる

$ xinput --list

SSH接続の場合はこっち

$ export DISPLAY=:0.0 & xinput --list

(一度export〜したら再起動するまでは有効)

出てきたリストから、自分のタッチパネルのIDを探す
参考ページだと名前使ってるけどIDでも通ります

$ xinput --set-prop (デバイスid or 'デバイス名') 'Coordinate Transformation Matrix' (回転マトリクス)

()は自分の環境に応じて書き換え
実行してポインタが追従することを確認

スクリプトファイルを作る

#!/bin/bash
$ xinput --set-prop (以下略)

これに実行権限付けたらそのまま再起動
ポインタの動きがずれる(元に戻る)ので、ここで作ったshファイルを動かして動作確認をする

SSHからではエラーで動かないので、ラズパイから直接実行するとxtermが無いと怒られたのでインストール

$ sudo apt-get install xterm


改めて走らせるとちゃんとポインタが付いてくるようになった
簡潔に書いたけどここまでかなり時間掛かったので感動

回転スクリプト自動起動

ここまで来れば大丈夫だろ…(フラグ)

$ sudo nano ~/.config/lxsession/LXDE-pi/autostart

ファイルが空だったので、例の通りコピペして再起動

ポインタしか出ない…画面真っ黒…

どうやら、autostartがあるとログイン以降からGUI表示までのデフォルト処理を上書きしてしまうらしい
なのでそれを書き加えてやる

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@/home/pi/rotate_touch_screen.sh

これで保存

再起動

動いたぁー(∩´∀`)∩ワーイ
ここに至るまでなんと3日掛かり
ディスプレイ向き変えるだけで奥深すぎる…

②Xserverの設定を変える場合

①と②はどちらか片方のみ設定すればOK
折角調べたし、ね

参考
5inch HDMI LCD (H) - Waveshare Wiki
コピペ以上にあまり書くことがないので、リンク貼るだけ

やり方さえ分かればこっちの方が設定自体は楽ちん
でもこっちの設定はOSバージョンで仕様がころころ変わるのか、自分の環境に適した方法を見付けるのが非常に難しかった…

次回はpdfビューアあれこれ