ฉันมีหน้าจอสัมผัส แต่ไดรเวอร์ไม่ทำงานอย่างถูกต้องและรบกวนเมาส์ของฉัน
เป็นไปได้หรือไม่ที่จะปิดการใช้งานหน้าจอสัมผัสของฉันเพื่อที่ฉันจะสามารถทำงานได้อย่างถูกต้องอีกครั้ง?
ฉันมีหน้าจอสัมผัส แต่ไดรเวอร์ไม่ทำงานอย่างถูกต้องและรบกวนเมาส์ของฉัน
เป็นไปได้หรือไม่ที่จะปิดการใช้งานหน้าจอสัมผัสของฉันเพื่อที่ฉันจะสามารถทำงานได้อย่างถูกต้องอีกครั้ง?
คำตอบ:
คุณสามารถลองปิดการใช้งานอุปกรณ์อินพุตด้วยxinput
คำสั่ง ก่อนอื่นให้ดูว่าคุณมีอุปกรณ์อินพุตใดเพียงพิมพ์:
xinput
และคุณควรเห็นรายการเช่น:
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Atmel Atmel maXTouch Digitizer id=9 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=13 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
...
จากนั้นคุณสามารถปิดใช้งานอุปกรณ์อินพุตที่คุณต้องการด้วยคำสั่งนี้:
xinput disable 9
ที่ 9 คือรหัสของอุปกรณ์ที่คุณต้องการปิดการใช้งาน คุณยังสามารถใช้ชื่ออุปกรณ์ระหว่างคำพูด
ใน xinput เวอร์ชัน 1.5.99.1 คุณต้องทำxinput set-prop 9 'Device Enabled' 0
แทน แปลก xinput v1.6.2 วิธีแรกทำงาน
~/.profile
ในการใช้งานอัตโนมัติหลังจากรีบูต:xinput | grep 'ELAN Touchscreen' | grep -Po 'id=\d+' | cut -d= -f2 | xargs xinput disable
xinput enable `xinput | grep Atmel | sed "s/^.*id=\([0-9]*\).*$/\1/"`
@TalkLittle: คำสั่งภายใน backticks อะไรส่งคืนรหัส
xinput
แก้ปัญหาไม่ได้ทำงานสำหรับฉัน ฉันทำตามคำแนะนำในชุดข้อความนี้แทน สิ่งนี้จะปิดการใช้งานในเวลาบูต
/usr/share/X11/xorg.conf.d/10-evdev.conf
Option "Ignore" "on"
ที่ส่วนท้ายของส่วนด้วยtouchscreen
ตัวระบุELAN Touchscreen
xinput
/usr/share/X11/xorg.conf.d/40-libinput.conf
แต่มี ฉันเปลี่ยนบล็อกที่คล้ายกันในไฟล์นี้และเมื่อรีสตาร์ทครั้งถัดไปฉันคิดว่าฉันจะรู้ว่ามันเป็นยังไง!
แก้ไขไฟล์ด้วย
sudo nano /usr/share/X11/xorg.conf.d/10-evdev.conf
เปลี่ยน MatchIsTouchscreen จาก "เปิด" เป็น "ปิด" ในส่วน Touchscreen เพื่อให้มีลักษณะดังนี้:
Section "InputClass"
Identifier "evdev touchscreen catchall"
MatchIsTouchscreen "off"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
บันทึกชื่อและออก
หน้าจอสัมผัสถูกปิดใช้งานและไม่พบในรายการ xinput อีกต่อไป
Option = ignore
จากคำตอบเพราะมันไม่ได้ปิดการใช้งานอุปกรณ์ แต่ก็ไม่ถือว่ามันเป็นหน้าจอสัมผัส
ถ้าหน้าจอสัมผัสของคุณเป็นหน้าจอระบบสัมผัสหน้าจอเช่นจอ USB คุณสามารถเพิ่มเคอร์เนลไดรเวอร์เริ่มต้นusbtouchscreen
ลงในไฟล์บัญชีดำของ modprobe ( /etc/modprobe.d/blacklist.conf
) และใช้คนขับรถของคุณเองเช่นหรือtouchkit
evtouch
ในฐานะที่เป็น id สำหรับการเปลี่ยนแปลง xinput เมื่อรีบูตฉันเพิ่มหน้าจอบรรทัดเดียวแบบง่ายในการโหลดเซสชัน:
#!/bin/bash
xinput --list | awk '/Atmel Atmel maXTouch Digitizer/ {print $7}' | awk '{split($0,a,"="); print a[2]}' | xargs xinput disable
ชื่ออุปกรณ์ของฉันคือ "Atmel Atmel maXTouch Digitizer" ให้เปลี่ยนด้วยอุปกรณ์ของคุณ (ใช้xinput --list
สำหรับชื่ออุปกรณ์)