2019年06月17日

キーボードでマウスを移動させる(AutoHotKey)



以前にも何度かこのブログで触れてますが、キーボードで操作しているときに、マウスに持ち替えると効率が下がります。
ひとつには、手の移動、もうひとつは手をキーボードに戻すときにホームポジションをもう一度探さないといけないこと。さらに、マウスは PC を操作するのは一瞬(機能しているのはクリックしたときだけであとは単なる無意味な移動)ですね。

■移動のムダ


よく、トヨタ式ムダ取りで、「移動のムダ」というのが言われます。

モノを作るのにおいて、移動させているというのは、なんら価値を更かしていないのでムダだから、極力移動(モノの移動も手の移動も)は小さく、理想的には移動ゼロで作業ができるように考えられています。

同じことはマウス操作にも言えます。

マウスを右左、上下に動かしても、作っている文章は何も変わりません。つまり生産性はゼロです。

だからといって、Windows ではマウス操作でないと操作できないアプリが結構あるんですよ。これが面倒くさい。

なので、極力マウスには触らずにPCを操作できるといいですね。

たとえば、ウインドウを切り替えるのに、マウスでタスクバーのアプリのアイコンをクリックする、とかではなくて、ALT+WINで切り替えるとか、WIN+数字 で切り替えるとかするとすばやくWindowsの操作ができるようになります。


■マウス操作を減らすWindowsの設定


マウスのプロパティを設定しましょう。

 ポインターを自動的に規定のボタンの上に移動する

を設定しておくだけでもかなり効率化ができます。
その他にもいろいろ便利な設定があるので、この際見直してみては。

■ショートカットキーを覚える


この記事の主旨ではありませんので省略しますが、Windows本体やそれぞれのアプリではショートカットキーが設定されているものがあります。これはぜひ覚えましょう。覚えるまでは大変ですけど、一度体が覚えてしまえば、操作速度は格段に上がります。

いい例が CTRL+S。

これは大抵のアプリは共通で、今の編集しているファイルを保存します。これを覚えておくと、ちょっと入力したらCTRL+Sを押すようになって、「PCが吹っ飛んで半日の作業も吹っ飛んだ〜!!」とか泣かずにすみます。

■マウスをAutoHotKeyで移動させる


で、ようやく本題。

どうしてもマウスでないとできない操作のときには、マウスカーソルをキーボードでマウスを移動させると、マウスに触らなくて住みます。特にノートPCでマウスを付けずに、タッチパッドだけで操作しているような時にすばやく移動させることができます。

どうやって希望の位置をPCに教えるかというと、視線誘導………なんてできるわけがないので…

今アクティブなウインドウを分割して、その位置に対応するキーを押す、という方法を取ります。

最近のPCには12個のファンクションキーがありますよね。
これをアクティブウインドウに割り当てます。

ざっというと、今表示しているウインドウに、縦3行、横4列に分割した格子をイメージしてください。

┌───┬───┬───┬───┐
│ 1 │ 2 │ 3 │ 4 │
├───┼───┼───┼───┤
│ 5 │ 6 │ 7 │ 8 │
├───┼───┼───┼───┤
│ 9 │ 10 │ 11 │ 12 │
└───┴───┴───┴───┘
   ※等幅フォントで見てください

こんな感じにウインドウが分割されているイメージ。

で、あとはこれをキーにわりあてるだけ。

でも、こまかな移動はこれでは難しいので、あとはキーボードでマウスを移動させます。ラストワンマイルがマウスに持ち替えないといけないでは、もともとの目標、マウスを触らないにたどり着けませんので……

というのは、ちょっと言い訳があって、AutoHotKey でマウスを移動させて物理マウスを触ると、どういうわけかマウスカーソルが元いた位置に戻っちゃうんですよ。原因不明。どなたか対策をご存知の方教えてください

■スクリプト


スクリプトはこんな感じです。

あ、ちなみに #CoodeMode はウインドウ基準になってます。多分ディフォルトなので、やらなくていいですが…

 #CoordMode, Mouse, Window

★〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
vk1Dsc07B & f1:: MouseMoveWindow( 0, 0)
vk1Dsc07B & f2:: MouseMoveWindow( 1, 0)
vk1Dsc07B & f3:: MouseMoveWindow( 2, 0)
vk1Dsc07B & f4:: MouseMoveWindow( 3, 0)
vk1Dsc07B & f5:: MouseMoveWindow( 0, 1)
vk1Dsc07B & f6:: MouseMoveWindow( 1, 1)
vk1Dsc07B & f7:: MouseMoveWindow( 2, 1)
vk1Dsc07B & f8:: MouseMoveWindow( 3, 1)
vk1Dsc07B & f9:: MouseMoveWindow( 0, 2)
vk1Dsc07B & f10:: MouseMoveWindow( 1, 2)
vk1Dsc07B & f11:: MouseMoveWindow( 2, 2)
vk1Dsc07B & f12:: MouseMoveWindow( 3, 2)
MouseMoveWindow(x, y)
{
WinGetPos, orgX, orgY, Width, Height, A ; 現在のウインドウの位置
w := Width / 4
h := Height / 3
MouseMove, orgX + w * x + w / 2 , orgY + h * y + h / 2
return
}

