Verwenden Sie Synaptics Touchpad Scroll in VMware Guest

45065
laktak

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

Es funktioniert wie erwartet auf dem Host, aber VMware scheint dies 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-Treiber 15.0.9.0
  • Gerät wird als "Synaptics LuxPad V7.4" angezeigt

Kann man diese Arbeit irgendwie machen? (zB .vmx ändern, Synaptics-Optionen ändern oder mit einem Treiber, der "Mausrad-Bildlauf" emuliert)

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

16
Überprüfen Sie meine Lösung unter http://superuser.com/a/439474/106787 mreq vor 11 Jahren 0
@hcris Betrachten Sie meine Antwort bitte als richtig, bitte :-) Andrew Zabavnikov vor 9 Jahren 0

5 Antworten auf die Frage

22
Andrew Zabavnikov

Okay, ich habe recherchiert und habe Erfolg gehabt.

Nach einigem Nachdenken kam ich zu dem Schluss, dass ich nicht weiß, wie es funktioniert :-) Es tut es einfach! :-)

Vorher auf « Nützliches :) Spaß »:

Kurz gesagt, das Touchpad von Synaptics sendet ( SendMessage()oder PostMessage()hat sich nicht die Mühe gemacht, das zu bestimmen) rechte Fenstermeldungen ( WM_MOUSEWHEEL) an das VMware-Fenster, aber was es eigentlich tun sollte, ist die SendInput()direkte Emulation der physischen Maus. Es scheint, dass es eine Option gab, das Verhalten von Treibern (oder genauer gesagt des Benutzermodusprogramms SynTPEnh.exe) mit der Datei zu steuern tp4table.dat. Leider ist diese Option in meinen Treibern irgendwie nicht aktiviert (obwohl eine solche Zeichenfolge in einer ausführbaren Datei enthalten ist).

Also habe ich folgendes getan: Ich habe einfach ein .dllFenster in den Fensterprozess von VMware eingespritzt (ich hoffe, es ist sicher und hoffe, dass es nicht derselbe Prozess ist, das eine VM ausführt), eine untergeordnete Fensterprozedur (das heißt abgefangene Fenstermeldungen) und die "falschen" Prozesse mit übersetzt SendInput().

Auch war es festgestellt worden, dass das folgende Update lohnt sich die Anwendung auch mit meiner Lösung: http://blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/ .

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

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

EIN ANDERER WICHTIGER HINWEIS: Bewegen Sie sich nicht hook.dllund fahren Sie fort *.exe, nachdem der Bildlauf aktiviert wurde . Wenn Sie vmware_scroll_stop.exevon einem anderen Ort aus starten, wird der Entladevorgang nicht entladen .dll(dh das Blättern wird deaktiviert).

UPDATE : Es gibt eine verbesserte Version (sie wurde von Anthony Prieur verbessert, vielen Dank an ihn!), Die auch VMware Player unterstützt. Es ist auch ein Programm verfügbar, das als VMWareTrackPadScroller mit einer einfachen Benutzeroberfläche bezeichnet wird.

HINWEIS: Leider gibt es keine Version, die das horizontale Scrollen unterstützt. Die Sache ist, es gibt eine Lösungsidee, aber ich lehnte es als zu schmutzig ab. Um die Aufgabe auszuführen, müssen Sie (in SynTPEnh.exe) die GetClassNameW () - API einhaken, um die Namen der VMware-Fensterklassen zu ändern (dies sind "VMware.GuestWindow" und "MKSEmbedded") oder wcsicmp (), um immer "ungleich" zurückzugeben. wenn eine der Argumente eine der genannten Zeichenfolgen ist. Ich denke, es ist eine schmutzige Lösung aus Sicht der Leistung, zumindest (das ist eigentlich ein schwaches Argument, da die Leistungseinbußen minimal sind). Ich denke, dass die derzeitige Lösung akzeptabel ist, da Sie nicht immer über ein Gerät mit horizontalem Bildlauf verfügen und es besser ist, daran gewöhnt zu sein, ohne diesen Luxus zu leben, als in Armut zu leiden. BTW,Shift+Vertical Scroll zum horizontalen Scrollen.

