簡易キーボードマクロ for Mac OS X

https://www.catch.jp:443/wiki/index.php?keymacro4Mac

AppleScript入門 > 簡易キーボードマクロ for Mac OS X

3971523437_03103a985e.jpg

Photo by Doña Tecla via Flickr

Javascript / AppleScriptで作成した、簡易キーボードマクロというか、人間の替わりにキー入力を再現するプログラムです。

ちょいとMacで仕事をすることになり、こういうのが必要になったんだけど、手ごろなが見つからなかったので作ってみました。

AppleScriptのスクリプトエディタでは、Javascriptも動くので、それを利用しています。

決して、多機能ではありません。

もっと良い方法があれば、ぜひ教えてください。> @ycatch

用途

ブラウザの選択中のフォームに、指定した複数行のテキストを自動的に入力します。

キー入力の様子を動画キャプチャするために作成したので、1文字ずつ入力していくようになっています。

対象アプリ

対象アプリを切り替えるには、browser変数に代入する値を下記に変更してください。

  • Google Chrome (デフォルト)
  • Safari
  • Terminal
var browser = "Google Chrome"; // Set your browser "Safari"

スクリプトコードの配布先

下記から、スクリプトエディタへコピペで貼り付けしてください。

起動する

  • ブラウザを起動して、フォームを選択しておきます。
  • スクリプトエディタを立ち上げます。
  • Javascriptを選択しておきます。
  • 入手したスクリプトコードをスクリプトエディタに貼り付けます。
  • スクリプトを実行します。

マクロの書き方

  • キー入力したい文字列は、スクリプトコードのcode_line変数に配列として記述しておきます。
  • 各行はシングルクォートで囲み、行ごとにコンマで区切ります。

サンプル

var code_lines = [
	'/* hello world */',
	'/* |sekainominasann,konnnitiha_^| */',
	'print("hello world")']

スクリプトコードを実行すると、次のように入力されます。

/* hello world */
/* 世界の皆さん、こんにちは */
print("hello world")

変換より、キーボードマクロの動作が早すぎる場合は、「_=^=」とウエイトを入れてください。

コマンド

次の文字を含めておくと、各キーの入力を再現します。

  • 「|」 日本語変換ON/OFF
  • 日本語変換ONのとき
    • 「_」 変換する
    • 「^」 変換を確定する
    • 「$」 下向き矢印
    • 「>」 右向き矢印
    • 「%」 delete
    • 「\」 TAB
    • 「=」 ウェイト

Rubyのブロック変数指定で「|」を使用する場合は、コード中で別の記号(\)に置き換えてください。

動作について

入力する文字によって、通常のキーボード入力と異なる動作をする場合があります。 そんな場合は、そのキーをキーコードで入力するように、コードを修正してみてください。

また、不足しているキーがあるとか、機種によってキーコードが違うとか、なんてことがあれば、いい感じに改良してください。

参考:Macのキーコード

  • 空白キー 49
  • 改行キー 76
  • タブキー 48
  • 英数キー 102
  • かなキー 104

カスタマイズ

文字入力のスピード

下記に秒単位で設定します。

var key_delay = 0.08;

改行のスピード

下記のdelayの数値を直接修正します。

	delay(0.5); // 改行前
	if (j < len -1) {
		sys.keyCode(76);	// Enterキー
		delay(0.8); // 改行後
	}

  トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
添付ファイル: filescript.txt 312件 [詳細]
Last-modified: 2017-06-14 (水) 09:26:59 (545d)