กำลังมองหาวิธีในการปรับปรุงการตรวจจับฝ่ามือ synaptic / ทัชแพด


18

ฉันพบว่าการตรวจจับฝ่ามือของทัชแพดของฉันนั้นแย่มาก ฉันได้ตั้งค่าความไวขั้นต่ำที่ไม่ทำลายการใช้งานทัชแพดของฉัน (PalmMinWidth = 5, PalmMinZ = 1) และฉันยังคงได้รับการกระแทกแบบสุ่มทุกครั้งที่ฉันพิมพ์บนแป้นพิมพ์

ฉันควรใช้การตรวจจับฝ่ามือมากกว่าปิดใช้งานแป้นพิมพ์ในขณะที่พิมพ์เพราะฉันพบว่าแป้นพิมพ์ถูกปิดใช้งานเป็นระยะเวลานานเกินไป (เช่นฉันพิมพ์เสร็จแล้วและฉันต้องรอ 2 วินาทีก่อนใช้แป้นพิมพ์อีกครั้งซึ่งน่ารำคาญ) . กลยุทธ์ที่เป็นไปได้คือการลดความล่าช้านี้ถึงแม้ว่าฉันไม่แน่ใจว่าทัชแพดจะยังคงใช้งานได้อยู่ (ถ้าคุณรู้วิธีการทำเช่นนี้โพสต์มันดีกว่าไม่มีอะไร :)

เมื่อใดก็ตามที่ฉันใช้ Windows ฉันพบว่าฉันไม่มีปัญหากับทัชแพดดังนั้นต้องมีวิธีการปรับปรุงการตรวจจับฝ่ามือ

สุดท้ายฉันใช้การทดสอบ Debian 64 บิตบนเคอร์เนล linux 3.2.0-rc7


คำถามนี้ซ้ำกับคำถามที่ฉันตอบใน SuperUser ในปี 2011 ฉันไม่มีชื่อเสียงใน Unix & Linux Stack Exchange เพื่อตั้งค่าสถานะเป็น dupe superuser.com/questions/277427/…
downbeat

คำตอบ:


18

ฉันมีปัญหาที่คล้ายกันและพบว่าคำตอบในบล็อกนี้ค่อนข้างสมบูรณ์และได้คัดลอกรายละเอียดที่เกี่ยวข้อง:

ตั้งค่าการตรวจจับฝ่ามือ:

เปิดการตรวจจับปาล์มในประเภทเทอร์มินัล:

$ synclient PalmDetect=1

ตั้งค่าความกว้างสูงสุดที่ควรตีความเป็นนิ้วแทนที่จะใช้ฝ่ามือ ฉันเลือก 4 วิธีการใช้งานส่วนใหญ่ 10 มันเป็นการดีที่จะเดาและทดสอบที่นี่:

$ synclient PalmMinWidth=4

จากนั้นตั้งค่าความสูงต่ำสุดของฝ่ามือเทียบกับนิ้ว:

$ synclient PalmMinZ=50 

สุดท้ายภายใต้ Ubuntu การคลิกกลางด้วย 3 นิ้วจะไม่เปิดใช้งานตามค่าเริ่มต้นดังนั้นหากคุณต้องการเปิดใช้งานให้ใช้:

$ synclient TapButton2=3 TapButton3=2

ในทางทฤษฎีสิ่งนี้ควรเปิดใช้งานการแตะ 2 นิ้วสำหรับการคลิกกลางและการแตะ 3 นิ้วสำหรับการคลิกขวา แต่ใน Ubuntu 13.04 พฤติกรรมที่ได้นั้นตรงกันข้าม ดังนั้นหากคุณต้องการใช้ 2 นิ้วสำหรับการคลิกกลาง:

$ synclient TapButton2=2 TapButton3=3 

จะทำให้เรื่องนี้อย่างถาวรเมื่อคุณได้พบการตั้งค่าที่ถูกต้องบันทึกไว้ใน50-synaptics.confซึ่งตั้งอยู่ที่/usr/share/X11/xorg.conf.d/50-synaptics.confใน Debian / Ubuntu (Semplice) และ/etc/X11/xorg.conf.d/50-synaptics.confใน Arch Linux distros ตาม (ครั้งแรก "InputClass" เป็นส่วนหนึ่งสำหรับแบบ multi-touch คลิกกลางแก้ไข ซึ่งเปิดใช้งานแล้วใน Arch ดังนั้นคุณไม่จำเป็นต้องเพิ่ม):

