How to define macros in Chrysalis?

Have received my brand new keyboard model 100, excellent quality and I love it from all aspects.
I have configured my custom layout and led color with Chrysalis, but seems there’s no way to define macros such as LED on/off directly in this software. Also, I find some great LED plugins in the forum. How can I import those plugins without touching my currently set layout and led color configurations?

The editable macros in Chrysalis are quite limited at the moment, turning leds on and off for example is not a functionality available through it. Macros implemented in firmware can do that - and more - however.

You will need to compile custom firmware to add new plugins. You can start with the official firmware, and add or remove plugins as you wish. The configuration you set with Chrysalis will not be affected, as long as you flash your new firmware with Chrysalis (Chrysalis saves & restores the settings saved on your keyboard during flashing).

Using custom firmware is 100% supported, and even encouraged, so you can go wild freely!

The only thing to pay attention is to not remove plugins essential for Chrysalis.There is some documentation about that, too.

1 Like

Great! Very detailed reply. Thank you very much for helping me a lot from startup.

Can’t help getting hands dirty with coding stuff. :+1:

1 Like

It would be great if you could open issues against Chrysalis for the macro functions you’d like but which are currently missing.


Sorry, I have some new troubles and back again.
I’ve followed documents and instructions and found some difficulties because they were compatible to Model01 and Model100’s current situation is different. So my current environment is not totally instruction followed and maybe a bit … weird.

I’ve downloaded the default firmware from here.
First. I tried to compile it in Arduino IDE(just for making a check), and the error log is:

Arduino: 1.8.13 (Mac OS X), Board: "Keyboardio Model 100, dfu-util (DFU - Keyboardio DAPBoot bootloader)"

Model100:27:10: fatal error: Kaleidoscope-FirmwareVersion.h: No such file or directory
   27 | #include "Kaleidoscope-FirmwareVersion.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Kaleidoscope-FirmwareVersion.h: No such file or directory

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I don’t know where the headers file search path is, but I’m sure there’s no Kaleidoscope-FirmwareVersion.h in my file system.

Then. I tried to compile the firmware directly from Arduino CLI. But I got a different error:

Using Kaleidoscope from ~/Documents/Arduino/hardware/keyboardio/avr/libraries/Kaleidoscope
Building in quiet mode. For a lot more information, add 'VERBOSE=1' to the beginning of your call to /Applications/
Error during build: Platform 'keyboardio:gd32' not found: platform not installed
Platform keyboardio:gd32 is not found in any known index
Maybe you need to add a 3rd party URL?

Arduino couldn't figure out what kind of device this sketch 
is for. Usually, Arduino looks in a file called `sketch.json` 
to figure this out. 

I'm unable to detect your keyboard, you may need to manually 
edit your `sketch.json` file or run 

ARDUINO_DIRECTORIES_USER=~/Documents/Arduino/ ARDUINO_DIRECTORIES_DATA=~/Documents/Arduino/hardware/keyboardio/avr/libraries/Kaleidoscope/.arduino/data /usr/local/bin/arduino-cli board attach 

manually, specifying the FQBN for your keyboard. 

~/Documents/Arduino/hardware/keyboardio/avr/libraries/Kaleidoscope/etc/makefiles/ *** .  Stop.

But I have directly reinstalled beyboardio:gd32 board from Arduino CLI.

$ arduino-cli core install keyboardio:gd32
Platform keyboardio:gd32@1.99.5 already installed

I’ve no idea what’s going wrong.