Linux – 觸控螢幕設定
1. Linux-顯示設定
Linux系統的顯示設定方式依桌面環境不同而略有差異,愈是圖形化的桌面,顯示設定的選項與Windows系統也愈相似。目前通行的Linux發行版,如Debian、Ubuntu、Manjaro均支援USB觸控螢幕隨插即用。簡列三種Linux桌面的顯示設定方法如下:
Gnome桌面
點選左上角叫出工作列>>列出所有應用程式>>點選Settings


🔵點選側欄的[Displays]>>點選Orientation選單>>選擇顯示方向>>點選Apply>>點選Keep Changes

🔵若覺得文字在Full HD畫質下過小>>點選Scale選單>>選擇125% 或150%即可放大文字

Plasma桌面
點選左下角System settings圖示>>點選側欄中[Display& Monitor],可檢視已連接的顯示器資料


🔵點選[Orientation] 中的圖示,選擇所需的螢幕顯示方向>>點選 [Apply]>>點選[Keep]

🔵若覺得文字在Full HD畫質下過小>>點選Scale選單>>選擇135% 或150%放大文字

Ubuntu桌面
點選左下角叫出列出所有應用程式>>點選Settings

🔵點選側欄的[Displays]>>點選Orientation選單>>選擇顯示方向>>點選Apply>>點選Keep Changes

🔵若覺得文字在Full HD畫質下過小>>點選Scale選單>>選擇125% 或150%即可放大文字

注意:2025年起(Debian 13),於上述的Linux桌面設定直向顯示後,觸控位置也會自動旋轉為直向,無須自訂觸控旋轉矩陣!
2. Linux-直向觸控螢幕之觸控設定
若您採用舊版的Linux桌面環境,在顯示設定轉向後,發現觸控位置未旋轉,請手動至40-libinput設定檔中,新增設定觸控的旋轉矩陣。
① 開啟40-libinput設定檔
在Terminal中輸入指令 cd /usr/share/X11/xorg.conf.d,進入xorg.conf.d資料夾。
輸入指令 ls 列出所有檔案,確認其下包含有40-libinput.conf


② 加入觸控輸入的旋轉矩陣
輸入下列指令,打開並編輯40-libinput.conf 檔案。
sudo nano 40-libinput.conf
找到touchscreen 段落,加入新的一列 Option “TransformationMatrix” “0 -1 1 1 0 0 0 0 1”
按Ctl+X➜按y儲存檔案。


③ 重新開機,完成!以手指在觸控螢幕上測試,反應位置正確
輸入 sudo reboot,重新開機,開機後即完成設定。
旋轉矩陣值-以Gechic T1觸控螢幕為例:
0° = Option “TransformationMatrix” “1 0 0 0 1 0 0 0 1”
90° = Option “TransformationMatrix” “0 -1 1 1 0 0 0 0 1”
180° = Option “TransformationMatrix” “-1 0 1 0 -1 1 0 0 1”
270° = Option “TransformationMatrix” “0 1 0 -1 0 1 0 0 1”
各廠牌的觸控起始位置可能不同,90度與270度的矩陣值可能恰好顛倒,請自行嚐試確認。
以Ubuntu desktop的顯示設定為例,旋轉270° 適用於顯示方向設定為【Portrait Right】。

3. Linux-延伸觸控螢幕之觸控設定
當連接的觸控螢幕是採用延伸雙螢幕的顯示設定:主螢幕為一般顯示器、觸控螢幕作為外接的第二螢幕,且設定為延伸桌面,使用者可能發現,雙螢幕的顯示正常,但該觸控螢幕的觸控反應位置並不正確,此時須再設定觸控輸入的映射位置。
部分桌面環境,如Plasma 桌面 與 Raspberry Pi OS桌面已經在系統設定中提供了觸控設定,使用者可以利用圖形介面快速進行觸控設定:
Plasma桌面
① 點選左下角[系統設定]圖示➝點選[Touchscreen],系統已辨識到一個觸控輸入裝置[ILITEK ILITEK-TP]➝勾選[Enabled]➝在Target Display選單中,選擇觸控螢幕型號(本例為T111B觸控螢幕)

② 點選[Apply]。
套用成功後,以手指點擊觸控螢幕,觸控反應位置正確。

Raspberry Pi OS桌面
①點選左上角樹莓派圖示➝點選Preferences ➝點選Control Centre

② 點選Screens➝點選觸控螢幕(本範例為HDMI-A-2)➝點選[Touchscreen]➝點選 [ILITEK ILITEK-TP ] (Gechic的所有觸控螢幕均會顯示為ILITEK ILITEK-TP) ➝點選 [Apply]
套用設定後,以手指點擊觸控螢幕,觸控反應位置正確。

