Configuration File Specifications
In the Pro version of FJ Flow (fjFlow.ahk), all settings are stored in structured JSON files. You can also apply changes by directly editing them in an editor and restarting (reloading) the application.
In the Pro version of FJ Flow (fjFlow.ahk), all configurations are stored in structured JSON files. Changes can also be applied by directly editing these files in a text editor and restarting (reloading) the application.
Configuration File Location
Configuration files are placed in the same directory as the execution script or executable file.
- fjFlow.json: Manages general tool settings, indicator design, focus emphasis, highlight/zoom, and other parameters.
- KeyExt.json: Manages mapping definitions for the key extension feature (assignments for each of the L1, L2, and Space Shift layers).
fjFlow.json Structure and Parameter List
{
"IndicatorEnabled": true, // Enable/disable the standard indicator
"IndicatorTextVal": "▼", // Display character
"IndicatorColor": "FF0000", // Character color (RGB hex)
"MacroIndicatorEnabled": true, // Enable/disable the macro indicator
"MacroIndicatorText": "M", // Display character
"MacroIndicatorColor": "FF00FF", // Character color
"ImeIndicatorEnabled": true, // Enable/disable integration with IME status
"ImeIndicatorTextOn": "▼",
"ImeIndicatorColorOn": "FF0000",
"ShowImeIndicatorWhenOff": true, // Display indicator even when IME is off
"ImeIndicatorTextOff": "◆",
"ImeIndicatorColorOff": "00FF00",
"CapsLockIndicatorEnabled": true, // Display indicator when CapsLock is on
"CapsLockIndicatorText": "A",
"CapsLockIndicatorColor": "FF0000",
"ShiftLockColor": "FF0000", // Color when Shift is locked
"OffsetX": -15, // X offset from the caret position (px)
"OffsetY": -30, // Y offset from the caret position (px)
"BlinkSpeed": 20, // Indicator blinking (fade) speed (1-255)
"FontSize": 14, // Font size (pt)
"FontBold": true, // Toggle bold font (true/false)
"HighlightHotkey": "F8", // Hotkey to activate line highlight
"HighlightHeight": 80, // Highlight height (px)
"HighlightAlpha": 120, // Opacity of the background dimming mask (0-255)
"HighlightColor": "FFFFFF", // Highlight border color
"HighlightBorderSize": 1, // Highlight border width (px)
"ZoomHotkey": "F9", // Hotkey to activate zoom
"ZoomScale": 2.0, // Zoom scale factor
"ZoomHeight": 400, // Zoom window height (px)
"ZoomBorderSize": 3, // Zoom window border width (px)
"ZoomAlpha": 200, // Overall opacity of the zoom window (0-255)
"ZoomBorderAlpha": 80, // Zoom window border opacity (0-255)
"ZoomBorderColor": "008080", // Zoom window border color
"ZoomFadeDelay": 1000, // Milliseconds before fade-out after input stops
"HideDuringInput": true, // Hide the indicator during key input
"HideDelay": 1000, // Milliseconds to redisplay indicator after input stops
"FocusHighlightEnabled": true, // Enable/disable window emphasis (focus highlight)
"FocusHighlightBorderEnabled": true,// Toggle emphasis border (true/false)
"FocusHighlightFillEnabled": true, // Toggle window interior fill (true/false)
"FocusHighlightBorderSize": 3, // Emphasis border width (px)
"FocusHighlightBorderAlpha": 150, // Emphasis border opacity (0-255)
"FocusHighlightFillAlpha": 12, // Interior fill opacity (0-255)
"FocusHighlightColor": "FF0000", // Color when active (IME On)
"FocusHighlightColorOff": "00FF00",// Color when inactive (IME Off)
"FocusHighlightBlink": true, // Toggle blinking for emphasis border (true/false)
"FocusHighlightBlinkSpeed": 12, // Blinking speed (0-255)
"FocusHighlightColorMode": 1, // Color mode (0: User-specified, 1: CPU/Memory usage linked)
"ShiftLockText": "S", // Display character during Shift lock
"UseOneShotShift": true, // Enable one-shot Shift
"ShiftLockEnabled": true, // Enable Shift lock feature
"SwapCapsLockCtrl": false, // Swap CapsLock and Ctrl (US layout only)
"CtrlLockText": "C", // Display character during Ctrl lock
"CtrlLockColor": "00C0FF", // Color during Ctrl lock
"AltLockText": "A",
"AltLockColor": "FF8000",
"WinLockText": "W",
"WinLockColor": "00FF00",
"KeyExtGuideEnabled": true, // Enable/disable automatic guide display
"KeyExtGuideDelay": 1000, // Delay before automatic guide display (ms)
"KeyExtGuideBorderEnabled": true,
"KeyExtGuideBorderSize": 2,
"KeyExtGuideBorderAlpha": 200,
"KeyExtGuideBorderColor": "0066FF",// Guide border color
"KeyExtGuideFillEnabled": true,
"KeyExtGuideBgColor": "1F2937", // Guide background color
"KeyExtGuideFillAlpha": 220, // Guide background opacity (0-255)
"KeyExtGuideFontSize": 11,
"KeyExtGuideFontName": "Consolas",
"KeyExtGuideKeyColor": "FFFFFF", // Text color for inputted keys in the guide
"KeyExtGuideValColor": "38BDF8", // Text color for normal sent values in the guide
"KeyExtGuideCmdColor": "F59E0B" // Text color for special commands in the guide
}
KeyExt.json Structure and Parameter List
{
"Enabled": 1, // Enable/disable the key extension feature
"L1Color": "0066FF", // L1 layer color
"L1Text": "1", // L1 layer display character
"L2Color": "E11D48",
"L2Text": "2",
"SSColor": "8B5CF6",
"SSText": "Ⓢ",
"Mappings": {
"L1|h": { "value": "{Home}", "showGuide": false }, // Example of individually hiding the guide
"L1|j": "{PgDn}", // Example of standard simple mapping
"SS|s": "{ShiftLock}",
"SS|h": "{Left}"
}
}
Structure of Mapping Definitions
- String Format (Single-Function Mapping):
Directly specifies the output key name or macro command as a string, using the mapping condition (layer name and input key joined by
|) as the key (e.g.,"L1|j": "{PgDn}"). - Object Format (Detailed Mapping):
Can contain parameters like
showGuide(which indicates whether to display the guide) in addition to the value (e.g.,"L1|h": { "value": "{Home}", "showGuide": false }). Files are saved in this structure when toggle actions for the “Guide” checkbox are performed in the settings GUI.
Automatic Migration from Older Configuration Versions
- If configuration files in older formats (such as
.inifiles from previous versions) exist in the same directory, FJ Flow will automatically load them on the first startup. - The loaded values are converted and saved into the new structured JSON formats (
fjFlow.json/KeyExt.json), allowing you to carry over your existing configuration environment.