จะแก้ไขการปฏิเสธปาล์มบน Ubuntu 16.04 LTS ได้อย่างไร


14

ฉันเพิ่งดาวน์โหลด Ubuntu บนแล็ปท็อป Dell Inspiron 7559 ของฉันและฉันสังเกตเห็นว่าการปฏิเสธปาล์มทำขึ้น ซอฟต์แวร์ใช้งานได้บางส่วน เคอร์เซอร์ไม่เคลื่อนที่เมื่อฉันพยายามใช้แทร็คแพดกับฝ่ามือของฉันดังนั้นมันจึงจดจำฝ่ามือของฉันได้อย่างชัดเจน แต่เมื่อฉันวางฝ่ามือลงบนแทร็กแพดไม่จำเป็นต้องแตะเพียงแค่วางไว้ที่นั่นการคลิกจะเกิดขึ้นโดยอัตโนมัติ นี่ทำให้หน้าต่างหายไปดังนั้นฉันจึงต้องตามล่าพวกมันเพื่อให้พวกมันกลับมา

นี่เป็นปัญหาแปลก ๆ โดยเฉพาะฉันไม่สามารถหาคนอื่นได้ ฉันบูทสองครั้ง Windows และ Ubuntu และฉันไม่มีปัญหานี้เมื่อฉันบูต Windows 10 ดังนั้นจะมีการตั้งค่าที่ฉันสามารถเปลี่ยนหรือไดรเวอร์ที่ฉันสามารถปรับปรุงได้หรือไม่ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม

แก้ไข:

ฉันตรวจสอบอุปกรณ์ของฉันโดยใช้รายการ xinput และฉันสังเกตเห็นว่าฉันมีอินพุต 2 ทัชแพด:

↳ ELAN1010: 00 04F3: 3012 ทัชแพด id = 12 [ตัวชี้ทาส (2)]

↳ ETPS / 2 ทัชแพด Elantech id = 14 [ตัวชี้ทาส (2)]

ดังนั้น OS จะฟังคนขับผิดหรือเปล่า? และถ้าเป็นเช่นนั้นฉันจะใช้มันอย่างไรให้ถูกต้อง?

คำตอบ:


12

ก่อนอื่นคุณต้องการค้นหาไดรเวอร์ทัชแพดของคุณ คุณสามารถทำได้โดยพิมพ์ที่เทอร์มินัล:

xinput

ที่นั่นคุณจะได้รับรายชื่อไดรเวอร์ ภายใต้รายการตัวชี้แกนเสมือนจริงให้มองหาคำว่า TouchPad ตัวแปรนั้นจะเป็น {id} เช่นของฉันคือ "SynPS / 2 Synaptics TouchPad"

ถัดไปไปที่ Startup Applications Preferences เลือก "Add" คุณสามารถใส่ชื่ออะไรก็ได้ฉันใช้ "Palm Detection" และสำหรับ cmd ที่คุณต้องการ:

xinput set-prop "{id}" "Synaptics Palm Detection" 1

นอกจากนี้ให้เพิ่มอีกรายการหนึ่งเพื่อตั้งค่ามิติข้อมูล เรียกว่า "Palm Dimensions" (คุณสามารถแทนที่ค่าตามที่คุณต้องการคุณอาจต้องการเล่นกับค่าเพื่อประสบการณ์ที่ดีที่สุด):

xinput set-prop "{id}" "Synaptics Palm Dimensions" 3, 3

ตอนนี้คุณสามารถรีบูตแล็ปท็อปของคุณและโชคดี :)

PS ฉันคิดว่ารหัสทัชแพดที่ถูกต้องที่ใช้คืออันที่ขึ้นต้นด้วย ETPS / 2 ถ้าไม่ใช่คุณสามารถลองทั้งคู่และหวังว่ามันจะใช้ได้


1
ดังนั้นวิธีนี้ใช้ได้แม้ว่า OP จะมีทัชแพด Elantech หรือไม่ ฉันถามเพราะฉันมี CyPS / 2 Cypress Trackpad และผิดหวังกับการตรวจจับฝ่ามือที่แย่มากใน Ubuntu Gnome
ด่าน

ทำงานได้อย่างสมบูรณ์แบบสำหรับฉันด้วยทัชแพด Elantech การเปลี่ยนแปลงที่จำเป็นในด้านของฉันคือฉันตั้งขนาดฝ่ามือเป็น 7x7; ด้วย 3x3 จะปฏิเสธแม้แต่นิ้วเดียว
tglas

2
เพื่อให้ความกระจ่างเกี่ยวกับสถานการณ์ของ @ Dan คุณสามารถเรียกใช้xinput list-props {id}และดูคุณสมบัติที่มีอยู่ได้ ทัชแพด Elantech ของฉันแสดงคุณสมบัติของ Synaptics มากมาย
Gertlex

3