③ 注意:非觸控螢幕的HDMI-A-1 的設定選單中,同時具備 [Touchscreen] [ILITEK ILITEK_TP],請勿勾選,以免觸控輸入由HDMI-A-2改為設定至HDMI-A-1,造成真正的觸控螢幕不反應。

針對尚未提供觸控輸入設定介面的其它桌面,例如Gnome、Ubuntu等,則應關閉Wayland 轉至X11環境 並使用xinput map-to-output指令,手動設定觸控輸入裝置的映射位置。 詳細的設定步驟說明如下:
Gnome桌面
① 關閉wayland
在Terminal中輸入下列指令,開啟daemon.conf檔 【此為Debian12的設定檔, Debian11的設定檔名為custom.conf】
sudo nano /etc/gdm3/daemon.conf

找到 #waylandenable=false,删除#後,儲存檔案並重新開機

② 執行xinput list
輸入指令 xinput list 列出所有連線裝置,並找出觸控螢幕的連線ID (給奇觸控螢幕的名稱一律顯示為ILITEK-TP ),在此範例中,外接的觸控螢幕連線ID為22。


③ 執行xrandr
輸入指令 xrandr 列出所有列出所有顯示器,並找出觸控螢幕的連線名稱(在此範例中,以HDMI連線的外接觸控螢幕名稱”HDMI-1”;其延伸顯示設定的解析度為1920*1080+1366*0 )


④ 執行 xinput map-to-output
輸入下列指令列,指定xinput裝置 ID 22 映射至顯示器HDMI-1
xinput map-to-output 22 “HDMI-1”

⑤ 完成! 以手指在觸控螢幕上測試,反應位置正確!
Ubuntu桌面
① 關閉wayland
在Terminal中輸入下列指令,開啟custom.conf檔,找到 waylandenable=enable,在前方加上#後,儲存檔案並重新開機
sudo nano /etc/gdm3/custom.conf

② 執行xinput list
在Terminal中輸入指令 xinput list 列出所有連線裝置,並找出觸控螢幕的連線ID (給奇觸控螢幕的名稱一律顯示為ILITEK-TP ),在此範例中,外接的觸控螢幕連線ID為11

③ 執行xrandr
輸入指令 xrandr 列出所有列出所有顯示器,並找出觸控螢幕的連線名稱(在此範例中,以HDMI連線的外接觸控螢幕名稱”HDMI-1”;其延伸顯示設定的解析度為1920*1080+0*0 )


④ 執行 xinput map-to-output
輸入下列指令列,指定xinput裝置 ID 11 映射至顯示器HDMI-1
xinput map-to-output 11 “HDMI-1”
⑤ 完成! 以手指在觸控螢幕上測試,反應位置正確!
設定map-to-output自動執行檔
上述觸控映射在重開機或外接螢幕的USB線重新插拔後便會失效,必須再一次輸入map-to-output指令設定USB裝置的映射位置。為了使用的便利性,建議將map-to-output指令設定為桌面開機後的自動執行程式。
① 確認觸控螢幕之屬性名稱
先前查到觸控螢幕的系統辦識的id為11,然而此id可能因為重開機或更換USB埠而異動,因此在設定自動執行檔時,我們建議使用裝置名稱來取代裝置id。在Terminal輸入指令 xinput list-props 11,顯示外接觸控螢幕的所有屬性資料,即可查到裝置的名稱為 ‘ILITEK ILITEK-TP ‘ (所有單引號之間的資料,包含空格)。

② 新增一個指令檔
輸入下列指令,在根目錄下新增一個文件。
sudo nano ~/.config/touchscreen.sh
在文件內輸入下列內容,儲存並離開。
#! /bin/bash
xinput map-to-output “ILITEK ILITEK-TP “ HDMI-1

輸入下列指令,開放touchscreen.sh的執行權限。
sudo chmod+x ~/.config/touchscreen.sh
③ 新增一個桌面的自動執行檔
在Terminal輸入下列指令, 在根目錄的.config/autostart下新增一個檔名為touch.desktop 的檔案(若不存在autostart資料夾,請自行新增)。
sudo nano ~/.config/autostart/touch.desktop
在檔案內輸入下列內容,儲存後離開。[注意: 執行檔的位址應為你的實際執行檔案位置]
[Desktop Entry]
Type=Application
Name=touch
Exec=/home/gechic/.config/touchscreen.sh

④ 重新開機
重新開機後,測試外接觸控螢幕,即能在正常位置顯示觸控反應。
4. Linux-設定兩台觸控螢幕
延續3.延伸觸控螢幕之觸控設定,如果在 Linux系統連接兩台觸控螢幕並設定為延伸顯示使用,詳細的觸控設定步驟請參見本文章:

