Verwenden Sie Synaptics Touchpad Scroll in VMware Guest

17

Ich möchte Synaptics "Two-Finger Scrolling" in einem VMware-Gast verwenden.

Auf dem Host funktioniert es wie erwartet, aber VMware scheint es nicht zu unterstützen. Der Mauszeiger ändert sich, um anzuzeigen, dass der Bildlauf aktiv ist, der VMware-Gast jedoch nicht darauf reagiert.

  • VMware Workstation 7.1
  • Host- und Gastbetriebssystem: Windows 7 (64-Bit)
  • Synaptics Driver 15.0.9.0
  • Gerät wird als "Synaptics LuxPad V7.4" angezeigt

Ist es möglich, diese Arbeit irgendwie zu machen? (z. B. .vmx ändern, Synaptics-Optionen ändern oder mit einem Treiber, der das "Scrollen mit dem Mausrad" emuliert)

Update: Ich habe bereits verschiedene Optionen im Synaptics-Treiber ausprobiert, aber die einzige Änderung bestand darin, dass beim Scrollen ein anderer Mauszeiger angezeigt wurde.

laktak
quelle
überprüfen Sie meine Lösung @ superuser.com/a/439474/106787
mreq
@ HCRIS Betrachten Sie meine Antwort als richtig zu überprüfen, bitte :-)
Andrew Zabavnikov

Antworten:

22

Okay, also habe ich recherchiert und es geschafft, Erfolg zu haben.

Nach einigem Überlegen bin ich zu dem Schluss gekommen, dass ich nicht weiß, wie es funktioniert :-) Es funktioniert einfach! :-)

Bisher bei « Nützlich :) Spaß »:

Kurz gesagt, das Synaptics-Touchpad sendet ( SendMessage()oder PostMessage()hat sich nicht darum gekümmert, dies genau zu bestimmen) Meldungen im rechten Fenster ( WM_MOUSEWHEEL) an VMware-Fenster. Eigentlich sollte es jedoch SendInput()die physische Maus direkt emulieren. Es scheint, dass es eine Option gab, um das Verhalten von Treibern (oder genauer gesagt von Programmen im Benutzermodus SynTPEnh.exe) mit Dateien zu steuern tp4table.dat. Leider ist diese Option in meinen Treibern nicht aktiviert (obwohl eine ausführbare Datei eine solche Zeichenfolge enthält).

Also habe ich Folgendes getan - einfach ein .dllin den Fensterprozess von VMware injiziert (ich hoffe, es ist sicher und ich hoffe, es ist nicht derselbe Prozess, der eine VM ausführt), eine untergeordnete Fensterprozedur (was bedeutet, dass Fenstermeldungen abgefangen wurden) und die "falschen" mit übersetzt SendInput().

Außerdem wurde festgestellt, dass die folgende Korrektur auch mit meiner Lösung sinnvoll ist : http://blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/ .

Also, der Quellcode und die ausführbaren Dateien (sie unterstützen nur Workstation, lesen Sie weiter für Player, in "UPDATE") - fragen Sie im Kommentar, ob Sie etwas nicht gefunden haben - sind auf https://www.dropbox.com/s/ gucmyo35heha6g2 / vmware_scroll.zip? dl = 0 .

WICHTIGSTER HINWEIS: Führen Sie die entsprechende ausführbare Datei aus, wenn eine VM ausgeführt wird.

Ein weiterer wichtiger Hinweis: Bewegen Sie sich nicht hook.dllund ist *.exe, nachdem das Scrollen aktiviert wurde . Wenn Sie vmware_scroll_stop.exevon einem anderen Ort aus starten , wird es nicht entladen .dll(dh das Scrollen deaktivieren).

UPDATE : Es gibt eine verbesserte Version (sie wurde von Anthony Prieur erweitert, ein großes Dankeschön an ihn!), Die auch VMware Player unterstützt. Ein von VMWareTrackPadScroller abgeleitetes Programm mit einer einfachen Benutzeroberfläche ist ebenfalls verfügbar.

