เพื่อนของฉันซื้อเมาส์ 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 เพื่อเพิ่มการรองรับเมาส์?