キー拡張機能 (Key Extension)
FJ Flow のキー拡張機能は、キーボードに複数の論理レイヤーを定義し、少数のキーで多くの入力や操作を可能にする強力な機能です。...
FJ Flow のキー拡張機能は、キーボードに複数の論理レイヤーを定義し、少数のキーで多くの入力や操作を可能にする強力な機能です。
3つの拡張レイヤー
キー拡張は以下の3つのレイヤーで構成されています。
| レイヤー | インジケーター表示(デフォルト) | 説明 |
|---|---|---|
| L1 (Layer 1) | 1 (青色) |
無変換キーや変換キーなどを起点とする基本拡張レイヤー。主に入力・編集や移動に使用。 |
| L2 (Layer 2) | 2 (赤色) |
より高度な記号入力やマウス操作などを定義できる拡張レイヤー。 |
| Space Shift (SS) | Ⓢ (紫色) |
Space キーを長押し(デフォルト300ms以上)することで起動するレイヤー。 |
レイヤーの動作仕様と排他制御
- L1とL2の排他制御:
L1レイヤーとL2レイヤーは排他(後勝ち優先)になり、同時に有効になりません。 - 合成表示: Space Shift (SS) が有効な状態で
L1またはL2レイヤーが切り替わると、インジケーターにはⓈ1やⓈ2のように合成表示され、現在の有効レイヤーを正確に把握できます。
デフォルトのキー拡張マッピング一覧
フリー版(fjFlowFree.ahk)および、設定ファイルがない状態で起動したプロ版では、以下のデフォルトキーマッピングが利用可能です。
| レイヤー | 入力キー | 送信内容 / 機能 |
|---|---|---|
| L0 (通常) | F8 |
{Highlight} (入力行ハイライト) |
| L0 (通常) | F9 |
{Zoom} (カーソル周辺ズーム) |
| L1 | h |
{Home} (行頭へ移動) |
| L1 | j |
{PgDn} (ページダウン) |
| L1 | k |
{PgUp} (ページアップ) |
| L1 | l |
{End} (行末へ移動) |
| L1 | Left / Right |
{Home} / {End} |
| L1 | Up / Down |
{PgUp} / {PgDn} |
| L1 | n / m |
{Layer1} / {Layer2} (拡張レイヤー切り替え) |
| L1 | w |
{LWin} (Windowsキー) |
| L1 | . |
{ExecuteMacro} (マクロ再生) |
| L1 | r |
{Repeat} (最後に入力したキー操作を繰り返す) |
| L1 | 8 |
() の入力とカーソル左移動 (括弧入力) |
| L1 | i |
{} の入力とカーソル左移動 (波括弧入力) |
| L2 | 8 |
[] (角括弧入力) |
| L2 | i |
<> の入力とカーソル左移動 (不等号入力) |
| L2 | h / j / k / l |
マウスホイール左 / 下 / 上 / 右 |
| L2 | a / b / c / d / e / g |
* / \ / {^} / " / = / ` (記号入力) |
| L2 | p / q / t / u / v / y |
{+} / ' / ~ / _ / ` |
| SS (Space Shift) | a |
{AltLock} (Altキーロック) |
| SS (Space Shift) | s |
{ShiftLock} (Shiftキーロック) |
| SS (Space Shift) | d |
{CtrlLock} (Ctrlキーロック) |
| SS (Space Shift) | z |
{WinLock} (Winキーロック) |
| SS (Space Shift) | f / g |
{Backspace} / {Delete} |
| SS (Space Shift) | h / j / k / l |
{Left} / {Down} / {Up} / {Right} (カーソル移動) |
| SS (Space Shift) | p |
0 |
| SS (Space Shift) | q w e r t y u i o |
1 2 3 4 5 6 7 8 9 (テンキー風数値入力) |
| SS (Space Shift) | x |
{Esc} (エスケープ) |
| SS (Space Shift) | @ |
- (マイナス) |
| SS (Space Shift) | n / m |
{Layer1} / {Layer2} |
| SS (Space Shift) | . |
{Macro} (マクロ記録開始/停止) |
| SS (Space Shift) | / |
{Tab} (タブ入力) |
| SS (Space Shift) | c / v |
^c / ^v (コピー, 貼り付け) |
キー拡張ガイドポップアップ
レイヤー切り替え後、キーボード操作が一定時間(デフォルト 1000ms / 設定可能)途絶えた場合、現在有効なレイヤーのキーマッピング定義一覧が、キャレットの隣に半透明のガイド窓として自動ポップアップ表示されます。
- 自動非表示: 何かキーを入力した瞬間にポップアップは即座に消去されます。
- 個別非表示設定: すでに覚えたキー定義については、設定画面のリスト上で「ガイド」チェックボックスをオフにすることで、ポップアップ表示から個別に除外できます。これにより、新しく登録したキーや未習得のキーだけをガイドさせることが可能です。
挙動の安定化と高速リピート技術
FJ Flow では、タイピング中の極限の快適性を実現するために、以下の技術的処理を行っています。
- 静的・動的ホットキー(
HotIf)への移行 InputHook方式による動的キャプチャを廃止し、AutoHotkey のHotIf(SpaceIsDown)などの条件付きホットキー制御を採用。特定のアプリケーション(ゲームや開発ツール)におけるキー無視バグを完全に解消しています。 - 描画遅延のバイパスによる高速リピート 矢印キーの連続入力(キーリピート)時、インジケーター描画の更新処理や内部の固定遅延(Sleep)を一時的にバイパスすることで、OS標準のキーリピート性能を落とさずに高速なカーソル移動を実現します。
- キーオン(KeyDown)発火
Esc、Enter、Tabなどのシステム操作キーについて、キーの解放(KeyUp)を待つKeyWaitを排除。キーが押された瞬間(KeyDown)に即座にイベントを送信し、レイテンシを感じさせないキビキビとした操作感を提供します。