Дополнительные кнопки мыши не работают в виртуализации (VMware/VirtualBox, хост Ubuntu)

Я пытаюсь запустить VMware Workstation и / или VirtualBox в Ubuntu. Виртуальные машины работают отлично в обоих приложениях, за исключением дополнительных кнопок мыши (вперед / назад). В Ubuntu кнопки мыши все работают.

Приложения виртуализации: VMware Workstation 10.0.1, последняя версия VirtualBox

Версии Ubuntu, которые я тестировал в качестве хоста: 12.04, 13.10, 14.04 beta

Гостевая ОС, которую я тестировал: Windows 7, несколько ОС Linux в живом режиме

Мыши, которых я тестировал (все с боковыми кнопками): Logitech M510 (объединяющий приемник), старый Razer Copperhead, мышь без имени

Я уже перепробовал множество решений, которые нашел в Интернете, например, изменение настроек мыши в.vmx на VMware WS (mouse.vusb.enable, ...), изменение настроек ввода в VMware/VirtualBox, переустановка гостевых инструментов на гостевой ОС...

Я думаю, что это проблема в Ubuntu, а не в приложениях виртуализации. У кого-нибудь есть решение для этого?

5 ответов

Решение

Возможное решение:

После редактирования файла VM.vmx, чтобы добавить

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

Вы сможете использовать свою пятикнопочную мышь в виртуальной машине. Для этого откройте свою виртуальную машину, затем перейдите к Virtual Machine > Removable Devices > [Your Mouse] > Connect (Disconnect from Host), Вы получите пару предупреждений о том, что больше не сможете больше всего использовать с хостом, и просто нажмите OK.

Теперь вы можете использовать мышь только внутри виртуальной машины, будь то полноэкранный или оконный режим. Удар Ctrl-G на клавиатуре, чтобы избавиться от значка мыши и полностью погрузиться в виртуальную машину. Как только вам снова понадобится мышь вне виртуальной машины, нажмите Ctrl+Alt, затем отпустите. Теперь основное внимание вернулось к вашей хост-ОС. Держать Alt и подтолкнуть V воспитывать Virtual Machine меню и используйте клавиши со стрелками для перехода к Virtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host),

Теперь все возвращается на круги своя. Надеемся, что что-то изменится в Ubuntu или VMWare Player в ближайшее время, чтобы сделать это проще, чем это.

Чтобы заставить дополнительные кнопки мыши работать под VMware, отредактируйте файл configfile.vmx (добавьте следующие строки):

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

Приведенные выше настройки активируют виртуальную мышь VMware с 20 кнопками. Однако в определенных ситуациях vmware не отображает событие мыши, поступающее на хост, в правильное гостевое событие.

Почему именно не удается отправить правильное событие мыши - хороший вопрос, который не рассматривается.

Запустите и запустите следующее в гостевой ОС. Бежать xev | grep -i "button" в терминале. Перейдите в появившееся окно, нажмите кнопки, которые вы хотите назначить, или поменяйте местами один раз. xev выводит зарегистрированное событие мыши, во многих случаях дополнительные кнопки мыши, которые должны быть, например. кнопка мыши 8 или 9 принимается как событие кнопки мыши 16 или 17.

Переназначение событий кнопки мыши может быть сделано, например, с помощью. xinputследующее делает устройство ID 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

Протестировано это на хосте Windows 10 (должно быть то же самое на ubuntu), на проигрывателе VMware Workstation 12 с мышью Logitech M510.

Если вы сделаете это, ваша мышь будет работать только на виртуальной машине, поэтому вам нужно знать сочетания клавиш для включения и выключения, если у вас нет двух мышек или сенсорной панели и мыши, как в ноутбуке.

  1. Перейдите в папку вашей виртуальной машины и найдите .vmx файл.
  2. Отредактируйте его в блокноте и добавьте:

    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 на клавиатуре, чтобы избавиться от значка мыши и полностью погрузиться в виртуальную машину.
  6. Когда вы захотите снова использовать мышь на хост-компьютере, нажмите Ctrl+Alt, затем отпустите, чтобы сосредоточиться на проигрывателе vmware, а не на виртуальной машине. Теперь вы можете использовать обычные сочетания клавиш Windows. В этом случае нажмите Alt+P, чтобы открыть меню проигрывателя рабочей станции vmware, и используйте клавиши со стрелками на клавиатуре, чтобы перейти к Virtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host),

Я попробовал все это, исправление было простым на моем Dell XPS 13, Windows 10, VMware Player 12, гостевой Ubuntu 14.04

Запустите панель управления, измените настройки мыши, центр мыши и клавиатуры, настройки мыши Microsoft, кнопку колесика. Установите средний щелчок мыши вместо мгновенного просмотра по умолчанию.

Это позволяет копировать и вставлять средний щелчок мышью в Ubuntu.

Джеймс

Вы не можете эмулировать более 3 кнопок в VirtualBox и VMware. Это потому, что он предоставляет гостевой системе (супер) стандартную 3-кнопочную мышь. Это может быть возможно, если им нравится, но сейчас ответ - нет.


Итак, почему это работает в Windows? Потому что реализации Linux и Windows следуют различным путям, и "каждый интерфейс имеет свой собственный способ ввода с помощью мыши" ( источник). Это можно увидеть в другом вопросе о суперпользователе

Другие вопросы по тегам