ท่าทางมัลติทัชบนทัชแพด


11

ฉันอยากรู้ว่าฉันสามารถกำหนดค่าท่าทางสัมผัสแบบมัลติทัชใน Ubuntu ได้อย่างไร ใน windows ฉันสามารถทำได้โดยใช้ซอฟต์แวร์ไดรเวอร์ synaptics

ฉันใช้synclientการกำหนดค่าก๊อกเดตตรวจสอบเลื่อนและอื่น ๆ แต่ฉันก็ต้องการการสนับสนุนด้วยท่าทางด้วย เป็นไปได้ไหม

ระบบข้อมูล: อูบุนตู 12.10, Synaptics clickpad


ต้องการระบุรายละเอียดบางอย่าง: สิ่งที่ฉันต้องการทำคือสามารถกำหนดค่ารูปแบบลายเส้นสำหรับปุ่มเบราว์เซอร์ / หอยโข่งปุ่มย้อนกลับ / ไปข้างหน้า ใน windows ฉันสามารถทำได้ด้วยการปัด 3 นิ้ว ในทำนองเดียวกันเพื่อลด / เปิดหน้าต่างทั้งหมด ใน Win7 สามารถทำได้ด้วยสี่นิ้วปัดขึ้นหรือลง ฉันต้องการสิ่งที่คล้ายกับ Mac เป็นไปได้ไหม
kapad

คำตอบ:


11

อัปเดต 9/15/2016 มัลติทัชทำงานได้นอกกรอบและโซลูชั่นทั้งหมดที่ระบุไว้ด้านล่าง (mtrack, synclient, ginn, ... ) จะทำสิ่งสกปรกดังนั้นถ้าคุณอัปเดตจากเคอร์เนลรุ่นเก่าที่ต้องใช้ลบทั้งหมด แอพตัวช่วยเหลือและลองใช้ลักษณะการทำงานเคอร์เนลนอกกรอบด้วยทัชแพด UI สำหรับผู้จัดการเดสก์ท็อปของคุณ มันควรจะทำในสิ่งที่คุณต้องการและถ้าคุณต้องการท่าทางและสิ่งต่าง ๆ เพิ่มเติมให้เพิ่ม easystroke ซึ่งทำงานได้ดี มันถูกจัดเรียงในไดรเวอร์อินพุตเคอร์เนลสต็อคในขณะนี้และทำงานได้อย่างไม่มีปัญหาตั้งแต่เคอร์เนลอย่างน้อย 4.1.32 แม้ว่าบางส่วนของ 4.0 ต้นเมล็ดจะไม่ทำงาน เคอร์เนล LTS ปัจจุบัน 4.4 ทำงานได้ดีเช่นเดียวกับ 4.7

อัปเดต 9/2015 ... เคอร์เนลที่สูงกว่า 3.14 หรือมากกว่านั้นมีมัลติทัชในตัวอยู่แล้วดังนั้นให้ลองถอนการติดตั้ง mtrack หากคุณมีปัญหา เพียงแค่ไดรเวอร์มัลติทัชในตัวและ easystroke นั้นใช้ได้ดีสำหรับฉันตั้งแต่เคอร์เนล 3.14 แม้ว่า 4.0 ขึ้นไปดูเหมือนจะมีการถดถอยที่ทำให้แทร็กแพดของ Apple แตก เคอร์เนล 3.18 ใช้งานได้ดีแม้ว่า

มีวิธีแก้ปัญหามากมายซึ่งส่วนใหญ่ยังคงเป็นความลับอยู่เล็กน้อย เอกสารที่มีเอกสารจำนวนมากล้าสมัยดังนั้นโปรดตรวจสอบวันที่ที่คุณเข้าร่วม Google

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

โซลูชันที่ฉันใช้อยู่ในปัจจุบันคือmtrack (ใน repos) รวมกับeasystroke (ต้องรวบรวมจากแหล่งที่มา)
Mtrack สนับสนุนมัลติเคอร์เนลรุ่นมัลติทัชมากกว่าโซลูชัน ad hoc เช่น touchegg และ ginn ถ้าฉันเข้าใจถูกต้อง แต่ easystroke เป็นอีกหนึ่งโซลูชั่น daemon ที่ดูเหมือนจะทำงานได้ดีบน mtrack

ดูเหมือนว่าแนวทางของ Mtrack คือการพัฒนาทิศทาง

ถอนการติดตั้งสิ่งอื่น ๆ(จินน์ touchegg)ถ้าคุณใช้มันแล้วติดตั้งเปิด MTrack จาก Repos ชื่อเต็มคือxserver-xorg-อินเปิด MTrack

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

ฉันเพิ่งพบว่าeasystrokeและจนกระทั่ง mtrack ได้รับ gui คุณอาจต้องการลองว่าถ้าคุณชอบผจญภัยมากพอที่จะลองรวบรวมโปรแกรม

