ปุ่มเมาส์ย้อนกลับ / ไปข้างหน้าไม่ทำงานใน VMWare Workstation 6.5 Guest OS


26

ฉันใช้เมาส์ Logitech G9 และใช้งาน VMWare Workstation 6.5.3 บน Vista x64 guest OS คือ Win XP และติดตั้ง VMWare Tools เวอร์ชันล่าสุด ปุ่มซ้าย / ขวาและการเลื่อนล้อเลื่อนของเมาส์ทำงานได้ดีใน guest OS แต่ดูเหมือนว่าปุ่มย้อนหลัง / ไปข้างหน้าไม่เป็นที่รู้จัก

ฉันลองติดตั้งซอฟต์แวร์ Logitech ในระบบปฏิบัติการ guest แล้วเช่นกัน แต่ก็ยังไม่รู้จักปุ่มย้อนกลับ / ไปข้างหน้า (ฉันไม่ได้คาดหวังว่าสิ่งนี้จะทำงานได้เนื่องจากระบบปฏิบัติการของแขกไม่เห็นฮาร์ดแวร์เมาส์ในฐานะ Logitech G9 โดยตรงเลย)

ฉันจำได้ว่าเห็นบางสิ่งบางอย่างย้อนเวลากลับไปเกี่ยวกับการแก้ไขไฟล์กำหนดค่าเครื่องเสมือนเพื่อระบุเมาส์ 5 ปุ่มแทนที่จะเป็นการตั้งค่า 3 ปุ่มเริ่มต้น แต่ฉันไม่สามารถหาข้อมูลเฉพาะเกี่ยวกับวิธีการดังกล่าวได้ในเอกสาร VMWare . ไม่มีใครรู้ว่าการแก้ปัญหาดังกล่าวมีอยู่หรือไม่รองรับฟังก์ชั่นเมาส์ 5 ปุ่มหรือไม่?

คำตอบ:


18

หลังจากเพิ่ม usb.generic.allowHID = TRUE ไปยังไฟล์ vmx เพียงเปิดใช้งาน USB สำหรับ VM นั้นแล้วไปที่ตัวจัดการฮาร์ดแวร์ (ระบบแขก) และ "สแกนหาการเปลี่ยนแปลงฮาร์ดแวร์" อุปกรณ์ USB ใหม่จะได้รับการยอมรับจาก VM และหลังจากนั้นปุ่มย้อนกลับ / ไปข้างหน้าของคุณควรทำงานโดยไม่ยกเลิกการใช้งานเมาส์ในระบบโฮสต์


ขอบคุณ! ดูเหมือนว่าจะทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน ไม่แน่ใจว่าฉันไม่เคยลองหรือเคยแก้ไขบางสิ่งบางอย่างใน VMWare Workstation 7 (ฉันเพิ่งอัพเกรด) แต่ไม่ว่าจะด้วยวิธีใดก็ตามขอบคุณ!
Tim Lara

4
ฉันเพิ่งพบปัญหาเดียวกันพยายามหาปุ่มส่งต่อ / กลับเพื่อทำงานกับ Ubuntu ในฐานะแขกของระบบปฏิบัติการ ปรากฎว่าฉันต้องการmouse.vusb.enable = "TRUE"ในไฟล์. VMX เช่นกันเพื่อให้มันทำงานได้อย่างถูกต้อง
Arjen

มีใครยังมีปัญหาที่คุณต้องเลือกเมาส์จากเมนูอุปกรณ์ที่ถอดออกได้ (ดังนั้นการยกเลิกการเชื่อมต่อจากโฮสต์) ก่อนที่คุณจะสามารถใช้เมาส์แม้จะมีการตั้งค่า usb.generic.allowHID และ mouse.vusb.enable จริงหรือ ฉันมีโฮสต์ Ubuntu และแขก Red Hat
MattSayar

23

แก้ไขไฟล์. VMX (ในขณะที่ปิดการใช้งาน VM) โดยใช้ notepad และเพิ่มบรรทัดต่อไปนี้:

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

บันทึกไฟล์และออกจาก Notepad


+1 นี้ทำงานได้อย่างสมบูรณ์แบบและง่ายมากเมื่อเทียบกับคำตอบที่ซับซ้อนโดยไม่จำเป็นด้านล่าง
Hubro

ดูเหมือนจะไม่สามารถใช้งานกับเวิร์กสเตชัน 9 ได้อีกต่อไป
Cheetah

@Cheetah เราสามารถยืนยันได้ว่ามันจะทำงานบนเวิร์กสเตชัน 9
ablacksheep

ทำงานให้ฉันด้วยการตั้งค่า Logitech G700 ด้วย Logitech Gaming Software ใช้ Ubuntu 14.04 เพิ่มบรรทัดข้างต้นตามที่ระบุไว้และทำงานได้ทันที
Halsafar

ทำงานได้อย่างสมบูรณ์แบบด้วย Logitech G700s ที่ใช้ Ubuntu 15.10 ใน Workstation 12 ขอบคุณ!
jaseeey

9

สำหรับเวิร์กสเตชัน 10 คุณต้องมีบรรทัดอื่นในตัวคุณ. vmx กว่าคำแนะนำก่อนหน้า ตอนนี้มันเป็น:

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

https://communities.vmware.com/message/2328267#2328267


