#author("2017-06-12T13:56:29+09:00","default:wikiwriter","wikiwriter") &tag(KeyboardMaestro); *目次 [#qc839591] #contents *関連ページ [#h87eca54] *参考情報 [#mfca405b] -[[TextExpander から Keyboard Maestro へ移行した – with a Christian Wife:http://blog.withachristianwife.com/2016/11/29/use-keyboard-maestro-as-text-expansion/]] -[[[Keyboard Maestro] “Insert Text by Pasting” 問題 – with a Christian Wife:http://blog.withachristianwife.com/2016/12/23/insert-text-by-pasting-problem-in-km/]] *ペースト [#r8cf43d3] **テキストペースト時にカーソルポジションを指定 [#kd1fa855] - "%|%"がカーソル位置に該当する。ただしMacroの戻り値として文字列を返し、そこに %|%が含まれているような場合、うまくいかない模様。 *マクロ [#y58495f1] **サブマクロを呼び出す [#mbad0b06] -[[action:Execute a Macro [Keyboard Maestro Wiki]:https://wiki.keyboardmaestro.com/action/Execute_a_Macro]]にあるように、Execute Macroアクションを使用する。 **パラメータの受け渡し [#n6b566bd] -呼び出し先がシェルスクリプトの場合、クリップボード経由でわたしたり、またはKM変数でわたすことができる。 -クリップボードの場合、呼び出し先では普通にpbpasteで内容を読み込む。 -KM変数の場合、呼び出し先で例えばTestParamに"あいうえお"をセットしておき、Macroをwith Parameterで「TestParam」を選んで引き渡す。複数の場合「TestParam1, TestParam2」とカンマ区切りでいける模様。 -呼び出し先のシェルスクリプトでは、$KMVAR_パラメータ名でアクセスできる。 echo $KMVAR_TestParam -ただしシェルスクリプトの場合、リードオンリーで、値を返すため書き換えてもだめ(AppleScriptだといけるようだが)。 *Tips [#m2339ca8] **TextExpander代わりに使用する [#wba5dca9] -トリガーとしてTypedStringを利用する。 -Insert Text by Pastingで文字列を挿入する(Typeだと遅い)。 -実行後クリップボードが汚れるのが嫌な場合、Delete Past Clipboard アクションをパラメータ0で実行する **ChromeのURLやタイトルを取得する [#lb29a361] -%ChromeURL%や、%ChromeTitle%で取得可能。Insert Text by Pastingを使用すればテキスト編集エリアなどにペーストできる。 **Clipboardに文字列をコピーする [#c1ee23b0] -例えばスクリプトを実行するまえにClipboardに引数をコピーしたい場合がある。 -"Set Clipboard to Text"アクションを利用すれば良い(名前から受ける印象とことなり、システムクリップボードにテキストをセットするアクション)。%ChromeURL%といったキーワードも利用可能。