Key Extension

fjFlow Key Extension Comprehensive User Guide

Master all home-row typing layers, Space Shift navigation, combos, and hold-to-symbol mappings without moving your hands.

fjFlow Key Extension Comprehensive User Guide

Master all home-row typing layers, Space Shift navigation, combos, and hold-to-symbol mappings without moving your hands.

fjFlow Key Extension provides an integrated, ergonomic multi-layer system that lets you perform text editing, cursor navigation, numeric keypad input, window management, and modifier combinations entirely from the keyboard’s home row.


Table of Contents


1. Ergonomics & Home Row Philosophy

The core goal of fjFlow is zero hand and wrist displacement.

  • Right Hand: Cursor navigation, Enter, and jumping.
  • Left Hand: Deletion (BS/Del), modifier locking (Ctrl/Alt/Win/Shift), and window management.
  • Thumbs: Space key activates the secondary operation layer (Space Shift) without disrupting normal space inputs.

Key Extension Layer Architecture

Figure: Space Shift (SS) Integrated Home-Row Operations


2. Three Input Modes: Space Shift, Hold, and Combo

  1. Space Shift (Hold Space): Holding Space for 300ms unlocks the comprehensive SS layer. A quick tap sends a regular space immediately.
  2. Hold (<key>): Holding a key down produces symbols or special commands (e.g., <h> ➔ Home).
  3. Sequence Combos (key1 + key2): Sequential key strikes after silence trigger macro commands (e.g., s; ➔ {MoveCenter}).

3. L0 Layer: Symbols & Pairs during Standard Typing

While typing normally in the default layer (L0):

  • Top row hold (q to p): Outputs Shift symbols (! @ # $ % ^ & * ( )).
  • Home row hold (a to ;): Outputs mnemonic symbols (@ ' " / ` # & : _ +).
  • 2-key combos: Type eq for ==, pt for ->, br for [], cb for {}.

L0 Layout


4. Space Shift (SS) Layer: Full Navigation & Editing

4.1 Vim-like Cursor Movement

Hold Space and press:

  • h: ← (Left)
  • j: ↓ (Down)
  • k: ↑ (Up)
  • l: → (Right)

Hold Space and hold down:

  • <h>: {Home} (Beginning of line)
  • <l>: {End} (End of line)
  • <k>: {PgUp} (Page Up)
  • <j>: {PgDn} (Page Down)

4.2 Enter, Deletion, and Clipboard

  • Space + ;: {Enter}
  • Space + f: Backspace
  • Space + g: Delete
  • Space + c: Ctrl+C (Copy)
  • Space + v: Ctrl+V (Paste)
  • Space + <v>: Unformatted clean paste

4.3 Home Row Numeric Keypad

  • Space + q through p: Outputs numbers 1 through 0.

4.4 One-Touch Modifier Locks

  • Space + a: {AltLock}
  • Space + s: {ShiftLock}
  • Space + d: {CtrlLock}
  • Space + z: {WinLock}
  • Space + <s>: {StickyShiftLock} (Sticky until explicit unlock)
  • Space + <x>: {UnlockAll} (Instantly dismiss all locks)

4.5 Line Jump and Delete Line

  • Space + dl: Delete entire active line.
  • Space + <f>: Delete from cursor to start of line.
  • Space + <g>: Delete from cursor to end of line.

4.6 Window Snapping & Centering

  • Space + s;: {MoveCenter} (Center active window on current monitor)
  • Space + sh / sl / sk / sj: Snap Left / Right / Top / Bottom
  • Space + wh / wl: Teleport active window to Left/Right monitor

4.7 Keyboard UI Clicking (UI Hints)

  • Space + m: {HintClickAll} (Show 2-letter hint badges and click immediately)
  • Space + <m>: {HintAll} (Show hint badges, jump pointer, and show mouse guide)
  • Space + mh: {MouseHistory} (Jump to recently clicked coordinates)

4.8 Instant Macro & Repeat

  • Space + ,: Record/stop instant keystroke macro
  • Space + <,>: Execute recorded macro
  • Space + .: Repeat last typed word/action

5. L1 Layer: Function Keys (F1–F12)

Activate via Space + n:

  • q to p: F1 to F10
  • a / s: F11 / F12

L1 Layout


6. L2 Layer: Custom Layer & Mouse Scroll

Activate via Space + <n> (Hold):

  • Configurable in KeyExt.json or Settings GUI.
  • Supports wheel scrolling: WheelLeft, WheelDown, WheelUp, WheelRight.

7. On-Screen Key Guide HUD

Holding Space displays a semi-transparent HUD showing available shortcuts in real time. Pressing any mapped key or releasing Space dismisses the HUD instantly.

Key Guide HUD


8. Customization via Settings GUI

Right-click the tray icon and select Settings > Key Extensions:

  • Adjust Hold Timeout (50ms – 500ms).
  • Configure Combo Interval and Silence Delays.
  • Add or modify custom rules per layer.

9. Quick Reference Cheat Sheet

Key Combination Output Action Note
Space + h / j / k / l ← / ↓ / ↑ / → Vim-like movement
Space + <h> / <l> {Home} / {End} Line jump
Space + ; {Enter} Line break
Space + f / g Backspace / Delete Single character delete
Space + dl Delete line Delete entire active line
Space + q ~ p 1 ~ 0 Numeric keypad
Space + s; {MoveCenter} Center active window
Space + m {HintClickAll} Click screen buttons by keyboard
Space + a / s / d / z Alt / Shift / Ctrl / Win Lock One-shot modifier locks