Customization
- SpaceKey adopts a highly flexible and decoupled Base-Override architecture.
- You can achieve 100% personalized key mapping customization without altering the built-in core code.
Core Override
SpaceKey divides src/ into two parallel directories:
base/(Built-in Default): Preconfigured core mappings and official functional modules.custom/(User Customization): Your personal dedicated configuration area.
A
.ahkfile in thecustom/directory takes higher priority if it shares the same name and path as one in thebase/directory.
Practical Example
If you want to modify the built-in symbol mappings located in base/core/s.ahk:
- Create a file with the identical path in the custom directory:
custom/core/s.ahk - SpaceKey will load
custom/core/s.ahkto replace the defaultbase/core/s.ahk.
You can verify the final active code at any time by checking the generated
src/temp/key.ahkfile.Recommended toolchain: Visual Studio Code + AutoHotkey v2 Language Support (thqby.vscode-autohotkey2-lsp)
Directory Structure
txt
SpaceKey/
├── SpaceKey.bat # Startup script
├── src/
│ ├── base/ # Built-in default configurations
│ │ ├── core/ # Core mappings
│ │ ├── window/ # Window-specific mappings
│ │ └── ... # Other default mappings
│ ├── custom/ # User custom configurations
│ │ ├── core/ # Custom core mappings
│ │ ├── window/ # Custom window-specific mappings
│ │ └── ... # Other custom mappings
│ ├── temp/key.ahk # Dynamically generated #Include file
│ └── ... # Other internal files (safe to ignore)
└── ...