web-dev-qa-db-ja.com

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

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

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

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

どういうわけかこの仕事を作ることは可能ですか? (例:.vmxの変更、Synapticsオプションの変更、または「マウスホイールスクロール」をエミュレートするドライバーを使用)

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

17
laktak

現在のところ解決策はないので、行うべき唯一のことは、機能リクエストを

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

質問の最初の2つのパラグラフをテキストフィールドに貼り付けるだけです。

3
laktak

さて、私は研究を行い、なんとか成功しました。

いくつかの考えの後で結論に達しましたが、それがどのように機能するのかわかりません:-)それだけです! :-)

以前は"便利:)楽しい" :

簡単に言えば、SynapticsタッチパッドsendsSendMessage()またはPostMessage()、わざわざそれを特定する必要はありませんでした)右ウィンドウメッセージ(_WM_MOUSEWHEEL_)をVMwareウィンドウに送信しますが、実際に実行する必要があるのはSendInput()を使用して直接物理的にエミュレートすることですマウス。ファイル_SynTPEnh.exe_を使用して、ドライバー(より正確には、ユーザーモードプログラム_tp4table.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 =

メジャーリマーク:VMの実行中に、対応する実行可能ファイルを実行します。

別の主な注釈:スクロールがオンになった後、_hook.dll_および_*.exe_を移動しないでください。他の場所から_vmware_scroll_stop.exe_を開始すると、_.dll_はアンロードされません(つまり、スクロールを無効にします)。

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

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

22

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

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

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

この記事では2つの修正について言及しています。

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

記事が2番目のものについて言うように:

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

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

EDIT1

SynapticsではなくALPSドライバーを使用すると成功するという報告があります。
言うとおり Windows 7用Alpsタッチパッドドライバー

一部のDellラップトップには、Synaptics製のタッチパッドがありません。彼らはアルプスのタッチパッドを持っています。お持ちのタッチパッドの種類がわからない場合は、正しいモデルの識別について、こちらの post を参照してください。

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

EDIT2

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

スレッドの最後のエントリは言う:

サポート目的でラップトップでVmwareを使用したい同僚が何人かいます。 SunのVirtualboxを試す人もいれば、VMwareを試す人もいます。 Virtualboxではスクロールが正常に機能しますが、このタイプの製品に対するSunの取り組みは、過去に人々を燃やしました。

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

錠剤を甘くするには、 VMwareをVirtualboxに変換する方法 を参照してください。

7
harrymc

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

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

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

3
Deba Saha

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

1
user2361830