-
Notifications
You must be signed in to change notification settings - Fork 56
Customizing japanese
.keysnail.js 内の //{{%PRESERVE%
と //}}%PRESERVE%
で囲まれた部分を PRESERVE エリア
と呼びます。
このエリアにはプラグインのオプションや、各種設定を記述します。ただし、
以下に示すものに関してはこのエリアへ含める必要はありません。
- 特殊キーの設定
- フックの設定
- 各種キーバインドの定義
これらの設定に関してはファイル末尾など、 PRESERVE エリア外へ記述するようにしてください。
KeySnail が提供する prompt.read() や prompt.selector() といったインタ
フェースの挙動は PRESERVE エリア
を通じてカスタマイズすることが可能と
なっています。
次の設定をご覧下さい。
prompt.rows = 15; prompt.useMigemo = true; prompt.migemoMinWordLength = 3; prompt.displayDelayTime = 200;
prompt.rows
にはプロンプトの行数を指定します。 Twitter クライアントで一度に表示される TL 数を増やしたり減らしたりしたい場合は、この値を変更してください。
prompt.useMigemo
の値を true へ設定すると、 XUL/Migemo の機能を通じてマッチングが行われるようになります。この際、アルファベットを何文字打ち込んだ時点から Migemo 検索を開始するかを prompt.migemoMinWordLength
で指定することが可能となっています。
prompt.displayDelayTime
には、文字を打ち込んでから検索を開始するまでの遅延時間をミリ秒で指定します。この値を小さくすればレスポンスは良くなりますが、負荷が増えるためにパフォーマンスの低い PC では逆に引っかかるようになってしまいます。バランスを考えて設定して下さい。
プロンプトのキーバインドは、次のような設定を PRESERVE エリア
へ記述しておくことで変更することが可能となっています。以下に示すのはデフォルトのキーバインディングです。
prompt.setActionKey("read", "ESC" , "prompt-cancel"); prompt.setActionKey("read", "RET" , "prompt-decide"); prompt.setActionKey("read", "<down>" , "prompt-next-line"); prompt.setActionKey("read", "<up>" , "prompt-previous-line"); prompt.setActionKey("read", "<tab>" , "prompt-next-completion"); prompt.setActionKey("read", "S-<tab>", "prompt-previous-completion"); prompt.setActionKey("selector", "ESC" , "prompt-cancel"); prompt.setActionKey("selector", "RET" , "prompt-decide"); prompt.setActionKey("selector", "C-RET" , "prompt-continuous-decide"); prompt.setActionKey("selector", "M-RET" , "prompt-continuous-decide-and-next"); prompt.setActionKey("selector", "<down>" , "prompt-next-line"); prompt.setActionKey("selector", "<tab>" , "prompt-next-line"); prompt.setActionKey("selector", "<up>" , "prompt-previous-line"); prompt.setActionKey("selector", "S-<tab>", "prompt-previous-line"); prompt.setActionKey("selector", "<next>" , "prompt-next-page"); prompt.setActionKey("selector", "<prior>", "prompt-previous-page"); prompt.setActionKey("selector", "<home>" , "prompt-beginning-of-candidates"); prompt.setActionKey("selector", "<end>" , "prompt-end-of-candidates"); prompt.setActionKey("selector", "C-i" , "prompt-select-action");
prompt-continuous-decide
は「プロンプトを閉じずに連続してアクションを実行する」ものです。デフォルトの設定では Ctrl + Enter に割り当てられています。
次のような設定により、 KeySnail のキルリングをカスタマイズすることが可能となっています。
command.kill.killRingMax = 15; command.kill.textLengthMax = -1;
command.kill.killRingMax
にはキルリングのサイズを設定します。ここでは 15 が設定されていますので、テキストを最大で 15 個まで格納しておくことが可能となります。
command.kill.textLengthMax
にはキルリングに格納するテキストの最大文字数を指定します。 -1 が設定された場合は無制限となり、どれだけ長いテキストであっても切るリングへ格納されるようになります。
キーボードマクロの再生時に挿入される各キーの間のインターバルは次のようにして変更することが可能です。
macro.sleepTime = 50;
ここでは 50 ミリ秒が指定されているので、例えば j, j, j というキーボードマクロの再生は j, (50 ミリ秒ウェイト), j, (50 ミリ秒ウェイト), j というようなものとなります。
KeySnail がコントロールキー、メタキーと解釈するキーはデフォルトで次のようになっています。
- コントロールキー
- Ctrl
- メタキー
- Alt
- Command
この割り当てを変更したい場合は、初期化ファイル内で key.isControlKey(), key.isMetaKey() という関数を上書きして下さい。
これらの関数は元々次のような定義となっています。
key.isControlKey = function (aEvent) { return aEvent.ctrlKey || aEvent.commandKey; }; key.isMetaKey = function (aEvent) { return aEvent.altKey || aEvent.metaKey; };