สำหรับ XPS 13 2017 ของฉันกับ Ubuntu 16.04 ทางออกคือการติดตั้งdconf-editorและไปที่

org > gnome > desktop > peripherals > touchpad

และการตั้งค่าclick-methodไปfingersหรือถ้าคีย์ใช้ได้เพียงแค่ตั้งค่ามันdisable-while-typingtrue


Keyboard > Shortcuts > Custom Shortcutsทางออกก็คือการเพิ่มทางลัดใหม่โดยไปที่ ทางลัดของฉันคือ

Ctrl + Shift + M -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true

Ctrl + Shift + N -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false

ดังนั้นเมื่อใดก็ตามที่คุณต้องการเปิดใช้งานการแตะเพื่อคลิกเพียงแค่กดCtrl+ Shift+ MและCtrl+ Shift+ Nเพื่อปิดการใช้งาน


2

หากคุณมีแล็ปท็อป Dell รุ่นใหม่คำแนะนำเหล่านี้อาจช่วยได้ พวกเขาโดยตรงจาก Dell, Precision / XPS: การแก้ไขปัญหา Touchpad / Mouse General ของ Ubuntu

ส่วนแรกไม่ได้มหัศจรรย์สำหรับฉัน sudo gedit /usr/share/X11/xorg.conf.d/51-synaptics-quirks.confนี่คือสคริปต์ที่ว่าพวกเขาจะแนะนำให้เพิ่ม ฉันไม่แนะนำให้ปฏิบัติตามคำตอบที่ได้รับการยอมรับเนื่องจากเส้นทางนั้นดูเหมือนว่าจะสร้างปัญหาอื่น ๆ

# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
    Identifier "SynPS/2 Synaptics TouchPad"
    MatchProduct "SynPS/2 Synaptics TouchPad"
    MatchIsTouchpad "on"
    MatchOS "Linux"
    MatchDevicePath "/dev/input/event*"
    Option "Ignore" "on"
EndSection

สำหรับการเปรียบเทียบความเข้ากันได้ฉันเป็น Dell Inspiron 13 7000 series xinput list

jonathan@Dell:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=11   [slave  pointer  (2)]
⎜   ↳ ELAN Touchscreen                          id=13   [slave  pointer  (2)]
⎜   ↳ DELL0741:00 06CB:7E7E Touchpad            id=14   [slave  pointer  (2)]
...

Synaptics ไม่ได้อยู่ในรายการดังกล่าวเนื่องจากถูกปิดใช้งานโดยสคริปต์ด้านบน ก่อนที่จะเพิ่มสคริปต์นี้ฉันขอแนะนำให้เรียกใช้xinput --test <id>"(สำหรับฉัน14) หากคุณได้รับผลลัพธ์จากเครื่องเทอร์มินัลนั่นหมายความว่าอุปกรณ์ของคุณใช้งานได้


ดูเหมือนว่าจะทำงานได้ดี ฉันไม่มีปัญหา "ไดรเวอร์แทร็คแพดสองตัว" ดังนั้นฉันจึงข้ามไปยังส่วนถัดไป
Raffi Khatchadourian

2

สำหรับฉันการแก้ปัญหาทั้งหมดข้างต้นไม่ได้ผล ดังนั้นหากมีคนอยู่ในสถานการณ์ที่คล้ายกันนี่อาจช่วยลดพื้นที่เปิดใช้งานของทัชแพดของคุณที่ขอบ สิ่งนี้ไม่ได้สร้างผลกระทบด้านลบใด ๆ เนื่องจากคุณไม่ค่อยได้เริ่มจากการคลิกที่ขอบและเมื่อทัชแพดถูกสัมผัสคุณยังสามารถใช้พื้นที่ที่ขอบได้ มันสามารถทำได้เช่นนี้

ก่อนอื่นใช้สิ่งนี้ ( xinput list-props "ETPS/2 Elantech Touchpad"|grep Edges) เพื่อให้ได้ขนาดขอบทัชแพดของคุณ ส่งคืนค่า 4 ค่า (ซ้าย, ขวา, บน, ล่าง) เช่นSynaptics Edges (274): 100, 2408, 71, 1249

ประการที่สองค่าเหล่านี้สามารถใช้ดังนี้:

synclient AreaTopEdge=71
synclient AreaLeftEdge=100
synclient AreaRightEdge=2408

ทำงานให้ฉันเหมือนมีเสน่ห์บน Ubuntu 18.04 ขอขอบคุณ! สำหรับคนอื่น ๆ เช่นฉันคำสั่งข้างต้น (ด้วยค่าตำแหน่งของคุณเอง) จำเป็นต้องทำงานเมื่อเริ่มต้น หากต้องการทำเช่นนั้นให้สร้างเชลล์สคริปต์ด้วยคำสั่งด้านบนและเพิ่มลงใน autostart (โดยใช้วิธีการใด ๆ ที่สามารถพบได้หากคุณ google
diadochos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.