キー拡張・入力集約

fjFlow キー拡張機能 ユーザーガイド

fjFlow のキー拡張機能(Key Extension)は、キーボードのホームポジション(ホームロー)から手を離さずに、各種文字入力、テキスト編集、カーソルナビゲーション、ウィンドウ操作、修飾キー制...

fjFlow のキー拡張機能(Key Extension)は、キーボードのホームポジション(ホームロー)から手を離さずに、各種文字入力、テキスト編集、カーソルナビゲーション、ウィンドウ操作、修飾キー制御を行うための統合システムです。

本ガイドでは、各機能の操作手順、期待される動作結果、およびカスタマイズ方法を作業タスク別に解説します。


目次


1. 概要と基本概念

fjFlow レイヤー構造アーキテクチャ

fjFlow は、アルファベットのホームポジション(asdf jkl;)を中心として操作系を統合しています。矢印キー、テンキー、遠い位置にある Backspace や Enter への手の移動をなくし、すべての操作をホームポジションから1〜2キー以内の範囲で実行します。

左右の手と親指の機能分担

  • 右手(h, j, k, l, ;): カーソル移動(h=←, j=↓, k=↑, l=→)および確定(;=Enter)を担当します。
  • 左手(a, s, d, f, g): 文字削除(f=Backspace, g=Delete)、編集制御(x=Esc, c=コピー, v=貼り付け)、修飾キーロック(d=Ctrl, s=Shift, a=Alt, z=Win)を担当します。
  • 両親指(Space キー): レイヤー切り替えトリガー(Space Shift)を担当します。

キャレット追従インジケーター

キャレット追従インジケーター表示例

テキスト入力中、画面上のキャレット(文字入力カーソル)直下にステータスバッジが表示されます。

  • IME状態: 全角・半角の入力モードを表示します。
  • 修飾キーロック: Ctrl、Shift、Alt、Win のロック状態をアイコンで表示します。
  • 論理レイヤー: 現在アクティブなレイヤー(SS: 紫「Ⓢ」、L1: 青「1」、L2: 赤「2」)を表示します。

2. 事前準備と3つの入力方式

前提条件:

  • Windows 上で fjFlow が起動していること(タスクバーの通知領域にトレイアイコンが表示されている状態)。

fjFlow は以下の3つの入力方式を組み合わせて使用します。

flowchart TD
    subgraph CoreExt ["3つの入力方式"]
        direction TB
        M1["1. スペースシフト (Space Shift)<br/>Space キーを押しながら他キーを入力<br/>カーソル移動、Enter確定、文字削除、テンキー、ウィンドウ配置"]
        M2["2. 長押し (Hold)<br/>キーを約300ms押し続けて離す<br/>Shift不要の記号入力、行頭行末ジャンプ、修飾キー単体送信"]
        M3["3. シーケンスコンボ (Combos)<br/>2文字を連続入力(全レイヤー共通)<br/>ペア括弧自動挿入、1行削除、ウィンドウ配置"]
    end
    style CoreExt fill:#f8fafc,stroke:#cbd5e1,stroke-width:2px,rx:10px
    style M1 fill:#f5f3ff,stroke:#8b5cf6,stroke-width:2px,rx:8px
    style M2 fill:#e0f2fe,stroke:#0ea5e9,stroke-width:2px,rx:8px
    style M3 fill:#fef3c7,stroke:#f59e0b,stroke-width:2px,rx:8px

1. スペースシフト (Space Shift)

Space キーを押下している間、キーボード全体の割り当てがセカンダリ機能(SSレイヤー)へ切り替わります。 Space キー単体を短く押して離した場合は、通常の半角スペースが出力されます。

2. 長押し (Hold)

キーを約300ms(設定可能)押し続けてから離すことで、Shift キーを押さずに記号や拡張コマンドを出力します。短く押した場合は通常のアルファベットが出力されます。

