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()
oderPostMessage()
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 dieSendInput()
direkte Emulation der physischen Maus. Es scheint, dass es eine Option gab, das Verhalten von Treibern (oder genauer gesagt des BenutzermodusprogrammsSynTPEnh.exe
) mit der Datei zu steuerntp4table.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 .dll
Fenster 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.dll
und fahren Sie fort *.exe
, nachdem der Bildlauf aktiviert wurde . Wenn Sie vmware_scroll_stop.exe
von 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.