Dodatkowe przyciski myszy nie działają w wirtualizacji (VMware / VirtualBox, host Ubuntu)

22

Próbuję uruchomić VMware Workstation i / lub VirtualBox na Ubuntu. Maszyny wirtualne działają doskonale w obu aplikacjach, z wyjątkiem dodatkowych przycisków myszy (do przodu / do tyłu). W Ubuntu wszystkie przyciski myszy działają.

Aplikacje wirtualizacyjne: VMware Workstation 10.0.1, najnowszy VirtualBox

Wersje Ubuntu testowałem jako host: 12.04, 13.10, 14.04 beta

Testowany system operacyjny gościa: Windows 7, kilka systemów operacyjnych Linux w trybie na żywo

Myszy, które testowałem (wszystkie z bocznymi przyciskami): Logitech M510 (odbiornik unifikujący), stary Razer Copperhead, mysz bez nazwy

Próbowałem już wielu rozwiązań, które znalazłem online, np. Zmiana ustawień myszy w .vmx na VMware WS (mouse.vusb.enable, ...), zmiana ustawień wejściowych na VMware / VirtualBox, ponowna instalacja narzędzi gościa w systemie gościa , ...

Myślę, że to problem w Ubuntu, a nie w aplikacjach do wirtualizacji. Czy ktoś ma na to rozwiązanie?

mika209
źródło
mika209: czy możesz uruchomić xev | grep -i „przycisk” w terminalu w systemie gościa? Następnie przejdź do okna, kliknij przycisk myszy do przodu i do tyłu. Dodaj wynik do swojego pytania lub do Ubebu Pastebin, aby był bardziej czytelny.
Anders FU Kiær

Odpowiedzi:

17

Możliwe obejście:

Po edycji pliku .vmx maszyny wirtualnej do dodania

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

będziesz mógł używać swojej myszy z pięcioma przyciskami na maszynie wirtualnej. Aby to zrobić, otwórz maszynę wirtualną, a następnie przejdź do Virtual Machine > Removable Devices > [Your Mouse] > Connect (Disconnect from Host). Otrzymasz kilka ostrzeżeń, że nie będziesz już mógł używać myszy z hostem i po prostu kliknij OK.

Teraz możesz używać myszy tylko w maszynie wirtualnej, bez względu na to, czy jest to tryb pełnoekranowy, czy tryb okienkowy. Naciśnij Ctrl-Gna klawiaturze, aby pozbyć się ikony myszy hosta i całkowicie zanurz się w maszynie wirtualnej. Gdy potrzebujesz myszy ponownie poza maszyną wirtualną, naciśnij Ctrl+Alt, a następnie zwolnij. Teraz fokus powraca do systemu operacyjnego hosta. Przytrzymaj Alti naciśnij, Vaby wyświetlić Virtual Machinemenu, a następnie użyj klawiszy strzałek, aby przejść do Virtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host).

Teraz wszystko wróciło do normy. Mam nadzieję, że wkrótce coś się zmieni w Ubuntu lub VMWare Player, aby to ułatwić.

MattSayar
źródło
Tak, już próbowałem dodać usb.generic.allowHID = "TRUE" do ustawień VMware .vmx. Następnie możesz podłączyć mysz / HID bezpośrednio do maszyny wirtualnej. Ale myślę, że jest to bardziej obejście niż rozwiązanie ..
mika209
Zgoda. Działa, jeśli planujesz pracować wyłącznie na maszynie wirtualnej przez znaczny okres czasu, ale w końcu nie jest zbyt przyjazny dla użytkownika
MattSayar
1
Host systemu Windows 10, gość Ubuntu 14.04. VMWare 11. Dodanie tych trzech linii zadziałało dla mnie. Szczególnie ważna była linia useBasicMouse. Bez tego rozwiązanie nadal obowiązuje, ale moja mysz losowo wskakiwała z powrotem do systemu operacyjnego hosta, nawet z gościem na pełnym ekranie.
Halsafar,
1
Działa dla mnie idealnie! Wszystko, co musiałem zrobić, to edytować plik .vmx, aby dodać 3 linie. Nie musiałem odłączać myszy od hosta, a mysz nadal przechodziła automatycznie między hostem a gościem, jak poprzednio. VMware Workstation 11, host systemu Windows 7, goście Ubuntu 12.04 i 16.04. Maszyna wirtualna musiała zostać wyłączona i ponownie włączona, aby to działało - zawieszenie / wznowienie nie wystarczyło.
EM0,
1
VMware Workstation 12.5.2, host systemu Windows 7, gość Ubuntu 17.04. Właśnie zatrzymałem maszynę wirtualną, dodałem te 3 wiersze do pliku VMX i uruchomiłem ponownie. Wykonał lewę.
Pierre Henry
12