[!NOTE] 同一文字のリピート入力手順 長押し機能が割り当てられているキーで連続入力(キーリピート)を行う場合は、短く1回タップした後、すばやく2打目を押し続けます。2打目の押下状態が維持され、OS本来の連続入力が作動します。

3. シーケンスコンボ (Combos)

英単語等の頭文字(ニーモニック)に基づいた2文字(例: eq で =、cb で {}、s; で中央配置)を素早く連続入力し、一息置くことで機能が発動します。

[!IMPORTANT] 2文字コンボは全レイヤーで有効 コンボ機能は通常タイピング時(L0)だけでなく、Space キーを押している間(SSレイヤー)や L1、L2 レイヤーでも共通して動作します。


3. 通常の文字入力中に記号を入力する方法 (L0レイヤー)

前提条件:

  • メモ帳やエディタ等の文字入力エリアにフォーカスがあること。
  • Space キーを押していない通常入力状態であること。

L0 レイヤー キーマップ図 (JIS / US 両対応)

3.1 上段キーの長押しで Shift 記号を入力する

上段(q 〜 p)のキーを約300ms押し続けて離します。キーボード最上段の数字キー(1 〜 0)に対応する Shift 記号が直接出力されます。 fjFlow はアクティブなキーボード配列(JIS/US)を自動検知し、配列に応じた適切な記号を送信します。

入力キー (長押し) JIS配列 (日本語) 出力 US配列 (英語) 出力 対応する物理キー
<q> ! ! Shift + 1
<w> " @ Shift + 2
<e> # # Shift + 3
<r> $ $ Shift + 4
<t> % % Shift + 5
<y> & ^ Shift + 6
<u> ' & Shift + 7
<i> ( * Shift + 8
<o> ) ( Shift + 9
<p> ~ ) Shift + 0
<;> + : Shift + ;

3.2 ホームポジション周辺の長押しで記号を入力する

中段(a 〜 ;)および下段(z 〜 /)のキーを約300ms押し続けて離します。英単語の頭文字(ニーモニック)に基づいた記号が出力されます。