Section "InputClass"
    Identifier "touchpad catchall"
    Driver "synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option "TapButton1" "1"
    Option "TapButton2" "2"
    Option "TapButton3" "3"
    Option "HorizTwoFingerScroll" "on"
    Option "VertTwoFingerScroll" "on"
EndSection


#synclient PalmDetect=1
Option "PalmDetect" "1"
#synclient PalmMinWidth=4
Option "PalmMinWidth" "4"
#synclient PalmMinZ=50
Option "PalmMinZ" "50"

การปิดทัชแพดชั่วคราวขณะที่พิมพ์:

แทนที่จะใช้คำสั่ง synclient ให้ใช้ syndaemon:

$ syndaemon -K -i 0.5 -R -d 

วิกิพีเดียซุ้มอ้างว่าถ้าคุณบันทึกคำสั่งนี้เพื่อคุณ ~/.xinitrcไฟล์ที่จะมีมันทำงานโดยอัตโนมัติที่ต่อไปของคุณเข้าสู่ระบบใน อย่างไรก็ตามเมื่อฉันทำสิ่งนี้ฉันไม่รู้ว่าคำสั่งจะต้องเกิดขึ้นก่อนที่จะเปิดเดสก์ท็อป ( exec DESKTOP.sessionคำสั่ง) หลังจากเล่นไฟล์ config อื่น ๆ แล้วเรียนรู้มากมายเกี่ยวกับตัวจัดการการแสดงผล SLiM ในที่สุดฉันก็รู้ว่าคำสั่งที่ต้องการย้ายไฟล์เพิ่มเติมขึ้นมาเนื่องจากคำสั่งหลังจากการเปิดเดสก์ท็อปจะไม่ทำงานจนกว่าเดสก์ท็อป ออกจากแล้ว


5

ฉันพบวิธีแก้ไขระยะเวลาที่ปิดการใช้งานทัชแพดขณะพิมพ์ สำหรับคนอื่นที่กำลังมองหาที่นี่มันคือ:

หมายเหตุ: การค้นหาของ Google จะให้คำตอบที่รวดเร็วเพียงพอ

เพียงเรียกใช้โปรแกรมsyndaemon -dและเพิ่มเป็นตัวเลือก-i wait_timeที่ wait_time คือระยะเวลารอก่อนเปิดใช้งานทัชแพดอีกครั้ง พารามิเตอร์ที่มีประโยชน์อื่น ๆ เพื่อให้ syndaemon รวมถึง-Kถึงไม่เคยปิดการใช้งานทัชแพดเมื่อการกดแป้นของฟอร์แมทตัวปรับเปลี่ยนรูปแบบ + และ-tเพื่อปิดการคลิกเท่านั้นไม่ใช่การเคลื่อนไหวของเมาส์

ดังนั้นในกรณีของฉันฉันเพิ่มต่อไปนี้เพื่อสคริปต์ที่ฉันทำงานในการเข้าสู่ระบบ:

#Get rid of previous syndaemon
killall syndaemon
#More aggressive behavior, allow for mod+key combos, enable mouse movements
syndaemon -i 0.2 -K -t -d

ด้วยการปรับเปลี่ยนทั้งหมดโดยเฉพาะอย่างยิ่งการ-tตั้งค่าสถานะฉันสามารถอยู่กับทัชแพดได้แล้วตอนนี้!


ฉันพบว่าฉันต้องการอย่างน้อย -t (-t ปิดใช้งานเฉพาะการแตะและเลื่อนไม่ใช่การเคลื่อนไหวของเมาส์ตอบสนองต่อกิจกรรมของแป้นพิมพ์) หรืออย่างอื่นที่ฉันเคยคลั่งไคล้ ฉันใช้งาน Fedora 16. คุณจะทำการเปลี่ยนแปลงอย่างถาวรได้อย่างไร
Philip Durbin

