日記テスト運用中

不定期に更新中。高専・学生ロボコンといったNHKロボコンネタを主に。ほかにもいろいろ。

VMware PlayerとWindows8の構成でタッチパネルを無効にする

最近のVMware Playerで、Windows8をゲストOSに設定した場合、タッチパネルがある、タッチパネル機能をサポートするようゲストOSが認識します。

これだけなら都度問題は大きく出ないのですが、Vista以後においてはペンタブレットやタッチパネルを検出すると

どうもメニューの展開方向が既定の右に伸びてゆくのではく、左に展開してゆくようになります。
(オーナードローを用いているソフトの中には、この挙動が発生しない場合があります)
この問題の解消方法としては、メニューの展開してゆく方向をレジストリで操作したり、TabletPC設定の利き手の方向を左手にする方法があります。

利き手の設定でメニューの展開方向が変わるのは、例えば右利きで既定の右方向にメニュー展開する動作では手で展開したメニュー項目に覆いかぶさるから、とみられます。
設定すると、設定以後に起動したプロセスに対して以後反映されます。
しかしデバイスを再検出したり、またはそうでなくとも再現性が低いのですが、設定が戻ってしまう場合がしばし…

で、本題です。タッチパネルを認識してしまうことで、上記の挙動がWindows8VMware Player上のゲストで発生してしまい、利き手設定やそれに相当するレジストリ操作を行っている時でも設定が戻ってしまうことがありました。
そこでVMware側でタッチパネルをデバイスとして加えない方法があるか調べたところ、

does
touchscreen.vusb.present = "false"
disable detection inside the guest ?

Windows 8 was installed with Touchscreen featur... |VMware Communities

Windowsの設定でどうにかできるのかと思って四苦八苦していたが、どうやら、仮想マシンの設定ファイル(.vmx)の、
touchscreen.vusb.present = "TRUE"
を、
touchscreen.vusb.present = "FALSE"
に変更することで、ペンとタッチの設定を無効にできたようだ。

VMWare PlayerのWindows8仮想マシンのペンとタッチを無効にする方法 - コンピュータ/ソフトウェア関連Tips

vmxファイルの変更により構成変更で対処できるようです。

touchscreen.vusb.present = "FALSE"

を設定し、変更してゲストOSを立ち上げたところ、

タッチパネル、ペン入力の非サポートの旨に表示が変わりました。
なお、この設定を行うと(ほかにタッチパネル、タブレットを検出していなければ)TabletPC設定のコントロールパネルアプレットが呼び出せなくなります。(タッチパネル、タブレットバイスの類がないため)
よって事前に左利き設定にしたり、レジストリの変更でメニュー展開方向を変更する必要があります。