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

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

如何安裝樹莓派虛擬鍵盤

1. 安裝所需軟體matchbox-keyboard

sudo apt update
sudo apt install matchbox-keyboard

2. 開啟編輯toggle-matchbox-keyboard.sh腳本

sudo nano /usr/bin/toggle-matchbox-keyboard.sh

3. 複製以下內容至toggle-matchbox-keyboard.sh腳本,存檔後退出

#!/bin/bash
#This script toggle the virtual keyboard
PID=`pidof matchbox-keyboard`
if [ ! -e $PID ]; then
killall matchbox-keyboard
else
matchbox-keyboard &
fi

4. 新增執行權限

sudo chmod +x /usr/bin/toggle-matchbox-keyboard.sh

5. 開啟編輯toggle-matchbox-keyboard.desktop桌面捷徑

sudo mkdir /usr/local/share/applications
sudo nano /usr/local/share/applications/toggle-matchbox-keyboard.desktop

6. 複製以下内容至toggle-matchbox-keyboard.desktop,存檔後退出

[Desktop Entry]
Name=Toggle Matchbox Keyboard
Comment=Toggle Matchbox Keyboard`
Exec=toggle-matchbox-keyboard.sh
Type=Application
Icon=matchbox-keyboard.png
Categories=Panel;Utility;MB
X-MB-INPUT-MECHANSIM=True

7. 使用”pi”用戶權限開啟編輯panel文件,注意此處不可以用管理員權限執行,否則會找不到檔案

sudo nano /etc/xdg/lxpanel/LXDE-pi/panels/panel

8. 在panel文件中找到類似以下區塊,注意不同版本圖示可能會有些微差異

Plugin {
type = launchbar
Config {
Button {
id=lxde-screenlock.desktop
}
Button {
id=lxde-logout.desktop
}
}

9. 新增以下內容至Button區塊,以新增虛擬鍵盤按鍵

Button {
id=/usr/local/share/applications/toggle-matchbox-keyboard.desktop
}

10. 完成後檔案內容大致如下,存檔後退出

RPILCD-INSTALL-KEYBOARD01.png

11. 重開機後應該可以看到螢幕左上角多了1個虛擬鍵盤圖示

sudo reboot

如何調整樹莓派官方版7吋觸控螢幕亮度

如何調整樹莓派官方版7吋觸控螢幕亮度

是否覺得樹莓派的觸控螢幕太亮了呢?

想要調整亮度卻找不到按鈕呢?

其實驅動程式就有提供 /sys/ 界面,讓使用者可以透由指令啟動或關閉螢幕,也可以調整螢幕亮度喔,詳細內容如下:

  1. 啟動螢幕:

    echo 0 > /sys/class/backlight/rpi_backlight/bl_power

  2. 關閉螢幕:

    echo 1 > /sys/class/backlight/rpi_backlight/bl_power

  3. 調整亮度:

    echo n > /sys/class/backlight/rpi_backlight/brightness
    這裡的n是 0 到 255的任一值

  4. 若出現 “Permission denied” 錯誤訊息,請在最前面加上 sudo bash -c 及” “,如:

    sudo bash -c "echo 0 > /sys/class/backlight/rpi_backlight/bl_power"

  5. 備註:’brightness’ 設定只對 v1.1版硬體有效,v1.0版 < 128 是關,>= 128 是開

樹莓派 Raspberry Pi GPIO 排針輸出腳位互動式教學

樹莓派 Raspberry Pi GPIO 排針輸出腳位互動式教學

The comprehensive GPIO Pinout guide for the Raspberry Pi.

This GPIO Pinout is designed to be both a quick and interactive reference to the Raspberry Pi GPIO pins, plus a comprehensive guide to your Raspberry Pi’s GPIO interfaces. It also includes dozens of pinouts for Raspberry Pi add-on boards, HATs and pHATs.

Support Pinout.xyz On Patreon

If you love Pinout, please help me fund new features and improvements. Head on over to Patreon.com/gadgetoid. A $1 pledge will make all the difference! Thank you.

pHAT Stack

Pinout has teamed up with Pimoroni to create a prototype board compatibility tool, check it out here!

Explore HATs & pHATs

We’ve added a board explorer! Use it to find the pinout for a Raspberry Pi add-on board, or discover new ones. If you manufacture boards, we’d love to add yours too. You can contribute over on GitHub.

What do these numbers mean?

  • BCM – Broadcom pin number, commonly called “GPIO”, these are the ones you probably want to use with RPi.GPIO and GPIO Zero
  • WiringPi – Wiring Pi pin number (shown as a tooltip), for Gordon Henderson’s Wiring Pi library
  • Physical – Number corresponding to the pin’s physical location on the header
  • Rev 1 Pi – Alternate BCM numbers for the original, 26-pin model “A” and “B” Pi

Source comes from https://pinout.xyz/#