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

22

Я пытаюсь запустить 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, а не в приложениях виртуализации. У кого-нибудь есть решение для этого?

mika209
источник
mika209: можешь ли ты запустить xev | grep -i "кнопка" в терминале в гостевой ОС? Затем перейдите к окну, нажмите кнопку мыши вперед и назад. Пожалуйста, добавьте вывод в свой вопрос или в Ubuntu pastebin для удобства чтения.
Anders FU Kiær

Ответы:

17

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

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

MattSayar
источник
Да, я уже пытался добавить usb.generic.allowHID = "TRUE" в настройки VMware .vmx. После этого вы можете подключить мышь / HID непосредственно к виртуальной машине. Но я думаю, что это скорее обходной путь, чем решение ..
mika209
Согласовано. Это работает, если вы планируете работать исключительно на ВМ в течение значительного периода времени, но в конце концов не очень
удобны для
1
Windows 10 Host, Ubuntu 14.04 Гость. VMWare 11. Добавление этих трех строк работало для меня. В частности, линия useBasicMouse была важна. Без этого решение остается в силе, но моя мышь случайно прыгала обратно в хост-ОС, даже когда гость был в полноэкранном режиме.
Хальсафар
1
Отлично сработало для меня! Все, что мне нужно было сделать, это отредактировать файл .vmx, чтобы добавить 3 строки. Мне не нужно было отключать мышь от хоста, и мышь по-прежнему автоматически переключалась между хостом и гостем, как и раньше. VMware Workstation 11, хост Windows 7, Ubuntu 12.04 и 16.04 гостей. Виртуальная машина должна была быть выключена и снова включена, чтобы это работало - приостановка / возобновление было недостаточно.
EM0
1
VMware Workstation 12.5.2, хост Windows 7, гость Ubuntu 17.04. Просто остановил виртуальную машину, добавил эти 3 строки в файл VMX и начал снова. Сделал трюк.
Пьер Генри
12

Чтобы заставить дополнительные кнопки мыши работать под 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
Андерс FU Kiær
источник
1
У меня это отлично работало: Windows 7 x64 (Host) + SetPoint 6.65.62 + M705 Logitech Mouse, VMWare 10, Kubuntu 14.04 x64 (guest). Я мог сразу увидеть результаты xev | grep -i "button"событий кнопок и 8/9, сопоставленных с назад / вперед. Он работает как на Chrome & Firefox без каких-либо других настроек на Linux.
Ангелос Пикулас
1
Это сработало и для меня - спасибо! Хост Fedora 24 и Windows 8.1 (x64) с Logitech G9. Рабочая станция VMware 12.5.
Деватор
1
Большое спасибо! Идеально для меня работал с хостом Windows 10 и гостем Ubuntu 16.04. После редактирования .vmx мне даже не пришлось использовать xinput для отображения чего-либо, дополнительные кнопки изначально работали как назад / вперед.
DaveTheScientist
1
Это сработало для меня, когда я положил его в VMNAME.vmx в его папку. Но есть ли способ сделать это глобальным?
Майкл Ю
1
Я создал файл и добавил изменения ~/.vmware/configв .encoding = "UTF-8"заголовок, и это сработало, поэтому я предполагаю, что это способ установить это глобально (для вашего пользователя). (Рабочая станция 14)
Майкл Ю
0

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


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

Braiam
источник
Если вы используете Windows 7/8 в качестве хоста с VMware или VirtualBox, дополнительные кнопки мыши работают во многих гостевых ОС. Как это возможно?
mika209
@ mika209 разных реализаций. Это так же просто.
Брайам
2
@braiam: Я не могу сказать, что верно для VirtualBox, но я могу сказать, что VMware Workstation и Player поддерживает 24 кнопки. Я вернусь с обновленным и расширенным ответом, когда у меня будет время. А пока, для правильности, было бы неплохо, если бы вы обновили свой ответ, чтобы не включать VMware.
Anders FU Kiær
@ AndersF.U.Kiær после комментария ОП здесь, по- видимому, не работает.
Брайам
@braiam, если вы проверите метки времени, то сможете ли вы легко увидеть, что OP не пробовал обновленный ответ и не следил за запуском xev. Тем не менее, мне было все равно. Я воспроизвел проблему, поскольку я использую те же самые настройки с vmware много. Теперь я поделился знаниями. Если другие хотят играть в невежественную игру, не стесняйтесь.
Anders FU Kiær
0

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

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

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

Джеймс

Jims
источник
0

Протестировано это на хосте 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).
Ломбас
источник