キー (長押し) 出力記号 ニーモニック (由来) と用途
<a> @ atmark(メールアドレス、メンション)
<s> ' single quote(文字列リテラル)
<d> " double quote(文字列リテラル)
<f> / forward-slash(URL、パス、日付区切り)
<g> ` grave accent(Markdown インラインコード)
<h> # hash / header(見出し、ハッシュタグ)
<j> & join(論理積 AND、&&)
<k> : kolon(時刻、辞書キー値、Python 構文)
<l> _ line / underscore(変数名 snake_case)
<z> ~ zigzag / tilde(範囲指定、ホームディレクトリ)
<x> * multiplication(乗算記号、ワイルドカード)
<c> ^ caret(べき乗、正規表現行頭)
<v> ` `
<b> \ backslash(エスケープシーケンス、パス)
<n> ! not(論理否定 !=、感嘆符)
<m> - minus / hyphen(減算記号、オプションフラグ)
<,> < less than(カンマ Shift、山括弧開き)
<.> > greater than(ピリオド Shift、山括弧閉じ)
</> ? question(スラッシュ Shift、疑問符)

3.3 2文字の連続入力でペア括弧・記号を入力する (コンボ)

  1. 2文字を素早く連続して打鍵します(例: p を押した直後に t を押す)。
  2. 約300msキー入力を停止します(後段静寂)。
  3. ターゲットの記号が出力されます。括弧系コンボの場合、開き括弧と閉じ括弧が出力され、カーソルが自動的に括弧の内部へ配置されます。
入力コンボ 出力結果 動作仕様
eq = 等号を出力します。
pt (){Left} 丸括弧を出力し、カーソルを括弧内に配置します。
br []{Left} 角括弧を出力し、カーソルを括弧内に配置します。
cb {{}{}}{Left} 波括弧を出力し、カーソルを括弧内に配置します。
kg {KeyGuide} キー拡張ガイド HUD の表示/非表示を切り替えます。

3.4 画面ハイライトと拡大鏡を使用する

最上段のファンクションキーを押して視覚補助機能を起動します。

  • F8 を押します。現在アクティブなウィンドウの外周に強調表示枠がトグル表示されます。
  • F9 を押します。キャレット周辺を拡大表示する拡大鏡がトグル表示されます。

4. Space キーを使ってカーソル移動・編集を行う方法 (Space Shift)

前提条件:

  • Space キーを押し下げている状態であること(キャレット横に紫色「Ⓢ」バッジが表示されます)。

操作体系は「短押し(Tap)」と「長押し(Hold)」に分離されています。


4.1 ホームポジションからカーソルを移動する

SS レイヤー 短押しマップ

  1. Space キーを押したままにします。
  2. 右手ホームローのキーを押します。
    • h を押します。カーソルが左へ1文字移動します。
    • j を押します。カーソルが下へ1行移動します。
    • k を押します。カーソルが上へ1行移動します。
    • l を押します。カーソルが右へ1文字移動します。
  3. 目的の位置へ移動したら、Space キーを離します。

4.2 Enter・文字削除・クリップボード操作を実行する

Space キーを押しながら、左手または右手端のキーを押します。

操作キー 実行される機能 動作結果
; Enter(改行・確定) 改行または変換確定を実行します。小指を伸ばす必要がありません。
f Backspace カーソル左側の文字を1文字削除します。
g Delete カーソル右側の文字を1文字削除します。
x Esc ダイアログの閉鎖や検索のキャンセルを実行します。
c コピー (Ctrl + C) 選択範囲をクリップボードにコピーします。
v 貼り付け (Ctrl + V) クリップボードの内容を現在位置に貼り付けます。
b Tab インデントの挿入や入力フィールドの移動を実行します。
/ コンテキストメニュー 右クリックメニュー(AppsKey)をキーボードから開きます。

4.3 上段キーから数値を入力する (テンキー機能)

  1. Space キーを押したままにします。
  2. 上段キー(q 〜 p)を押します。
    • q ➔ 1、w ➔ 2、e ➔ 3、r ➔ 4、t ➔ 5
    • y ➔ 6、u ➔ 7、i ➔ 8、o ➔ 9、p ➔ 0
    • @ ➔ -(マイナス)
  3. テンキーに手を動かすことなく、ホームポジションから数値を直接入力できます。

4.4 修飾キーをワンタッチで合成する (修飾キーロック)

修飾キー(Ctrl, Shift, Alt, Win)を同時押しせずに、順次打鍵で合成します。

単一の修飾ショートカットを実行する手順(例: Ctrl + C):

  1. Space キーを押しながら d を押します。 キャレット横インジケーターに ^(Ctrl)アイコンが表示され、CtrlLock 状態になります。
  2. Space キーを離し、通常のホームポジションから c を押します。 システムが Ctrl + C を合成送信し、選択テキストがコピーされます。送信直後にロックは自動解除され、インジケーターの ^ が消去されます。

複数の修飾ショートカットを実行する手順(例: Ctrl + Shift + Alt + G):

  1. Space キーを押しながら、d(Ctrl)、s(Shift)、a(Alt)を順番に押します。 インジケーターに各修飾キーのアイコンが順次点灯します。
  2. Space キーを離し、g を押します。 Ctrl + Shift + Alt + G が一括送信され、すべてのロックが自動解除されます。

[!NOTE] 自動解除タイマー 修飾キーロックを設定した状態で打鍵を行わなかった場合、約3秒(設定可能)経過すると安全のため自動的に全ロックが解除されます。

操作キー ロック対象 インジケーター表示
d CtrlLock ^
s ShiftLock +
a AltLock !
z WinLock #

4.5 行頭・行末ジャンプと1行削除を実行する (Space 長押し)

SS レイヤー 長押しマップ

Space キーを押しながら、対象キーを約300ms押し続けて離します。

1. 行頭・行末ジャンプとスクロール

  • Space を押しながら <h>(h長押し)を実行します。カーソルが現在行の行頭へ移動します(Home)。
  • Space を押しながら <l>(l長押し)を実行します。カーソルが現在行の行末へ移動します(End)。
  • Space を押しながら <k>(k長押し)を実行します。画面が1ページ分上方向へスクロールします(PageUp)。
  • Space を押しながら <j>(j長押し)を実行します。画面が1ページ分下方向へスクロールします(PageDown)。

2. 行単位の一括削除

  • Space を押しながら <f>(f長押し)を実行します。カーソル位置から行頭までが一括削除されます。
  • Space を押しながら <g>(g長押し)を実行します。カーソル位置から行末までが一括削除されます。
  • Space を押しながら dl または ff(コンボ)を入力します。カーソルが存在する行全体が1行丸ごと削除されます。

3. 修飾キー単体送信とシステム制御

  • Space を押しながら <d>(d長押し)を実行します。Ctrl キー単体信号を送信します。
  • Space を押しながら <a>(a長押し)を実行します。Alt キー単体信号を送信します(メニューバーのフォーカス起動)。
  • Space を押しながら <z>(z長押し)を実行します。Win キー単体信号を送信します(スタートメニュー起動)。
  • Space を押しながら <s>(s長押し)を実行します。固定Shiftロック(StickyShiftLock)が有効化され、手動解除するまで維持されます。
  • Space を押しながら <x>(x長押し)を実行します。有効化されているすべての修飾キーロックを即座に一括解除します。
  • Space を押しながら <v>(v長押し)を実行します。書式(フォントや装飾)を除去したプレーンテキストとして貼り付けます。
  • Space を押しながら </>(/長押し)を実行します。スクロールロック(ScrollLock)を切り替えます。矢印キーでホイールスクロールが可能になります。

4.6 ウィンドウを整列・スナップ配置する

Space キーを押しながら s を押し、続けて方向キー等を押すことで、アクティブウィンドウを画面の特定エリアへ整列します(SS中コンボ)。

入力操作 配置エリア 動作結果
Space + s; 画面中央 ウィンドウをモニターの中央へ配置します。
Space + sh 左半分 ウィンドウを画面左半分にスナップ整列します。
Space + sl 右半分 ウィンドウを画面右半分にスナップ整列します。
Space + sk 上半分 ウィンドウを画面上半分にスナップ整列します。
Space + sj 下半分 ウィンドウを画面下半分にスナップ整列します。
Space + su 左上 ウィンドウを画面左上4分の1エリアに整列します。
Space + so 右上 ウィンドウを画面右上4分の1エリアに整列します。
Space + sn 左下 ウィンドウを画面左下4分の1エリアに整列します。
Space + s. 右下 ウィンドウを画面右下4分の1エリアに整列します。
Space + wh ディスプレイ移動 ウィンドウを左側のモニターへ移動します。
Space + wl ディスプレイ移動 ウィンドウを右側のモニターへ移動します。
Space + wm スペースマウス移動 マウスの動きに追従してウィンドウをドラッグ移動します。
Space + ws スペースマウスサイズ マウスの動きに追従してウィンドウサイズを変更します。
Space + ts タスクスイッチャー ウィンドウ一覧切り替え(Alt + Tab)画面を表示します。

4.7 キーボードで画面の要素をクリックする (UIヒント)

マウスを使わずに、画面上のボタンやリンクをキーボードから操作します。

UI要素をクリックする手順:

  1. Space キーを押しながら m を押します。 画面内のすべてのクリック可能な要素上に2文字のアルファベットバッジ(例: aa, ab)が表示されます。
  2. 目的の要素に表示されている2文字のアルファベットを入力します。 要素が即座に左クリックされ、ヒント表示が消去されます。

その他のヒント・マウス操作コマンド:

  • Space + <m>(または ha): ヒント表示後、要素の座標へポインタを移動し、操作選択メニューを表示します。
  • Space + hg: 画面全体を均等グリッドで分割したヒントを表示します。
  • Space + hi / hb / hl: 入力欄 / ボタン / リンクに限定してヒントを表示します。
  • Space + mj: マウス左クリックを送信します。
  • Space + mjj: マウス左ダブルクリックを送信します。
  • Space + mk: マウス右クリックを送信します。
  • Space + mh: 直前にクリックした画面座標へポインタを復帰させます。

4.8 キー操作をマクロ記録・リピート実行する

  1. Space キーを押しながら . を押します。マクロ記録が開始されます。
  2. 任意のキーボード操作を実行します。
  3. 再度 Space + . を押します。マクロ記録が停止・保存されます。
  4. Space を押しながら <.>(ピリオド長押し)を実行します。記録したキー操作が即座に再生実行されます。
  5. Space + , を押します。直前に実行した1文字または文字列入力が1回リピートされます。

5. ファンクションキーと四則演算を入力する方法 (L1レイヤー)

前提条件:

  • 最上段の物理ファンクションキー(F1〜F12)やテンキーに手を伸ばさずに入力したい場合。

L1 レイヤー キーマップ図

L1 レイヤーの起動と復帰手順

  1. Space キーを押しながら n を押します。 L1 レイヤーへ切り替わり、キャレット横インジケーターに青色「1」が表示されます。
  2. 目的のファンクションキーまたは記号を入力します。
  3. 入力後、n を押すか、再度 Space + n を押します。 通常レイヤー(L0)へ復帰し、インジケーター表示が消去されます。

キーマッピング一覧

入力キー 出力内容 主な用途・変換機能
q w e r t F1 〜 F5 ヘルプ(F1)、ファイル名変更(F2)、検索(F3)、更新(F5)
y u i o p F6 〜 F10 日本語変換: カタカナ(u=F7)、半角カナ(i=F8)、全角英数(o=F9)、半角英数(p=F10)
a F11 / + 全画面表示切替(F11)または加算記号(+)
s F12 / - 開発者ツール(F12)または減算記号(-)
d * 乗算記号(アスタリスク)
f / 除算記号(スラッシュ)
m L2切替 L2 レイヤーへ直接切り替えます。

6. マウスホイール操作とカスタムキーを使用する方法 (L2レイヤー)

前提条件:

  • キーボードからマウスホイールの回転・チルトを行いたい場合、またはユーザー独自の拡張機能を使用したい場合。

L2 レイヤーの起動と復帰手順

  1. Space キーを押しながら <n>(n長押し)を実行します。 L2 レイヤーへ切り替わり、キャレット横インジケーターに赤色「2」が表示されます。
  2. 以下のキーを押してホイール操作を実行します:
    • h ➔ マウスホイール左チルト (WheelLeft)
    • j ➔ マウスホイール下スクロール (WheelDown)
    • k ➔ マウスホイール上スクロール (WheelUp)
    • l ➔ マウスホイール右チルト (WheelRight)
  3. 操作完了後、m を押します。通常レイヤー(L0)へ復帰します。

7. キー拡張ガイド (HUD) を表示・カスタマイズする方法

現在有効なレイヤーのキーマッピングを確認したい場合、画面上に半透明のガイドを表示できます。

fjFlow キーガイド HUD 表示例

自動表示と消去の手順

  1. Space キーを押したままにするか、L1 / L2 レイヤーに切り替えます。
  2. キーを入力せずに約1秒間待機します。 キャレットの横に、現在使用可能なキーマッピング一覧(HUDガイド)が自動的にポップアップ表示されます。
  3. 任意のキーを入力します。 HUDガイドは即座に消去されます。

特定キーをガイドから非表示にする手順

  1. タスクバーの fjFlow アイコンを右クリックし、設定 を選択します。
  2. キー拡張 タブを選択します。
  3. 一覧リストで、非表示にしたいキーの ガイド 列のチェックボックスをクリアします。
  4. 適用 をクリックします。該当キーがHUDポップアップの一覧から除外されます。

8. 動作タイミングとキー割り当てを調整する方法 (設定GUI)

タイピング速度や好みに合わせて、判定時間やキー割り当てを調整できます。

設定画面の開き方

  1. タスクバーの通知領域にある fjFlow トレイアイコンを右クリックします。
  2. メニューから 設定 を選択します。
  3. 上部のタブから キー拡張 を選択します。

タイミングスライダーの調整手順

項目名 規定値 調整の指針
長押し判定時間 (SilenceTime) 300ms キーを長押しと認識するまでの時間です。記号をすばやく出したい場合は左へ動かし、通常タイピング中の誤発動を防ぎたい場合は右へ動かします。
コンボ受付間隔 (ComboIntervalTime) 300ms 連続打鍵をコンボとして受け付ける許容時間、および後段静寂時間です。コンボ入力をゆったり行いたい場合は大きく設定します。
2連打猶予時間 (DoubleTapTotalTime) 300ms 同一キーの2連打(ffなど)を認識する時間です。
ガイド表示遅延時間 1000ms レイヤー切り替え後にHUDガイドが現れるまでの無打鍵時間です。

キーマッピングの追加・編集手順

  1. キー拡張 タブ内のリストから、変更したいキーを選択して 編集 をクリック(または 新規追加 をクリック)します。
  2. レイヤー(L0, SS, L1, L2)を選択します。
  3. トリガーキー および 出力ターゲット を入力します。
  4. OK をクリックし、画面右下の 保存して閉じる をクリックします。設定内容は KeyExt.json に保存されます。

9. キー割り当てクイックリファレンス

L0 レイヤー (通常タイピング)

上段長押し (JIS): q=!  w="  e=#  r=$  t=%  y=&  u='  i=(  o=)  p=~
上段長押し (US) : q=!  w=@  e=#  r=$  t=%  y=^  u=&  i=*  o=(  p=)
中段長押し      : a=@  s='  d="  f=/  g=`  h=#  j=&  k=:  l=_  ;=+(JIS)/:(US)
下段長押し      : z=~  x=*  c=^  v=|  b=\  n=!  m=-  ,=<  .=>  /=?
2文字コンボ     : eq ➔ =    pt ➔ ()    br ➔ []    cb ➔ {}    kg ➔ ガイド表示

