Documentation

Key Extension

FJ Flow's Key Extension feature is a powerful capability that defines multiple logical layers on your keyboard, enabling diverse inputs and operations with fewer keys.

FJ Flow’s Key Extension feature is a powerful capability that defines multiple logical layers on your keyboard, enabling diverse inputs and operations with fewer keys.


Three Extension Layers

The Key Extension is composed of the following three layers.

Layer Indicator Display (Default) Description
L1 (Layer 1) 1 (Blue) The basic extension layer triggered by keys like Muhenkan or Henkan. Mainly used for input, editing, and navigation.
L2 (Layer 2) 2 (Red) An advanced extension layer for defining complex symbol inputs, mouse operations, and more.
Space Shift (SS) (Purple) The layer activated by long-pressing the Space key (default is 300ms or longer).

Layer Operation and Mutual Exclusion

  • Mutual exclusion of L1 and L2: The L1 and L2 layers are mutually exclusive (last-one-wins priority) and cannot be active at the same time.
  • Combined Indicator Display: When the L1 or L2 layer is toggled while Space Shift (SS) is active, the indicator displays a combined state such as Ⓢ1 or Ⓢ2, allowing you to accurately track the currently active layers.

Default Key Extension Mapping List

The following default key mappings are available in the Free version (fjFlowFree.ahk) and the Pro version when launched without a configuration file.

Layer Trigger Key Sent Keystroke / Function
L0 (Normal) F8 {Highlight} (Highlight current input line)
L0 (Normal) F9 {Zoom} (Zoom around cursor)
L1 h {Home} (Move to beginning of line)
L1 j {PgDn} (Page Down)
L1 k {PgUp} (Page Up)
L1 l {End} (Move to end of line)
L1 Left / Right {Home} / {End}
L1 Up / Down {PgUp} / {PgDn}
L1 n / m {Layer1} / {Layer2} (Switch extension layers)
L1 w {LWin} (Windows Key)
L1 . {ExecuteMacro} (Play macro)
L1 8 Type () and move cursor left (Parentheses input)
L1 i Type {} and move cursor left (Braces input)
L2 8 [] (Brackets input)
L2 i Type <> and move cursor left (Angle brackets input)
L2 h / j / k / l Mouse wheel Left / Down / Up / Right
L2 a / b / c / d / e / g * / \ / {^} / " / = / ` (Symbol input)
L2 p / q / t / u / v / y {+} / ' / ~ / _ / `
SS (Space Shift) a {AltLock} (Alt key lock)
SS (Space Shift) s {ShiftLock} (Shift key lock)
SS (Space Shift) d {CtrlLock} (Ctrl key lock)
SS (Space Shift) z {WinLock} (Windows key lock)
SS (Space Shift) f / g {Backspace} / {Delete}
SS (Space Shift) h / j / k / l {Left} / {Down} / {Up} / {Right} (Cursor navigation)
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 (Numpad-like numeric input)
SS (Space Shift) x {Esc} (Escape)
SS (Space Shift) @ - (Minus)
SS (Space Shift) n / m {Layer1} / {Layer2}
SS (Space Shift) . {Macro} (Start/stop macro recording)
SS (Space Shift) / {Tab} (Tab input)
SS (Space Shift) c / v ^c / ^v (Copy, Paste)

Key Extension Guide Popup

If keyboard input pauses for a certain period of time (default is 1000ms, configurable) after switching layers, a translucent guide window listing the key mapping definitions for the currently active layer will automatically pop up next to the caret.

  • Auto-Hide: The popup disappears instantly the moment you type any key.
  • Individual Hide Setting: For keys you have already memorized, you can exclude them individually from the popup by unchecking the “Guide” box on the settings screen list. This allows you to show guides only for newly registered or unlearned keys.

Behavior Stabilization and Fast Repeat Technology

FJ Flow employs the following technical processes to achieve extreme comfort during typing:

  1. Migration to Static and Dynamic Hotkeys (HotIf) The dynamic capture using the InputHook method has been retired. Instead, FJ Flow adopts conditional hotkey controls in AutoHotkey, such as HotIf(SpaceIsDown). This completely eliminates key-ignoring bugs in specific applications (such as games and development tools).
  2. Fast Repeat by Bypassing Render Delays During continuous arrow key inputs (key repeat), the update process for the indicator rendering and the internal fixed delay (Sleep) are temporarily bypassed. This enables rapid cursor movement without compromising standard OS key-repeat performance.
  3. KeyDown Activation For system operation keys like Esc, Enter, and Tab, we eliminated the KeyWait mechanism, which waits for the key to be released (KeyUp). Events are sent immediately at the moment the key is pressed (KeyDown), providing a crisp, latency-free operation feel.