Gunakan Synaptics Touchpad Scroll di VMware Guest

17

Saya ingin menggunakan Synaptics "Pengguliran Dua Jari" di dalam tamu VMware.

Ini berfungsi seperti yang diharapkan pada host tetapi VMware tampaknya tidak mendukungnya. Kursor mouse berubah untuk menunjukkan bahwa pengguliran aktif tetapi tamu VMware tidak akan menanggapinya.

  • VMware Workstation 7.1
  • Host dan Guest OS: Windows 7 (64bit)
  • Driver Synaptics 15.0.9.0
  • Perangkat ditampilkan sebagai "Synaptics LuxPad V7.4"

Apakah mungkin membuat ini berfungsi entah bagaimana? (mis. modifikasi .vmx, ubah opsi Synaptics atau dengan driver yang mengemulasi "gulir roda mouse")

Pembaruan: Saya sudah mencoba beberapa opsi dalam driver Synaptics tetapi satu-satunya perubahan adalah ia menampilkan kursor mouse yang berbeda ketika mencoba untuk menggulir.

laktak
sumber
periksa solusi saya @ superuser.com/a/439474/106787
mreq
@hcris Pertimbangkan memeriksa jawaban saya sebagai benar, harap :-)
Andrew Zabavnikov

Jawaban:

22

Oke, jadi saya melakukan riset dan berhasil.

Setelah beberapa pemikiran saya sampai pada kesimpulan saya tidak tahu cara kerjanya :-) Itu benar! :-)

Sebelumnya di « Berguna :) Menyenangkan »:

Singkatnya, Synaptics touchpad mengirim ( SendMessage()atau PostMessage(), tidak repot-repot menunjukkan dengan tepat) pesan di jendela kanan ( WM_MOUSEWHEEL) ke jendela VMware, tetapi yang seharusnya dilakukan adalah menggunakan SendInput(), langsung mengemulasi mouse fisik. Tampaknya ada opsi untuk mengontrol perilaku driver (atau, lebih tepatnya, program mode pengguna SynTPEnh.exe) dengan file tp4table.dat. Sayangnya, opsi ini entah bagaimana tidak diaktifkan di driver saya (meskipun ada string seperti itu di executable).

Jadi, saya melakukan yang berikut - hanya menyuntikkan .dllke dalam proses jendela VMware (saya harap ini aman dan juga berharap itu bukan proses yang sama yang mengeksekusi VM), prosedur jendela subkelas (yang berarti pesan jendela dicegat) dan menerjemahkan yang "salah" menggunakan SendInput().

Juga , telah dicatat bahwa perbaikan berikut layak diterapkan bahkan dengan solusi saya: http://blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/ .

Jadi, kode sumber dan executable (mereka hanya mendukung Workstation, baca lebih lanjut untuk Player, di "UPDATE") - tanyakan dalam komentar jika Anda tidak menemukan sesuatu - ada di https://www.dropbox.com/s/ gucmyo35heha6g2 / vmware_scroll.zip? dl = 0 .

PERINGATAN UTAMA: jalankan executable yang sesuai saat VM berjalan.

CATATAN LAIN LAINNYA: Jangan bergerak hook.dlldan *.exesetelah bergulir telah diaktifkan. Jika Anda memulai vmware_scroll_stop.exedari lokasi lain, ia tidak akan terlepas .dll(mis. Nonaktifkan pengguliran).

UPDATE : Ada versi yang disempurnakan (ini ditingkatkan oleh Anthony Prieur, terima kasih banyak padanya!), Yang juga mendukung VMware Player. Sebuah program yang berasal dari VMWareTrackPadScroller yang disebut dengan antarmuka pengguna yang sederhana juga tersedia.

CATATAN: Sayangnya, tidak ada versi yang mendukung pengguliran horizontal. Masalahnya, ada ide solusi, tapi saya menolaknya karena terlalu kotor. Untuk menyelesaikan tugas tersebut, seseorang perlu menghubungkan (di SynTPEnh.exe) GetClassNameW () API untuk memodifikasi nama kelas jendela VMware (mereka adalah "VMware.GuestWindow" dan "MKSEmbedded") atau wcsicmp () untuk selalu mengembalikan "tidak sama" ketika salah satu argumen adalah salah satu string yang disebutkan. Saya pikir itu solusi kotor dari sudut pandang kinerja, setidaknya (itu sebenarnya argumen yang lemah karena penalti kinerja akan minimal). Bagaimanapun, solusi saat ini dapat diterima, saya pikir, karena Anda tidak selalu memiliki perangkat dengan kemampuan gulir horizontal dan lebih baik terbiasa hidup tanpa kemewahan itu daripada menderita dalam kemiskinan. BTW,Shift+Vertical Scroll untuk melakukan gulir horizontal.

Andrew Zabavnikov
sumber
2
Baru saja perbarui!
Andrew Zabavnikov
3
ini layak mendapat dukungan!
xiamx
@xiamx Apakah ini berhasil untuk Anda? Saya baru saja menerima umpan balik bahwa itu tidak berfungsi untuk Player (mungkin sedikit modifikasi diperlukan). Mungkin itu adalah pertanyaan tentang juga menerapkan perbaikan blog ini.alexou.net/2010/07/...
Andrew Zabavnikov
ya itu bekerja dengan sempurna. Dan itu juga berfungsi untuk perangkat input lain dengan driver userland (logitech T650). Meskipun saya mengkompilasi ulang sendiri karena saya hanya memiliki toolset v110. Bisakah Anda menaruhnya di github? sehingga mereka yang membutuhkannya untuk bekerja dengan Player dapat memodifikasinya sendiri
xiamx
@ xiamx ok, saya akan melakukannya dalam beberapa hari. Hanya saja, tidak repot berurusan dengan GitHub saat mengerjakan versi yang akan mendukung pengguliran horizontal.
Andrew Zabavnikov
7