Aktualisierte es einfach! Andrew Zabavnikov vor 10 Jahren 2
das verdient eine positive Bewertung! xiamx vor 10 Jahren 3
@xiamx Arbeitet es für Sie? Ich habe gerade eine Rückmeldung erhalten, dass es für den Player nicht funktioniert (möglicherweise sind nur wenige Änderungen erforderlich). Möglicherweise müssen Sie auch diesen Fix anwenden http://blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/ Andrew Zabavnikov vor 10 Jahren 0
Ja, es funktioniert perfekt. Und es funktioniert auch für andere Eingabegeräte mit Userland-Treibern (Logitech T650). Ich habe es zwar selbst kompiliert, da ich nur das Toolset v110 habe. Kannst du es auf Github setzen? Diejenigen, die es benötigen, um mit dem Player arbeiten zu können, können ihn selbst modifizieren xiamx vor 10 Jahren 0
@xiamx ok, ich mache es in ein paar Tagen. Ich habe mich nicht mit GitHub beschäftigt, während er an einer Version arbeitete, die den horizontalen Bildlauf unterstützt. Andrew Zabavnikov vor 10 Jahren 0
Nun, ich habe es nie eingerichtet, wie Sie sehen. Anthony Prieur hat es für mich getan, wie Sie sehen, wenn Sie meine Antwort lesen. :-) Andrew Zabavnikov vor 10 Jahren 0
Ich vermute, es ist "anstelle von mir". Ich bin mir nie in den Sinn gekommen. Andrew Zabavnikov vor 9 Jahren 0
@AndrewZabavnikov Ich kann dem nicht folgen. können Sie bitte Schritt für Schritt elloborieren. Wenn ich vmware_scroll_start.exe ausführen. Ich bekomme Vmware_start_scroll Ergebnis 1 Amerrnath vor 8 Jahren 0
@Amerrnath Entschuldigung, jetzt gleich von meinem Windows-Entwicklungscomputer. Könnten Sie zuerst https://bitbucket.org/DouglasCameron/windows-trackpad-scroller-for-vmware ausprobieren? Das ist nicht von mir, aber wie der aktuelle Editor der Antwort sagt, hat es eine einfache Benutzeroberfläche :-) Wenn das auch nicht funktioniert, werde ich mich freuen, den Fehler zu überprüfen (und es ist eine, wie das Programm Berichte über Statuscode - und es tut mir leid, dass ich keine umfassende Diagnose implementiert habe. Bestes Glück! :-) Andrew Zabavnikov vor 8 Jahren 0
@AndrewZabavnikov danke für die Antwort. Ich werde sicher herunterladen und testen. :-) Amerrnath vor 8 Jahren 0
@AndrewZabavnikov Wie mache ich es mit VMware KVM? Saravanabalagi Ramachandran vor 7 Jahren 0
@ZekeDran Soweit ich mich erinnere, solltest du mit der Fensterklasse spielen. Ändern Sie es im Quellcode, und es funktioniert! :-) Andrew Zabavnikov vor 7 Jahren 0
@ZekeDran Beachten Sie auch, dass das Projekt ursprünglich mit kvm begann, sodass es zum Zeitpunkt der ersten Veröffentlichung möglich war. Andrew Zabavnikov vor 7 Jahren 0
@ZekeDran Möglicherweise gibt es auch auskommentierte Quellzeilen, die kvm entsprechen. Andrew Zabavnikov vor 7 Jahren 0
@AndrewZabavnikov Was und wo füge ich hinzu? Ich habe die src geöffnet und ziemlich viel nicht verstanden: Ich bin immerhin ein Noob :( Ich brauche etwas Unterstützung ... Und nur neugierig, ob es anfänglich mit KVM begann, warum wurde es aus der Release-Version entfernt? Saravanabalagi Ramachandran vor 7 Jahren 0
@ZekeDran Kann eigentlich nicht helfen. Noch nicht einmal Windows ™ installiert haben ... Sorry. Vielleicht können Sie um Hilfe von den erwähnten Leuten bitten, die sie auf GitHub und BitBucket (hoffentlich) pflegen? Und für die letzte Frage - nicht erinnern :-) Andrew Zabavnikov vor 7 Jahren 0
@ZekeDran Sie können versuchen, "L" VMUIView "" entweder durch "L" MKSEmbedded "" oder "L" VMware.GuestWindow "" in "src / vmware_scroll / vmware_scroll_start.cpp" zu ersetzen und erneut zu kompilieren andere. Ansonsten müssen Sie und ich in die unterstützungsorientierte Entwicklung einsteigen ... XD Andrew Zabavnikov vor 7 Jahren 0
Ich habe es versucht, aber es hat nicht funktioniert! Und was ist das Ergebnis 0 und was ist das Ergebnis 1? Ich bekomme Ergebnis 0 für zwei Einträge! Saravanabalagi Ramachandran vor 7 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/46576/discussion-between-andrew-zabavnikov-and-zeke-dran). Andrew Zabavnikov vor 7 Jahren 0
6
harrymc

Viele Leute haben sich über dieses Problem beschwert, und Funktionsanforderungen wurden an Synaptics übermittelt.

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 empfehle Ihnen, die im folgenden Artikel beschriebenen Lösungen für Host und Gast auszuprobieren:
Beheben von Firefox-Scrolling-Problemen mit dem Dell Synaptics Touchpad

Der Artikel erwähnt zwei Korrekturen:

  1. Entfernen Sie die Option Circular Scrolling aus den Mauseigenschaften
  2. Ersetzen Sie die Dell Touchpad-Treiber durch die Synaptics-Treiber

Wie der Artikel für die zweite sagt:

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

Ich empfehle, vor dem Wechseln 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 gesagt Alps Touchpad Driver für Windows 7 :

Einige Dell-Notebooks haben keine von Synaptics hergestellten Touchpads. Sie haben Alpen-Touchpads. Wenn Sie nicht sicher sind, welche Art von Touchpad Sie verwenden, lesen Sie in diesem Beitrag nach, um das richtige Modell zu ermitteln.

Als ich meinem Benutzer beim Upgrade seines Inspiron 1420 auf Windows 7 half, habe ich den Treiber für Vista verwendet. Hier ist der Link zum Download. Dieser Treiber ist nur für 32 Bit. Wenn dies 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 in Gastbetriebssystemen (Windows XP) nicht scrollen.

Der letzte Eintrag im Thread lautet:

Ich habe mehrere Kollegen, die Vmware auf Laptops zu Supportzwecken einsetzen möchten. Einige versuchen Sun's Virtualbox und andere versuchen Vmware. Das Scrollen funktioniert gut mit Virtualbox, aber das Engagement von SUN für diese Art von Produkt hat in der Vergangenheit Leute verbrannt.

Es scheint, als ob VMware Synaptics einfach egal ist und Ihr Gerät dadurch nicht gut unterstützt wird. Obwohl dies Ihre Frage nicht direkt beantwortet, denke ich, dass Sie zu Virtualbox wechseln müssen, damit das Touchpad funktioniert.

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

