เมาส์ Logitech M560 บน linux จะทำให้เกิดการป้อนข้อมูลที่สับสน


6

เพื่อนของฉันซื้อเมาส์ Logitech M560 เมื่อวาน (คุณสามารถดูได้ที่นี่ ) และลองใช้กับระบบ Ubuntu ของเธอ ดูเหมือนว่าจะเป็นรุ่นที่ค่อนข้างใหม่ดังนั้นจึงไม่มีข้อมูลเกี่ยวกับมันเลยยกเว้นเว็บไซต์ของโลจิเทค การแมปกุญแจปิดอยู่ แต่ฉันคิดว่ามันง่ายที่จะทำการแมปปุ่มใหม่ - ฉันทำไปแล้วในทศวรรษที่ผ่านมาด้วยเมาส์ Logitech ที่หลากหลาย อย่างไรก็ตามคุณจะต้องพูดถึงสวิตช์ปุ่ม 13 ด้วยปุ่ม 2 ซึ่งแตกต่างจากเมาส์ตัวอื่น ๆ ซึ่งเมาส์นี้จะส่งเหตุการณ์การกดปุ่มราวกับว่าคุณพิมพ์บนแป้นพิมพ์

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

ฉันต้องการรับปุ่ม "ปกติ" ทั้งหมดเพื่อทำสิ่งที่ควรจะทำและแมปแอ็คชั่นคลิกกลางที่ปุ่มเล็ก ๆ ที่อยู่หลังพวงมาลัยดังนั้นฉันจึงเริ่มด้วย xev และ xinput เพื่อระบุว่า:

ปุ่ม 1 -> คลิกซ้ายปุ่ม 3 -> คลิกขวาปุ่ม 4 -> ล้อขึ้นปุ่ม 5 -> ล้อลงปุ่ม 8 -> เอียงไปทางซ้ายปุ่ม 9 -> เอียงไปทางขวา

และนี่คือส่วนที่แปลกประหลาด: การกดปุ่มไปข้างหน้าก็เหมือนกับการกด Super_R (รหัส 134) การกดปุ่มย้อนกลับให้ผลตอบแทน Super_L และ d พร้อมกัน (รหัส 133 และ 40)

ความแปลกประหลาดมากขึ้น: การกดปุ่มสี่เหลี่ยมหนึ่งครั้งจะให้ Alt_L, Super_L และ XF86TouchpadOff พร้อมกัน (รหัส 64, 133, 201) การกดครั้งที่สองก็เหมือนกับการกดปุ่ม 1 ...

ดังนั้นปุ่มหกปุ่มแรกจะส่งเหตุการณ์การกด / ปล่อยปุ่มในขณะที่อีกสามปุ่มจะส่งการกด / ปล่อยเหตุการณ์หลายปุ่ม

มันค่อนข้างง่ายในการแมปปุ่มเมาส์กับรหัสแป้นพิมพ์ แต่มันเป็นไปได้ที่จะทำตรงข้ามโดยไม่ทำให้แป้นพิมพ์ของระบบหมดอำนาจ? ฉันควรติดต่อใครบางคนจาก kernel.org เพื่อเพิ่มการรองรับเมาส์?


ฉันดูเหมือนจะจำหนูเหล่านี้อาจจำการตั้งค่าของพวกเขาดังนั้นฉันสงสัยว่ามันเป็นคีย์แมปที่มีอยู่ก่อน
Journeyman Geek

ตามคู่มือของเมาส์นั้นมันได้รับการออกแบบมาเป็นพิเศษเพื่อทำการดำเนินการเหล่านี้ใน Windows 8 โดยเฉพาะสิ่งที่คุณเรียกว่าปุ่ม "ไปข้างหน้า" (เช่นเดียวกับ M500) มีข้อความกำกับอยู่ในคู่มือ "แสดงเดสก์ท็อป Windows 8" ดังนั้นฉันค่อนข้างแน่ใจว่าเมาส์กำลังส่งเหตุการณ์เหล่านี้และได้รับการออกแบบมาโดยเฉพาะเพื่อเอาใจ Windows 8 คู่มือนี้ยังกล่าวอีกว่าสำหรับซอฟต์แวร์พิเศษของ Windows 7 นั้นจำเป็นต้องใช้เพื่อให้ทำงานได้
Bobby

@ Journeyman-geek ฉันคิดว่า keymap นั้นได้มาจากไดรเวอร์ kernel / evdev รวมถึงการตั้งค่าเซิร์ฟเวอร์ X ใด ๆ
xander.pl