@PhilipDurbin ฉันใส่มันลงในสคริปต์ที่ถูกเรียกเมื่อทำการบูท (โดยใช้ gnome-session-Properties) แต่ฉันต้องทำเพื่อผู้ใช้แต่ละคน วิธีดั้งเดิมมากขึ้นคือการวางไว้ในไฟล์ xorg.conf แต่ฉันไม่สามารถหาวิธีตั้งค่าsyndaemonตัวเลือกในมันได้synclientตัวเลือกเท่านั้น
levesque

3

ฉันมีแล็ปท็อปที่ทันสมัยพร้อมทัชแพดขนาดใหญ่และครึ่งเวลาฝ่ามือขวาของฉันกำลังนั่งอยู่บนขอบและทำการคลิกผิดเมื่อฉันพิมพ์ PalmDetect = 1 ของ Synclient ไม่ทำงานสำหรับฉัน (ไม่ว่าฉันจะตั้งค่า PalmMinWidth และ PalmMinZ ไว้ที่ใดก็ตาม) บางทีมันอาจเป็นความจริงที่ว่าฝ่ามือของฉันแตะแผ่นจากด้านขวาและตรวจจับฝ่ามืออาจกำลังตรวจสอบจากด้านบน ฉันไม่รู้แน่

ฉันแก้ไขปัญหาด้วยการทำให้โซนตายบนขอบด้านขวา นี่คือวิธีที่คุณทำ:

synclient 

จะให้การตั้งค่าปัจจุบันของทัชแพด ที่น่าสนใจคือผลลัพธ์เหล่านี้ที่นี่:

LeftEdge                = 1572
RightEdge               = 5370
TopEdge                 = 1376
BottomEdge              = 4480

เห็นได้ชัดว่าตัวเลขจะแตกต่างกันไปขึ้นอยู่กับฮาร์ดแวร์ มองหาขอบที่คุณต้องการในกรณีของฉันมันคือขอบขวา ฉันเลือกจำนวนที่ฉันต้องการจะโกน คุณต้องการกำจัดจำนวนที่น้อยที่สุดที่คุณสามารถทำได้ขณะที่ยังบล็อกการคลิกปลอมจากฝ่ามือของคุณ การทดสอบที่ง่ายมากคือการหารูปภาพที่คลิกได้บนเว็บเลื่อนเม้าส์ไปตรงกลางและวางฝ่ามือของคุณที่ซึ่งคุณมักจะพิมพ์ ในการจำลองการพิมพ์ให้ตบ (เบา ๆ !) ที่ขอบของทัชแพดโดยใช้ฝ่ามือซึ่งมักยื่นออกมาเมื่อคุณพิมพ์ หากคุณได้รับการคลิกคุณจะรู้ได้ทันที มันจะเป็นการทดลองและข้อผิดพลาดเล่นต่อไปจนกว่าคุณจะถึงจุดที่น่าสนใจ ในกรณีของฉันการโกนแบบ 30 ทำให้เคล็ดลับ:

synclient AreaRightEdge=5340

หากต้องการแก้ไขขอบอื่น ๆ ให้เปลี่ยน AreaBottomEdge, AreaLeftEdge หรือ AreaTopEdge การตั้งค่าเหล่านี้กลับเป็น 0 จะเป็นการปิดการใช้งาน


หน้าคนพูดถึงว่าคุณสมบัติการตรวจจับฝ่ามือต้องการการสนับสนุนฮาร์ดแวร์ ฉันพบการสนทนาว่าผู้คนกำลังคุยกันเรื่องทัชแพดซึ่งในทางทฤษฎีมีการสนับสนุนฮาร์ดแวร์ แต่ในทางปฏิบัติก็ใช้ไม่ได้ ดังนั้นฉันจึงพยายามPalmDetect=1แต่ไม่สามารถใช้งานได้ ฉันตั้งค่าพารามิเตอร์เพื่อให้อินพุตทั้งหมดควรได้รับการปฏิบัติเช่นเดียวกับการฝ่ามือโดยไม่ตั้งใจ แต่อินพุตทั้งหมดยังคงดำเนินต่อไป ดังนั้นทัชแพดของฉันไม่รองรับหรือเป็นบั๊กกี้ ในท้ายที่สุดฉันใช้Area...Edgeพารามิเตอร์เพื่อปัดพื้นที่ออกจากทัชแพดของฉัน และนั่นก็ใช้ได้
หลุยส์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.