2012年7月18日水曜日

イラストスタジオで無変換キーを押してキャンパス回転させるAHKスクリプト

GroupAdd,IllustStudio,ahk_class CRibLayerPalette
GroupAdd,IllustStudio,ahk_class IS10FrameWnd
GroupAdd,IllustStudio,ahk_class CRibVariableToolsetPalette

#ifWinActive, ahk_group IllustStudio
vk1Dsc07B::
SendInput {Space down}{Shift down}
keywait, vk1Dsc07B
SendInput {Space up}{Shift up}
return
#IfWinActive



イラスタでキャンバス回転するのにshiftとスペースを一緒に押すのがだるい。これで無変換押すだけで回転できるようになる。そんなAHKスクリプト。

Photoshopで無変換キーを拡大縮小に使うAHKスクリプト

海外の人が公開していたスクリプトをそのままいじって使ってるだけ。


#ifWinActive, ahk_class Photoshop
vk1Dsc07B::
send {ctrl down}
send {Space down}
mouseclick, left,,, 1, 0, d
Loop
{
sleep, 15
GetKeyState, state, vk1Dsc07B , p

if state = u
break
}
mouseclick, left,,, 1, 0, U
send {ctrl up}
send {Space up}
return
#ifWinActive

これで無変換を押しているときにはズームイン・アウトができるようになる。いちいちCtrl+Space押しと2つボタンを押さなくて済むので便利。一個のボタン押しだけでズームイン・アウトができるってのはマジで便利です。



あとついてに書いておくと、このズームイン・アウトスクリプトと、この記事

Photoshopのスペースバー押しでのアニメーションプレビュー再生をさせなくするAHKスクリプト。
http://coollooc.dtiblog.com/blog-entry-223.html


の昔載せていたスクリプトを併用する場合問題が発生します。

前まで記事に載せていたプレビュー停止用のスクリプトは

#ifWinActive, ahk_class Photoshop
Space::
send,{space down}
send,{shift down}
KeyWait,space
send,{space up}
send,{shift up}
return
#IfWinActive

になってまして。この訂正前の再生停止用スクリプトと今回のズームインアウトスクリプトを併用すると、Spaceバーを押してすぐに無変換を押す、という動作をするとアニメーションプレビューが再生されてしまうのに最近気づきまして。原因は停止用スクリプトのsendのSpace downだけ実行されて、shift downの判定が来なくなっていて、そのまま無変換のSpace downが来てしまっているからだと思うけれど。
今は

#ifWinActive, ahk_class Photoshop
Space::
send {shift down}{space down}
KeyWait,space
send {shift up}{space up}
return
#IfWinActive

と順番を入れ替えて直しておいたので前のスクリプトをそのまんま使ってる人がいたら、今回のズームイン・アウトのスクリプトと併用するときは直しておいてください。これ解決するために何時間も費やしてしまった。。