Version: 1.0
Last Updated: February 2026
This quick reference provides essential information for working with ACAT's JSON configuration system.
| Configuration Type | Default Location |
|---|---|
| ActuatorSettings | %APPDATA%\ACAT\Config\ActuatorSettings.json |
| Theme | %APPDATA%\ACAT\Config\Theme.json |
| Abbreviations | %APPDATA%\ACAT\Config\Abbreviations.json |
| Pronunciations | %APPDATA%\ACAT\Config\Pronunciations.json |
| PanelConfig | %APPDATA%\ACAT\Config\Panels\[PanelName].json |
Note: %APPDATA% typically resolves to C:\Users\[YourName]\AppData\Roaming\
ConfigMigrationTool migrate --input "C:\ACAT\Config" --output "C:\ACAT\ConfigJSON" --backupConfigMigrationTool migrate --input "C:\ACAT\Config" --output "C:\ACAT\ConfigJSON" --dry-runConfigMigrationTool validate --input "C:\ACAT\ConfigJSON"ConfigMigrationTool rollback --backup "C:\ACAT\Config"Add to the top of your JSON file:
{
"$schema": "path/to/schema.json",
...
}| Configuration Type | Schema Path |
|---|---|
| ActuatorSettings | ../json/actuator-settings.schema.json |
| Theme | ../json/theme.schema.json |
| PanelConfig | ../json/panel-config.schema.json |
| Abbreviations | ../json/abbreviations.schema.json |
| Pronunciations | ../json/pronunciations.schema.json |
{
"name": "Keyboard",
"enabled": true,
"switchSettings": [
{
"name": "Trigger",
"source": "F12",
"enabled": true,
"actuate": true,
"command": "@Trigger",
"minHoldTime": "@MinActuationHoldTime"
}
]
}{
"name": "Scanner",
"background": "#232433",
"foreground": "White",
"highlightBackground": "#ffaa00",
"highlightForeground": "#232433"
}{
"word": "btw",
"replaceWith": "by the way",
"mode": "Write"
}{
"word": "github",
"pronunciation": "git hub"
}- ✅ At least one actuator required
- ✅ At least one actuator must be enabled
- ✅ Actuator IDs must be unique GUIDs
- ✅ Enabled switches that actuate must have a command
- ✅ At least one color scheme required
- ✅ Color scheme names must be unique
- ✅ Colors must be valid hex codes or color names
- ✅ Word and replaceWith cannot be empty
- ✅ Mode must be "Write", "Speak", or "None"
- ✅ Word and pronunciation cannot be empty
| Command | Description |
|---|---|
@Trigger |
Primary selection/activation |
@CmdEnterKey |
Simulate Enter key |
@CmdTabKey |
Simulate Tab key |
@CmdUndo |
Undo last action |
@CmdSettings |
Open settings |
@CmdExit |
Exit application |
"background": "#232433" // RGB
"background": "#FF232433" // ARGB (with alpha)"background": "White"
"background": "Black"
"background": "Red"
"background": "Blue"| Mode | Behavior |
|---|---|
Write |
Replace abbreviation with full text in document |
Speak |
Speak full text via TTS without writing |
None |
Disable expansion for this abbreviation |
Fix: Check logs for specific errors. Common issues:
- Missing required fields
- Invalid enum values
- Malformed JSON syntax
Fix: Validate JSON syntax:
- Check for matching brackets
{}and[] - Ensure all strings have double quotes
" - Remove trailing commas at end of arrays/objects
Fix:
- Add
$schemaproperty to JSON file - Ensure file extension is
.json - Reload VS Code window (
Ctrl+Shift+P→ "Developer: Reload Window")
Fix:
- Restart ACAT to reload configuration
- Verify correct file location
- Check logs for loading errors
{
"name": "Example",
"enabled": true,
"items": [
{ "id": 1, "value": "first" },
{ "id": 2, "value": "second" }
]
}// ❌ Bad: Trailing comma
{
"name": "Example",
"enabled": true,
}
// ❌ Bad: Single quotes
{ 'name': 'Example' }
// ❌ Bad: Unquoted property names
{ name: "Example" }
// ❌ Bad: Comments (standard JSON)
{
// This comment is not valid in standard JSON
"name": "Example"
}
// Note: VS Code JSON parser DOES support commentsCopy from schemas/examples/ to get started:
# Windows
copy schemas\examples\abbreviations.example.json %APPDATA%\ACAT\Config\Abbreviations.json
# PowerShell
Copy-Item schemas\examples\abbreviations.example.json $env:APPDATA\ACAT\Config\Abbreviations.jsonAll schemas are in: schemas/json/
actuator-settings.schema.jsontheme.schema.jsonpanel-config.schema.jsonabbreviations.schema.jsonpronunciations.schema.json
ConfigMigrationTool validate --input "C:\ACAT\Config"- Open JSON file
- Look for red squiggles (validation errors)
- Press
Ctrl+Spacefor autocomplete - Hover over properties for documentation
- Place configuration file in correct location
- Restart ACAT
- Check logs:
%APPDATA%\ACAT\Logs\ - Verify behavior in application
| Shortcut | Action |
|---|---|
Ctrl+Space |
Show autocomplete suggestions |
Shift+Alt+F |
Format JSON document |
Ctrl+K Ctrl+I |
Show hover information |
F2 |
Rename symbol |
Ctrl+Shift+P |
Open command palette |
- User Guide: docs/JSON_CONFIGURATION_GUIDE.md
- Developer Guide: docs/JSON_CONFIGURATION_DEVELOPER_GUIDE.md
- Migration Guide: docs/JSON_CONFIGURATION_MIGRATION.md
- Schema README: schemas/README.md
- Migration Tool: ConfigMigrationTool README
Check Logs: %APPDATA%\ACAT\Logs\
Example Files: schemas/examples/
Contact: ACAT@intel.com
Copyright 2013-2019; 2023 Intel Corporation
SPDX-License-Identifier: Apache-2.0