必要性
マウス主副ボタンを切り替えるを以前にまとめましたが、原則論を述べたに過ぎませんでした。右利きにはマウスは左手で、キー入力を右手で行うと高速対応が可能になります。
野球のオールスターやコンサートの入場券を購入期日の最初の時間にインターネットで申し込みましたが、スムースな操作ができずに売れ切れの憂き目に会ったことがありました。
そのとき、両手を使えたら別な展開になったのではとマウスを左手で操作することを思いつきました。
マウス主副ボタンはコントロールパネルを操作すれば切り替えられますが、元に戻しておかないとその状態は継続されます。時間を置いてパソコンを起動した場合、マウス操作に違和感を感じる時がありました。直前の設定がどちらだったかを正確に記憶していないから生じた現象でした。
ねらい
デスクトップ上に作ったショートカットをクリックするとワンタッチで主副ボタンが切り替わり、その状態が常に表示されマウス操作の戸惑いを解消します。
ボタンの切り替えを元に戻すショートカットは別に用意され、同時に状態も切り替わって表示される上、電源断後に再開したときは直前の状態が継続されます。
参考資料
Windows でマウスの左右ボタンを入れ替えるスクリプト(2) – マウスポインタの表示も変更さんがスクリプトを用いてワンタッチで設定する方法をまとめ上げられて参考になりました。
マウスポインターのデザイン
マウス主副ボタンの状態表示にはポインターのデザインを変更します。そのためデザインを押さえておきます。デザインはWindows7と8.1では異なりますが設定方法は同じのようです。あいまいな表現ですが2種類のパソコンで調査したに過ぎませんのでどうぞあしからず。
調査方法は、コントロールパネル-マウス-ポインター-デザイン-▼スイッチをクリックします。すると(なし)から始まるデザイン名称が表示されます。順に0,1,2,3,4~と対応づけられます。
実現方法
スクリプトによるコントロールパネルの設定をするには、まず以下のJavaScriptファイルを用意します。
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}" );
ChangeMouseButton.jsのファイル名でフォルダに格納します。今回はC:\Program Files\Convenienceに収納しました。左手用、右手用に設定するショートカットのアイコンファイルも同一フォルダに入れておきます。
ショートカットとパラメータ設定
コントロールパネルを制御するにはChangeMouseButton.jsにパラメータを付加して実行します。まず、左図に示すように左利き用に設定するショートカットを作ります。既存のショートカットをコピーし名前とアイコンを変更します。その後、アイコンにカーソルを当て右クリック‐プロパティと操作して左図のプロパティ画面を起動します。
リンク先にJSファイルの格納先を指定し「+ 9」のパラメータを付加します。+はチェックボックスをonにし、9はWindows反転色(システム設定)のデザインを使うことを示しています。再掲すると以下のようになります。
“C:\Program Files\Convenience\ChangeMouseButton.js” + 9
次いでこのショートカットをコピーして右利き用のショートカットを作ります。同様に名前とアイコンを変更します。ーはチェックボックスをoffにし、0は(なし)のデザインを使うことを示しています。
2つ目のパラメータはマウスポインターのデザインで表示したデザインを番号で指定します。
リンク先に示したJSファイルの格納先とパラメータを以下に再掲します。
“C:\Program Files\Convenience\ChangeMouseButton.js” – 0
マウス主副ボタン状態確認
マウスのポインターの形状が左のように白色である時は、右利き向けに左クリックで決定されます。右のような赤色形状の場合は左利き向けに右クリックで決定されます。
最後に
左手用に切り替えたとき、赤色の矢印でなく右斜め前に向いた右図のような矢印の方が適切です。その記事も先の方が発表されていますが、aero_arrow_left.curなどの左利き用ファイルはマイクロソフトからのサポートが終了しているようでしたので反転色のデザインを採用しました。
余談になりますが、反転色に切り替わったマウスポインターを画像に残すために、PrintScreenキーを押下して画面をハードコピーしてもマウスポインターは画像に取り込めないことがわかりました。上の画像は合成して作成されました。
Windowsでマウスの左右ボタンの切り替え設定と表示が一体となって実現できて先駆者に感謝申し上げます。お陰様にてスクリプトを用いてコントロールパネルの操作をするテクニックの一端が理解できました。