จะกำหนดการกระทำ“ ย้อนกลับ” และ“ ส่งต่อ” ให้กับล้อเลื่อนแนวนอนของ Logitech Anywhere Mouse MX ได้อย่างไร?


11

ฉันใช้ Logitech Anywhere Mouse MX บน Ubuntu ของฉัน เมาส์ทำงานได้ดี แต่ฉันไม่สามารถกำหนดการกระทำให้กับปุ่มพิเศษที่มีให้ สิ่งที่ฉันคิดถึงมากที่สุดคือการกระทำ "ย้อนกลับ" และ "ส่งต่อ" ที่กำหนดให้กับการเอียงล้อเลื่อนทางซ้ายและขวา

ฉันจะเปิดใช้งานคุณสมบัติเหล่านี้ได้อย่างไร

คำตอบ:


9

ผมใช้ร่วมกับxbindkeysxdotool

สร้าง.xbindkeysrcไฟล์ในไดเรกทอรีบ้านของคุณ มันจะต้องมี:

# Mapping BACK to mousewheel left on old Logitech
"xdotool key Alt_L+Left"
m:0x0 + b:6

# Mapping FORWARD to mousewheel right on old Logitech
"xdotool key Alt_L+Right"
m:0x0 + b:7

อย่างไรก็ตามด้วย VMware คุณไม่ต้องทำอะไรนอกจากเพิ่ม

mouse.vusb.enable = "TRUE"

ถึงไฟล์. vmx ในระบบโฮสต์ของคุณ นี่คือสิ่งที่ VMware เปิดขึ้นทุกครั้งที่คุณเริ่มระบบแขกของคุณ


ขอบคุณ ฉันจะทดสอบบรรทัด vmx ในครั้งต่อไปที่ฉันรีสตาร์ทระบบ (ไม่เกิดขึ้นบ่อยเกินไป)
ysap

เพิ่งลองแฮ็คไฟล์ vmx - และดูเหมือนจะไม่ทำงาน สิ่งที่ฉันเห็นคือเมื่อฉันรีสตาร์ท VMware จะลบบรรทัดที่ฉันเพิ่งเพิ่มราวกับว่ามันมีแม่แบบไฟล์เริ่มต้นที่ถูกรีเซ็ตทุกครั้งที่คุณเริ่มเครื่อง
ysap

ตกลงดูเหมือนว่าฉันต้องไปตลอดทางและปิดเครื่องมากกว่าแค่รีสตาร์ท ตอนนี้การตั้งค่าจะถูกเก็บรักษาไว้ น่าเสียดายที่การทำงานจากระยะไกลในขณะนี้ล้อเมาส์ดูเหมือนจะไม่ได้ผล (เหมือนกันกับเครื่องโฮสต์) ฉันจะตรวจสอบอีกครั้งเมื่ออยู่ที่ไซต์ระยะไกลและรายงานผลลัพธ์
ysap

โอ้ใช่ - ตรวจสอบแล้วและใช้งานได้!
ysap

เห็นได้ชัดว่าคุณต้องเรียกใช้xbindkeysหลังจากการตั้งค่า
HongboZhu

18

ฉันมีเมาส์เดียวกันนี้และฉันต้องการผูกสองปุ่มที่ด้านข้างของเมาส์เพื่อไปข้างหน้าและข้างหลัง นี่คือวิธีที่ฉันแก้ไขปัญหานี้:

1) ใช้ยูทิลิตี้ "xev" เพื่อพิจารณาว่าปุ่มใดที่คุณต้องการทำการแมปใหม่ให้ตรงกับหมายเลข คุณอาจต้องติดตั้งแพ็คเกจนี้โดยใช้

sudo apt-get install xev  

เมื่อติดตั้ง xev แล้วให้พิมพ์ "xev" ลงในเทอร์มินัลและหน้าต่าง X ที่เป็นสีขาวพร้อมกล่องดำจะปรากฏขึ้น การเลื่อนเมาส์ไปที่หน้าต่างนั้นจะเริ่มต้นการลงทะเบียนกิจกรรมไปยังเครื่องเทอร์มินัล การอ่านเอาต์พุตของสิ่งนั้นอย่างระมัดระวังจะบอกหมายเลขของปุ่มเมาส์ของคุณ บนเมาส์ของฉันแผนที่เอียงซ้ายและขวากับปุ่ม 6 และ 7 ตามลำดับ

2) ตอนนี้เรากำลังจะใช้ยูทิลิตี "xbindkeys" เพื่อทำการแมปปุ่มเมาส์ใหม่เพื่อการกดปุ่ม หากคุณยังไม่ได้ติดตั้งสิ่งนี้คุณอาจต้องติดตั้งด้วย

sudo apt-get install xbindkeys

3) สร้างไฟล์ในโฮมไดเร็กตอรี่ของคุณชื่อ ".xbindkeysrc" นี่คือสิ่งที่ xbindkeys จะอ่านเพื่อดูสิ่งที่คุณทำการแมปใหม่ เนื้อหาของไฟล์. xbindkeysrc ของฉันคือ:

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
   m:0x0 + b:8

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
  m:0x0 + b:9

ดังนั้นสิ่งนี้บอกให้คอมพิวเตอร์ของฉันส่งปุ่มคีย์บอร์ดกด "Alt + Left" หรือ "Alt + Right" ไปยังระบบโดยใช้คีย์บอร์ดเสมือน (xvkbd) เมื่อใดก็ตามที่ปุ่ม 8 บนเมาส์ 0 ถูกกดหรือปุ่ม 9 บนเมาส์ 0 ถูกกดตามลำดับ ปุ่มเหล่านี้สอดคล้องกับปุ่มไปข้างหน้าและปุ่มย้อนกลับ สิ่งนี้จะใช้งานได้เช่นใน Nautilus, chrome /

หมายเหตุ : คุณอาจต้องติดตั้งxvkbdหากยังไม่มีอยู่ในระบบของคุณsudo apt-get install xvkbd


ขอบคุณ การรันยูทิลิตี้ xev ฉันเห็นข้อมูลมากมายอย่างไรก็ตามถึงแม้ว่าฟังก์ชั่นเลื่อนขึ้นและลงจะถูกจับคู่กับปุ่ม 4 และ 5 ฉันไม่ได้รับเหตุการณ์ใด ๆ เมื่อฉันเอียงล้อเลื่อนหรือเมื่อฉันคลิกปุ่มสองข้าง ความคิดใด ๆ
ysap

อาจเป็นไปได้ว่าด้วยเหตุผลบางอย่างระบบของคุณไม่รู้จักสัญญาณที่ส่งจากเมาส์ หากเป็นกรณีนี้คุณควรเห็นรหัสข้อผิดพลาดทั้งใน / var / log / messages หรือใน dmesg อ่านเพิ่มเติมเกี่ยวกับปัญหานี้และวิธีแก้ไขได้ที่ url jveweb.net/en/archives/2011/01//หากไม่ได้เป็นปัญหาเราจะต้องพิจารณาเพิ่มเติม
jarvisschultz

ตกลงฉันดูบันทึกของ dmesg มันเป็นรายการข้อความที่ค่อนข้างยาว สิ่งที่ฉันควรจะมองหา?
ysap

BTW ฉันไม่ได้กล่าวถึงในคำถาม แต่มันอาจช่วยได้ - ฉันใช้ Ubuntu เป็นระบบปฏิบัติการแขกบน VMware Player บน Windows 7 จากประสบการณ์ของฉันกับอุปกรณ์ไม่กี่เครื่องการจำลองค่อนข้างดีทำ Ubuntu แน่นอน ข้อความที่ส่งโดยเมาส์
ysap

1
เป็นไปได้sudo apt-get install xvkbdหรือไม่ว่าจะหายไปที่นี่
c_korn

5

นี่คือสิ่งที่ฉันทำ ไม่มีsudoคำสั่งหรือแพ็คเกจใหม่ที่จำเป็น:

  • ฉันทดสอบปุ่มด้วยxev-> ปุ่มทั้งหมดตรงกับค่าที่แน่นอนซึ่งหมายความว่าระบบเป็นที่รู้จัก
  • ตรวจสอบอุปกรณ์ด้วยxinput list-> เมาส์มีการระบุไว้ด้วยID 9ในกรณีของฉัน
  • xinput list-props 9 แสดงการแมปปัจจุบันและโดยเฉพาะอย่างยิ่งบอกเกี่ยวกับป้ายชื่อปุ่ม -> ดูเหมือนว่าเป็นการบอกล่วงหน้า / ย้อนหลังตรงกับปุ่ม 8 และ 9 ซึ่งฉันไม่มี (การเอียงของล้อคือ 6 และ 7 และแมปกับการเลื่อนแนวนอน)
  • การแมปการแมปผ่านxmodmapการตีความตาม X เป็นวิธีที่สะดวกที่สุดสำหรับฉัน ไม่ควรเปลี่ยนห้าปุ่มแรก (คลิกกลางซ้ายขวาและเลื่อนขึ้นและลง) แต่การรายงานดังกล่าวเป็นปุ่ม 6 & 7 ควรเลื่อนไปข้างหน้า / ถอยหลัง
  • ดำเนินการxmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16"ในปุ่มแลกเปลี่ยนเทอร์มินัล 6 และ 7 พร้อม 8 และ 9 (แทบ)
  • หากการทำแผนที่นี้ไม่ได้ผลสำหรับคุณคืนค่าเริ่มต้นด้วยxmodmap -e "pointer = default"และลองทำแผนที่อื่น
  • ตอนนี้ฉันมีคำสั่งปุ่มสลับในแอปพลิเคชันเริ่มต้นของฉันที่จะดำเนินการหลังจากเข้าสู่ระบบ
  • ดูเหมือนว่าจะเป็นไปตามการman xmodmapจัดเก็บคำสั่งนี้ในไฟล์ที่เรียกว่า~/.xmodmaprcหรือผนวกคำสั่ง~/.bashrc

ทำงานให้ฉัน หวังว่านี่จะช่วยได้


1
+1: xmodmapวิธีการนี้ใช้ได้ผลทันทีสำหรับฉัน แต่ ... เป็นไปได้หรือไม่ที่จะแก้ไขการจับคู่แผนที่สำหรับเมาส์ที่เฉพาะเจาะจง?
MestreLion

4

นี่คือสิ่งที่ได้ผลสำหรับฉัน:

1) ติดตั้ง xbindkeys

sudo apt-get install xbindkeys

2) ติดตั้ง xautomation

sudo apt-get install xautomation

3) สร้างไฟล์. xbindkeysrc ในโฮมไดเร็กตอรี่ของคุณด้วย:

# History Back & Forward
"xte 'keydown Alt_L' 'key Left' 'keyup Alt_L' "
  b:6
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L' "
  b:7

4) ไปที่ Startup Applications และเพิ่มโปรแกรมด้วยคำสั่ง xbindkeys

5) ออกจากระบบ & เข้าสู่ระบบ

ที่มา: ฟอรัม Ubuntu


ขอบคุณ B-Scan ฉันถือว่าคุณหมายถึงไฟล์ที่จะใส่ไว้ในโฮมไดเร็กตอรี่ของฉัน ฉันวางไว้ที่นั่นและเพิ่มxbindkeysรายการในแอปเริ่มต้นออกจากระบบและใน ... และมันไม่ทำงาน :-(
ysap

ใช่ไดเรกทอรีบ้าน ตอนนี้ฉันเห็นว่าคุณกำลังใช้ VMware อาจจะเกี่ยวข้องกับเรื่องนี้ ?
B-Scan

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