Chciałbym użyć funkcji Synaptics „Przewijanie dwoma palcami” wewnątrz gościa VMware.
Działa zgodnie z oczekiwaniami na hoście, ale VMware nie obsługuje go. Kursor myszy zmienia się, wskazując, że przewijanie jest aktywne, ale gość VMware nie zareaguje na to.
- VMware Workstation 7.1
- System operacyjny hosta i gościa: Windows 7 (64-bitowy)
- Sterownik Synaptics 15.0.9.0
- Urządzenie jest wyświetlane jako „Synaptics LuxPad V7.4”
Czy można to jakoś sprawić, żeby działało? (np. zmodyfikuj .vmx, zmień opcje Synaptics lub za pomocą sterownika, który emuluje „przewijanie kółkiem myszy”)
Aktualizacja: Wypróbowałem już kilka opcji w sterowniku Synaptics, ale jedyną zmianą było to, że podczas przewijania wyświetlał inny kursor myszy.
Odpowiedzi:
Okej, więc przeprowadziłem badania i udało mi się odnieść sukces.
Więc zrobiłem następujące - po prostu wstrzyknąłem proces
.dll
do okna VMware (mam nadzieję, że jest bezpieczny, a także mam nadzieję, że nie jest to ten sam proces, który wykonuje maszynę wirtualną), podklasowałem procedurę okna (co oznacza przechwycone komunikaty okna) i przetłumaczyłem „niewłaściwe” za pomocąSendInput()
.Ponadto zauważono, że następująca poprawka jest warta zastosowania nawet w moim rozwiązaniu: http://blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/ .
Tak więc kod źródłowy i pliki wykonywalne (obsługują tylko stację roboczą, czytaj dalej Player, w „AKTUALIZACJI”) - zapytaj w komentarzu, jeśli czegoś nie znalazłeś - są na https://www.dropbox.com/s/ gucmyo35heha6g2 / vmware_scroll.zip? dl = 0 .
WAŻNA UWAGA: uruchom odpowiedni plik wykonywalny, gdy uruchomiona jest maszyna wirtualna.
KOLEJNA GŁÓWNA UWAGA: Nie ruszaj się
hook.dll
i*.exe
jest po włączeniu przewijania. Jeśli zacznieszvmware_scroll_stop.exe
z innej lokalizacji, nie zostanie odciążone.dll
(tj. Wyłączy przewijanie).UWAGA: Niestety, nie będzie wersji obsługującej przewijanie w poziomie. Chodzi o to, że istnieje pomysł na rozwiązanie, ale odrzuciłem go jako zbyt brudny. Aby wykonać zadanie, należy zaczepić (w SynTPEnh.exe) API GetClassNameW (), aby zmodyfikować nazwy klas okien VMware (są to „VMware.GuestWindow” i „MKSEmbedded”) lub wcsicmp (), aby zawsze zwracały „nierównany” gdy jednym z argumentów jest jeden z wymienionych ciągów. Myślę, że to brudne rozwiązanie, przynajmniej z punktu widzenia wydajności (to w rzeczywistości słaby argument, ponieważ ograniczenie wydajności byłoby minimalne). W każdym razie obecne rozwiązanie jest dopuszczalne, jak sądzę, ponieważ nie zawsze masz urządzenie z funkcją przewijania w poziomie i lepiej jest przyzwyczaić się do życia bez tego luksusu niż cierpienia w biedzie. BTW,
Shift+Vertical Scroll
zrobić przewijanie w poziomie.źródło
Wiele osób skarżyło się na ten problem, a prośby o nowe funkcje zostały przesłane do Synaptics.
Znalazłem tutaj jeden raport o sukcesie . Chociaż dotyczy to Ubuntu, wydaje się, że pokazuje, że istnieje rozwiązanie tego problemu.
Sugeruję wypróbowanie rozwiązań opisanych w poniższym artykule, zarówno dla hosta, jak i gościa:
Rozwiązywanie problemów z przewijaniem Firefoksa za pomocą touchpada Dell Synaptics
W artykule wymieniono dwie poprawki:
Jak mówi artykuł do drugiego:
Sugeruję utworzenie punktu przywracania systemu przed zmianą sterowników, na wszelki wypadek.
Zawsze możesz także przywrócić sterownik z poziomu Menedżera urządzeń.
EDYCJA 1
Niektóre osoby zgłaszają sukces podczas używania sterownika ALPS zamiast Synaptics.
Jak mówi Alps Touchpad Driver dla Windows 7 :
EDYCJA 2
Poniższy wątek zawiera kilka interesujących informacji:
Problemy z niemożnością przewijania touchpada Synaptics w systemie operacyjnym gościa (Windows XP)
Ostatni wpis w wątku mówi:
Wygląda na to, że VMware po prostu nie dba o Synaptics, a twoje urządzenie nie jest przez nią dobrze obsługiwane. Chociaż to nie odpowiada bezpośrednio na twoje pytanie, myślę, że musisz przejść do Virtualbox, aby uruchomić touchpad.
Aby osłodzić pigułkę, zobacz Jak przekonwertować VMware na Virtualbox .
źródło
Ponieważ obecnie nie ma rozwiązania, jedyne, co należy zrobić, to wypełnić żądanie funkcji w
http://www.vmware.com/contact/contactus.html?department=prod_request
Po prostu wklej dwie pierwsze paragrafy z pytania do pola tekstowego.
źródło
To rozwiązanie wydaje się dobre.
http://code.google.com/p/two-finger-scroll/
Przetestowałem to i daje wiele opcji konfiguracji dotykania i przewijania 1,2,3 figury.
źródło
Przewijanie dwoma palcami Synaptics działa w trybie Unity VMware (Player> Unity). Używam tego do uruchamiania VS2013 w VMware Player z Windows 7 x64 zarówno jako system operacyjny hosta, jak i gościa.
źródło