ปัญหาทัชแพด: เคอร์เซอร์กระโดดขณะพิมพ์ (Ubuntu 14.04), ซินแทม่อนไม่ได้ช่วยอะไร


22

ฉันรู้ว่ามีคำถามอื่น ๆ เกี่ยวกับปัญหานี้ แต่ฉันไม่สามารถหาบิดที่ถูกต้องเพื่อแก้ไข

ทัชแพดยังคงตรวจจับฝ่ามือของฉันในขณะที่พิมพ์สิ่งต่างๆ มันน่ารำคาญจริงๆโดยเฉพาะอย่างยิ่งเพราะมันทำให้ประสิทธิภาพการทำงานของฉันลดลงสำหรับ Dell XPS Gold Edition ใหม่ของฉัน มันติดตั้ง Ubuntu 14.04 ใหม่และฉันไม่ต้องการยุ่งกับการลองใช้สคริปต์และสิ่งต่าง ๆ ที่จะทำให้การจดจำทัชแพดในที่สุด

ฉันพยายามใช้ syndaemon เนื่องจากดูเหมือนว่าเป็นวิธีแก้ปัญหาที่ดีที่สุดสำหรับข้อผิดพลาดนี้:

syndaemon -i 0.5 -d

เมื่อฉันลองบนเทอร์มินัลดูเหมือนว่าจะทำงานได้ตราบใดที่ฉันไม่ได้ออกจากระบบของฉัน

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

ข้อมูลบางอย่างเกี่ยวกับระบบของฉัน:

greguti@greguti-XPS13-9333:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SYNAPTICS Synaptics Large Touch Screen    id=9    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]
greguti@greguti-XPS13-9333:~$ xinput list-props "SynPS/2 Synaptics TouchPad" | grep -i finger
    Synaptics Finger (288): 25, 30, 0
    Synaptics Two-Finger Pressure (294):    282
    Synaptics Two-Finger Width (295):   7
    Synaptics Two-Finger Scrolling (298):   1, 1

หน้าเว็บนี้อาจช่วย: xps13-9333.appspot.com/#touchpad
greguti

เกี่ยวข้อง: askubuntu.com/questions/299868/…
michael


@kos ฉันไม่คิดว่าจะซ้ำกัน คำถามนี้เกี่ยวกับการป้องกันปัญหาการกระโดดเคอร์เซอร์และคำตอบด้านล่างที่อยู่ซึ่งไม่เกี่ยวกับวิธีการตั้งค่าการติดแม้ว่าจะเป็นวิธีแก้ปัญหาที่เป็นไปได้ 1 ข้อ โปรดสังเกตว่า OP กล่าวว่าเขาพยายามวางคำสั่งในแอปพลิเคชันเริ่มต้นดังนั้นจึงสงสัยว่าคำตอบในคำถามที่เสนอจะแก้ปัญหาได้หรือไม่
เซท

@Seth นี่เป็นข้อผิดพลาดที่ได้รับการแก้ไขใน Synaptics รุ่นใหม่กว่า (ดูคำตอบของ OP) นั่นเป็นสาเหตุที่ฉันคิดว่ามันเป็นความคิดที่ดีที่จะปิดวิธี "ถูกต้อง" ในการเปลี่ยนการตั้งค่าของ Synaptics อย่างไรก็ตาม OP ไม่ได้กล่าวถึงวิธีการsynclientใช้งานจริง ๆ... ใช่แล้วการที่ฉันปิดงานซ้ำซ้อนอาจทำให้สับสน การลบคะแนนปิดของฉัน
kos

คำตอบ:


16

ฉันไม่สามารถทำตามคำตอบนี้ด้วย XPS 13 ของฉันและ Ubuntu 14.04

แต่พบวิธีแก้ปัญหาอย่างรวดเร็วเพื่อปิดใช้งานทัชแพดขณะพิมพ์:

sudo apt-get install gpointing-device-settings

จากนั้นเรียกใช้

gpointing-device-settings

ตรวจสอบ: เปิดใช้งานการตรวจจับฝ่ามือและช่วงการเคลื่อนย้าย: แคบไปจนถึงประมาณ 10% จากจุดเริ่มต้น


