นิ้วหัวแม่มือทัชแพดที่เหมาะสมและการตรวจจับฝ่ามือด้วย libinput


23

ดังนั้น libinput ใกล้จะถึงการปล่อยเสถียรครั้งแรกด้วยตัวเลือกการปลดปล่อย

ซึ่งเพิ่มการรองรับที่เหมาะสมสำหรับการตรวจจับนิ้วหัวแม่มือ / ฝ่ามือบนทัชแพดพร้อมกับการเลื่อนนิ้วและการบีบนิ้วช่วยสนับสนุนบางสิ่งที่พลาดอย่างยิ่งใน Linux สำหรับแล็ปท็อปที่มีคุณสมบัติมัลติทัช

ทุกคนสามารถให้คำแนะนำที่ดีเกี่ยวกับวิธีการติดตั้งบน Ubuntu 15.04

เพราะฉันเชื่อว่าเราจะไม่เห็นมันเป็นค่าเริ่มต้นในการติดตั้ง Ubuntu ในขณะที่


ไม่สนใจคำถามนี้มากนัก สุจริตไม่รู้ว่าทำไม
VRR

การตรวจจับปาล์มขึ้นอยู่กับไดรเวอร์ของเคอร์เนลทัชแพดและสามารถตั้งค่าใน xorg-synaptics ได้เช่นกัน ทัชแพดคุณมีอะไร
Pilot6

@ Pilot6 แพ็คเกจนี้สามารถดาวน์โหลดได้ แต่ไฟล์ readme ไม่ได้ให้คำแนะนำเฉพาะในการคอมไพล์เคอร์เนล
RCF

@ RCF-U15.04 libinputเป็นแอพพื้นที่ผู้ใช้ มันไม่มีส่วนเกี่ยวข้องกับเคอร์เนล มันใช้เหตุการณ์ที่รายงานโดยเคอร์เนลเท่านั้น
Pilot6

@tomodachi หากคุณต้องการตั้งค่าการตรวจจับฝ่ามือใน Ubuntu คุณสามารถถามคำถามอื่นและฉันจะช่วยคุณ
Pilot6

คำตอบ:


14

นี่คือวิธีการติดตั้งlibinputกับ Ubuntu

  1. ติดตั้งแพคเกจที่จำเป็นบางอย่าง

    sudo apt-get install git build-essential autoconf automake pkg-config libtool
    sudo apt-get install libmtdev1 libmtdev-dev libudev-dev libevdev-dev xutils-dev libwacom-dev
    
  2. xserver-xorg-devติดตั้ง สำหรับ 14.04.3 xserver-xorg-dev-lts-vividมันอาจจะเป็น ระวัง. คุณต้องตรวจสอบxserver-xorgแพ็คเกจที่ติดตั้งไว้

    sudo apt-get install xserver-xorg-dev
    
  3. โคลนและlibinputxf86-input-libinput

    git clone git://anongit.freedesktop.org/git/wayland/libinput
    git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-libinput
    
  4. สร้างและติดตั้ง

    cd libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
    cd ../xf86-input-libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
  5. เพิ่มลงในไฟล์conf/90-libinput.confสตริงOption "Tapping" "True"ก่อนEndSectionหน้าส่วนทัชแพด

  6. คัดลอกไฟล์ config libinputเพื่อเปิดใช้งาน

    sudo cp conf/90-libinput.conf /usr/share/X11/xorg.conf.d/
    

ออกจากระบบและเข้าสู่ระบบ

คุณจะเห็นว่าlibinputใช้งานxinput list-props <your_touchpad_id>อยู่

หากคุณไม่ชอบการใช้libinputงานคุณสามารถปิดการใช้งานได้ตลอดเวลา

sudo rm /usr/share/X11/xorg.conf.d/90-libinput.conf

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

ดูเหมือนว่าขณะนี้ไม่มีข้อได้เปรียบที่สำคัญของการใช้งานlibinputใน Ubuntu

xf86-input-libinputเพียงแค่ห่อมันไว้ที่ Xorg และไม่มีอะไรอื่นอีกแล้ว ดังนั้นจึงไม่รองรับท่าทางสัมผัสพิเศษ อย่างน้อยฉันก็ไม่รู้ว่าพวกเขาทำ ฉันว่าเดาแลนด์หรือเมียร์จะมีความสามารถมากกว่า

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

ในlibinputไม่มีปัญหานี้เลย

นั่นคือความสนุกในการทดสอบ ขอบคุณสำหรับคำถาม


@ Pilot6 ประเด็นใน "ท่าทางที่ไม่สนับสนุนเป็นพิเศษ" คืออะไร?
VRR

@VRR ประเด็นก็คือว่าค่าเริ่มต้นของ Ubuntu DE ไม่รองรับท่าทางสัมผัสหลายอย่าง เพียงแค่มีlibinputไม่เปลี่ยนแปลง ก๊อกขนาด 1,2,3 นิ้วทำงานนอกกรอบได้ การตรวจจับฝ่ามือเป็นไปได้ที่จะฉลาดกว่า แต่ดูเหมือนว่ามันไม่รองรับทัชแพดที่รายงานความกว้างเท่านั้น รุ่นใหม่ไม่รองรับแรงกดดันเนื่องจากทำงานเป็นหน้าจอสัมผัสเป็นต้น
Pilot6

