Chrysalis on Raspberry Pi?

Up and running now, and typing very slowly on the keyboardio. Primary use is on Raspberry Pi 4 running Raspian. I’m largely hating a couple of the key placements in the default layout so am trying to see if I might be able to run Chrysalis on the Pi to fiddle a bit. Can’t figure out how to get the appimage to actually run, even though it’s executable. Just wondering if anyone has gotten this to work, or if I should just connect to a different computer to mess with the layout and then come back to the Pi after flashing?

I think Raspberry 4 has an ARM processor, and Chrysalis no longer provide such binaries because they were build by the Travis CI…

Maybe try an older version (Chrysalis-0.7.9 should have one), or try to start the dev version from source (git clone and yarn && yarn start should work, after installing yarn and probably node).

I get it now. Thanks.

Here’s a different weird thing. I’ve given up on Chrysalis, which is fine. So I’ve been reading the directions on github for working with the layers.

Unless I’ve entirely missed something, it seems as if I have to use Arduino. Okay, fine.

So I have the sketch in Arduino. I’ve confirmed that the only keymap enabled is QWERTY, which is what I use. I fiddled with the keymap to move the space, backspace, and shift keys. Then I trigger the upload.

It uploads fine, but now my keymap is anything but QWERTY. I’m actually not sure what it is, because it doesn’t match the DVORK or COLEMAK maps.

I had to go back to the linux command line to reflash the keyboard with those instructions for it to be something I can use. I’m now super confused.

What am I missing?

There are two locations where informations are stored :

  • in the firmware (the binary that is compiled) all the stuffs are read-only and cannot be changed.
  • in the EEPROM (a memory that can be written by the firmware).

Kaleidoscope’s keymaps are bundled in the firmware, but Chrysalis uses the EEPROM to store the keymaps…

So if you have used Chrysalis, you have a keymap in the EEPROM, and it «hides» the Kaleidoscope ones. The simpler way to get rid of this is to reset the EEPROM : you can easily do it with Chrysalis (in the firmware flashing advanced options page).

Unfortunately, I’ve not managed to use Chrysalis. I was unsuccessful getting it onto my Pi, so I put it on an old Mac I have. When I made the initial connection, I ended up with the same gibberish keymap that I get trying to use the Arduino software. (in truth, I don’t know if it’s exactly the same or not; I didn’t check in that much detail. I just reflashed with the pi). Color me frustrated.


So the problem may be different and rely on the way keyboard works :

  • When you push a key, an electrical contact is made, and the current pass by a column/row path
  • periodically (several times per milliseconds) the keyboard scan the key matrix to know which key are pressed, and process the state of the keymap
  • If there is something to do, the keyboard send a report to the computer, with scancodes saying “first key of first row pressed”, “third key of second row released”… things like that
  • The host translate the scancode by using the system keymap to determine which key is pressed/released

The old version of Chrysalis assume your system is in qwerty, newer version (>0.8) let you choose the system keymap for the key-picker.

If your system is not in qwerty, and your Kaleidoscope keymap neither is in qwerty, there could be a double translation. eg. I use Bépo, and Azerty, where the first row are bépoè and azert instead of qwerty as a result, I get :

  • azert if my computer is in azerty and keyboard is in qwerty
  • bépoè if my computer is in azerty and keyboard is in bépo
  • qwert if my computer is in qwerty and keyboard is in azerty
  • bépoè if my computer is in bépo and keyboard is in azerty
  • b2pơ if my computer is in qwerty and keyboard is in bépo
  • k«jl± if my computer is in bépo and keyboard is in bépo

So maybe you are in some of the lasts case ?

Maybe the first thing to try is having a known state of the keyboard by flashing the default firmware provided by Chrysalis, activating the Restore to factory defaults when flashing option : if the strange keymap is still here we’ll investigate from here :thinking:

Okay I will hook it back up to my Mac and try the Chrysalis flash again and let you know. Incredibly grateful for your help.

1 Like