VMwareゲストでSynapticsタッチパッドスクロールを使用する


17

VMwareゲスト内でSynapticsの「2本指スクロール」を使用したいと思います。

ホストでは期待どおりに動作しますが、VMwareはそれをサポートしていないようです。マウスカーソルが変化してスクロールがアクティブであることを示しますが、VMwareゲストはそれに応答しません。

  • VMware Workstation 7.1
  • ホストおよびゲストOS:Windows 7(64ビット)
  • Synapticsドライバー15.0.9.0
  • デバイスは「Synaptics LuxPad V7.4」として表示されます

なんとかしてこの作品を作ることは可能ですか?(たとえば、.vmxの変更、Synapticsオプションの変更、または「マウスホイールスクロール」をエミュレートするドライバーを使用)

更新:Synapticsドライバーでいくつかのオプションを既に試しましたが、唯一の変更点は、スクロールしようとすると別のマウスカーソルが表示されることでした。


ソリューションをsuperuser.com/a/439474/106787で
-mreq

@hcris私の答えが正しいかどうかを確認してください:
アンドリュー・ザバブニコフ

回答:


22

さて、私は研究をして成功しました。

少し考えて結論に至りましたが、どのように機能するのかわかりません:-) :-)

以前は «便利:)楽しい »:

簡単に言えば、SynapticsタッチパッドはVMwareウィンドウに右ウィンドウメッセージ()を送信しますSendMessage()またはPostMessage()、それを特定することはありません)が、実際にすべきことは、物理マウスを直接エミュレートすることです。fileを使用して、ドライバー(より正確には、ユーザーモードプログラム)の動作を制御するオプションがあったようです 。残念ながら、このオプションは私のドライバーではどういうわけか有効になっていません(ただし、実行可能ファイルにはこのような文字列があります)。WM_MOUSEWHEELSendInput()SynTPEnh.exetp4table.dat

だから、私は次のことをし.dllました-VMwareのウィンドウプロセスに安全なものを入れて(VMを実行するプロセスと同じではないことを願っています)、サブクラス化されたウィンドウプロシージャ(インターセプトされたウィンドウメッセージを意味する)を使用して「間違った」ものを翻訳しましたSendInput()

また、次の修正は、私のソリューションでも適用する価値があることに注意されていました:http : //blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/

そのため、ソースコードと実行可能ファイル(Workstationのみをサポートし、Playerについては「UPDATE」でさらに読みます)-何も見つからなかった場合はコメントで尋ねます-https://www.dropbox.com/s/ gucmyo35heha6g2 / vmware_scroll.zip?dl = 0

主な注釈: VMの実行中に対応する実行可能ファイルを実行します。

別の主要な備考: DOは移動しないhook.dll*.exeスクロールがオンされた後に「S。vmware_scroll_stop.exe他の場所から開始する場合、アンロードされません.dll(つまり、スクロールを無効にします)。

更新: VMware Playerをサポートする拡張バージョンがあります(Anthony Prieurによって拡張されました、彼に感謝します!)。VMWareTrackPadScroller と呼ばれるものから派生した、シンプルなユーザーインターフェイスを備えたプログラム も使用できます。

注:残念ながら、水平スクロールをサポートするバージョンはありません。問題は、解決策のアイデアがありますが、私はそれをあまりにも汚いものとして拒否しました。タスクを実行するには、(SynTPEnh.exeで)GetClassNameW()APIをフックしてVMwareウィンドウクラスの名前(「VMware.GuestWindow」および「MKSEmbedded」)またはwcsicmp()を変更し、常に「等しくない」を返す必要があります。引数の1つが上記の文字列の1つである場合。少なくとも、パフォーマンスの観点からは汚い解決策だと思います(パフォーマンスの低下は最小限になるため、実際には弱い議論です)。とにかく、水平スクロール機能を備えたデバイスを常に持っているわけではなく、貧困に苦しむよりもその贅沢なしで生活する方が良いため、現在の解決策は受け入れられると思います。ところで、Shift+Vertical Scroll 水平スクロールを行います。


2
更新しました!
アンドリューザバブニコフ

3
これは賛成に値します!
xiamx

@xiamxそれはあなたのために働いていますか?Playerで機能していないというフィードバックを受け取りました(おそらくほとんど変更する必要はありません)。多分それはまた、この修正の適用の問題ですblog.alexou.net/2010/07/...を
アンドリューZabavnikov

完璧に機能しています。また、ユーザーランドドライバー(logitech T650)を備えた他の入力デバイスでも機能します。v110ツールセットしか持っていないので、自分で再コンパイルしましたが。githubに配置できますか?そのため、Playerで動作するために必要な人は、自分で変更できます。
xiamx13年

