2016年3月10日木曜日

daw studio one ショートカットキーをテンキー上の1つのキーに割り当てる。

ステップ入力時に

ショートカットは2つのキーを同時に押さなければならない(ことが多い)ので面倒。
なので、テンキー上の1つのキーに割り当てる。

(後述---StudioOneオリジナルでのテンキーへの割り当てがあるから、それの邪魔にならないように、ステップ入力時だけ立ち上げて有効にして使うこと。もし使っていて不便を感じたら、テンキーをいくつかつないで、デバイスごごとに設定できる方法もあるみたいだ。
(HID Macros
を使えば、デバイス毎の設定が可能らしい。)

最初に
どうやってやるかを考えた。

サンワサプライ プログラマブルテンキー NT-19UH2BK
これを使うのが一番楽そう。
でも、amazonのカスタマレビューを読むと、今一な気もする。

そうすると、vbスクリプトとか、javaとかでやることになるんかなぁ。と思ってさらに検索をかけると、
AutoHotkeyと組み合わせて使うソフトがいくつか見つかる。
例えば、

「HID Macros と Autohotkey を連携させ、USBテンキーをカスタマイズする」などというサイトとか・・・。

Dresskeyなどはすごくいいと思った。
ただ、完璧には動かなかった。

とりあえず、AutoHotkeyの解説ページを見てみると、
自分で使う用途には
AutoHotkeyを単独で使った方が後々面倒がなさそうだし、シンプルにいけそうだ。
ということで、それを単独で使うことにした

AutoHotkeyはvbスクリプトみたいにいろいろできるらしいが、自分はテンキーにショートカットキーを割り当てるだけに使う。

---------------------------------------------------------------------------------
AutoHotkey

まず、インストール

以前は
AutoHotkey_L
みたいなものがあって、それを使えみたいな感じだったけど、今はそういうことはないみたいだ。
自分は
AutoHotkey112301_Install.exe
をダウンロードした。

インストールした後最初にやることは、スクリプトを作ること。

デスクトップ上の何もないところでで右クリック > 新規作成
から
AutoHotkey Script
というのが現れるので、それをクリックすると
新規 AutoHotkey Script.ahk
というファイルができる。

それを適当なエディタで開いてそこに書いてあるものは一旦全部削除して、そこにスクリプトを書いて閉じる。
そのできたファイルをダブルクリックすれば動き出す。

で、完成したら、
拡張子がahkのファイルを簡単にexe化することができるので、必要ならばexe化しておく。
ファイルを右クリックから、
Compile Script
をクリック。
exe化すればAutoHotkeyがなくても、単独で動くようになるから便利。


--ここより下はStudioOne個人設定のショートカットをテンキーに割り当てたahkファイル、スクリプトの内容--

#IfWinActive ahk_class CCLWindowClass
Numpad7::
   Send, !`,
Return
Numpad8::
   Send, !.
Return
Numpad9::
   Send, !/
Return
NumpadSub::
   Send, !`\
Return

NumpadMult::
   Send, !]
Return
NumpadDiv::
   Send, !`;
Return
Numpad4::
   Send, !1
Return
Numpad5::
   Send, !3
Return
Numpad6::
   Send, !5
Return
NumpadAdd::
   Send, !7
Return
Numpad1::
   Send, !`:
Return
NumpadDot::
   Send, !.
Return
Numpad0::
   Send, ^z
Return
#IfWinActive
--------------------------------ここまで-----------------------------------------

Studio Oneでのショートカットの登録は以下のようになっている。

個人の設定
「ノート長」の登録
ショートカット----------------------------------------------------- テンキーへの割り当て
Alt + ,    ----------------------------------------------------2分音符---"7"
Alt + .   ----------------------------------------------------4分音符----"8"
Alt + /   ----------------------------------------------------8分音符---"9"
Alt + \  →表示は円マークになってしまうが、Shiftの隣のバックスラッシュ。--- 16分音符--"-"
Alt + ]   ----------------------------------------------------付点あり----"*"
Alt + ;   -----------------------------------------------------全音符----"/"
Alt + :   -----------------------------------------------------32音符----"1"
Alt + 1  -----------------------------------------------------ストレート--"4"
Alt + 3  -----------------------------------------------------3連符----"5"
Alt + 5  -----------------------------------------------------5連符----"6"
Alt + 7  -----------------------------------------------------7連符----"+"
Alt + 9 -----------------------------------------------------休符------"."
StudioOne
Ctrl + z-----------------------------------------------------やり直し---"0"

---------------------------------------------------------------------------------
スクリプトの解説
(AutoHotkeyのサイトに詳しい解説がある。)

#IfWinActive ahk_class CCLWindowClass
これは、
CCLWindowClass
(Studio Oneのクラス名)
がアクティブの時だけ、ここから下の定義が有効になる。という意味。
解除する場所に
#IfWinActive
と入れて、解除する。

修飾シンボル
+ Shift
^ Control
! Alt
# Windowsロゴキー


注意点
・ 一回一回Returnを入れて無効化しないと、指定したキー以降のSendをすべて拾って実行してしまう。

・ ;(セミコロン) :(コロン) ,(コンマ) ﹨(バックスラッシュ)
はエスケープシーケンスの為 `(アクサングラーブ)を追加する必要がある。のだそうだ。

--------------------------------------------------------------------------------
今回見送ったDresskeyは、例えば、右クリックするだけでソフトのクラス名を表示してくれたり、テンキーへの割り当ても簡単で、すごく使いやすいと思った。
でも、エスケープシーケンス関係の記号のキーを使う時にうまく動かなかったり、AutoHotkeyのバージョンが進んでいるのにDresskeyのメインテナンスが進んでいないので安心して使えない(最後の更新が4年前)。というのもあって、シンプルでexeに簡単に変換可能なAutoHotkeyだけを使うことにした。



0 件のコメント:

コメントを投稿