25

Я использую мышь Logitech G9 и работаю с VMWare Workstation 6.5.3 в Vista x64. Гостевой ОС является Win XP, и на ней установлена самая последняя версия VMWare Tools. Кнопки «влево» / «вправо» и прокрутка колесика мыши работают нормально в гостевой ОС, но кнопки «назад» и «вперед» явно не распознаются.

Я также пытался установить программное обеспечение Logitech внутри гостевой ОС, но оно по-прежнему не распознавало кнопки назад / вперед. (Я действительно не ожидал, что это сработает, поскольку гостевая ОС на самом деле не видит аппаратное обеспечение мыши как Logitech G9.)

Я смутно помню, что видел какое-то время назад редактирование файла конфигурации виртуальной машины, чтобы указать 5-кнопочную мышь, а не настройку по умолчанию 3-кнопочной, но я не могу найти какие-либо подробности о том, как это сделать в документации VMWare , Кто-нибудь знает, существует ли такой обходной путь, или функциональность 5-кнопочной мыши просто не поддерживается?

7 ответов7

23

РедактироватьФайл VMX (при выключенной виртуальной машине) с помощью блокнота и добавьте следующие строки:

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

Сохраните файл и выйдите из блокнота.

17

После добавления usb.generic.allowHID = TRUE в файл vmx просто включите USB для этой виртуальной машины, а затем перейдите к Диспетчеру оборудования (гостевая система) и выполните "поиск изменений оборудования". Новые USB-устройства будут затем распознаваться виртуальной машиной, и после этого кнопки "назад" /"вперед" должны работать, не отключая мышь в хост-системе.

9

Для рабочей станции 10 вам нужна другая строка .vmx, чем предыдущие предложения. Теперь это:

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

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

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 или загрузите скомпилированный исполняемый файл из моего веб-пространства: http://jtmeyer.de/mousetool.exe. Это будет ожидать появления окна, включающего "VMware Workstation" в его заголовке и, если какая-либо из кнопок Thumb Mouse. нажаты (код 05 + 06) нажата клавиша комбинации Alt + Left/Alt + Right. Если вы нажмете обе кнопки вместе, инструмент закроется, если вы подтвердите появившееся диалоговое окно.

0

к 2018 году:

Это известная ошибка VMWare, но она до сих пор не устранена.

Я перепробовал все ответы. Никто из них не работал для Windows 10 под VMWare 14.1.3

Переход на VMWare 12.0.1 решил мою проблему.

0

Добавьте этот параметр в файл VMX вашей виртуальной машины.

usb.generic.allowHID = TRUE

Теперь ваши кнопки должны работать - без установки программного обеспечения Logitech или чего-либо еще.

-1

Для хоста Windows используйте AutoHotKey, чтобы изменить отображение кнопок мыши:

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

Затем в гостевой ОС отобразите их обратно:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .