Configuration
In the Pro Edition (fjFlow.ahk), all settings are saved as structured JSON files. You can edit these files directly with...
Configuration
In the Pro Edition (fjFlow.ahk), all settings are saved as structured JSON files. You can edit these files directly with any text editor and reload the utility to apply changes.
File Placement
Configuration files are placed in the same directory as the executable or script:
- fjFlow.json: Stores general utility preferences, indicator layouts, window highlighting, and zoom settings.
- KeyExt.json: Stores keyboard extension mappings (shortcuts mapped to L1, L2, and Space Shift layers).
fjFlow.json Parameters
{
"IndicatorEnabled": true, // Toggles the caret indicator
"IndicatorTextVal": "🠋", // Label character
"IndicatorColor": "FF0000", // Label color (Hex RGB)
"MacroIndicatorEnabled": true, // Toggles macro indicator
"MacroIndicatorText": "🅼", // Label for macro recording
"MacroIndicatorColor": "FF00FF", // Label color for macro recording
"ImeIndicatorEnabled": true, // Toggles IME-linked indicator
"ImeIndicatorTextOn": "あ",
"ImeIndicatorColorOn": "FF0000",
"ShowImeIndicatorWhenOff": true, // Shows indicator even when IME is Off
"ImeIndicatorTextOff": "🠋",
"ImeIndicatorColorOff": "00FF00",
"CapsLockIndicatorEnabled": true, // Toggles CapsLock-linked indicator
"CapsLockIndicatorText": "🄰",
"CapsLockIndicatorColor": "FF0000",
"ShiftLockColor": "FF0000", // Color during ShiftLock
"OffsetX": -15, // X offset from caret (px)
"OffsetY": -30, // Y offset from caret (px)
"BlinkSpeed": 20, // Indicator fade speed (1-255)
"FontSize": 14, // Font size (pt)
"FontBold": false, // Toggle bold font weight
"HighlightHotkey": "F8", // Hotkey for active line highlight
"HighlightHeight": 80, // Highlight height (px)
"HighlightAlpha": 120, // Dimming mask opacity (0-255)
"HighlightColor": "FFFFFF", // Highlight border color
"HighlightBorderSize": 1, // Highlight border thickness (px)
"ZoomHotkey": "F9", // Hotkey for caret zoom
"ZoomScale": 2.0, // Zoom magnification factor
"ZoomHeight": 400, // Zoom window height (px)
"ZoomBorderSize": 3, // Zoom window outline thickness (px)
"ZoomAlpha": 200, // Zoom window opacity (0-255)
"ZoomBorderAlpha": 80, // Zoom window outline opacity (0-255)
"ZoomBorderColor": "008080", // Zoom window outline color
"ZoomFadeDelay": 1000, // Delay before zoom window fades out (ms)
"HideDuringInput": true, // Hides indicator while typing
"HideDelay": 1000, // Delay before indicator reappears (ms)
"FocusHighlightEnabled": true, // Toggles active window highlighting
"FocusHighlightBorderEnabled": true,// Toggles window border highlights
"FocusHighlightFillEnabled": true, // Toggles window background fills
"FocusHighlightDimEnabled": false, // Toggles background dimming (focus highlight)
"FocusHighlightBorderSize": 3, // Window border thickness (px)
"FocusHighlightBorderAlpha": 150, // Window border opacity (0-255)
"FocusHighlightFillAlpha": 12, // Window background fill opacity (0-255)
"FocusHighlightDimAlpha": 120, // Background dimming opacity (0-255)
"FocusHighlightColor": "FF0000", // Active window highlight color (IME On)
"FocusHighlightColorOff": "00FF00",// Active window highlight color (IME Off)
"FocusHighlightBlink": true, // Enables window highlight breathing
"FocusHighlightBlinkSpeed": 12, // Breathing animation speed (0-255)
"FocusHighlightColorMode": 1, // 0: User-Defined color, 1: CPU/RAM Linked
"ShiftLockText": "🅢", // Label during ShiftLock (One-shot)
"ShiftLockColor": "800000", // Color during ShiftLock (One-shot)
"CtrlLockText": "🅒", // Label during CtrlLock (One-shot)
"CtrlLockColor": "00C0FF", // Color during CtrlLock (One-shot)
"AltLockText": "🅐", // Label during AltLock (One-shot)
"AltLockColor": "FF8000", // Color during AltLock (One-shot)
"WinLockText": "🅦", // Label during WinLock (One-shot)
"WinLockColor": "00FF00", // Color during WinLock (One-shot)
"StickyCtrlLockText": "🅲", // Label during Sticky CtrlLock
"StickyCtrlLockColor": "00008B", // Color during Sticky CtrlLock
"StickyAltLockText": "🅰", // Label during Sticky AltLock
"StickyAltLockColor": "FF8C00", // Color during Sticky AltLock
"StickyWinLockText": "🆆", // Label during Sticky WinLock
"StickyWinLockColor": "006400", // Color during Sticky WinLock
"StickyShiftLockText": "🆂", // Label during Sticky ShiftLock
"StickyShiftLockColor": "8B0000", // Color during Sticky ShiftLock
"ScrollLockText": "📜", // Label during ScrollLock
"ScrollLockColor": "0284C7", // Color during ScrollLock
"SwapCapsLockCtrl": false, // Swaps CapsLock & Left Ctrl (US layout only)
"UnlockAllOnIdleEnabled": true, // Auto-release modifier locks on inactivity
"UnlockAllOnIdleTimeout": 3000, // Inactivity timeout in milliseconds
"KeyExtGuideEnabled": true, // Enables mapping guide popup
"KeyExtGuideDelay": 1000, // Delay before mapping guide popup (ms)
"KeyExtDoubleTapTimeout": 200, // Double-tap detection timeout (ms)
"KeyExtGuideBorderEnabled": true,
"KeyExtGuideBorderSize": 2,
"KeyExtGuideBorderAlpha": 200,
"KeyExtGuideBorderColor": "0066FF",// Guide popup border color
"KeyExtGuideFillEnabled": true,
"KeyExtGuideBgColor": "1F2937", // Guide popup background color
"KeyExtGuideFillAlpha": 220, // Guide popup background opacity (0-255)
"KeyExtGuideFontSize": 11,
"KeyExtGuideFontName": "Consolas",
"KeyExtGuideCmdColor": "F59E0B", // Macro command text color in guide
"SpaceMouseHoldDelay": 1000, // SpaceMouse hold duration for minimize (ms)
"SpaceMouseGuideAlpha": 70, // SpaceMouse 9-area guide overlay opacity (0-255)
"SpaceMouseAutoRaiseEnabled": true,// Auto-raise window under mouse cursor
"SpaceMouseGuideEnabled": true, // Enables 9-area visual guide overlay
"UiSnapEnabled": false, // Toggles UI Smart Snap (Aim Assist)
"UiSnapRadius": 50, // Detection radius around mouse cursor (px)
"UiSnapStopDelay": 60, // Mouse stop detection delay (ms)
"UiSnapJumpDelay": 500, // Delay before snapping after highlight appears (ms)
"MouseCircleEnabled": false, // Mouse circle (hidden pointer when idle, pulsing ring)
"MouseCircleShape": "Orbit", // Circle shape ("DualRing", "Reticle", "Glow", "Orbit")
"MouseCircleRadius": 30, // Circle radius (px)
"MouseCircleBlinkSpeed": 5, // Blink speed
"MouseCircleAlpha": 200, // Opacity (0-255)
"UiHintCvPruning": 3 // CV Prune Level (1-20)
}
KeyExt.json Parameters
{
"Enabled": 1, // Toggles Key Extension features
"SSColor": "8B5CF6", // SpaceShift active color
"SSText": "🅂", // SpaceShift label
"L1Color": "0066FF", // L1 layer color
"L1Text": "1", // L1 layer label
"L2Color": "E11D48",
"L2Text": "2",
"SSColor": "8B5CF6",
"SSText": "Ⓢ",
"Mappings": {
"L1|h": { "value": "{Home}", "showGuide": false }, // Object format (with guide filters)
"L1|j": "{PgDn}", // String format (standard map)
"SS|s": "{ShiftLock}",
"SS|h": "{Left}"
}
}
Structure of Mapping Definitions
-
Condition Prefix (
c|key): The prefix before|defines one of the 8 mapping conditions:L0: None (single key press)L0_X2: None X2 (double-tap single key)L1: Layer 1L1_X2: Layer 1 X2 (double-tap while L1 is active)L2: Layer 2L2_X2: Layer 2 X2 (double-tap while L2 is active)SS: Space ShiftSS_X2: Space Shift X2 (double-tap while Space is held)
-
String Format (Simple Mapping): Directly maps a condition key (e.g.
"L1|j": "{PgDn}") to a target key or command. -
Object Format (Advanced Mapping):
"L1|h": { "value": "{Home}", "showGuide": false }allows configuring extra parameters such as whether the mapping rule is shown in the guide popup. This is written automatically when editing guide settings in the GUI.
Migration from Legacy Ini Settings
- If you have older configurations saved in
.inifiles in the application directory, FJ Flow automatically reads and parses them on launch. - These legacy settings are migrated to the structured JSON configurations (
fjFlow.json/KeyExt.json), preserving your customized setups.