樹莓派螢幕畫面及觸控旋轉設定

1. 畫面顯示旋轉

1.1 更新作業系統版本

1.1.1 檢查作業系統版本,輸入以下指令

cat /etc/os-release

輸出如下:

PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

1.1.2 若作業系統是 Raspberry Pi OS Bullseye 分支版本,則需要更新,執行以下指令,其他系統不需要,可以跳過。

sudo apt-get update
sudo apt-get full-upgrade

1.2 Raspberry Pi OS 和 Kali 畫面顯示旋轉

先檢查系統是否有加載 KMS 或 FKMS 驅動。

查看方法:在 /boot/config.txt 中,看對應的主板是否有打開 dtoverlay=vc4-kms-v3d 或 dtoverlay=vc4-fkms-v3d。

1.2.1 若有加載 KMS 或 FKMS 驅動,使用以下命令進行畫面顯示旋轉:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

在 autostart 檔案尾端輸入對應顯示旋轉角度的指令如下,重啟後生效

0:旋轉0度

1:旋轉270度

2:旋轉180度

3:旋轉90度

xrandr -o 1

1.2.2 若没有加載 KMS 或 FKMS 驅動,使用以下命令進行畫面顯示旋轉:

sudo nano /boot/config.txt

在 config.txt 檔案尾端輸入對應顯示旋轉角度的指令如下,重啟後生效

0:旋轉0度

1:旋轉90度

2:旋轉180度

3:旋轉270度

display_rotate=3

2. 觸控旋轉

2.1 安裝 libinput

sudo apt-get install xserver-xorg-input-libinput

如果你安裝的是 Ubuntu 系統,或是 Jetson Nano,安裝指令如下,

sudo apt install xserver-xorg-input-synaptics

2.2 在 /etc/X11/ 下建立 xorg.conf.d 資料夾(若該資料夾已存在,此步驟可跳過)

sudo mkdir /etc/X11/xorg.conf.d

2.3 複製 40-libinput-conf 檔案到剛建立的資料夾底下

sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/

2.4 編輯該檔案

sudo nano /etc/X11/xorg.conf.d/40-libinput.conf

2.5 找到 touchscreen 的部分,在裡面增加以下指令,然後存檔即可

Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1"

類似下圖位置:

2.6 重啟樹莓派

sudo reboot

完成以上步驟即可進行 90 度旋轉。

備註:
90 度旋轉: Option “CalibrationMatrix” “0 1 0 -1 0 1 0 0 1”

180 度旋轉: Option “CalibrationMatrix” “-1 0 1 0 -1 1 0 0 1”

270 度旋轉: Option “CalibrationMatrix” “0 -1 1 1 0 0 0 0 1”

如何設定樹莓派電容式觸控螢幕右鍵快顯功能表

測試環境:2022-04-04-raspios-bullseye-armhf 32 位元系統
支援型號:微雪電子DSI LCD、DPI LCD和HDMI LCD電容式觸控螢幕系列

一、安裝軟體

wget https://www.waveshare.net/w/upload/1/18/Evdev-right-click-emulation.zip
unzip Evdev-right-click-emulation.zip
cd evdev-right-click-emulation
sudo apt install build-essential libevdev2 libevdev-dev
cd 'evdev-right-click-emulation'
sudo cp 'out/evdev-rce' '/usr/local/bin/'
sudo chmod +x '/usr/local/bin/evdev-rce'

執行指令

sudo evdev-rce

執行上列指令後,長按觸控螢幕即可出現右鍵快顯功能表

二、設定 pi 用戶可以執行

sudo usermod -G 'input' -a pi
echo 'uinput' | sudo tee -a /etc/modules
sudo nano /etc/udev/rules.d/99-uinput.rules

在 99-uinput.rules 檔案中增加下列這行

KERNEL=="uinput", MODE="0660", GROUP="input"

儲存後再執行

sudo udevadm control --reload-rules
sudo udevadm trigger

重新開機

sudo reboot

執行指令(不需要 sudo)

evdev-rce

執行上列指令後,長按觸控螢幕即可出現右鍵快顯功能表

三、設定開機啟動

輸入以下指令

sudo mkdir ~/.config/autostart
sudo nano ~/.config/autostart/right_click.desktop

在 right_click.desktop 增加程式碼如下

[Desktop Entry]
Version=1.0
Type=Application
Name=evdev-rce
GenericName=Enable long-press-to-right-click gesture
Exec=env LONG_CLICK_INTERVAL=1000 LONG_CLICK_FUZZ=200 /usr/local/bin/evdev-rce
Terminal=true
StartupNotify=false

如果要修改靈敏度可以修改 LONG_CLICK_INTERVAL=1000 LONG_CLICK_FUZZ=200 這兩個參數值的大小

如何關閉樹莓派螢幕保護程式

一、開啟 lightdm.conf

sudo nano /etc/lightdm/lightdm.conf

二、修改 lightdm.conf

找到[Seat:*]底下”xserver-command=X “,取消註釋,修改如下:

[Seat:*]
...
xserver-command=X -s 0 -dpms

-s # :關閉螢幕保護程式
dpms :關閉電源管理

三、重新啟動即可

sudo reboot

四、備註:設定螢幕開啟或關閉

vcgencmd display_power 0
vcgencmd display_power 1