; マウスの移動は 左シフト+カーソルキー
; テンキーもFn キーのコンビネーションもできる。キーボード配置
; Num / * - Num / * -
; 7 8 9 + Home UP PgUp +
; 4 5 6 Left Right
; 1 2 3 End DN PgDown
; 0 . Ins Del
Numpad2::
NumpadDown::
NumpadDiv::
RShift & Up:: MouseMoveFunction( 0, -25)
Numpad0::
NumpadIns::
RShift & Down:: MouseMoveFunction( 0, 25)
Numpad3::
NumpadPgdn::
RShift & Right:: MouseMoveFunction( 25, 0)
Numpad1::
NumpadEnd::
RShift & Left:: MouseMoveFunction(-25, 0)
;
; ズーム: 無変換+PgUp/Down またはテンキーの+/-
NumpadAdd::
vk1Dsc07B & Pgup:: Send, ^{WheelUp}
NumpadSub::
vk1Dsc07B & Pgdn:: Send, ^{WheelDown}
;
; マウスのクリック操作
; 無変換+ENTER, 左シフト+Enter: 左クリック
; 無変換+左シフト      : 右クリック
RShift & Enter::
vk1Dsc07B & Enter:: Click, Left
vk1Dsc07B & Rshift::Click, Right

; パラメータで指定された相対位置に移動させる
; SHIFT / CTRL で加速、ALT で減速
MouseMoveFunction(dx, dy)
{
MouseGetPos, x, y
if (IsKeyDown("LShift") == "D") {
dx *= 5
dy *= 5
}
if (IsKeyDown("Alt") == "D") {
dx /= 5
dy /= 5
}
if (IsKeyDown("Ctrl") == "D") {
dx *= 2
dy *= 2
}
MouseMove, x+dx, y+dy
return
}
;
; キー押下の検出処理
IsKeyDown(key)
{
GetKeyState, sss, %key%
return %sss%
}
―――――――――――――――――――――★


■同じテーマの記事

ファイルにコメントを付ける

以前の記事「整理しないで検索する」で紹介しましたように、ファイルをフォルダに分けて検索するのは、・分類の手間・検索の手間と2重の手間が必要で、仕事の効率化にはなりません。しかし、ファイル名がいい加減だと検索も結構手間なので、ファイルの保管(JGrepperと「超」整理法)で書いたように、Jgreperなどを使って本文内キーワード検索をするようにしてます。それでも画像ファイルや実行ファイル、テキストファイルなどは、ちょっと加工しておかないと、うまくキーワ..

AutoHotKeyとMouseWithoutBordersの共存のためのスクリプト

過去記事で何度か書いてますが、会社でも自宅でも複数台のPCを運用しているので、MouseWithoutBorders が必須です。さらにキータイプを楽にするために、AutoHotKey も必須。ところがこの2つは、両方ともキーボードやマウス操作をフックするプログラムなので、あまり相性がよくありません。MouseWithoutBorders で別の PC(キーボードがつながっていないPC)を操作しているときに、マウスホイールが効かなかったり、こっちの PC ..

マウスを外してPCを使うと操作が早くなる

どのPCにも1台1個、マウスがついてますよね。私のPCにはダブルマウスで紹介したように2個ついてますが…。PCの操作を早くするためにはトレーニングがいる以前の記事で何度かブラインドタッチのトレーニングをすることをおすすめしましたが、もしブラインドタッチがある程度できるようになったら、今度はマウスを使わないトレーニングをしてみるとPCの操作が劇的に早くなります。ただし、これは操作の慣れが必要で最初は効率が落ちます。ただそこで挫けてしまうと改善はできませんの..

リストの活用方法

おそらく、皆さん、いろいろなツールでタスクリストを管理していると思います。『あなたはなぜチェックリストを使わないのか』という本に、発展途上国で医者に対して手術のためにチェックリストを導入したら、医療事故(手術をしたことによる合併症の発症)が半減したという報告が書かれていました。この他にも、飛行機は発着の前後にあらゆる階層の人がチェックリストを使って作業のチェックをしているのは有名ですね。でも実はリストには弊害があって..

スタートメニューで起動するアプリを自動化する

個人的な好みから言えば、インストーラがなくて、ただフォルダにコピーするだけのアプリが好みなのです。しかし、最近の殆どのアプリはインストーラがついていて、環境を勝手に判断してインストールがされるようです。自分で作った AutoHotKey や UWSC などの自動化ツールのスクリプトでそのアプリを起動させようとすると、そのアプリの実行ファイルのありかを調べて、パスを書かないとちゃんと起動させられません。ところが、ときどき環境やバージョンによってインストール先が変わったり..

年収1000万円の貧乏人、年収300万円のお金持ち

本日は、ちょっと毛色の変わった本の紹介。このブログの趣旨とはちょっと外れますが、サラリーマンにとって大切なことが書いてあるのでご紹介します。年収1000万円の貧乏人 年収300万円のお金持ちコメント本書のベースになっているのは以下の2冊だと思われます。・金持ち父さん貧乏父さん・マーケットの魔術師 この他にも、投資関連の良書として・新マーケットの魔術師 ・魔術師たちの心理学 が紹介されています。いずれも読んだのですが、「金持ち父さん貧乏父さ..

posted by 管理人 at 13:22| Comment(0) | PCアプリ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: