Okay, ho fatto una ricerca e sono riuscito ad avere successo.
Dopo un po 'di riflessione sono arrivato alla conclusione non so come funziona :-) Lo fa e basta! :-)
Precedentemente su « Utile :) Divertimento »:
In breve, il touchpad Synaptics invia ( SendMessage()o PostMessage()non si è preoccupato di individuarlo) i messaggi della finestra di destra ( WM_MOUSEWHEEL) nella finestra di VMware, ma ciò che dovrebbe effettivamente fare è utilizzare SendInput(), emulando direttamente il mouse fisico. Sembra che ci fosse un'opzione per controllare il comportamento dei driver (o, più precisamente, il programma in modalità utente SynTPEnh.exe) con file
tp4table.dat. Sfortunatamente, questa opzione non è in qualche modo abilitata nei miei driver (sebbene ci sia una tale stringa in un eseguibile).
Quindi, ho fatto quanto segue - ho appena iniettato un .dllnel processo della finestra di VMware (spero sia sicuro e spero anche che non sia lo stesso processo che esegue una macchina virtuale), ho eseguito una sottoclasse della procedura della finestra (che significa messaggi intercettati della finestra) e tradotto quelli "sbagliati" usando SendInput().
Inoltre , è stato notato che vale la pena applicare la seguente correzione anche con la mia soluzione: http://blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/ .
Quindi, il codice sorgente e gli eseguibili (supportano solo Workstation, leggi oltre per Player, in "AGGIORNAMENTO") - chiedi nei commenti se non hai trovato qualcosa - sono su https://www.dropbox.com/s/ gucmyo35heha6g2 / vmware_scroll.zip? dl = 0 .
PRINCIPALE NOTA: eseguire l'eseguibile corrispondente quando è in esecuzione una macchina virtuale.
UN ALTRO PRINCIPALE NOTA: non muoverti hook.dlle *.exedopo che lo scorrimento è stato attivato. Se inizi vmware_scroll_stop.exeda un'altra posizione, non verrà scaricato .dll(ovvero disabilita lo scorrimento).
AGGIORNAMENTO : esiste una versione migliorata
(è stata migliorata da Anthony Prieur, grazie a lui!), Che supporta anche VMware Player. È
anche disponibile un programma derivato da quello chiamato
VMWareTrackPadScroller con una semplice interfaccia utente.
NOTA: sfortunatamente non ci sarà alcuna versione che supporti lo scorrimento orizzontale. Il fatto è che esiste un'idea di soluzione, ma l'ho respinta perché troppo sporca. Per eseguire l'attività, è necessario agganciare (in SynTPEnh.exe) l'API GetClassNameW () per modificare i nomi delle classi di finestre VMware (sono "VMware.GuestWindow" e "MKSEmbedded") o wcsicmp () per restituire sempre "non uguale" quando uno degli argomenti è una delle stringhe menzionate. Penso che sia una soluzione sporca dal punto di vista delle prestazioni, almeno (questo è in realtà un argomento debole poiché la penalità delle prestazioni sarebbe minima). Ad ogni modo, la soluzione attuale è accettabile, penso, dal momento che non si ha sempre un dispositivo con capacità di scorrimento orizzontale ed è meglio abituarsi a vivere senza quel lusso piuttosto che soffrire in condizioni di povertà. BTW,Shift+Vertical Scroll per eseguire lo scorrimento orizzontale.