@ บ๊อบบี้ฉันเห็นว่าปุ่มสี่เหลี่ยมควรจะเปิดลิ้นชักบางอย่างถ้านั่นคือสิ่งที่พวกเขาถูกเรียกใน win 8 แต่ดูเหมือนว่ารหัสคีย์ไม่ตรงกับแป้นพิมพ์ลัดที่เกี่ยวข้อง Logitech พัฒนาซอฟต์แวร์ SetPoint ซึ่งช่วยให้คุณสามารถแมปคีย์ของคุณได้ตามที่คุณต้องการและสำหรับแอพพลิเคชั่นที่แตกต่างกัน
xander.pl

ไม่จำเป็นว่าเมาส์สมัยใหม่จำนวนมากจะเก็บคีย์แมปไว้ในหน่วยความจำภายในเครื่อง
Geek

คำตอบ:


5

คุณสามารถทำการแมปกุญแจผ่านทาง udev เมาส์ทำหน้าที่เป็นคีย์บอร์ด มีการแก้ไขที่นี่: https://bugzilla.redhat.com/show_bug.cgi?id=1035668


ขอบคุณสำหรับการแก้ปัญหา แต่มันไม่ทำงานในกรณีของฉัน ฉันมี Logitech M560 และ Logitech K750R เชื่อมต่อผ่านเครื่องรับสัญญาณเดียว เมื่อฉันใช้วิธีแก้ปัญหาบางปุ่มปรับเปลี่ยนและตัวอักษร 'd' หยุดทำงานบนแป้นพิมพ์ในขณะที่ปุ่มเมาส์พิเศษไม่ทำงานเช่นกัน นั่นอาจเกิดจากข้อเท็จจริงที่ว่าพวกเขาใช้ตัวรับสัญญาณเดียว ขอบคุณ!
Anton Beloglazov

ใช่. การทำงานในปัจจุบันทำการแมปแป้นพิมพ์ใหม่ไปยังผู้รับที่รวมเป็นหนึ่ง หมายความว่าคุณไม่สามารถใช้ M560 และคีย์บอร์ดไร้สาย Logitech อื่นได้
Jerone Young

ขอบคุณสำหรับคำตอบของคุณ Jerone! คุณทราบถึงวิธีแก้ไขที่เป็นไปได้อื่น ๆ ที่สามารถแก้ไขปัญหานี้ได้หรือไม่
Anton Beloglazov

1

นี่คือการกำหนดค่าของฉัน:

~$ cat .xbindkeysrc |egrep -v "^$|^#"
"xte 'mouseclick 2'"
    m:0x50 + c:134

ด้วยวิธีนี้ถ้าทำ " งาน " ปุ่มกลาง

ฉันเลือกข้อความที่ฉันต้องการคัดลอก / วางในขณะที่กดปุ่มขวาค้างไว้หลังจากเลือกปุ่มที่จะวางฉันคลิก หากจำเป็นต้องวางข้อความเดิมอีกครั้งเนื่องจากปุ่มสี่เหลี่ยมไม่ได้ยกเหตุการณ์เดียวกันทุกครั้งฉันจะคลิกอย่างรวดเร็วสองครั้ง

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

ไม่สมบูรณ์แบบ แต่ดีกว่าไม่มีการคลิกกลางเลย


0

ฉันขอโทษที่เป็นผู้ชายคนนั้น แต่โปรดอดทนกับฉัน ฉันใช้เมาส์ของ Logitech และอุปกรณ์ชี้ตำแหน่งบนเครื่องจำนวนหนึ่ง Windows, Linux และทั้งสองอย่างโดยไม่มีปัญหา แม้แต่ทัชแพด T650 ซึ่งโฆษณาว่าเป็นอุปกรณ์ Windows 8 สามารถทำงานได้อย่างถูกต้องใน Linux ด้วยการอัปเดตเฟิร์มแวร์ M560 นั้นไม่สามารถทำงานได้อย่างถูกต้อง 100% ยกเว้น Windows แต่ไม่มีแฮ็กที่มากเกินไป คุณอาจจะสามารถแลกเปลี่ยนกับคนอื่นสำหรับรุ่นเก่า / ที่ทำงานหรือคุณอาจได้รับเงินคืนเนื่องจากมันไม่ชัดเจนจากบรรจุภัณฑ์ที่เมาส์ไม่สามารถใช้งานได้กับทุกอย่างยกเว้น Windows แต่ฉันไม่ต้องการ ไม่แนะนำให้ใช้เวลากับมันมาก

ฉันเป็นการส่วนตัวขับ M560 ของฉันไปที่ HTPC ที่ไม่ได้ใช้งานเมาส์มาก


-1

มันคือปี 2018 ด้วย KDE Fedora 25 ของฉันเคอร์เนล 4.13.16-100.fc25.x86_64 และปุ่มสี่เหลี่ยมกลาง M560 ทำงานนอกกรอบเป็นปุ่มกลางปกติ (ปุ่ม 2)

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