2012年9月8日土曜日

Windows でマウスの左右ボタンを入れ替えるスクリプト(2) - マウスポインタの表示も変更

Windows でマウスの左右ボタンを入れ替えるスクリプト のつづき

1. マウスポインタの形状も変更する

マウスポインタの矢印の形は、左斜め上に傾いている。これは右手で操作することを前提とした形状。そのため、この形のまま左手でマウスを操作すると違和感を感じる。

左手でマウスを操作するときは、マウスポインタの矢印の形が右斜め上に傾いていて欲しい。

そこで、マウスの左右を入れ替えるスクリプトに、マウスポインタの形状を変更する処理を追加した。ただし、左手用のマウスポインタ画像は既に追加してあるとする。

var setControlPanel = function(cmd, title, keystrokes){
    var WshShell =  WScript.CreateObject("WScript.Shell");
    WshShell.Run(cmd);
    do {
        WScript.Sleep(100);
    } while(!WshShell.AppActivate(title));
    WshShell.SendKeys(keystrokes);
};

setControlPanel("control main.cpl",
	"マウスのプロパティ",
	"{" + WScript.Arguments.item(0) + 
		"}^{TAB}{HOME}{DOWN " +
		 WScript.Arguments.item(1) +
		 "}{ENTER}"
);

 

2. スクリプトを実行するためのショートカット

左手用

スクリプトを実行するために、

  1. 上記コードを changeMouseButton.js と名前を付けて保存する。
  2. changeMouseButton.js のショートカットを作成し、Click-Right と名前を変更する。
  3. ショートカットのプロパティを開き、「ショートカット」タブのリンク先の末尾に + 1 を追記する。

… \changeMouseButton.js + 1

最後に、ショートカットのアイコンを Arrow, Right, Small icon に変更した。

これにより、ショートカットをクリックすると、マウスクリックが左利き用に変更される。

ショートカットは、クイック起動で起動できるようにした。

 

右手用

右手用に戻すために、上記と同じ手順でショートカット作成し Click-Left と名前を変更し、ショートカットのリンク先の末尾を – 2 とする。

… \changeMouseButton.js – 2

アイコンは、Arrow, Right, Small icon を利用した。

 

3. スクリプトの内容について

スクリプトで行なっている内容は、コントロールパネルにおける「マウスのプロパティ」を開き、キーボードで設定を変更する操作をスクリプトで代行している。

キー入力を行うには、SendKeys メソッド を利用する。

マウスを左利き用に変更するキー入力は、

{+}^{TAB}{HOME}{DOWN}{ENTER}

右利き用に戻すキー入力は、

{-}^{TAB}{HOME}{DOWN 2}{ENTER}

ショートカットを作成しているのは、スクリプトを起動するときの引数で、上記のキー入力を指定するため。

チェックボックスに対するキーボード操作に関しては、以下を参照。

 

関連記事

3コメント:

Unknown さんのコメント...

すばらしいです!やりたかったことが、一発でできるようになりました!
左手でマウスを使っているのですが、たまに他人が「ここにあるよ」とか言って操作したり、ITサービスの人がリモートしてきたりというときに、一発で右効きモードにしたかったのです。また、このPCはいくらマウスポインタの設定を記憶させてもログインしなおすとデフォルトになっちゃってて困っていたのも、解決です・ありがとうございました

匿名 さんのコメント...

windows10でうまく動きません。
どのようにすればいいでしょうか?

Unknown さんのコメント...

ちょうど求めていたもので助かりました。
windows10ですが問題なく動作しました。