HINWEIS: Leider wird es keine Version geben, die horizontales Scrollen unterstützt. Die Sache ist, es gibt eine Lösungsidee, aber ich habe sie als zu schmutzig abgelehnt. Um diese Aufgabe zu erfüllen, müssen Sie die GetClassNameW () - API (in SynTPEnh.exe) einbinden, um die Namen der VMware-Fensterklassen ("VMware.GuestWindow" und "MKSEmbedded") oder "wcsicmp ()" zu ändern und immer "ungleich" zurückzugeben. wenn eines der Argumente eine der genannten Zeichenfolgen ist. Ich denke, es ist zumindest aus Performance-Sicht eine schmutzige Lösung (das ist eigentlich ein schwaches Argument, da die Performance-Einbußen minimal wären). Auf jeden Fall ist die derzeitige Lösung akzeptabel, da Sie nicht immer über ein Gerät mit horizontalem Bildlauf verfügen und es besser ist, sich daran zu gewöhnen, ohne diesen Luxus zu leben, als in Armut zu leiden. Übrigens,Shift+Vertical Scroll horizontal scrollen.

Andrew Zabavnikov
quelle
2
Habe es gerade aktualisiert!
Andrew Zabavnikov
3
Das verdient eine Gegenstimme!
Xiamx
@xiamx Funktioniert es für dich? Ich habe gerade eine Rückmeldung erhalten, dass es für den Player nicht funktioniert (möglicherweise sind nur geringfügige Änderungen erforderlich). Vielleicht ist es auch eine Frage, diesen Fix anzuwenden blog.alexou.net/2010/07/…
Andrew Zabavnikov
Yeh, es funktioniert perfekt. Und es funktioniert auch für andere Eingabegeräte mit Userland-Treibern (logitech T650). Obwohl ich es selbst neu kompiliert habe, da ich nur v110-Toolset habe. Kannst du es auf Github legen? Diejenigen, die es benötigen, um mit Player arbeiten zu können, können es selbst ändern
xiamx
@xiamx ok, ich mache es in ein paar Tagen. Ich habe mich einfach nicht mit GitHub beschäftigt, während ich an einer Version gearbeitet habe, die horizontales Scrollen unterstützt.
Andrew Zabavnikov
7

Viele Leute haben sich über dieses Problem beschwert und Funktionsanfragen wurden an Synaptics gesendet.

Ich habe hier einen Erfolgsbericht gefunden . Obwohl es für Ubuntu ist, scheint es zu zeigen, dass es eine Lösung für dieses Problem gibt.

Ich schlage vor, dass Sie die im folgenden Artikel beschriebenen Lösungen für Host und Gast ausprobieren:
Beheben von Firefox-Bildlaufproblemen mit dem Dell Synaptics Touchpad

Der Artikel erwähnt zwei Fehlerbehebungen:

  1. Entfernen Sie die Option "Zirkulares Scrollen" aus den Mauseigenschaften
  2. Ersetzen Sie die Dell-Touchpad-Treiber durch die Synaptics-Treiber

Wie der Artikel zum zweiten sagt:

Sie können die Dell-Touchpad-Treiber entfernen und die allgemeinen Synaptics-Treiber installieren, die für viele Benutzer besser geeignet sind - ihnen fehlen jedoch einige der zusätzlichen Dell-Funktionen. Solange Ihr Touchpad das tut, was Sie erwarten, könnte es sich lohnen.

Ich empfehle, vor dem Ändern der Treiber einen Systemwiederherstellungspunkt zu erstellen, nur für den Fall.
Sie können den Treiber auch jederzeit über den Geräte-Manager zurücksetzen.

EDIT1

Einige Leute berichten von Erfolg, wenn sie den ALPS-Treiber anstelle von Synaptics verwenden.
Wie sagt Alps Touchpad-Treiber für Windows 7 :

Einige Dell-Laptops verfügen nicht über von Synaptics hergestellte Touchpads. Sie haben Alpen-Touchpads. Wenn Sie sich nicht sicher sind, über welche Art von Touchpad Sie verfügen, lesen Sie bitte diesen Beitrag zur Identifizierung des richtigen Modells.

