キーボードでのマウス操作について
ちょっとしたマウス操作もキーボードでできれば、ほとんどキーボードから手を離さなくてもよくなるかと思い、AutoHotkeyでマウス操作についても設定してみることにした。
AutoHotkeyの設定(マウス操作)
これまでのAutoHotkeyの設定では、こちらのページにあるとおり、無変換/変換キーをFnキーの代わりとして設定していた。ここで、マウス操作については、「変換キー」との同時押しで、「I(↑)」「J(←)」「K(↓)」「L(→)」「U(左クリック)」「O(右クリック)」となるように設定することにした。
コードについては、AutoHotkey Wikiのサンプルコード集をベースに以下のように設定。
vk1Csc079 & u::
Send,{LButton down}
KeyWait,u
Send,{LButton up}
Return
vk1Csc079 & o::MouseClick,right
vk1Csc079 & i::
vk1Csc079 & j::
vk1Csc079 & k::
vk1Csc079 & l::While (GetKeyState(“vk1Csc079”, “P”))
{
if While (GetKeyState(“vk1Dsc07B”, “P”))
{
MoveX := 0, MoveY := 0
MoveY += GetKeyState(“i”, “P”) ? -10 : 0
MoveX += GetKeyState(“j”, “P”) ? -10 : 0
MoveY += GetKeyState(“k”, “P”) ? 10 : 0
MoveX += GetKeyState(“l”, “P”) ? 10 : 0
MouseMove,%MoveX%,%MoveY%,10,R ;0(fastest)-100(slowest)
Sleep,1
}
else{
MoveX := 0, MoveY := 0
MoveY += GetKeyState(“i”, “P”) ? -50 : 0
MoveX += GetKeyState(“j”, “P”) ? -50 : 0
MoveY += GetKeyState(“k”, “P”) ? 50 : 0
MoveX += GetKeyState(“l”, “P”) ? 50 : 0
MouseMove,%MoveX%,%MoveY%,10,R ;0(fastest)-100(slowest)
Sleep,1
}
Return
}
Return
ポインタの移動速度は、遅いと長距離を移動するときに時間がかかりすぎるのと、速いとクローズボタン(×)がなかなか押せなかったりしたので、if文のところで、変換キーのみ押した場合と変換・無変換キーとの同時押しの場合で、移動距離を変える設定とした。
設定してみた感想としては、文字の上にポインタが被っていて見づらい時などにちょっとポインタをずらしたりするのには便利なのだが、(まだ慣れないせいか) ウィンドウを移動させたりするときは、思わずマウス(トラックボール)に手が伸びてしまう。。。 もう少し使ってみて、今後も改善していきたいと思う。
スポンサーリンク