[AutoHotkey]テンキーを私の考えた最強の左手デバイスにしてみた(CLIP STUDIO PAINT)

AutoHotkeyを利用して、テンキーを左手デバイスにしてみました。利用しているのは、こちらのテンキーです。

Bluetooth接続、電池式、静音パンタグラフ。機種によってボタンの配置やキーを押した際の挙動が異なるため、異なる機種で利用するにはスクリプトをカスタマイズする必要があります。

ところで、私は静電容量方式の信者で普段はHHKBやRealforceを使用しています。本当は静電容量方式のテンキーを利用したいのですが、Bluetoothの静音タイプは出ないでしょうか。

AutoHotkeyでできること

AutoHotkeyは、ショートカットキーをカスタマイズできる無料のソフトです。スクリプトを利用して、キーボードの入力に対して様々な処理を行うことができます。

・キーの割当を変更する(ホットキー機能)
  
例)テンキーのEnterにスペースキー(手のひら)を割り当てる
・同時押しに特定のキーを割り当てる
・連打、長押しに特定のキーを割り当てる
・特定の順番でのキー入力に特定のキーや文字列を割り当てる(ホットストリング機能)
  例)テンキーで9、8、7の順に入力すると[Esc]が入力される
・その他
 ソフトウェアの起動やクリップボードのテキストの書き換え、マウス操作、ファイル操作などが行えるほか、外部ライブラリを使用することも可能

ショートカットキーの設定

まず、CLIP STUDIO PAINTのショートカットキーを編集します。ショートカットキーの設定にも、いくつか工夫をしています。
・テンキーのキーを使用しない(重要) バッティングを避けるため、テンキーにショートカットキーを設定している場合には解除します。
・連打でツールの切り替え 同じサブツールグループの2つ以上のツールに同じショートカットキーを設定することで、キーの連打でツールを入れ替えるようにしてあります(下記ショートカットキー一覧で、EEとかCCと記載のあるもの)
・修飾キーの設定 消しゴムツール以外、[Ctrl]に虫めがね、[Shift]に自作の範囲塗りツール(投げなわ選択で塗りつぶす)に切り替える設定にしてあります。同様に、消しゴムツール使用中は[Alt]でベクター部分消去、[Shift]でベクター線全体消去の自作ツールへ切り替え。塗りつぶしツール使用時は[Ctrl]+[Shift]で作業レイヤーのみ参照に設定してあります。
・コマンド関係 コマンド関係のショートカットキーは[Ctrl]、レイヤー関係のショートカットキーは[Alt]と組み合わせて登録しています。
・クリティカルなコマンドは除外 「上書き保存」や「閉じる」などのコマンドは、押し間違いの危険があるためテンキーに設定する分からは除外しています。(※ただし、下記スクリプトでは敢えて無効化はしていないため、入力するキーの組み合わせによって「上書き保存」などが実行される場合があります)

テンキーに設定するCLIP STUDIO PAINTのショートカットキー一覧