มันใช้งานไม่ได้ฉันกลัว ทันทีที่ฉันทำสิ่งนี้ฉันได้รับข้อผิดพลาด: มีข้อผิดพลาด X เกิดขึ้น ข้อผิดพลาดคือ BadAtom (พารามิเตอร์ Atom ไม่ถูกต้อง) เกิดข้อผิดพลาด X ข้อผิดพลาดคือ BadAtom (พารามิเตอร์ Atom ไม่ถูกต้อง) และทัชแพดก็ทำงานได้ไม่ดีเท่ากัน อันที่จริงฉันต้องแก้ไขการแก้ไขนี้หลายครั้งเพราะสิ่งนี้
user260881

1
ชื่อแพ็กเกจนี้ไม่มีตัวเลือกการติดตั้งอีกต่อไปใน 16.04
CPBL

8

ตอบคำถามของตัวเองเพราะฉันคิดว่าในที่สุดฉันก็พบทางออก

ดูเหมือนว่าคนร้ายจะเป็นคนขับ Synaptics เอง ส่วนหน้าหรือคำสั่งที่คุณใช้จะไม่ทำงานตราบใดที่ไดรเวอร์ไม่ได้รับการแก้ไข

ขอบคุณเว็บเพจที่ยอดเยี่ยมhttp://xps13-9333.appspot.com/#touchpadและอีเมลบางส่วนกับเจ้าของในที่สุดฉันก็สามารถแก้ไขข้อผิดพลาดนี้ได้!

ดังนั้นนี่คือกระบวนการในเปลือกถั่วดูที่หน้าเว็บข้างต้นสำหรับรายละเอียด

สิ่งที่ต้องทำเพื่อกำจัดไดรเวอร์ Synaptics จากนั้นดาวน์โหลดแหล่งที่มาของไดรเวอร์อัปสตรีมแก้ไขสำหรับการตรวจจับฝ่ามือที่เหมาะสมจากนั้นสร้างไฟล์ด้วยการตั้งค่าที่เหมาะสมสำหรับทัชแพด ขั้นตอนต่อไปนี้ใช้งานได้ดีกับ Dell XPS "Gold Edition" (xps-9333) ของฉันกับ Ubuntu 14.04

1. สิ่งที่ต้องตรวจสอบก่อน

ฉันมีปัญหาในระหว่างกระบวนการเนื่องจากไม่มีแพคเกจlibevdev-devในระบบของฉัน (ฉันเดาว่ามันไม่ได้ติดตั้งกับ Ubuntu 14.04?) ดังนั้นก่อนอื่นให้ลองติดตั้งแพคเกจนี้:

sudo apt-get install libevdev-dev

หากยังไม่ปรากฏในระบบของคุณควรติดตั้ง 3 แพ็คเกจ: libevdev-dev , libevdev2 {a}และlibjs-jquery {a}

อีกสิ่งหนึ่งที่ต้องทำคือติดตั้งแพ็กเกจ GIT เพื่อให้สามารถดาวน์โหลดซอร์สโค้ดของไดรเวอร์ Synaptics อัพสตรีมจากเซิร์ฟเวอร์ GIT

sudo apt-get install git

เมื่อแพ็คเกจเหล่านี้อยู่ในระบบของคุณคุณสามารถทำตามคำสั่งเหล่านี้

2. ได้รับ RID ของโปรแกรมควบคุมการสังเคราะห์จริงและติดตั้ง UPSTREAM ONE

ป้อนคำสั่งต่อไปนี้ในเทอร์มินัล (กด Enter และตรวจสอบผลลัพธ์หลังจากแต่ละคำสั่ง):

sudo aptitude purge xserver-xorg-input-synaptics

sudo aptitude build-dep xserver-xorg-input-synaptics

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

sudo git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-synaptics

ตอนนี้คุณเข้าไปในโฟลเดอร์ที่ดาวน์โหลดซอร์สโค้ด:

cd xf86-input-synaptics

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

wget -q -O - http://xps13-9333.appspot.com/root/0001-Don-t-use-finger-width-for-the-palm-detection.patch | git am

ตอนนี้สร้างไดร์เวอร์ใหม่จากซอร์สโค้ดที่ถูกแพทช์ (พิมพ์ Enter หลังจากแต่ละบรรทัดแต่ละคำสั่งจะสร้างเอาต์พุตค่อนข้างมาก):

./autogen.sh --prefix=/usr
make
sudo make install

ไดรเวอร์ Synaptics ใหม่ของคุณพร้อมแพตช์ที่อนุญาตให้ตรวจจับฝ่ามือได้รับการติดตั้งบนระบบของคุณแล้ว แต่คุณยังต้องระบุการตั้งค่าที่อนุญาต

3. สร้างและแก้ไขไฟล์ 20-SYNAPTICS-CONF