Als ich meinem Benutzer half, sein Inspiron 1420 auf Windows 7 zu aktualisieren, verwendete ich den Treiber für Vista. Hier ist der Link zum Download. Dieser Treiber ist nur für 32bit. Wenn dies bei Ihnen nicht funktioniert, können Sie auch den Treiber für Windows 7 ausprobieren. Hier ist der Link . Die zweite Verbindung bietet sowohl 32-Bit- als auch 64-Bit-Treiber.

EDIT2

Der folgende Thread enthält einige interessante Informationen:
Probleme mit dem Synaptics-Touchpad können im Gastbetriebssystem (Windows XP) nicht gescrollt werden

Der letzte Eintrag im Thread sagt:

Ich habe mehrere Kollegen, die Vmware für Supportzwecke auf Laptops verwenden möchten. Einige versuchen es mit Suns Virtualbox, andere mit VMware. Das Scrollen funktioniert gut mit Virtualbox, aber das Engagement von SUN für diese Art von Produkt hat in der Vergangenheit viele Menschen verbrannt.

Es sieht so aus, als würde sich VMware einfach nicht viel aus Synaptics machen, und Ihr Gerät wird von Synaptics nicht gut unterstützt. Obwohl dies nicht direkt Ihre Frage beantwortet, denke ich, dass Sie zu Virtualbox wechseln müssen, um das Touchpad zum Laufen zu bringen.

Informationen zum Süßen der Pille finden Sie unter Konvertieren einer VMware in Virtualbox .

Harrymc
quelle
Ich habe bereits den Synaptics-Treiber (siehe oben). Der Artikel ist für das Scrollen mit einem Finger gedacht (was auch nicht funktioniert und das Deaktivieren von Circular / Chiral hat keine Auswirkung), aber ich würde mich freuen, wenn ich eine der beiden Optionen verwenden könnte. Die Ubuntu-Einstellungen klingen vielversprechend, aber wie kann ich sie in Windows anwenden?
Laktak
@chris: Die meisten Beiträge, die ich gefunden habe, besagen, dass VMware das Synaptics Touchpad als Gerät einfach nicht unterstützt, so dass es unmöglich ist, was Sie verlangen. Ich habe oben sowieso einen weiteren Ansatz bearbeitet, der für einige Leute funktioniert hat. Wenn dies nicht funktioniert, können Sie auch versuchen, ein anderes VM-Produkt als VMware zu verwenden.
Harrymc
@harrymc Ich bin mir ziemlich sicher, dass es sich um ein Synaptics-Gerät handelt, aber ich kann es auf pcidatabase.com nicht finden. Die HW-IDs lauten "ACPI \ DLL02EF" und "* DLL02EF".
Laktak
OK, vielleicht frage ich nach dem Unmöglichen, aber das nervt mich schon lange. Ich hatte gehofft, dass es einen Weg gibt, dies so zum Laufen zu bringen, wie ein Mausrad funktioniert (vielleicht mit Emulation). In jedem Fall, wenn es keine Lösung gibt, werde ich Ihnen die Punkte für all Ihre Hilfe zusprechen!
Laktak
@chris: Hast du den ALPS-Treiber ausprobiert, weil du nichts zu verlieren hast? Siehe auch diesen Treiber drivercure.com/driver/… und support.dell.com/support/downloads/…
Harrymc
3

Diese Lösung scheint gut zu sein.

http://code.google.com/p/two-finger-scroll/

Ich habe es getestet und es gibt eine ganze Reihe von Optionen zum Konfigurieren von 1,2,3-Figuren-Berühren und Scrollen.

Deba Saha
quelle
Vielen Dank. Ich hoffe, dies hilft jemand anderem, da ich mit VMware Fusion zu einem MacBook gewechselt bin, bei dem alles sofort funktioniert (und es auch ein besseres Trackpad hat).
Laktak
Dies ist für mich die bisher schnellste Lösung. Installiert und es funktioniert!
Eran Medan
1

Das Scrollen mit zwei Fingern von Synaptics funktioniert im Unity-Modus von VMware (Player> Unity). Ich verwende dies, um VS2013 in VMware Player mit Windows 7 x64 als Host- und Gastbetriebssystem auszuführen.

user2361830
quelle