ฉันคิดว่าฉันทำสิ่งที่ยุ่งนิด ๆ หน่อย ๆ ระหว่างกระบวนการ .. ตอนนี้ฉันได้รับหน้าจอสีดำหลังจาก bootup .. แต่ไม่มีหน้าจอเข้าสู่ระบบ lightdm .. อาจเป็นเพราะ xorg .. ฉันรู้หมายเลขรุ่นเก่า .. ไม่มีใครบอกฉันเกี่ยวกับกระบวนการที่ต้องทำในตอนนี้ .. ฉันสามารถไปที่ tty ได้
ลางสังหรณ์

/usr/share/X11/xorg.conf.d/99-libinput.confหากคุณมีปัญหาเพียงแค่ลบ sudo rm /usr/share/X11/xorg.conf.d/99-libinput.conf
Pilot6

นั่นไม่ได้แก้ปัญหา คุณช่วยพูดถึงบางสิ่งเกี่ยวกับ xserver-xorg-dev .... ซึ่งคุณได้พูดถึง .. ระวังไว้ด้วยว่าจะเปลี่ยนกลับไปเป็นเวอร์ชั่นเก่ากว่าได้อย่างไร
hunch

25

สำหรับ Ubuntu 15.10+ คุณสามารถติดตั้งlibinput( เจ้าเล่ห์ , xenial , yakkety ) ผ่านapt:

sudo apt install xserver-xorg-input-libinput

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

แก้ไขไฟล์ต่อไปนี้ (ทดสอบเมื่อวันที่ 16.04 2016-4-14 และ 16.10 2016-10-14):

sudo vi /usr/share/X11/xorg.conf.d/90-libinput.conf 

ปรับส่วน 'ทัชแพด' เพื่อเพิ่มOption "tapping" "True"และOption "DisableWhileTyping" "True"ถ้าคุณชอบพฤติกรรมนี้:

Section "InputClass"
    Identifier "libinput touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "libinput"
    Option "Tapping" "True"
    Option "DisableWhileTyping" "True"
EndSection

ออกจากระบบเข้าสู่ระบบ .. สนุก! :)


ไม่มีตัวเลือก "PalmDetection" ใน libinput, DisableWhileTyping เปิดอยู่ตามค่าเริ่มต้น ดังนั้นไม่จำเป็นต้องเพิ่มทั้งหมดนี้
Pilot6

ปรับและลบทั้งสองตัวเลือก ฉันเปิด 'แตะ' เพราะไม่ได้เปิดไว้ตามค่าเริ่มต้น
JimB

และฉันไม่แนะนำให้ใช้ libinput สำหรับอุปกรณ์ทั้งหมด คีย์บอร์ดล่าช้าในกรณีของฉันดังนั้นฉันเลือกเหตุการณ์ทัชแพดในกรณีของฉันevent5และเขียนลงในไฟล์นั้น
Pilot6

@ Pilot6 - คุณสามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้ libinput สำหรับทัชแพดได้หรือไม่?
BeeOnRope

4
ดูเหมือนว่าคุณสามารถเพิ่มได้Option "AccelSpeed" "-0.5"โดยที่ค่าสามารถเป็นแบบลอยตัวตั้งแต่ -1 (เคอร์เซอร์ช้าลง) ถึง +1 (เคอร์เซอร์เร็วขึ้น) คุณสามารถทดลองกับค่านี้และค่าอื่น ๆ โดยใช้ xinput ก่อนอื่นหารหัสด้วยการเรียกใช้xinputจากนั้นถ้ารหัสของคุณคือ 12 คุณสามารถทำxinput list-props 12รายการอุปกรณ์ประกอบฉากทั้งหมด ถ้าคุณต้องการที่จะเปลี่ยนหนึ่งรับ int สำหรับ prop (เช่น libinput Accel Speed ​​(281): -0.500000) จากนั้นคุณสามารถทำได้xinput set-prop 12 281 -0.4เพื่อเปลี่ยน accel เป็น -0.4
David784


1

ฉันมีปัญหาที่คล้ายกันใน Lubuntu 17. ฉันพยายามติดตั้ง libinput และแก้ไขไฟล์. conf ให้เป็นประโยชน์

แต่ฉันเห็น @ Pilot6 โพสต์ด้านบนเกี่ยวกับการใช้ xinput เพื่อตรวจสอบว่า libinput นั้นทำงานอยู่ (ก็ดีที่จะรู้ว่าเกณฑ์การตรวจสอบคืออะไร แต่ฉันพูดนอกเรื่อง)

ฉันตรวจสอบ xinput ของฉันด้วยxinput list-props 14(อาจเป็นตัวเลขอื่นในกรณีของคุณ)

ซึ่งทำให้ฉันเป็นsynapticsทัชแพด

ในรายการมีตัวเลือกสำหรับการตรวจจับฝ่ามือพร้อมหมายเลขที่เกี่ยวข้อง (316)

ดังนั้นฉันจึงxinput set-prop 14 316 1เปิดใช้งานการตรวจจับฝ่ามือ และในที่สุดก็ใช้งานได้

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