บรรทัดแรกดูเหมือนจะไม่จำเป็นตามการสนทนาที่คุณเชื่อมโยงและฉันสามารถยืนยันได้ว่าจะใช้งานได้โดยไม่มีบรรทัดแรก ฉันใช้สิ่งนี้ใน Vagrantfile ของฉันเพื่อให้ฉันสามารถใช้ฟอร์เวิร์ด / ย้อนกลับภายใน Vagrant VM ซึ่งเป็นสิ่งที่ผลผลิตของฉันเกิดขึ้นตลอดทั้งวัน vmw.vmx["mouse.vusb.enable"] = "TRUE"และvmw.vmx["mouse.vusb.useBasicMouse"] = "FALSE"
dragon788

วิธีการแก้ปัญหานั้นน่าเสียดายที่ไม่สามารถใช้งานกับ VMWare Player 12 ได้คุณมีวิธีแก้ปัญหานี้หรือไม่?
Erik

3

มันจะไม่ทำงานโดยตรง เนื่องจาก VMware จำลองเพียง 6 สถานะด้วยเมาส์ทั่วไป (ซ้าย, ขวาและปุ่มกลางของเมาส์, ล้อเลื่อนขึ้น, ลง, กด)

แต่เป็นวิธีแก้ปัญหาคุณสามารถใช้เครื่องมือของฉันฉันเพิ่งเขียนใน AutoIt สำหรับฉันต้องการฟังก์ชั่นนี้เช่นกัน

#include <Misc.au3>

$dll = DllOpen("user32.dll")

Opt("WinTitleMatchMode", 2)
Opt("TrayIconHide", 1)
$vm = WinWait("VMware Workstation")

While True
    If WinActive($vm) Then
        If _IsPressed("06", $dll) Then
            Send("{AltDown}{Right}")
            While _IsPressed("06", $dll)
                Sleep(1)
            WEnd
            Send("{AltUp}")
        ElseIf _IsPressed("05", $dll) Then
            Send("{AltDown}{Left}")
            While _IsPressed("05", $dll)
                Sleep(1)
            WEnd
            Send("{AltUp}")
        EndIf
    ElseIf _IsPressed("05", $dll) And _IsPressed("06", $dll) Then
        If MsgBox(1 + 262144, "Exit", "Do you really want to exit...?") == 1 Then ExitLoop
    EndIf
    Sleep(1)
WEnd

DllClose($dll)

เพียงรวบรวมสิ่งนี้ด้วยตัวคุณเองด้วย AutoIt หรือดาวน์โหลดไฟล์ประมวลผลที่รวบรวมได้จาก webspace ของฉัน: http://jtmeyer.de/mousetool.exe สิ่งนี้จะรอหน้าต่างซึ่งรวมถึง "VMware Workstation" ในชื่อเรื่องและถ้ามีปุ่ม Thumb Mouse ถูกกด (รหัส 05 + 06) การกดคีย์กันของ Alt + Left / Alt + Right ถูกกด หากคุณกดปุ่มทั้งสองพร้อมกันเครื่องมือจะออกหากคุณยืนยันกล่องโต้ตอบที่ปรากฏ


สิ่งนี้จะทำงานกับ VMware Player โดยใช้$vm = WinWait("[CLASS:vmware.fullscreenwindow]")
Brian

สุดยอดทางออก! ฉันนำไปใช้กับ autohotkey แต่แนวคิดเหมือนกัน วิธีแก้ปัญหาที่ยอมรับนั้นใช้งานไม่ได้สำหรับฉันใช่ปุ่มใช้งานได้ แต่การเคลื่อนไหวของเมาส์รู้สึกแปลก ๆ
flagg19

1

ในฐานะ 2018:

นี่เป็นข้อผิดพลาดที่รู้จักกันดีของ VMWareแต่ก็ยังไม่ได้รับการแก้ไข

ฉันลองคำตอบทั้งหมด ไม่มีใครทำงานกับ windows 10 ภายใต้ VMWare 14.1.3

การลดระดับเป็น VMWare 12.0.1 แก้ปัญหาของฉัน


0

เพิ่มพารามิเตอร์นี้ในไฟล์ VMX ของ VM

usb.generic.allowHID = TRUE

ปุ่มของคุณควรใช้งานได้แล้ว - ไม่ต้องติดตั้งซอฟต์แวร์ Logitech หรืออะไรก็ตามที่จำเป็น


2
ขอบคุณ - การตั้งค่านี้ใช้งานได้ แต่มีข้อแม้หนึ่งข้อ: คุณต้องเปิดใช้งาน USB บนเกสต์และจากนั้น "เชื่อมต่อ" เมาส์กับแขกผ่านทางเมนู [VM -> อุปกรณ์ที่ถอดออกได้] สิ่งนี้จะเปิดใช้งานปุ่มย้อนกลับ / ไปข้างหน้า แต่มันยังตัดการเชื่อมต่อเมาส์จากโฮสต์ระบบปฏิบัติการ! เนื่องจากฉันสลับไปมาระหว่างแขกและโฮสต์บ่อยครั้งนี่จึงไม่ใช่ทางออกที่ดีสำหรับฉัน หากคุณอยู่ใน OS แขกเป็นระยะเวลานานแม้ว่ามันจะทำงานได้ดี หากไม่มีวิธีแก้ปัญหาเพิ่มเติมฉันอาจยังคงยอมรับคำตอบนี้ว่าถูกต้อง
Tim Lara

-1

สำหรับโฮสต์ Windows ให้ใช้ AutoHotKey เพื่อเปลี่ยนการแมปปุ่มเมาส์:

 XButton1 :: !^+{NumpadLeft}
 XButton2 :: !^+{NumpadRight}

จากนั้นใน guest OS จะแมปกลับ:

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