การคลิกกลางเลื่อนด้วย ThinkPad / หลีกเลี่ยงการวาง


11

ฉันมีแป้นพิมพ์ ThinkPad USB และฉันต้องการใช้การคลิกกลางเพื่อวางและเลื่อน

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

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

มีวิธีใดที่จะบอกให้ X11 วางลงบนปุ่มกลางแทนการกด (ด้วยการตัดสินใจที่จะเลื่อนมากกว่าการวางโดยอิงจากระยะเวลาที่ใช้งาน)


2
เป็นเรื่องน่าแปลกใจที่ได้ยินว่าลักษณะการทำงานของ X11 จะแตกต่างกันไปขึ้นอยู่กับการใช้เมาส์ ฉันขอแนะนำให้ใช้xevเพื่อดูButtonPressและButtonReleaseกิจกรรมเพื่อดูว่าปุ่มแล็ปท็อปของคุณกำลังส่งกิจกรรมที่คุณคิดว่าเป็นเวลาที่คุณคิดหรือไม่ เป็นไปได้ว่ามันกำลังทำเวทย์มนตร์ของตัวเองแทนและ "โกหก" กับ X11 เกี่ยวกับเมื่อมีการกดและปล่อยปุ่ม โดยวิธีการที่มันดูเหมือนจะเป็นเรื่องปกติที่เกิดขึ้นวางทันทีที่กดปุ่ม 2 ไม่ปล่อย
Celada

1
ฉันชอบที่จะรู้วิธีการทำเช่นนี้ขณะที่ฉันใช้แป้นพิมพ์ Bluetooth Bluetooth ของ Lenovo
Justin N

คีย์บอร์ด USB นั่นมันเป็นรุ่นอะไรกันแน่? มันมีทัชแพด "ของจริง" หรือ clickpad ที่เรียกว่า (ไม่มีปุ่มจริง) หรือไม่? นอกจากนี้คุณใช้สภาพแวดล้อม distro และเดสก์ท็อปอะไร มีการกำหนดค่า xorg พิเศษในสถานที่ (/etc/X11/xorg.conf และใน /etc/X11/xorg.conf.d/) หรือไม่ คุณอาจพบตัวชี้บางอย่างที่นี่: askubuntu.com/questions/2557/thinkpad-middle-button-scrollingและสำหรับclickpad
doktor5000

1
มีการอัพเดตอะไรบ้าง? ฉันประสบปัญหาเดียวกันกับแป้นพิมพ์ภายนอกของ Lenovo
languitar

FWIW ฉันมีคีย์บอร์ด trackpoint Bluetooth สองรุ่นและรุ่นหนึ่งมีปัญหานี้ xevแสดงให้เห็นว่าButtonPressปุ่มสำหรับ 2 ทันทีที่ฉันคลิกจากนั้นButtonReleaseเมื่อฉันเริ่มเลื่อน สิ่งที่ควรจะเกิดขึ้นก็คือเหตุการณ์เหล่านี้จะไม่ถูกสร้างขึ้นจนกว่าการกระทำจะไม่ชัดเจนโดยการเคลื่อนย้าย trackpoint (ซึ่งในกรณีนี้จะไม่มีการสร้างกดหรือ relase) หรือปุ่ม 2 ถูกปล่อยออกมา (ในกรณีนี้
ตุ๋น

คำตอบ:


1

สิ่งนี้ใช้ได้ดีสำหรับฉันใน/etc/X11/xorg.conf.d/20-thinkpad.conf:

Section "InputClass"
    Identifier  "Trackpoint Wheel Emulation"
    MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"
    MatchDevicePath "/dev/input/event*"
    Option      "EmulateWheel"      "true"
    Option      "EmulateWheelButton"    "2"
    Option      "Emulate3Buttons"   "false"
    Option      "XAxisMapping"      "6 7"
    Option      "YAxisMapping"      "4 5"
EndSection

ส่วนที่สำคัญคือMatchProductรายการซึ่งรวมถึงแป้นพิมพ์ USB คุณสามารถค้นหาสตริงสินค้าแป้นพิมพ์ใน/var/log/Xorg.0.logโดย grepping (II) evdev:สำหรับ


1

ลองเปิดใช้งานการจำลองการเลื่อนด้วยคำสั่งต่อไปนี้ซึ่งทำงานได้ดีกับคีย์บอร์ด trackpoint หลายรุ่น:

dev="TPPS/2 IBM TrackPoint"
xinput --set-int-prop "$dev" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput --set-int-prop "$dev" "Evdev Wheel Emulation Button" 8 2
xinput --set-int-prop "$dev" "Evdev Wheel Emulation" 8 1

หากคุณไม่ชอบคุณสามารถยกเลิกได้ด้วย

xinput --set-int-prop "$dev" "Evdev Wheel Emulation" 8 0

คุณอาจต้องปรับ dev ตามรูปแบบแป้นพิมพ์ของคุณ วิ่ง

xinput --list | grep TrackPoint

เพื่อดูว่าอุปกรณ์ตัวชี้ของคุณชื่ออะไร

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