SS レイヤー (Space Shift 統合操作)

カーソル移動    : h=←    j=↓    k=↑    l=→
確定・削除      : ;=Enter   f=BS   g=Delete
編集・クリップ  : c=コピー   v=貼付   x=Esc   b=Tab   /=右クリック
テンキー数字    : q=1  w=2  e=3  r=4  t=5  y=6  u=7  i=8  o=9  p=0  @=-
修飾キーロック  : d=CtrlLock   s=ShiftLock   a=AltLock   z=WinLock
修飾キー単体送信: <d>=Ctrl単体   <a>=Alt単体   <z>=Win単体   <s>=固定Shift
ジャンプ・行削除: <h>=Home   <l>=End   <k>=PgUp   <j>=PgDn   <f>=行頭削除   <g>=行末削除   dl/ff=1行削除
システム制御    : <v>=書式なし貼付   <x>=全ロック解除   <.>=マクロ実行   </>=ScrollLock
ウィンドウ操作  : s;=画面中央   sh/sl=左右スナップ   sk/sj=上下スナップ   wh/wl=画面間移動
マウス・ヒント  : m=全ヒント(即クリック)   <m>/ha=全ヒント+メニュー   mj=左クリック   mk=右クリック
レイヤー切替    : n=L1切替   <n>=L2切替

L1 レイヤー (ファンクション・四則演算)

ファンクション  : q=F1  w=F2  e=F3  r=F4  t=F5  y=F6  u=F7  i=F8  o=F9  p=F10  a=F11  s=F12
四則演算記号    : a=+   s=-   d=*   f=/
レイヤー操作    : n=L1終了(L0復帰)   m=L2切替