Ich habe bereits den Synaptics-Treiber (siehe oben). Der Artikel ist für das Scrollen mit einem Finger (was auch nicht funktioniert und das Deaktivieren von Circular / Chiral hat keine Auswirkung), aber ich würde mich freuen, wenn ich beide Optionen verwenden könnte. Die Ubuntu-Einstellungen klingen vielversprechend, aber wie kann ich sie unter Windows anwenden? laktak vor 13 Jahren 0
@chris: Die meisten Beiträge, die ich gefunden habe, sagen, dass das Synaptics Touchpad von VMware einfach nicht als Gerät unterstützt wird, sodass das, was Sie fragen, unmöglich ist. Ich habe trotzdem einen weiteren Ansatz überarbeitet, der bei manchen Leuten funktioniert hat. Wenn dies nicht funktioniert, können Sie auch ein anderes VM-Produkt als VMware verwenden. harrymc vor 13 Jahren 0
@ harrymc Ich bin mir ziemlich sicher, dass es ein Synaptics-Gerät ist, aber ich kann es nicht auf pcidatabase.com finden. Die HW-IDs sind "ACPI \ DLL02EF" und "* DLL02EF". laktak vor 13 Jahren 0
OK, vielleicht frage ich nach dem Unmöglichen, aber das ärgert mich schon lange. Ich hatte gehofft, dass es eine Möglichkeit gibt, dies auf die gleiche Weise zu erreichen, wie ein Mausrad funktioniert (vielleicht mit Emulation). Wenn es keine Lösung gibt, werde ich Ihnen auf jeden Fall die Punkte für Ihre Hilfe zukommen lassen! laktak vor 13 Jahren 0
@ chris: Hast du nichts zu verlieren, hast du den ALPS-Treiber ausprobiert? Siehe auch diesen Treiber http://drivercure.com/driver/driver_vendor.php?id=60FBC7AC-436A-4BCE-BB2F-E454D6E75530 und http://support.dell.com/support/downloads/download.aspx?c= us & l = en & s = gen & releaseid = R175658 & SystemID = XPS_M1330 & servicetag = & os = WW1 & ltl = de & deviceid = 14029 & devlib = 0 & typecnt = 0 & vercnt = 2 & catid = 1 & impid = 1 & amp; harrymc vor 13 Jahren 0
Ich habe Synaptics deinstalliert und den ALPS-Treiber ausprobiert - er wurde zwar installiert, bot jedoch nur grundlegende Funktionen. Es bot kein Bildlauf auf dem Host an und es gab keine Möglichkeit, es über den Mausdialog oder ein Tray-Symbol zu konfigurieren. :( laktak vor 13 Jahren 0
@ chris: Ich bin etwas pessimistisch, was deine Erfolgschancen angeht, und vor allem, da deine Geräte-ID nirgendwo gegoogelt werden kann, mit Ausnahme dieser Treiber in meinem vorherigen Kommentar. harrymc vor 13 Jahren 0
@chris: Siehe meine Edit2 für ein paar letzte Informationen. harrymc vor 13 Jahren 0
Danke für den Tipp, aber ich kann nicht wechseln. Wir verwenden die Desktop- und Serverprodukte von VMware, und AFAIK Virtualbox bietet keine Serverunterstützung. Außerdem gibt es das Problem, dass Sun von Oracle gekauft wurde, was überhaupt nicht hilft. laktak vor 13 Jahren 0
@ chris: Es hat die vergleichbare xVM VirtualBox (jetzt Oracle VM VirtualBox, zusätzlich mit Oracle Enterprise Manager Ops Center). Es gibt andere Produkte, die fast alle auf dem Open Source Xen-Hypervisor basieren. Siehe "Kommerzielle Implementierungen" in http://en.wikipedia.org/wiki/Xen. harrymc vor 13 Jahren 0
Ich denke auch, dass Sie Ihre Kopfgelder behalten werden, da ich nicht glaube, dass es eine Lösung mit VMware gibt. harrymc vor 13 Jahren 0
Natürlich habe ich die Prämie vergeben, vielen Dank für Ihre Hilfe! Vielleicht möchten Sie eine Funktionsanfrage ausfüllen? :) laktak vor 13 Jahren 0
3
laktak

Da es derzeit keine Lösung gibt, müssen Sie nur eine Funktionsanfrage ausfüllen

http://www.vmware.com/contact/contactus.html?department=prod_request

Fügen Sie einfach die ersten beiden Paragrafen aus der Frage in das Textfeld ein.

3
Deba Saha

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, um das Berühren und Scrollen von 1, 2, 3 zu konfigurieren.

Vielen Dank. Ich hoffe, das hilft jemand anderem, da ich mit VMware Fusion zu einem MacBook gewechselt bin, auf dem alles sofort funktioniert (und es hat auch ein besseres Trackpad). laktak vor 11 Jahren 0
Dies ist die bisher schnellste Lösung für mich. Installiert und es funktioniert! Eran Medan vor 8 Jahren 0
1
user2361830

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.