Lxde添加觸摸板雙擊功能、防誤觸


前言

本文鏈接:https://www.cnblogs.com/hellxz/p/linux_touchpad_settings.html

這時簡單記錄一下最近兩天折騰Lxde的觸摸板功能的設置,留待日后查閱

本文主要記錄一下APT系Linux開啟Lxde觸摸板雙擊功能,以及一些關於觸摸板防誤觸方面的設置

PS: Arch Linux可以直接參考官方wiki

解決Lxde沒有雙擊功能

安裝驅動包

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

復制 /usr/share/X11/xorg.conf.d/etc/X11

sudo cp -R /usr/share/X11/xorg.conf.d /etc/X11/.
cd /etc/X11/xorg.conf.d
sudo vim 10-edev.conf #添加edev.conf配置文件,添加自定義配置

新建/usr/share/X11/xorg.conf.d/10-edev.conf

sudo vim /usr/share/X11/xorg.conf.d/10-edev.conf #添加edev.conf配置文件,添加自定義配置

文件內容如下:

# To overwrite 70-synaptics.conf default configuration.
# The Options are useful for diy
Section "InputClass"  
        Identifier "evdev touchpad catchall"  
        MatchIsTouchpad "on"  
        MatchDevicePath "/dev/input/event*"  
        Driver "synaptics"  
        Option "TapButton1" "1"
        Option "TapButton2" "2"
        Option "TapButton3" "3"
EndSection

# if touchpad has duplicates, will ignore operation what you have done with touchpad.
Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"
EndSection

這里開啟單擊、雙擊、三指的操作功能,如果不想再使用某一功能,可以設置其值為0或移除此Option

重啟系統

重啟系統后,我們會發現雙指操作可以正常使用了,但是我發現打字的時候,大拇指會碰到掌托,鼠標亂跑,基本沒法正常打字,這樣也是不合需要的。所有有了下邊的打字等場景禁用觸摸板的記錄

打字時禁用觸摸板

這里有三種方案,其一是開啟手掌探測,其二是打字時禁用觸摸板,其三是直接禁用觸摸板(提供切換腳本)

查看當前觸摸板設置可以參考synclient -l

開啟手掌探測(Palm Detect)

以下為測試數據,可以使用如下參數在本次會話中測試,如果一切正常且滿足需要,可以添加到自啟腳本中

synclient PalmDetect=1 #開啟手掌探測
synclient PalmMinWidth=8 # 手掌最小寬度
synclient PalmMinZ=100 #手掌用力最小力度(z坐標軸方向)

以上的PalmMinWidthPalmMinZ的數值可以通過evtest軟件進行測試,使用方法如下圖

最后我們得到的參數,也可以添加到/usr/share/X11/xorg.conf.d/10-edev.conf中,接續在Option下方

例如剛才的配置應寫為:

Option "PalmDetect" "1"
Option "PalmMinWidth" "8"
Option "PalmMinZ" "100"

打字時禁用觸摸板

syndaemon -i 2 -d  #2s是暫停時間,更多詳情參考syndaemon -h

可以添加到自啟(auto_start)中,禁用時間可以按需調整,如果不寫-m指定毫秒數默認200ms,-i指定秒數,默認2s

禁用觸摸板

實現思路是通過腳本去切換當前禁用觸摸板的狀態

創建shell腳本

sudo vim /usr/local/bin/touchpad_toggle.sh 

內容如下:

#!/bin/bash

ts=`synclient -l|grep TouchpadOff`
ts=${ts#*= }

if [ "$ts" == 0 ]; then
    synclient TouchpadOff=1
else
    synclient TouchpadOff=0
fi

當然腳本還可以簡寫為:

#!/bin/bash
synclient TouchpadOff=$(synclient -l | grep -c 'TouchpadOff.*=.*0')

引用文章:

Arch Linux Wiki

Ubuntu Wiki

Linux公社


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM