ปุ่มเมาส์พิเศษไม่ทำงานในการจำลองเสมือน (VMware / VirtualBox, โฮสต์ Ubuntu)


22

ฉันพยายามเรียกใช้ VMware Workstation และ / หรือ VirtualBox บน Ubuntu เครื่องเสมือนทำงานได้อย่างสมบูรณ์แบบในทั้งสองแอปพลิเคชันยกเว้นสำหรับปุ่มเมาส์พิเศษ (ไปข้างหน้า / ข้างหลัง) ในอูบุนตูปุ่มเมาส์ทำงานได้ดี

แอปพลิเคชันการจำลองเสมือน: VMware Workstation 10.0.1, VirtualBox ล่าสุด

รุ่น Ubuntu ที่ฉันทดสอบว่าเป็นโฮสต์: 12.04, 13.10, 14.04 beta

เกสต์โอเอสฉันทดสอบ: Windows 7, Linux OS หลายตัวในโหมดสด

หนูทดสอบ (ทุกปุ่มมีปุ่มด้านข้าง): Logitech M510 (ตัวรับสัญญาณรวม), Razer Copperhead เก่า, เม้าส์

ฉันลองใช้วิธีแก้ปัญหามากมายที่ฉันพบทางออนไลน์เช่นการเปลี่ยนการตั้งค่าเมาส์ใน. vmx บน VMware WS (mouse.vusb.enable, ... ), การเปลี่ยนการตั้งค่าอินพุตบน VMware / VirtualBox ติดตั้งเครื่องมือของผู้เยี่ยมชมบนเกสต์ , ...

ฉันคิดว่ามันเป็นปัญหาใน Ubuntu และไม่ได้อยู่ในแอพพลิเคชั่นการจำลองเสมือน ใครบ้างมีวิธีแก้ปัญหานี้?


mika209: คุณสามารถเรียกใช้ xev | grep -i "button" ใน terminal ใน Guest OS? จากนั้นย้ายไปที่หน้าต่างคลิกเมาส์ไปข้างหน้าและปุ่มย้อนกลับ โปรดเพิ่มผลลัพธ์ให้กับคำถามของคุณหรือไปที่ Ubuntu pastebin เพื่อให้อ่านง่าย
Anders FU Kiær

คำตอบ:


17

วิธีแก้ปัญหาที่เป็นไปได้:

หลังจากแก้ไขไฟล์. vmx ของ VM เพื่อเพิ่ม

mouse.vusb.enable = "TRUE"
mouse.vusb.useBasicMouse = "FALSE"
usb.generic.allowHID = "TRUE"

คุณจะสามารถใช้เมาส์ห้าปุ่มใน VM ต้องการทำเช่นนั้นเปิด VM Virtual Machine > Removable Devices > [Your Mouse] > Connect (Disconnect from Host)ของคุณจากนั้นไปที่ คุณจะได้รับคำเตือนสองสามข้อว่าคุณจะไม่สามารถใช้เมาส์กับโฮสต์ได้อีกต่อไปและคลิกตกลง

ตอนนี้คุณสามารถใช้เมาส์ภายใน VM ได้ไม่ว่าจะเป็นแบบเต็มหน้าจอหรือในโหมดหน้าต่าง กดCtrl-Gแป้นพิมพ์ของคุณเพื่อกำจัดไอคอนเมาส์โฮสต์และดื่มด่ำไปกับ VM อย่างเต็มที่ เมื่อคุณต้องการใช้เมาส์อีกครั้งนอก VM ให้กดCtrl+Altแล้วปล่อย ตอนนี้โฟกัสกลับไปที่โฮสต์ระบบปฏิบัติการของคุณ การจองAltและการผลักดันVเพื่อนำมาขึ้นเมนูและใช้ปุ่มลูกศรเพื่อนำทางไปยังVirtual MachineVirtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host)

ตอนนี้ทุกอย่างกลับสู่ปกติ หวังว่าบางสิ่งจะเปลี่ยนแปลงใน Ubuntu หรือ VMWare Player ในไม่ช้าเพื่อให้ง่ายขึ้นกว่านี้


ใช่ฉันลองเพิ่ม usb.generic.allowHID = "TRUE" ในการตั้งค่า VMware .vmx หลังจากนั้นคุณสามารถเชื่อมต่อเมาส์ / HID โดยตรงกับเครื่องเสมือน แต่ฉันคิดว่านี่เป็นวิธีแก้ปัญหามากกว่าวิธีแก้ปัญหา ..
mika209

ตกลง มันใช้งานได้หากคุณวางแผนที่จะทำงานเฉพาะใน VM เป็นระยะเวลานาน แต่ในท้ายที่สุดก็ไม่ได้ใช้งานง่ายนัก
MattSayar

1
โฮสต์ Windows 10, Ubuntu 14.04 บุคคลทั่วไป VMWare 11. การเพิ่มสามบรรทัดนั้นเหมาะกับฉัน โดยเฉพาะอย่างยิ่งบรรทัด useBasicMouse มีความสำคัญ วิธีการแก้ปัญหายังคงใช้อยู่ แต่เมาส์ของฉันก็กระโดดกลับไปที่โฮสต์ระบบปฏิบัติการโดยสุ่มแม้กระทั่งแขกรับเชิญเต็มหน้าจอ
Halsafar

1
ทำงานอย่างสมบูรณ์แบบสำหรับฉัน! สิ่งที่ฉันต้องทำคือแก้ไขไฟล์. vmx เพื่อเพิ่ม 3 บรรทัด ฉันไม่จำเป็นต้องยกเลิกการเชื่อมต่อเมาส์จากโฮสต์และเมาส์ยังคงดำเนินการเปลี่ยนโดยอัตโนมัติระหว่างโฮสต์และแขกเช่นเดิม VMware Workstation 11, โฮสต์ Windows 7, แขก Ubuntu 12.04 และ 16.04 VM ต้องถูกปิดและเปิดใหม่เพื่อให้การทำงาน - การระงับ / การเริ่มต้นใหม่ไม่เพียงพอ
EM0

1
VMware Workstation 12.5.2 โฮสต์ Windows 7 แขกของ Ubuntu 17.04 เพิ่งหยุด VM เพิ่ม 3 บรรทัดเหล่านี้ลงในไฟล์ VMX และเริ่มต้นอีกครั้ง ทำเคล็ดลับ
ปิแอร์เฮนรี

12

ในการรับปุ่มเมาส์พิเศษเพื่อทำงานภายใต้ VMware ให้แก้ไข configfile.vmx (ต่อท้ายบรรทัดต่อไปนี้):

mouse.vusb.enable = "TRUE"
mouse.vusb.useBasicMouse = "FALSE"

การตั้งค่าด้านบนจะเปิดใช้งานเมาส์เสมือน vmware พร้อมปุ่ม 20 ปุ่ม อย่างไรก็ตามในบางสถานการณ์ vmware ไม่ได้แมปเหตุการณ์เมาส์มาถึงโฮสต์กับเหตุการณ์แขกที่ถูกต้อง

ว่าทำไมมันล้มเหลวในการส่งเหตุการณ์เมาส์ที่ถูกต้องเป็นคำถามที่ดีที่ไม่ครอบคลุม

เริ่มต้นและรันสิ่งต่อไปนี้ใน guest os ทำงานxev | grep -i "button"ในอาคารผู้โดยสาร ย้ายไปที่หน้าต่างวางไข่คลิกปุ่มที่คุณต้องการกำหนดหรือสลับหนึ่งครั้ง xevส่งออกเหตุการณ์เมาส์ที่ลงทะเบียนในหลายกรณีปุ่มเมาส์พิเศษที่ควรจะเป็นเช่น ได้รับปุ่มเมาส์ 8 หรือ 9 ตามเหตุการณ์ปุ่มเมาส์ 16 หรือ 17

การกำหนดกิจกรรมปุ่มเมาส์ใหม่สามารถทำได้ด้วยเช่น xinputต่อไปนี้ทำให้ deviceID 8 มีปุ่มเมาส์ 16 ทำหน้าที่เป็นเมาส์ 8 และเมาส์ 17 เป็นเมาส์ 9

xinput set-button-map 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8 9

1
สิ่งนี้ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน: Windows 7 x64 (โฮสต์) + SetPoint 6.65.62 + M705 Logitech Mouse, VMWare 10, Kubuntu 14.04 x64 (แขก) ฉันเห็นผลลัพธ์ของ xev | grep -i "button"ปุ่มเหตุการณ์ที่ถูกต้องในทันที 8/9 ที่แมปไปด้านหลัง / ไปข้างหน้า มันทำงานได้เหมือนอยู่บน Chrome & Firefox โดยไม่มีการกำหนดค่าอื่น ๆ บนกล่อง linux
Angelos Pikoulas

1
สิ่งนี้ได้ผลกับฉันเช่นกัน - ขอบคุณ! โฮสต์ Fedora 24 และ Windows 8.1 (x64) พร้อม Logitech G9 VMware Workstation 12.5
Devator

1
ขอบคุณมาก! ทำงานอย่างสมบูรณ์แบบสำหรับฉันด้วยโฮสต์ Windows 10 และแขก Ubuntu 16.04 หลังจากแก้ไข. vmx ฉันไม่จำเป็นต้องใช้ xinput เพื่อแมปอะไรเลยปุ่มพิเศษทำหน้าที่ย้อนหลัง / ไปข้างหน้า
DaveTheScientist

1
สิ่งนี้ใช้ได้กับฉันเมื่อฉันใส่ไว้ใน VMNAME.vmx ในโฟลเดอร์ของมัน แต่มีวิธีที่จะทำให้โลกนี้หรือไม่?
Michael Yoo

1
ฉันสร้างไฟล์และเพิ่มการเปลี่ยนแปลง~/.vmware/configกับ.encoding = "UTF-8"ส่วนหัวและทำงานได้ดังนั้นฉันคิดว่านั่นเป็นวิธีการตั้งค่าแบบโกลบอล (สำหรับผู้ใช้ของคุณ) (Workstation 14)
Michael Yoo

0

คุณไม่สามารถจำลองมากกว่า 3 ปุ่มใน VirtualBox และ VMware นี่เป็นเพราะมันนำเสนอให้กับระบบของแขก (เมาส์) ปุ่ม 3 ปุ่มมาตรฐาน (ยอดเยี่ยม) อาจเป็นไปได้ถ้าพวกเขาชอบ แต่ตอนนี้คำตอบคือไม่


ดังนั้นทำไมมันทำงานใน Windows เนื่องจากการใช้งาน Linux และ Windows เป็นไปตามแผนการทำงานที่แตกต่างกันและ "แต่ละ front-end มีวิธีการป้อนข้อมูลด้วยเมาส์" ( แหล่งที่มา ) สิ่งนี้สามารถเห็นได้ในอีกคำถามของ Super User


หากคุณใช้ Windows 7/8 เป็นโฮสต์กับ VMware หรือ VirtualBox ปุ่มเมาส์พิเศษจะทำงานใน guest-OS หลายระบบ เป็นไปได้อย่างไร?
mika209

@ mika209 การใช้งานที่แตกต่างกัน มันง่ายเหมือน
Braiam

2
@braiam: ฉันไม่สามารถบอกได้ว่าอะไรเป็นความจริงสำหรับ VirtualBox แต่ฉันสามารถบอกได้ว่า VMware Workstation และ Player รองรับ 24 ปุ่ม ฉันจะกลับมาพร้อมคำตอบที่อัปเดตและขยายออกไปเมื่อฉันมีเวลา เพื่อความถูกต้องในระหว่างนี้จะเป็นการดีถ้าคุณอัปเดตคำตอบของคุณเพื่อไม่รวม VMware
Anders FU Kiær

@ AndersF.U.KiærติดตามOP ความคิดเห็นที่นี่ดูเหมือนจะไม่ทำงาน
Braiam

@braiam ถ้าคุณตรวจสอบการประทับเวลาคุณสามารถเห็นได้อย่างง่ายดายว่า OP ไม่ได้ลองคำตอบที่ปรับปรุงแล้วหรือไม่ติดตามการทำงานของ xev อย่างไรก็ตามฉันไม่สามารถดูแลได้อีกต่อไป ฉันทำซ้ำปัญหาขณะที่ฉันใช้การตั้งค่าเดียวกันกับ vmware มาก ตอนนี้ฉันได้แบ่งปันความรู้ หากคนอื่นอยากเล่นเกมที่งมงาย
Anders FU Kiær

0

ฉันลองทั้งหมดนี้การแก้ไขทำได้ง่ายบน Dell XPS 13 ของฉัน Windows 10 VMware Player 12 แขก Ubuntu 14.04

เรียกใช้แผงควบคุมเปลี่ยนการตั้งค่าเมาส์ศูนย์เมาส์และแป้นพิมพ์การตั้งค่าเมาส์ Microsoft ปุ่มล้อ ตั้งค่าให้คลิกเมาส์กลางแทนโปรแกรมดูด่วนเริ่มต้น

ซึ่งอนุญาตให้คลิกเมาส์กลางคัดลอกและวางใน Ubuntu ..

เจมส์


0

ทดสอบสิ่งนี้บนโฮสต์ Windows 10 (ควรเหมือนกันบน Ubuntu), VMware เวิร์กสเตชันเพลเยอร์ 12 โดยใช้เมาส์ logitech m510

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

  1. ไปที่โฟลเดอร์เครื่องเสมือนของคุณและค้นหา.vmxไฟล์
  2. แก้ไขใน notepad และเพิ่ม:

    usb.generic.allowHID = "TRUE"
    usb.generic.allowHID = "TRUE"
    usb.generic.allowLastHID = "TRUE"
    
  3. Virtual Machine > Removable Devices > [Your Mouse] > Connect (Disconnect from Host)เปิดเครื่องเสมือนและนำทางไปยัง เมื่อคุณทำเช่นนั้นเมาส์จะทำงานบนเครื่องเสมือนเท่านั้น

  4. ติดตั้งไดรเวอร์ / ซอฟต์แวร์ของเมาส์ Logitech บนเครื่องเสมือน (คุณสามารถทำขั้นตอนนี้ก่อนทุกอย่างถ้าคุณต้องการ)
  5. คุณสามารถกดCtrl+ Gบนแป้นพิมพ์เพื่อกำจัดไอคอนเม้าส์โฮสต์และดื่มด่ำไปกับ VM อย่างเต็มที่
  6. เมื่อคุณต้องการใช้เมาส์บนเครื่องโฮสต์อีกครั้งกดCtrl+ Altจากนั้นปล่อยเพื่อให้โฟกัสอยู่บนเครื่องเล่น vmware ไม่ใช่เครื่องเสมือน ตอนนี้คุณสามารถใช้แป้นพิมพ์ลัดของ windows ปกติได้แล้ว ในกรณีนี้กดAlt+ Pเพื่อเปิดเมนูเล่นเวิร์กสเตชัน VMware Virtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host)และใช้ปุ่มลูกศรบนแป้นพิมพ์เพื่อนำทางไปยัง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.