Getting Started

fjFlow デフォルトキー拡張機能の設計思想と人間工学解説書

本ドキュメントでは、FJ Flow に標準搭載されているデフォルトのキー拡張機能(L1, L2, Space Shift)のキーマッピング定義について、「なぜこの配置なのか」「なぜ入力効率が爆発的に上...

本ドキュメントでは、FJ Flow に標準搭載されているデフォルトのキー拡張機能(L1, L2, Space Shift)のキーマッピング定義について、「なぜこの配置なのか」「なぜ入力効率が爆発的に上がるのか」 を以下の3つの観点から解説します。

  1. 学習コストが異常に低い
  2. ホームポジションを崩さない
  3. 操作が合理的で簡潔

1. 🧠 学習コストが異常に低い (Extremely Low Learning Curve)

キーボード拡張ツールで最も高いハードルは「新しいキー配置を覚える記憶のストレス」です。FJ Flow のデフォルト定義は、ユーザーがすでに持っている**「既存の認知モデル」「キーの物理的形状」「身に付いた身体感覚」**に徹底的に寄り添うことで、マニュアルを見なくても直感的に指が動くよう設計されています。

① 世界標準の方向キー体系 (h, j, k, l)

  • カーソル移動 (Space + h/j/k/l): プログラマーやエディタ(Vim)の業界標準である h (左), j (下), k (上), l (右) の配置を採用。
  • 一貫した方向感覚:
    • SS レイヤー: ← ↓ ↑ → (1文字移動)
    • L1 レイヤー: Home PgDn PgUp End (行頭・行末・画面単位のジャンプ移動)
    • L2 レイヤー: ホイール左 ホイール下 ホイール上 ホイール右 (スムーズスクロール) どのレイヤーに切り替えても 「h=左/戻る, j=下, k=上, l=右/進む」 という方向概念軸が統一されているため、記憶の混乱が一切起こりません。

② アルファベットの頭文字・位置と直感的に結びつく修飾キーロック (a, s, d, z)

Space を押しながら左手ホームポジション(ASDF周辺)を叩くだけで、複雑な修飾キーロックが発動します。

  • Space + s ➔ **S**hiftLock (Shiftの S)
  • Space + a ➔ **A**ltLock (Altの A)
  • Space + d ➔ **C**trlLock (左手ホーム位置の中指 d)
  • Space + z ➔ **W**inLock (キーボード左下の角 z)
  • Space + 任意のキー ➔ UnlockAll (全解除)

③ QWERTY配列の上段をそのまま使う「テンキーシミュレーション」

テンキーのない小型キーボードやノートPCでも、Space を押しながらQWERTY配列の最上段 q w e r t y u i o を押すだけで、左から順に 1 2 3 4 5 6 7 8 9 が直感的に出力されます。特別な配置を暗記する必要がありません。


2. 🖐 ホームポジションを崩さない (Unbroken Home Position)

タイピング速度と体力の消耗を分ける最大の要因は**「右手・左手をホームポジション(F/Jキー)から離す頻度」**です。

① ホームポジション外の遠いキーへのアクセスをゼロ化

従来のキーボード入力では、以下の操作のたびに手がホームポジションから大きく離れていました。

  • 矢印キー / PageUp / PageDown / Home / End ➔ 右手を右下や右端へ移動
  • テンキー ➔ 右手を右端へ大きく移動
  • Backspace / Delete ➔ 右手小指を右上へ大きく伸ばす
  • Esc ➔ 左手を左上最端へ伸ばす

FJ Flow では、これらがすべてホームポジションに配置されています:

  • Space + f / g ➔ Backspace / Delete (人差し指で即座に文字消去)
  • Space + x ➔ Esc (左手で即座にキャンセル)
  • Space + / ➔ Tab (右手小指で即座にインデント)

② 小指の酷使・腱鞘炎を防ぐ「修飾キーロック」

Ctrl+C や Shift+矢印 などの連続入力時、小指を無理な角度に曲げて Ctrl や Shift キーを押し続ける動作は、ホームポジションを崩すだけでなく手に強い肉体的負担を与えます。 FJ Flow では、ワンショット修飾キーや修飾キーロック機能により、**「ぽんと1打押すだけ」**で修飾キー状態が保持されるため、ホームポジションの綺麗な手を保ったまま安全かつ軽快に操作できます。


3. ⚡ 操作が合理的で簡潔 (Rational, Concise & Efficient)

キー操作のロジックがシンプルで洗練されているため、余計な思考の割り込み(文脈の分断)が発生しません。

① 人間工学に基づいた親指(Space)主導のレイヤー起動

  • 人間の一番太く自由度の高い指である「親指」が常時乗っている Space キーをレイヤーキー(Space Shift)に抜擢。
  • 長押し(300ms以上)でレイヤー起動、短押し(チョン押し)で通常のスペース出力。
  • 親指で Space を押さえ込んだまま、他の指で文字を叩く動作は、ピアノのコード(和音)を弾くように極めて自然で簡潔です。

② 3ステップ判定アルゴリズムによる「誤判定ゼロ&0ms爆速応答」

ダブルタップ機能(_X2)を併用しても、一般的なツールのような「入力のもたつき」が一切ありません。

  1. 通常タイピング時 (0ms遅延): 文章を打ち続けている最中(前段静寂300ms未満)は、タイマー保留を一切経由せず、キーを押した瞬間に 0ms 遅延で文字が出力されます。
  2. 3連打の自動解体: aaa などの高速な3連打を入力した際は、ツールが自動的に「3連打」と判別し、ダブルタップを解体して単打を正しく出力します。
  3. 心地よい「タッタン」のリズム: 無操作からの二度押し時のみ、設定された決定時間(デフォルト200ms)を経て「タッタン」という気持ち良いリズムでダブルタップが確定します。

💡 まとめ:直感と効率が極限まで融合した完成度

FJ Flow のデフォルト定義は、単なるキーの穴埋めではありません。

  • 認知の負担をゼロにする(学習コストの低減)
  • 物理的な手の動きをゼロにする(ホームポジションの維持)
  • 無駄な待機時間と誤動作をゼロにする(合理的で簡潔な操作)

この3つの原則が徹底的に貫かれているからこそ、導入したその日から手の一部のように馴染み、タイピングの快感と作業スピードを次元の違うレベルへと引き上げます。