Summary
The "Enable SpaceCadet shifts" toggle in Preferences → My Keyboard appears to work in the UI, but toggling it OFF and clicking Save Changes does not write spacecadet.mode 2 (disabled) to the keyboard EEPROM. The value remains 1 (NO_MINIMUM).
Steps to reproduce
- Connect Keyboardio Atreus
- Open Chrysalis (web: chrysalis.keyboard.io)
- Go to Preferences → My Keyboard
- Under SpaceCadet, toggle "Enable SpaceCadet shifts" OFF
- Click Save Changes
- Export layout backup (Backup and Restore → Export)
- Inspect the exported JSON:
deviceConfiguration["spacecadet.mode"] is still 1
Expected behavior
After toggling OFF and saving, spacecadet.mode should be 2 (disabled).
Actual behavior
spacecadet.mode remains 1 (NO_MINIMUM — SpaceCadet is still active).
This was reproduced across:
- 3 separate save attempts with the same firmware
- A firmware update (0.93.0+128 → 0.94.0+132) followed by another save attempt
- Each time the exported JSON confirms mode=1
Impact
SpaceCadet mode=1 intercepts modifier-only chords (e.g. Alt+Shift for OS language switching), causing it to work inconsistently depending on keystroke timing. Users have no way to disable SpaceCadet via the UI.
Environment
- Chrysalis version: 2025.0909.0307 (web app at chrysalis.keyboard.io)
- Keyboard: Keyboardio Atreus
- Firmware version: 0.94.0+132
- OS: Linux (Arch)
Summary
The "Enable SpaceCadet shifts" toggle in Preferences → My Keyboard appears to work in the UI, but toggling it OFF and clicking Save Changes does not write
spacecadet.mode 2(disabled) to the keyboard EEPROM. The value remains1(NO_MINIMUM).Steps to reproduce
deviceConfiguration["spacecadet.mode"]is still1Expected behavior
After toggling OFF and saving,
spacecadet.modeshould be2(disabled).Actual behavior
spacecadet.moderemains1(NO_MINIMUM — SpaceCadet is still active).This was reproduced across:
Impact
SpaceCadet mode=1 intercepts modifier-only chords (e.g. Alt+Shift for OS language switching), causing it to work inconsistently depending on keystroke timing. Users have no way to disable SpaceCadet via the UI.
Environment