คอมไพล์ครั้งเดียวโดยการเรียกใช้make -j2และติดตั้งโดยsudo make installเริ่มด้วยeasystroke -gการรับ GUI และไปที่หน้าwikiสำหรับคำแนะนำ

อีกปัญหาหนึ่งที่คุณอาจจำเป็นต้องทราบก็คือไดรเวอร์

หากคุณใช้mtrackคุณอาจต้องกำหนดหมายเลขไฟล์ใหม่เพื่อให้ไดรเวอร์mtrackของคุณได้รับการอ่านครั้งสุดท้ายมิฉะนั้นการตั้งค่าsynapticsจะทำให้ทุกอย่าง

ไดรเวอร์เหล่านี้จะถูกเก็บไว้ที่/usr/share/X11/xorg.conf.d

คัดลอกไดรเวอร์mtrackไปยัง/etc/X11/xorg.conf.dแก้ไขการตั้งค่าในโฟลเดอร์นั้น (ดูเธรดที่เชื่อมโยงและ README สำหรับวิธี) เพื่อรับความดีสามนิ้วถ้าคุณสามารถ (หรือใช้easystroke ) และเปลี่ยนชื่อ ไฟล์เป็นจำนวนที่สูงกว่าดังนั้น50-mtrack.confจะกลายเป็น60-mtrack.confมิฉะนั้นฉันพบว่าไดรเวอร์ synaptic จะคว้าทัชแพดของคุณครึ่งเวลา

วางไฟล์ใน/ etcหมายความว่ามันจะไม่ได้รับการเขียนทับในการปรับปรุงเช่น/ usrไฟล์และว่ามันอ่านที่ผ่านมาและจึงจะให้ความสำคัญมากกว่าไดรเวอร์เริ่มต้นใน/ usr

หวังว่านี่จะช่วยได้ นี่คือพื้นที่ของการพัฒนาที่ค่อนข้างเป็นธรรมดังนั้นสิ่งที่ฉันเขียนอาจจะล้าสมัยภายในหนึ่งปีหวังว่าจะดีขึ้น


เฮ้ขอบคุณสำหรับคำตอบที่ดีนี้ ขออภัยใช้เวลาสักครู่เพื่อตรวจสอบ :)
kapad

มีข่าวเกี่ยวกับการแก้ปัญหาที่เหมาะสมเกี่ยวกับเรื่องนี้หรือไม่? ยังคงไม่สามารถทำให้การทำงาน aceptable ..
tomyo

ดูเหมือนว่าจะมีแพ็คเกจ easystroke ในปัจจุบันและตัวเลือก -g ไม่เป็นที่รู้จัก หากไม่มีอาร์กิวเมนต์มันจะเริ่ม GUI แม้ว่า :) PS: ฉันวิ่งมิ้นต์ 16
เฮอร์เบิร์ต

2

ฉันแค่อยากจะแนะนำให้ใช้ความต่อเนื่องของ mtrack ที่ github: https://github.com/p2rkw/xf86-input-mtrackเนื่องจากมันรองรับการลาก 3 นิ้ว (คำแนะนำที่ด้านล่างของ readme)

ฉันยังใช้มันร่วมกับ easystroke แต่ฉันต้องแก้ไข easystroke เพื่อลบข้อ จำกัด บางอย่างเกี่ยวกับอุปกรณ์ที่แน่นอนด้วยการเปลี่ยนแปลงง่าย ๆ นี้ (ฉันจำไม่ได้ว่าเหตุผลที่แน่นอนในการทำเช่นนี้ขอโทษ):

diff --git a/handler.cc b/handler.cc
index 8830ea2..c9e3f91 100644
--- a/handler.cc
+++ b/handler.cc
@@ -563,7 +563,7 @@ protected:
        }
 protected:
        void move_back() {
-               if (!prefs.move_back.get() || (xstate->current_dev && xstate->current_dev->absolute))
+               if (!prefs.move_back.get())
                        return;
                XTestFakeMotionEvent(dpy, DefaultScreen(dpy), orig_x, orig_y, 0);
        }

ฉันยังลดระยะขอบข้อผิดพลาดสำหรับท่าทาง:

diff --git a/gesture.cc b/gesture.cc
index 8531c08..0df990e 100644
--- a/gesture.cc
+++ b/gesture.cc
@@ -104,9 +104,9 @@ int Stroke::compare(RStroke a, RStroke b, double &score) {
                return -1;
        score = MAX(1.0 - 2.5*cost, 0.0);
        if (a->timeout)
-               return score > 0.85;
+               return score > 0.95;
        else
-               return score > 0.7;
+               return score > 0.92;
 }

... และมันก็ใช้งานได้ดี

หมายเหตุด้านข้างเกี่ยวกับการกำหนดค่าที่เจ็บปวด: คุณสามารถใช้ xinput เพื่อกำหนดค่าได้ทันทีแก้ไข xorg.conf ตามนั้นหรือสร้างสคริปต์เริ่มต้นด้วยการเรียกใช้ xinput

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