Model 100: Issue with left and right shift creating brackets on key up

If I click left shift without combining it with another key I will get “(” on key up and right shift gives “)”

My firmware is from
Board manager: Keyboardio version 1.99.7
Which I got from https://raw.githubusercontent.com/keyboardio/boardsmanager/master/package_keyboardio_index.json

Are you building custom firmware? Have you tried an EEPROM reset in Chrysalis? This will erase all your settings and change the keymap back to the firmware keymap, but not the firmware itself.

Sometimes, EEPROM layout incompatibilities between custom firmware and the Chrysalis stock firmware can cause the SpaceCadet plugin to unintentionally activate. (It’s in the stock Chrysalis firmware, but should be inactive by default.)

1 Like

Thanks for the reply.
The reason to why I used this example code was because I wanted to create a new custom layer which included the unicode characters æ, ø, å, Æ, Ø, Å, and needed a starting point.

Based on your response I could indeed see that SpaceCadet was part of the code so I removed the plugin, and now shifts work as I initially had expected.

I am however not very confident that the program my model 100 now runs won’t include more easter eggs.

In general, if your custom firmware isn’t behaving as you think it should, doing an EEPROM reset in Chrysalis might help. It’s a known issue that changes in EEPROM layout can cause unexpected and confusing changes in keymaps and settings. We do want to fix it, but it will take a lot of work.

Things get trickier if you want to make some customizations in both Chrysalis and custom firmware. Your best bet in that situation is to build but not upload the custom firmware, then use Chrysalis to upload the custom firmware. Chrysalis will do a structured EEPROM save and restore that mitigates most of these problems.

1 Like

I had exactly the same problem. My Keyboardio Model 100 typed parentheses when pressing left and right SHIFT after deploying custom firmware. The fix was to deploy the custom firmware via Chrysalis, rather than the Arduino IDE (as suggested by @argonblue):

  1. In the Arduino IDE, go to Sketch → Export Compiled Binary
  2. Use Chrysalis to update firmware using the built file (build/keyboardio.gd32.keyboardio_model_100/Model100.bin)

Note: As a precaution, I first used Chrysalis to re-deploy the standard firmware. I suspect that wasn’t actually necessary.