Skip to content

keyboardio/Chrysalis

Repository files navigation

Chrysalis

Chrysalis screenshot

About

Chrysalis is a graphical configuration tool for Kaleidoscope-powered keyboards.

Features

  • Layout editor to edit the keymap on-the-fly, with the ability to copy one layer to another, and to set a default one.
  • Colormap editor to edit the per-key LED colormap on boards that support it.
  • Firmware upgrade to upload either the default, Chrysalis-enabled firmware that ships with the application, or a custom one.

Supported Hardware

Chrysalis supports the Keyboardio Model01, the Keyboardio Model100 and the Keyboardio Atreus.

Supported Browsers

Chrysalis is a web based application that runs online at https://chrysalis.keyboard.io

Your browser needs to support the WebSerial and WebUSB standards. As of this writing, that includes Chrome, Edge, Arc, Opera, Brave, and other browsers built on the Chromium engine.

Reporting issues

Reporting bugs and feature requests help us make the software better, please feel free to open issues liberally!

Using custom firmware

While Chrysalis comes bundled with supported firmware files, it also supports custom firmware, as long as it has a few Kaleidoscope plugins enabled: FocusSerial to make it possible to communicate with the keyboard in the first place, EEPROM-Settings to be able to store configuration in EEPROM. The FocusSerial plugin provides multiple plugins, and Chrysalis needs Focus, FocusEEPROMCommand, and FocusSettingsCommand all enabled in the custom firmware's KALEIDOSCOPE_INIT_PLUGINS().

Additionally, for Chrysalis to be able to edit the keymap, the EEPROM-Keymap plugin is also required. Similarly, to configure the colormap, the custom firmware will need to have the Colormap plugin enabled.

If none of the bundled firmwares suit you, and you wish to customise them, or build one from scratch, you can do that, and doing so is fully supported!

Development

To launch the development environment, simply type yarn && yarn start.

Translations

Translation status

We're using Weblate to manage and maintain translations.