Q ペン
E 消しゴム(交差)
EE 囲って消す ※自作ツール
C 線つまみ(一方の端を固定)
CC 線つまみ(両端自由)
V オブジェクト
G 塗りつぶし/他レイヤーを参照
GG 囲って塗る ※自作ツール
1 描画色(メインカラー)
2 描画色(サブカラー)
3 描画色(透明)
M クイックマスク
Z 特殊定規にスナップ
D ズームイン
S ズームアウト
A 左右反転表示
X 制御点の削除 ※自作ツール
W 投げなわ選択
H 参照レイヤー用選択
N デコレーション
B エアブラシ
U 定規
5 水彩
6 油彩
7 色混ぜ
F グラデーション
[ ブラシサイズを下げる
] ブラシサイズを上げる
, 前のサブツールに切り替え
. 次のサブツールに切り替え
[Ctrl]+[,] 前のサブツールグループに切り替え
[Ctrl]+[.] 次のサブツールグループに切り替え
[Alt]+[ [ ] 上のレイヤー編集対象に
[Alt]+[/] 下のレイヤーを編集対象に
[Alt]+[d] 下書きレイヤーに設定
[Alt]+[s] 参照レイヤーに設定
[Alt]+[1] レイヤーカラーの切り替え
[Alt]+[2] 選択中のトーンの領域を表示
[Alt]+[5] 素材パレット
[Alt]+[e] 下のレイヤーに転写
[Alt]+[;] 前のフレームへ(アニメ)
[Alt]+['] 次のフレームへ(アニメ)
[Alt]+[r] レイヤーをロック
[Alt]+[Shift]+[r] 透明ピクセルをロック
[Alt]+[BackSpace] 塗りつぶし
[Ctrl]+[M] 選択範囲にかかるベクターを選択
[Ctrl]+[A] すべてを選択
[Ctrl]+[D] 選択を解除
[Ctrl]+[H] 色域選択
[Ctrl]+[C] コピー
[Ctrl]+[V] 貼り付け
[Ctrl]+[B] ※自作オートアクション
[Ctrl]+[J] 選択範囲を表す点線の表示/非表示
[Ctrl]+[Z] 取り消し
[Ctrl]+[Y] やり直し
[Ctrl]+[T] 変形(拡大・縮小・回転)

AutoHotkeyのコード 上のショートカットキー一覧を割り振った例。適当なファイル名(CLIPSTUDIOPAINT.ahkなど)を付けて保存します。AutoHotkeyに関連付けた上で保存したファイルを開くと、実行されます。

~Numpad7::q
~Numpad8::e
~Numpad9::c
:*:987::{Esc}
~Numpad4::v
~Numpad5::g
Numpad1::1
Numpad1 & Numpad2::Send,2
Numpad1 & Numpad3::Send,3
Numpad1 & Numpad4::Send,m
Numpad2::z
Numpad3::!5
NumpadDiv::d
NumpadMult::s
NumpadDiv & NumpadMult::Send,a
Numpad9 & BS::Send,x
Numpad7 & Numpad8::Send,w
Numpad7 & Numpad9::Send,h
Numpad7 & Numpad4::Send,n
Numpad7 & Numpad5::Send,b
Numpad7 & Numpad6::Send,u
Numpad7 & NumpadDiv::Send,a
Numpad7 & NumpadSub::Send,^z
Numpad5 & Numpad1::Send,5
Numpad5 & Numpad2::Send,6
Numpad5 & Numpad3::Send,7
Numpad5 & Numpad6::Send,f
Numpad4 & Numpad8::Send,^m
Numpad0 & NumpadSub::Send,[
Numpad0 & NumpadAdd::Send,]
Numpad0 & Numpad4::Send,,
Numpad0 & Numpad6::Send,.
Numpad0 & Numpad7::Send,^,
Numpad0 & Numpad9::Send,^.
*NumpadSub::Send,{Blind}{Ctrl Down}
*NumpadSub up::Send,{Blind}{Ctrl Up}
*NumpadDot::Send,{Blind}{Alt Down}
*NumpadDot up::Send,{Blind}{Alt Up}
*NumpadAdd::Send,{Blind}{Shift Down}
*NumpadAdd up::Send,{Blind}{Shift Up}
*NumpadEnter::Send,{Blind}{Space Down}
*NumpadEnter up::Send,{Blind}{Space Up}
~NumpadSub & Numpad7::Send,^z
~NumpadSub & Numpad8::Send,^y
~NumpadSub & Numpad9::Send,^t
~NumpadSub & Numpad4::Send,^a
~NumpadSub & Numpad5::Send,^d
~NumpadSub & Numpad6::Send,^h
~NumpadSub & Numpad1::Send,^c
~NumpadSub & Numpad2::Send,^v
~NumpadSub & Numpad3::Send,^b
~NumpadSub & NumpadDiv::Send,^j
~NumpadDot & Numpad8::Send,![
~NumpadDot & Numpad2::Send,!/
~NumpadDot & Numpad3::Send,!d
~NumpadDot & Numpad7::Send,!s
~NumpadDot & Numpad1::
	KeyWait,Numpad1,U
	KeyWait,Numpad1,D T0.2
	If(ErrorLevel)
	{
		Send,!1
		Return
	}
	Send,!2
	Return
~NumpadDot & Numpad5::Send,!e
~NumpadDot & Numpad4::Send,!;
~NumpadDot & Numpad6::Send,!'
~NumpadDot & NumpadDiv::Send,!r
~NumpadDot & NumpadMult::Send,!+r
~NumpadDot & BS::Send,!{BS}
;スクリプトを終了する
F12::ExitApp

動作図 以上の組み合わせで、次の通り動作します。

テンキー1

テンキー2

テンキー3

テンキー4

特殊操作
[Alt]+[1]でレイヤーカラーの切り替えですが、[Alt]キーを押したまま[1]を2回連打すると選択中のトーンの領域を表示の切り替えとして動作します。
9・8・7の順でキーを入力すると[Esc]。
キーボードの[F12]を押すとスクリプトが終了します。

スクリプトの解説

AutoHotkeyのホットキー機能で、キーの割当を変更しています。
「入力::出力」という形で記述します。
同時押しは「入力 & 入力::出力」です。

[Shift]は「+」、[Ctrl]は「^」、[Alt]は「!」、[Windowsキー]は「#」と表記します。

入力の頭に「~」を付けると、テンキーの実際に押しているキーと、AutoHotkeyで出力する様に設定したキーの両方が出力され続けます。CLIP STUDIO PAINTのツールシフト(ショートカットキーを長押しすることで一時的にツールを切り替える機能)を利用するために設定が必要でした。※同時押しの際、2つ目のキーを2回押さないとツールが切り替わらない場合があります。ツールシフトを使用しない時には「~」を外して使用すると2度押しの必要がなくなります。

[Shift]、[Alt]、[Ctrl]、[スペース]の4つのキーは、押し続けている状態を正確に入力するために、キーを押したときと離したときの処理を別々に書いています。(他のサイトを参考にしました)

KeyWaitを利用して連打を判定しています。長押しの判定や、3連打以上の判定にも利用できます。

ホットストリング機能で、特定の順番にキーを打つことで、特定のキーを出力しています。「::入力文字列::出力」という表記が通常ですが、この場合、終了文字(Enterなど)を入力しないと発動しないため、終了文字なしオプションを利用して「:*:入力文字列::出力」という形で記述してあります。

; で始まる行はコメントアウトです。

スペースの有無で正常に動作しないので、入力には注意してください。

この記事が気に入ったらサポートをしてみませんか?