Aby dodatkowe przyciski myszy działały pod VMware, edytuj configfile.vmx (dodaj następujące wiersze):

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

Powyższe ustawienia umożliwią wirtualną mysz vmware z 20 przyciskami. Jednak w niektórych sytuacjach vmware nie mapuje zdarzenia myszy przybywającego do hosta na prawidłowe zdarzenie gościa.

Dokładnie, dlaczego nie wysyła prawidłowego zdarzenia myszy, to dobre pytanie, które nie zostało uwzględnione.

Uruchom i uruchom następujące polecenie w systemie gościa. Uruchom xev | grep -i "button"w terminalu. Przejdź do odrodzonego okna, kliknij przyciski, które chcesz przypisać lub zamienić raz. xevwyświetla zarejestrowane zdarzenie myszy, w wielu przypadkach dodatkowe przyciski myszy, które powinny być np. przycisk myszy 8 lub 9 jest odbierany jako zdarzenie 16 lub 17 przycisku myszy.

Ponowne przypisanie zdarzeń przycisku myszy można wykonać np. xinput, poniższe powoduje, że identyfikator urządzenia 8 ma przycisk myszy 16 działający jak mysz 8, a mysz 17 jako mysz 9.

xinput set-button-map 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8 9
Anders FU Kiær
źródło
1
Działa to dla mnie idealnie: Windows 7 x64 (Host) + SetPoint 6.65.62 + M705 Mysz Logitech, VMWare 10, Kubuntu 14.04 x64 (gość). Mogłem od xev | grep -i "button"razu zobaczyć i poprawić zdarzenia przycisku 8/9 zmapowane do tyłu / do przodu. Działa tak, jak jest w Chrome i Firefox bez jakiejkolwiek innej konfiguracji na Linux-ie.
Angelos Pikoulas,
1
To również zadziałało dla mnie - dzięki! Host Fedory 24 i Windows 8.1 (x64) z Logitech G9. VMware Workstation 12.5.
Devator
1
Wielkie dzięki! Działa idealnie dla mnie z hostem Windows 10 i gościem Ubuntu 16.04. Po edycji .vmx nie musiałem nawet używać xinput do mapowania czegokolwiek, dodatkowe przyciski działały natywnie jako wstecz / do przodu.
DaveTheScientist
1
To działało dla mnie, gdy umieściłem go w VMNAME.vmx w jego folderze. Ale czy istnieje sposób, aby uczynić to globalnym?
Michael Yoo,
1
Stworzyłem plik i dodaje do zmiany ~/.vmware/configz .encoding = "UTF-8"nagłówka i to działało, więc zakładam, że jest sposób, aby ustawić to globalnie (dla użytkownika). (Stacja robocza 14)
Michael Yoo,
0

Nie możesz emulować więcej niż 3 przycisków w VirtualBox i VMware. Jest tak, ponieważ przedstawia systemowi gości (super) standardową 3-przyciskową mysz. Może to być możliwe, jeśli im się spodoba, ale w tej chwili odpowiedź brzmi „nie”.


