Raspberry Pi 4Bでタッチ操作。右クリック、仮想キーボード、画面縦向き。
Raspberry Pi 4Bとタッチ対応モニターで、アプリを導入してタッチ操作を快適にします。今回は公式の7インチ タッチスクリーンディスプレイを使用していますが、他のタッチ対応モニターでも出来ると思います。
◻︎動作環境
・ハードウェア/Raspberry Pi 4 Model B 8G。
・Raspberry Pi OS full(32bit)Buster、Bullseye(32bit、64bit)、Bookworm(64bit)
・公式Pi 7インチ タッチスクリーンディスプレイ
更新履歴
2023-12-28/Pi OS 対応状況。
Busterはラインナップから消えましたが、Bullseye(32bit)でほぼ同じことが出来ます。※右クリックするにはBusterが必要。
2021-12-29/Pi OS Bullseye対応状況。(右クリックアプリがビルド出来ない)
2021-12-30/Pi OS Bullseye対応状況。(右クリックアプリ動作確認)
タッチ操作で右クリック。
画面を長押しすることで、右クリックと同じポップアップメニューを表示します。
アプリのインストール。
ビルドに必要なアプリをインストールします。
$ sudo apt install build-essential libevdev2 libevdev-dev |
Githubからアプリをダウンロードして、フォルダに移動します。
$ git clone 'https://github.com/PeterCxy/evdev-right-click-emulation.git' $ cd 'evdev-right-click-emulation' |
右クリックアプリをビルドします。
$ make all |
ビルドしたファイルを移動します。
$ sudo cp 'out/evdev-rce' '/usr/local/bin/' |
ファイルに権限をつけて実行可能にします。
$ sudo chmod +x '/usr/local/bin/evdev-rce' |
OS起動時の自動起動を有効にします。
$ sudo nano /etc/rc.local |
「exit 0」の前に下記コマンドを追加します。
sudo /usr/local/bin/evdev-rce & |
保存してデバイスを再起動します。画面を長押しすると、ポップアップメニューが開きます。
PeterCxy/evdev-right-click-emulation コマンドでカスタマイズ可能。
◎Bullseye(32bit)の場合
Pi OS Bullseye(32bit)では、ビルドに失敗してうまく導入出来ません。アプリ動作中のBusterから「evdev-rce」ファイルをコピーして、上記手順のまま進めます。
◎Bullseye(64bit)の場合 ※Bookwormは不可。
Pi OS Bullseye(64bit)では、ビルドに失敗してうまく導入出来ません。
①アプリ動作中のBusterから /usr/local/bin/evdev-rceにある「evdev-rce」を別のPCやDropboxなどにコピーします。
②Bullseye(64bit)で「make all」に失敗したら /home/pi/evdev-right-click-emulation/out の中に「evdev-rce」ファイルをコピーします。
③下記フォーラムを参考にコマンド入力をしてインストールします。手順5〜11まで。
④sudo nano /etc/rc.local から「exit 0」の前に上記コマンドを追加して再起動します。
タッチ操作で仮想キーボード。
スマートフォンやタブレットのように、画面にキーボードを表示して文字入力が出来るようになります。他にも「matchbox」や「xvkbd」などもありますが、今回は「onboard」を導入します。※「X11」の場合、Bookworm(64bit)でも導入可。
アプリのインストール。
必要なアプリをインストールします。
$ sudo apt install onboard $ sudo apt install at-spi2-core |
◎onboardの設定。
メニュー→設定の中からonboardの設定を開きます。
◻︎全般/テキスト編集時に自動的に表示、画面のロック解除時に表示にチェックします。
◻︎ウィンドウ/画面の端に固定するにチェックをします。
設定から、横や縦方向に拡大するのチェックを外すと、手動でキーボードの大きさを変更出来ます。
その他好みに合わせて、レイアウトやテーマを変更します。オリジナルのテーマを作ったり、キー入力時に音を鳴らしたり出来ます。一部のアプリでは、文字を長押しするとテキスト選択が出来るようになります。
メニュー→ユニバーサル・アクセスからアプリを起動します。
タッチ操作で画面回転。
再起動せずに画面設定が変更出来る、XRandRを使って画面を回転します。xinputコマンドで、画面回転に合わせて、タッチデバイスも回転します。シェルスクリプトを作り、タッチ操作で回転したり戻したりします。
タッチデバイス名を確認。
接続されているタッチデバイス名を調べます。
$ xinput list |
Virtual core pointerを確認します。接続しているタッチデバイスで名前が変わります。公式の7インチモニターだと「raspberrypi-ts」でした。※id番号でもOKです。
画面の回転とタッチ回転。
ターミナルにコマンドを入力してもタッチ操作が回転しないので、シェルスクリプトを作ります。xinput set-propの後に、調べたタッチデバイス名(またはid番号)を入力します。※Bullseye(64bit)、Bookworm(64bit)未検証。
◎画面とタッチ操作を右に回転します。
#!/bin/bash xrandr -o right xinput set-prop 'raspberrypi-ts' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1 |
新規ファイルを作り、「right.sh」で保存します。
◎画面とタッチ操作を元に戻します。
#!/bin/bash xrandr -o normal xinput set-prop 'raspberrypi-ts' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1 |
新規ファイルを作り、「normal.sh」で保存します。
ファイルに権限をつけて実行可能にします。
$ sudo chmod +x right.sh $ sudo chmod +x normal.sh |
作成したシェルスクリプトを実行すると、再起動をしなくても画面を回転したり戻したり出来ます。
◎その他の回転。
左に回転する場合。
xrandr -o left xinput set-prop 'raspberrypi-ts' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1 |
180度回転する場合。
xrandr -o inverted xinput set-prop 'raspberrypi-ts' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1 |
まとめ。
タッチ操作だけで、動画を見たりWEB検索やメール等で使ってみましたが問題なさそうです。スマートフォンやタブレットには敵いませんが、Raspberry Pi OSが使いやすくなりました。