และในส่วนสุดท้ายให้สร้างไฟล์ด้วยการตั้งค่าสำหรับทัชแพดไฟล์นั้นจะถูกอ่านทุกครั้งที่คุณบู๊ตระบบ

ก่อนอื่นคุณสร้างโฟลเดอร์ที่ถูกต้อง:

mkdir -p /etc/X11/xorg.conf.d/

จากนั้นคุณดาวน์โหลดไฟล์ที่เจ้าของเว็บไซต์ได้กล่าวถึงไว้ก่อนหน้านี้และคัดลอกมันไว้ในโฟลเดอร์ใหม่ที่คุณเพิ่งสร้างขึ้น:

sudo wget -q -O /etc/X11/xorg.conf.d/20-synaptics.conf http://xps13-9333.appspot.com/root/etc/X11/xorg.conf.d/20-synaptics.conf

ในที่สุดคุณสามารถใช้synclientเพื่อระบุค่าที่เหมาะสมของพารามิเตอร์ PalmMinZ (พิมพ์ตัวเลขแทน "VALUE" ฉันขอแนะนำ 100 ซึ่งใช้งานได้ดีสำหรับฉัน)

synclient PalmMinZ=VALUE

ในตอนท้ายของกระบวนการนี้คุณควรมีไฟล์ใหม่ 20-synaptics.conf ภายใน /etc/X11/xorg.conf.d และไฟล์ควรมีลักษณะดังนี้:

ไฟล์ 20-synaptics.conf ของฉัน

4. อย่าลืมรีบูต :)


หลังจากทำตามคำแนะนำนี้หน้าจอสัมผัสแล็ปท็อปของฉันจะไม่ได้รับการยอมรับ ...
vicatcu

... และนำมันกลับมาโดยการติดตั้งไดรเวอร์ทัชแพดของ synaptics จากศูนย์ซอฟต์แวร์
vicatcu

การแก้ไขนี้ทำให้ทัชแพดที่น่ากลัวบน Toshiba Chromebook 2 ของฉันซึ่งใช้ Ubuntu 14.04 ผ่าน crouton chroot ดูเหมือนว่าโปรแกรมแก้ไข git จะไม่ทำงานอีกต่อไป แต่เพียงแค่ติดตั้งไดรเวอร์ synaptics ล่าสุดจากแหล่งที่มาเพื่อแก้ไขปัญหาของฉัน
Josh

6

ไม่มีคำตอบที่นี่ทำงานสำหรับการติดตั้งใหม่ Ubuntu 14.04.3 ใน XPS12 อย่างน้อยก็จนกว่าฉันจะขึ้นบัญชีดำโมดูล psmouse คำแนะนำต่อไปนี้จะได้รับการยกมาจากชุดคำสั่งนี้สำหรับเครื่อง XPS13 :

ตรวจสอบว่าทัชแพดของคุณใช้บัส I2C เท่านั้นไม่ใช่โหมด ps2 หรือไม่ เริ่มต้นเทอร์มินัลแล้วป้อน

 xinput 

ตัวชี้ core เสมือนควรมีสองรายการเท่านั้น:

 Virtual core XTEST pointer
 DLL0665:01 06CB:76AD UNKNOWN 

หากรายการนั้นเป็นรายการที่สามที่มีทัชแพด PS2 ในชื่อคุณควรขึ้นบัญชีดำโมดูล psmouse โดยเพิ่มบรรทัดเหล่านี้ไปที่/etc/modprobe.d/blacklist.conf:

# remove SynPS/2 Synaptics Touchpad because we want the mouse to work over IC2b
blacklist psmouse

จากนั้นโทร

sudo update-initramfs -u

หลังจากรีบูตเครื่องตัวเลือกDisable touchpad while typingในSystem Settings/ Mouse & Touchpadทำงานตามที่คาดไว้


4
หลังจากทำตามขั้นตอนของคุณแล้วตัวเลือก "ปิดการใช้งานทัชแพดขณะพิมพ์" ยังคงไม่ปรากฏสำหรับฉัน แต่อย่างน้อยที่สุดฉันก็สามารถsyndaemonทำงานได้ตามที่โพสต์ในคำตอบอื่น ๆ นั่นคือคำตอบของคุณมีประโยชน์จริง ๆ และเป็นขั้นตอนที่จำเป็นสำหรับฉัน ขอบคุณมาก! สิ่งนี้อยู่ใน Dell Inspiron 5559 และ Ubuntu 16.10
egmont