@xiamxわかりました、数日中にやります。水平スクロールをサポートするバージョンで作業している間、GitHubに対処する必要はありませんでした。
アンドリューザバブニコフ

7

多くの人々がこの問題について不満を述べており、機能のリクエストがSynapticsに提出されました。

ここで 1つの成功レポートを見つけまし。Ubuntu用ですが、この問題の解決策があることを示しているようです。

ホストとゲストの両方について、以下の記事で概説されているソリューションを試してみることをお勧めします
。DellSynapticsタッチパッドを使用したFirefoxのスクロール問題の修正

この記事には2つの修正が記載されています。

  1. マウスのプロパティから円形スクロールオプションを削除する
  2. DellタッチパッドドライバーをSynapticsドライバーに置き換えます

記事が2番目の記事で述べているように:

Dellタッチパッドドライバーを削除して、一般的なSynapticsドライバーをインストールすることができます。これは、多くの人にとってより効果的ですが、追加のDell機能の一部が欠落しています。タッチパッドが期待どおりに機能する限り、それだけの価値があります。

念のため、ドライバーを変更する前にシステム復元ポイントを作成することをお勧めします。
デバイスマネージャーからドライバーをいつでもロールバックすることもできます。

EDIT1

SynapticsではなくALPSドライバーを使用すると成功したと報告する人もいます。
述べているWindows 7のアルプスタッチパッドドライバは

一部のDellラップトップには、Synaptics製のタッチパッドがありません。彼らはアルプスのタッチパッドを持っています。使用しているタッチパッドの種類が不明な場合は、正しいモデルの特定に関するこの投稿を参照してください。

ユーザーがInspiron 1420をWindows 7にアップグレードするのを手伝ったとき、Vistaのドライバーを使用しました。ダウンロードへのリンクはこちらです 。このドライバーは32ビット専用です。これがうまくいかない場合は、Windows 7用のドライバーを試すこともできます。リンクはこちらです 。2番目のリンクは、32ビットと64ビットの両方のドライバーを提供します。

EDIT2

次のスレッドには興味深い情報があります:
Synapticsタッチパッドの問題がゲストOSでスクロールできない(Windows XP)

スレッドの最後のエントリは次のとおりです。

サポート目的でラップトップでVmwareを使用したい同僚が何人かいます。SunのVirtualboxを試している人もいれば、Vmwareを試している人もいます。スクロールはVirtualboxで正常に機能しますが、この種の製品に対するSUNのコミットメントは過去に人々を火傷させました。

VMwareは単にSynapticsをあまり気にしておらず、お使いのデバイスはそれによって十分にサポートされていないようです。これはあなたの質問に直接答えるものではありませんが、タッチパッドを機能させるにはVirtualboxに移動する必要があると思います。

ピルを甘くするには、「VMwareをVirtualboxに変換する方法」を参照してください。


すでにSynapticsドライバーを使用しています(上記を参照)。この記事は1本指のスクロール(これも機能せず、Circular / Chiralを無効にしても効果はありません)を対象としていますが、どちらかのオプションを使用できれば幸いです。Ubuntuの設定は有望に聞こえますが、Windowsでそれらをどのように適用できますか?
ラクタク

@chris:私が見つけたほとんどの投稿は、VMwareは単にデバイスとしてSynaptics Touchpadをサポートしていないため、あなたが尋ねることは不可能だと言っています。とにかく、一部の人々のために働いたもう一つのアプローチを編集しました。機能しない場合は、VMware以外のVM製品を使用することもできます。
harrymc

@harrymc Synapticsデバイスであることは確かですが、pcidatabase.comで見つけることができません。HW IDは「ACPI \ DLL02EF」および「* DLL02EF」です。
ラクタク

OK、多分私は不可能を求めていますが、これは長い間私を悩ませています。マウスホイールが動作するのと同じように(おそらくエミュレーションを使用して)これを動作させる方法があればいいのにと思っていました。いずれにせよ、解決策がない場合、私はあなたのすべての助けのためのポイントを授与します!
ラクタク

@chris:失うものは何もなく、ALPSドライバーを試しましたか?このドライバーdrivercure.com/driver/…およびsupport.dell.com/support/downloads/…
harrymc


3

このソリューションは良いようです。

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

私はそれをテストしましたが、1,2,3の数字タッチとスクロールを構成するための多くのオプションを提供します。


ありがとう。VMware Fusionを搭載したMacBookに移り、すべてがそのままで動作するようになった(そして、より良いトラックパッドも備えている)ので、これが他の人の助けになることを願っています。
ラクタック

これは私にとってこれまでで最速のソリューションです。インストールして動作します!
エランメダン

1

Synapticsの2本指スクロールは、VMwareのUnityモード(Player> Unity)で動作します。これを使用して、Windows 7 x64をホストOSおよびゲストOSとしてVMware PlayerでVS2013を実行しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.