Banyak orang mengeluh tentang masalah ini, dan permintaan fitur telah dikirimkan ke Synaptics.

Saya telah menemukan satu laporan sukses di sini . Meskipun untuk Ubuntu, tampaknya menunjukkan bahwa ada solusi untuk masalah ini.

Saya sarankan Anda mencoba solusi yang diuraikan dalam artikel di bawah ini, untuk host dan guest:
Memperbaiki Masalah Pengguliran Firefox dengan Dell Synaptics Touchpad

Artikel itu menyebutkan dua perbaikan:

  1. Hapus opsi Pengguliran Sirkular dari properti mouse
  2. Ganti driver touchpad Dell dengan driver Synaptics

Seperti artikel tersebut katakan untuk yang kedua:

Anda dapat menghapus driver touchpad Dell dan menginstal yang Synaptics umum, yang bekerja lebih baik untuk banyak orang - tetapi mereka kehilangan beberapa fitur Dell tambahan. Selama touchpad Anda melakukan apa yang Anda harapkan, itu bisa sia-sia.

Saya menyarankan untuk membuat titik pemulihan sistem sebelum mengganti driver, untuk berjaga-jaga.
Anda juga dapat selalu mengembalikan driver dari Device Manager.

EDIT1

Beberapa orang melaporkan keberhasilan ketika menggunakan driver ALPS daripada Synaptics.
Seperti dikatakan Alps Touchpad Driver untuk Windows 7 :

beberapa laptop Dell tidak memiliki panel sentuh yang dibuat oleh Synaptics. Mereka memiliki touchpad Alpen. Jika Anda tidak yakin tentang jenis touchpad yang Anda miliki, silakan lihat posting ini tentang mengidentifikasi model yang benar.

Ketika saya membantu pengguna saya untuk meningkatkan Inspiron 1420-nya ke Windows 7, saya menggunakan driver untuk Vista. Ini tautan untuk mengunduh. Driver ini hanya untuk 32bit. Jika ini tidak berhasil untuk Anda, Anda juga dapat mencoba driver untuk Windows 7. Ini tautannya . Tautan kedua menyediakan driver 32bit dan 64bit.

EDIT2

Utas berikut memiliki beberapa info menarik:
Masalah dengan touchpad Synaptics tidak dapat menggulir di OS Guest (Windows XP)

Entri terakhir di utas mengatakan:

Saya memiliki beberapa kolega yang ingin menggunakan Vmware di laptop untuk tujuan dukungan. Beberapa mencoba Sun's Virtualbox, dan yang lain mencoba Vmware. Menggulir berfungsi baik dengan Virtualbox, tetapi komitmen SUN untuk jenis produk ini telah membakar orang di masa lalu.

Sepertinya VMware tidak terlalu peduli tentang Synaptics, dan perangkat Anda tidak didukung dengan baik. Meskipun ini tidak langsung menjawab pertanyaan Anda, saya pikir Anda harus pindah ke Virtualbox untuk membuat touchpad berfungsi.

Untuk mempermanis pil, lihat Cara Mengkonversi VMware ke Virtualbox .

harrymc
sumber
Saya sudah memiliki driver Synaptics (lihat di atas). Artikel ini untuk pengguliran satu jari (yang juga tidak berfungsi dan menonaktifkan Circular / Chiral tidak berpengaruh) tapi saya akan senang jika saya bisa menggunakan salah satu opsi. Pengaturan Ubuntu terdengar menjanjikan tetapi bagaimana saya bisa menerapkannya di Windows?
laktak
@ Chris: Sebagian besar tulisan yang saya temukan mengatakan bahwa VMware tidak mendukung Synaptics Touchpad sebagai perangkat, sehingga apa yang Anda minta tidak mungkin. Saya tetap mengedit di atas satu pendekatan lagi yang bekerja untuk beberapa orang. Jika tidak berhasil, Anda juga dapat mencoba menggunakan produk VM lain dari pada VMware.
harrymc
@harrymc Saya cukup yakin ini adalah perangkat Synaptics tetapi saya tidak dapat menemukannya di pcidatabase.com. Id HW adalah "ACPI \ DLL02EF" dan "* DLL02EF".
laktak
OK, mungkin saya meminta hal yang mustahil tetapi ini telah lama mengganggu saya. Saya berharap ada cara agar ini bekerja dengan cara yang sama seperti roda mouse bekerja (mungkin dengan emulasi). Dalam hal apapun jika tidak ada solusi, saya akan memberi Anda poin untuk semua bantuan Anda!
laktak
@ Chris: Tidak ada ruginya, apakah Anda mencoba driver ALPS? Lihat juga ini sopir drivercure.com/driver/... dan support.dell.com/support/downloads/...
harrymc
3

Solusi ini sepertinya bagus.

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

Saya telah mengujinya, dan memberikan banyak opsi untuk mengkonfigurasi 1,2,3 angka sentuh dan gulir.

Deba Saha
sumber
Terima kasih. Saya harap ini membantu orang lain karena saya telah pindah ke MacBook dengan VMware Fusion di mana semuanya berjalan di luar kotak (dan memiliki trackpad yang lebih baik juga).
laktak
Ini adalah solusi tercepat sejauh ini bagi saya. Dipasang dan berfungsi!
Eran Medan
1

Pengguliran dua jari Synaptics berfungsi dengan mode Unity VMware (Player> Unity). Saya menggunakan ini untuk menjalankan VS2013 di VMware Player dengan Windows 7 x64 sebagai host dan guest OS.

pengguna2361830
sumber