3
ฉันทำตามคำแนะนำเหล่านี้และใช้งานได้ใน Ubuntu 16.10 เช่น @egmont กล่าวว่าไม่มีตัวเลือกในการปิดการใช้งานทัชแพด แต่ฉันไม่มีปัญหากับทัชแพดของฉันในขณะที่ฉันพิมพ์หลังจากนั้น
ekangas

1
ฉันสามารถยืนยันได้ว่ามันใช้งานได้กับ Ubuntu 16.04.2 ที่รันเคอร์เนลเวอร์ชั่น 4.10 GUI ไม่ปรากฏขึ้น แต่ตอนนี้ syndaemon ทำงานได้ตามที่ต้องการ ขอบคุณมาก!
andrebrait

2

หากคุณเพิ่มลงsyndaemonในแอปพลิเคชันเริ่มต้นคุณต้องยกเลิกการเลือก "ปิดใช้งานขณะพิมพ์" ในการตั้งค่าเมาส์และทัชแพด หากคุณไม่ทำเช่นนั้นกลไกทั้งสองจะไปรบกวนและทำให้ทัชแพดหยุดทำงานอย่างสมบูรณ์ตามที่คุณอธิบาย สิ่งนี้ใช้ได้กับฉันในสต็อก 14.04 (แล็ปท็อป Lenovo T410) โดยไม่ต้องอัปเกรดไดรเวอร์


0

อัพเกรดดังกล่าวโดย greguti ขณะนี้ได้รับการจดทะเบียนเป็นอัพเกรดเคอร์เนลทั่วไปสำหรับลินุกซ์ 3.1.6+: ดูhttp://xps13-9333.appspot.com/#touchpad

คำแนะนำทั่วไปในการอัพเกรดเคอร์เนลสำหรับอูบุนตูอาจจะพบได้ที่นี่ที่http://ubuntuhandbook.org/index.php/2014/08/install-upgrade-linux-kernel-3-16/ สำหรับระบบ 64- บิตทั่วไปฉันได้คัดลอกไว้ด้านล่าง:

cd /tmp/
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600_3.16.0-031600.201408031935_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
sudo dpkg -i linux-headers-3.16.0-*.deb linux-image-3.16.0-*.deb

จากนั้นรีบูท

หลังจากรีบูตคอมพิวเตอร์ของฉันฉันทำตามคำแนะนำของ greguit และเปลี่ยนพารามิเตอร์ PalmMinZ ฉันใช้ 100 ด้วย

synclient PalmMinZ=VALUE

ฉันยังเปิดใช้งานการตั้งค่าแทร็คแพดอีกครั้งเพื่อปิดใช้งานขณะพิมพ์โดยใช้ GUI

ฉันใช้เวลาเพียง 10-15 นาทีในการใช้คอมพิวเตอร์หลังจากทำสิ่งนี้ แต่จนถึงตอนนี้ประสบการณ์ทั้งหมดก็ดีขึ้นมาก


ฉันอยู่ที่นั่นฉันพยายามอัปเกรดเป็นเคอร์เนล 3.16 เคอร์เซอร์เพิ่งหายไป! ฉันต้องกลับไปที่เคอร์เนล "เก่า" 3.13 ... วันนี้ฉันใช้การอัพเกรดจาก 14.04 LTS เป็น 14.10 Utopic Unicorn มันทำให้เกิดข้อผิดพลาดเดียวกัน: เคอร์เซอร์ไม่ได้อยู่ที่นี่อีกต่อไปฉันต้องทำทุกอย่างด้วย แป้นพิมพ์มันเป็นความเจ็บปวดอย่างแท้จริงใน * ss ยังหาโซลูชันไม่ได้ ... น่ารำคาญมาก
greguti

ฉันไม่รู้ว่าทำไมคอมพิวเตอร์ของคุณถึงทำงานแตกต่างจากของฉันมากนัก แต่แรก (เท่านั้น!) คิดว่าสิ่งแรกที่ฉันทำหลังจากเอาออกจากกล่องคือการอัพเกรด Ubuntu OS เป็น 14.04 และใช้การอัพเกรดเคอร์เนลนี้ ดังนั้นอาจมีบางอย่างที่เปลี่ยนไปในเครื่องของคุณเนื่องจากเป็นรุ่นใหม่ที่ทำให้เกิดความขัดแย้ง ... ?
Andy Wickert

ฉันมีประสบการณ์คล้ายกับ greguti แต่มันเกิดจากฉันลืมติดตั้ง linux-kernel-extras
Jeff Ober

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