Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

CentOS 6.4 使用腳本自動停用觸控板:xinput 設定 Device Enabled 完整教學

編輯:關於 Linux

筆記本觸控板常因誤觸干擾輸入。CentOS 6.4 可透過 xinput 設定 Device Enabled 屬性啟用/停用觸控板,並撰寫 Shell 腳本實現開關自動化,適合無實體快捷鍵或快捷鍵失效的情況。

前置準備

# 確認安裝 xorg-x11-apps (提供 xinput)
rpm -qa xorg-x11-apps
# 未安裝則:
yum install xorg-x11-apps

1. 查看可用輸入裝置

xinput list
# 輸出範例:
# ⎡ Virtual core pointer                     id=2    [master pointer (3)]
# ⎜   ↳ Virtual core XTEST pointer           id=4    [slave pointer (2)]
# ⎜   ↳ Macintosh mouse button emulation     id=14   [slave pointer (2)]
# ⎜   ↳ SIGMACHIP Usb Mouse                  id=15   [slave pointer (2)]
# ⎜   ↳ ImPS/2 Logitech Wheel Mouse          id=13   [slave pointer (2)]
# ⎣ Virtual core keyboard                    id=3    [master keyboard (2)]
#     ↳ Virtual core XTEST keyboard          id=5    [slave keyboard (3)]
#     ...

2. 找出觸控板裝置 ID

觸控板通常為 PS/2 裝置,名稱含 PS/2、Touchpad、Synaptics、ALPS 等關鍵字。若不確定,可逐一測試:

# 假設疑似 ID 為 13
xinput --set-prop 13 "Device Enabled" 0
# 滑動觸控板,若無反應即為目標裝置
xinput --set-prop 13 "Device Enabled" 1
# 恢復啟用

# 將所有非觸控板裝置依序啟用

3. 撰寫自動化腳本 touchpad.sh

vi touchpad.sh
#!/bin/bash
# 使用方式:sh touchpad.sh on|off|1|0

if [ "$1" = "on" ] || [ "$1" = "1" ]; then
    xinput --set-prop 13 "Device Enabled" 1
    echo "open"
elif [ "$1" = "off" ] || [ "$1" = "0" ]; then
    xinput --set-prop 13 "Device Enabled" 0
    echo "close"
else
    echo "請輸入正確的參數:on/off 、0/1。"
    echo "開啟觸控板:sh touchpad.sh on 或 sh touchpad.sh 1"
    echo "關閉觸控板:sh touchpad.sh off 或 sh touchpad.sh 0"
fi
chmod +x touchpad.sh
# 使用:
./touchpad.sh off   # 關閉
./touchpad.sh on    # 開啟

4. 進階:偵測觸控板 ID 自動化

#!/bin/bash
# 自動偵測觸控板 ID (關鍵字:Touchpad, PS/2, Synaptics)
TP_ID=$(xinput list | grep -i -E 'touchpad|ps/2|synaptics|alps' | head -1 | sed -n 's/.*id=\([0-9]*\).*/\1/p')
if [ -z "$TP_ID" ]; then
    echo "未偵測到觸控板裝置"
    exit 1
fi

case "$1" in
    on|1) xinput --set-prop "$TP_ID" "Device Enabled" 1; echo "Touchpad enabled (id=$TP_ID)" ;;
    off|0) xinput --set-prop "$TP_ID" "Device Enabled" 0; echo "Touchpad disabled (id=$TP_ID)" ;;
    *) echo "Usage: $0 {on|off|1|0}"; exit 1 ;;
esac

xinput list 輸出與腳本截圖

桌面環境整合

  • GNOME/KDE/XFCE 設定 → 滑鼠/觸控板 → 停用觸控板(內建功能優先)。
  • 啟動應用程式加入腳本:sh /path/touchpad.sh off 開機自動關閉。
  • 鍵盤快捷鍵綁定:sh /path/touchpad.sh toggle(需腳本支援 toggle 邏輯)。
Copyright © Windows教程網 All Rights Reserved