Dlaczego więc działa w systemie Windows? Ponieważ implementacje systemów Linux i Windows są zgodne z inną mapą drogową, a „każdy front-end ma swój własny sposób uzyskiwania danych wejściowych myszy” ( źródło ). Można to zobaczyć w innym pytaniu Super User

Braiam
źródło
Jeśli używasz Windows 7/8 jako hosta z VMware lub VirtualBox, dodatkowe przyciski myszy działają w wielu systemach-gościach. Jak to możliwe?
mika209
@ mika209 różne implementacje. To jest tak proste.
Braiam
2
@braiam: Nie mogę powiedzieć, co jest prawdą dla VirtualBox, ale mogę stwierdzić, że VMware Workstation and Player obsługuje 24 przyciski. Wrócę ze zaktualizowaną i rozszerzoną odpowiedzią, kiedy będę miał czas. Tymczasem dla poprawności byłoby miło, gdybyś zaktualizował swoją odpowiedź, aby nie zawierała VMware.
Anders FU Kiær
@ AndersF.U.Kiær po komentarzu OP tutaj najwyraźniej nie działa.
Braiam
@braiam, jeśli sprawdzisz znaczniki czasu, możesz łatwo zauważyć, że OP nie próbował zaktualizowanej odpowiedzi ani nie uruchomił Xev. Jednak już mnie to nie obchodziło. Powtórzyłem ten problem, ponieważ używam tych samych ustawień z vmware dużo. Teraz podzieliłem się wiedzą. Jeśli inni chcą zagrać w ignorancję, nie krępuj się.
Anders FU Kiær
0

Próbowałem tego wszystkiego, naprawa była prosta na moim Dell XPS 13, Windows 10, VMware Player 12, gość Ubuntu 14.04

Uruchom panel sterowania, zmień ustawienia myszy, centrum myszy i klawiatury, ustawienia myszy Microsoft, przycisk kółka. Ustaw środkowe kliknięcie myszą zamiast domyślnej przeglądarki natychmiastowej.

Umożliwia to kopiowanie i wklejanie środkowego kliknięcia myszą w Ubuntu ..

James

Dżinsy
źródło
0

Przetestowałem to na hoście Windows 10 (powinien być taki sam na Ubuntu), VMware workstation player 12, za pomocą myszy Logitech M510.

Jeśli to zrobisz, mysz będzie działać tylko na maszynie wirtualnej, więc musisz znać skróty klawiaturowe, aby włączyć lub wyłączyć, chyba że masz dwie myszy lub touchpad i mysz, jak w notebooku.

  1. Przejdź do folderu maszyny wirtualnej i zlokalizuj .vmxplik.
  2. Edytuj go w notatniku i dodaj:

    usb.generic.allowHID = "TRUE"
    usb.generic.allowHID = "TRUE"
    usb.generic.allowLastHID = "TRUE"
    
  3. Otwórz maszynę wirtualną i przejdź do Virtual Machine > Removable Devices > [Your Mouse] > Connect (Disconnect from Host). Po wykonaniu tej czynności mysz będzie działać tylko na maszynie wirtualnej.

  4. Zainstaluj sterownik myszy / oprogramowanie Logitech na maszynie wirtualnej (możesz zrobić ten krok przed wszystkim, jeśli chcesz)
  5. Możesz nacisnąć Ctrl+ Gna klawiaturze, aby pozbyć się ikony myszy hosta i całkowicie zanurzyć się w maszynie wirtualnej.
  6. Aby ponownie użyć myszy na komputerze hosta, naciśnij Ctrl+ Alt, a następnie zwolnij, aby skupić się na odtwarzaczu vmware, a nie na maszynie wirtualnej. Teraz możesz używać zwykłych skrótów klawiaturowych systemu Windows. W takim przypadku naciśnij Alt+, Paby otworzyć menu odtwarzacza stacji roboczej vmware, i przejdź do klawiszy strzałek na klawiaturze Virtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host).
Lombas
źródło