# Programming

**URL:** https://community.keyboard.io/c/programming/6.md

[Latest](https://community.keyboard.io/latest.md) · [Categories](https://community.keyboard.io/categories.md) · [Tags](https://community.keyboard.io/tags.md)

---

## [About the Programming category](https://community.keyboard.io/t/about-the-programming-category/12)

<div class="topic-metadata">

**Author:** [@jesse](https://community.keyboard.io/u/jesse)\
**Replies:** 0

</div>

Let's chat firmware. This includes the Keyboardio firmware, ports of third-party firmware, bootloaders, host-side helper apps, you name it. If it's code, this is the place.

---

## [Modifier, when held (Atreus, Chrysalis)](https://community.keyboard.io/t/modifier-when-held-atreus-chrysalis/4574)

<div class="topic-metadata">

**Author:** [@cganter](https://community.keyboard.io/u/cganter)\
**Replies:** 3\
**Last updated:** [October 2, 2026, 12:35am UTC](https://community.keyboard.io/t/modifier-when-held-atreus-chrysalis/4574 "2026-10-02T00:35:11Z")

</div>

With Chrysalis, I assigned the “modifier when held” secondary action to several keys on my home row. But I can only do so for such keys, which do not already make use of the “automatically press modifier option” for thei…

---

## [Model 100 support in QMK](https://community.keyboard.io/t/model-100-support-in-qmk/5537)

<div class="topic-metadata">

**Author:** [@dshields](https://community.keyboard.io/u/dshields)\
**Replies:** 15\
**Last updated:** [August 11, 2026, 11:18am UTC](https://community.keyboard.io/t/model-100-support-in-qmk/5537 "2026-08-11T11:18:32Z")

</div>

Is anyone currently working on support for the Model 100 in QMK? If not, I’ll give it a go. I’d appreciate any hints or gotchas.

---

## [RALT() not working](https://community.keyboard.io/t/ralt-not-working/13817)

<div class="topic-metadata">

**Author:** [@cheri](https://community.keyboard.io/u/cheri)\
**Replies:** 1\
**Last updated:** [May 31, 2026, 10:47am UTC](https://community.keyboard.io/t/ralt-not-working/13817 "2026-05-31T10:47:43Z")

</div>

Hello, I’ve been banging my head for a few ours and I cannot seem to find the right hint in the documentation, the forum, or anywhere else. The RALT() (macro?) doesn’t seem to work. Here is a keymap that is supposed to …

---

## [Simplified flashing (but only for Linux with Nix)](https://community.keyboard.io/t/simplified-flashing-but-only-for-linux-with-nix/3279)

<div class="topic-metadata">

**Author:** [@shajra](https://community.keyboard.io/u/shajra)\
**Replies:** 3\
**Last updated:** [January 12, 2026, 7:12am UTC](https://community.keyboard.io/t/simplified-flashing-but-only-for-linux-with-nix/3279 "2026-01-12T07:12:05Z")

</div>

Following the directions to flash the Model 01 wasn’t too bad relatively speaking, but it’s got a few things that are a bit annoying. You have to have the Arduino build tool chain. There’s two repositories (Kaleidoscop…

---

## [Need a Simple, Standard HID Preonic Firmware](https://community.keyboard.io/t/need-a-simple-standard-hid-preonic-firmware/13666)

<div class="topic-metadata">

**Author:** [@enigmah](https://community.keyboard.io/u/enigmah)\
**Replies:** 3\
**Last updated:** [January 5, 2026, 11:00am UTC](https://community.keyboard.io/t/need-a-simple-standard-hid-preonic-firmware/13666 "2026-01-05T11:00:59Z")

</div>

Hello everyone, I currently own a Keyboardio Preonic and I’m looking for the simplest possible firmware that will make the keyboard function purely as a standard HID Keyboard. The reason for this is that my work comput…

---

## [Question on HostOS plugin, I cannot save the OS in the eeprom through HostOS.os(kaleidoscope::hostos::MACOS)?](https://community.keyboard.io/t/question-on-hostos-plugin-i-cannot-save-the-os-in-the-eeprom-through-hostos-os-kaleidoscope-macos/13664)

<div class="topic-metadata">

**Author:** [@alexandre.j.navarro](https://community.keyboard.io/u/alexandre.j.navarro)\
**Replies:** 0\
**Last updated:** [December 7, 2025, 9:19pm UTC](https://community.keyboard.io/t/question-on-hostos-plugin-i-cannot-save-the-os-in-the-eeprom-through-hostos-os-kaleidoscope-macos/13664 "2025-12-07T21:19:57Z")

</div>

Hi, I use HostOS to have different macro between Mac and Linux notably Ctrl / Cmd inversion. I can set my type of OS through HostOS.os(kaleidoscope::hostos::MACOS) or retrieve the OS through HostOS.os(), but when I do …

---

## [Chrysalis seems very unreliable](https://community.keyboard.io/t/chrysalis-seems-very-unreliable/13663)

<div class="topic-metadata">

**Author:** [@Moilleadoir](https://community.keyboard.io/u/Moilleadoir)\
**Replies:** 2\
**Last updated:** [December 7, 2025, 12:28pm UTC](https://community.keyboard.io/t/chrysalis-seems-very-unreliable/13663 "2025-12-07T12:28:21Z")

</div>

It reports version 2025.0909.307 I just updated my sketch, closed Arduino IDE & started Chrysalis which connected fine. I then realised I hadn’t changed the version number so closed Chrysalis, recompiled the sketch and…

---

## [Make flash ends with segfault](https://community.keyboard.io/t/make-flash-ends-with-segfault/13652)

<div class="topic-metadata">

**Author:** [@kenobi](https://community.keyboard.io/u/kenobi)\
**Replies:** 0\
**Last updated:** [November 4, 2025, 7:18pm UTC](https://community.keyboard.io/t/make-flash-ends-with-segfault/13652 "2025-11-04T19:18:44Z")

</div>

Hi there, I am running into a strange segfault when I flash my Model100: Opening DFU capable USB device... Device ID 3496:0005 Device DFU version 0110 Claiming USB DFU Interface... Setting Alternate Interface #0 ... De…

---

## [Can't seem to flash Model 01 anymore](https://community.keyboard.io/t/cant-seem-to-flash-model-01-anymore/13651)

<div class="topic-metadata">

**Author:** [@niklasn](https://community.keyboard.io/u/niklasn)\
**Replies:** 1\
**Last updated:** [October 22, 2025, 1:47pm UTC](https://community.keyboard.io/t/cant-seem-to-flash-model-01-anymore/13651 "2025-10-22T13:47:00Z")

</div>

I’m having issues flashing my Model 01. It seems I’ve come to a point where flashing makes no difference (except for possibly removing keys). At some point holding the prog-key stopped working, when looking in Chrysalis …

---

## [Firmware difference between web tool and stand alone app](https://community.keyboard.io/t/firmware-difference-between-web-tool-and-stand-alone-app/13647)

<div class="topic-metadata">

**Author:** [@Dulcea](https://community.keyboard.io/u/Dulcea)\
**Replies:** 4\
**Last updated:** [October 14, 2025, 4:36pm UTC](https://community.keyboard.io/t/firmware-difference-between-web-tool-and-stand-alone-app/13647 "2025-10-14T16:36:13Z")

</div>

I’m kind of old school and still default to installed software versus web tools. Opened the Chrysalis app today and it informed me there was a firmware update to 10.4, which would replace my .96 version on the Model 100…

---

## [Model 100 .ino File?](https://community.keyboard.io/t/model-100-ino-file/13642)

<div class="topic-metadata">

**Author:** [@dcavalari](https://community.keyboard.io/u/dcavalari)\
**Replies:** 2\
**Last updated:** [September 21, 2025, 6:07pm UTC](https://community.keyboard.io/t/model-100-ino-file/13642 "2025-09-21T18:07:18Z")

</div>

TL;DR Where is the model-100.ino file or equivalent located these days? Got laid off from my job a couple months back (it’s okay, I found another one), and unfortunately my custom Model 100 firmware file was on my work …

---

## [Having trouble with simple plugin](https://community.keyboard.io/t/having-trouble-with-simple-plugin/13643)

<div class="topic-metadata">

**Author:** [@nyarly](https://community.keyboard.io/u/nyarly)\
**Replies:** 0\
**Last updated:** [September 19, 2025, 8:59pm UTC](https://community.keyboard.io/t/having-trouble-with-simple-plugin/13643 "2025-09-19T20:59:38Z")

</div>

I’m trying to recreate the behavior I had set up under Kaleidoscope v1: What I want is to use the Fun key for layer switching, but have Shift (and maybe other keys) augment the layer switching. i.e. I want Fun to ShiftTo…

---

## [Fun+Shift for layer switching](https://community.keyboard.io/t/fun-shift-for-layer-switching/13632)

<div class="topic-metadata">

**Author:** [@nyarly](https://community.keyboard.io/u/nyarly)\
**Replies:** 0\
**Last updated:** [September 9, 2025, 12:46am UTC](https://community.keyboard.io/t/fun-shift-for-layer-switching/13632 "2025-09-09T00:46:48Z")

</div>

On an older version of Kaleidoscope, I had my Model 01 set up such that the fn button shifted to a new layer, but that Shift+fn went to a numpad layer. Setting up a new Model 100, I’m finding my old configuration does no…

---

## [Chrysalis not connecting (sometimes)](https://community.keyboard.io/t/chrysalis-not-connecting-sometimes/13612)

<div class="topic-metadata">

**Author:** [@Moilleadoir](https://community.keyboard.io/u/Moilleadoir)\
**Replies:** 0\
**Last updated:** [August 17, 2025, 7:29am UTC](https://community.keyboard.io/t/chrysalis-not-connecting-sometimes/13612 "2025-08-17T07:29:13Z")

</div>

I last did some firmware updating back in May and I think things were working OK then, but now I find that Chrysalis often does not connect to my M100 unless I unplug and replug it. I suspect this might also happen if I’…

---

## [Adding AutoShift to Preonic?](https://community.keyboard.io/t/adding-autoshift-to-preonic/13594)

<div class="topic-metadata">

**Author:** [@Hanuman42](https://community.keyboard.io/u/Hanuman42)\
**Replies:** 0\
**Last updated:** [July 23, 2025, 12:43am UTC](https://community.keyboard.io/t/adding-autoshift-to-preonic/13594 "2025-07-23T00:43:05Z")

</div>

I’m trying to add AutoShift to my Preonic. I was able to compile the example sketch but once I include Kaleidoscope-AutoShift.h, I get errors: Preonic-AutoShift.ino (21.0 KB) In file included from C:\\Users\\chaiy\\AppDat…

---

## [Load bépo layout in model 100](https://community.keyboard.io/t/load-bepo-layout-in-model-100/5992)

<div class="topic-metadata">

**Author:** [@Sepio\_Nesola](https://community.keyboard.io/u/Sepio_Nesola)\
**Replies:** 1\
**Last updated:** [July 9, 2025, 8:31pm UTC](https://community.keyboard.io/t/load-bepo-layout-in-model-100/5992 "2025-07-09T20:31:28Z")

</div>

Hi ! I would like to load a bépo layout in a model 100 in linux. There is 2 questions : 1- Chrysalis doesn’t load the layout I use on linux (BÉPO), but AZERTY. Still, when I type, the layout is BÉPO. There is an incon…

---

## [Two different macros on one key with shift](https://community.keyboard.io/t/two-different-macros-on-one-key-with-shift/6984)

<div class="topic-metadata">

**Author:** [@electronic\_eel](https://community.keyboard.io/u/electronic_eel)\
**Replies:** 2\
**Last updated:** [June 4, 2025, 11:30am UTC](https://community.keyboard.io/t/two-different-macros-on-one-key-with-shift/6984 "2025-06-04T11:30:07Z")

</div>

Hi, I recently upgraded my Model 01s with Model 100s and just ported my customizations. Took me a bit to find out that I had to disable some plugins to prevent all modifiers to become sticky. But went smooth otherwise. …

---

## [How do I make OneShot do what I want?](https://community.keyboard.io/t/how-do-i-make-oneshot-do-what-i-want/13524)

<div class="topic-metadata">

**Author:** [@fedward](https://community.keyboard.io/u/fedward)\
**Replies:** 2\
**Last updated:** [May 28, 2025, 6:06pm UTC](https://community.keyboard.io/t/how-do-i-make-oneshot-do-what-i-want/13524 "2025-05-28T18:06:35Z")

</div>

New Atreus owner (and old Model 01 owner) here. I would like my Fun key to work the normal way when held and to do LockLayer(FUN) when double-tapped, but I don’t want the regular single tap OneShot behavior. I feel like…

---

## [Qukeys with more states](https://community.keyboard.io/t/qukeys-with-more-states/13537)

<div class="topic-metadata">

**Author:** [@kenobi](https://community.keyboard.io/u/kenobi)\
**Replies:** 0\
**Last updated:** [May 22, 2025, 11:44pm UTC](https://community.keyboard.io/t/qukeys-with-more-states/13537 "2025-05-22T23:44:40Z")

</div>

Maybe this is a terrible idea. I’m trying to create a sort of universal modifier key that I can use to access multiple shortcuts - which have different modifiers. Let’s call the key \[magic\]. I currently have it progra…

---

## [Here's my custom firmware; hope it helps someone](https://community.keyboard.io/t/heres-my-custom-firmware-hope-it-helps-someone/5949)

<div class="topic-metadata">

**Author:** [@forrcaho](https://community.keyboard.io/u/forrcaho)\
**Replies:** 2\
**Last updated:** [November 27, 2024, 7:39am UTC](https://community.keyboard.io/t/heres-my-custom-firmware-hope-it-helps-someone/5949 "2024-11-27T07:39:23Z")

</div>

One thing about the QMK repo I really like is that they’ve accepted a lot of people’s custom firmware, so it’s easy to find examples of a lot of things you might want to do. It’s also huge and makes git really sluggish,…

---

## [Kaleidoscope and Chrysalis ShiftToLayer](https://community.keyboard.io/t/kaleidoscope-and-chrysalis-shifttolayer/6872)

<div class="topic-metadata">

**Author:** [@TiagoACF](https://community.keyboard.io/u/TiagoACF)\
**Replies:** 7\
**Last updated:** [November 20, 2024, 4:51pm UTC](https://community.keyboard.io/t/kaleidoscope-and-chrysalis-shifttolayer/6872 "2024-11-20T16:51:36Z")

</div>

Hey, So i’ve trying to do some additional “power use” of my Atreus and i was wanting to try Chording. Since Chrysalis doesn’t seem to be able to do it on it’s own i decided to flash Kaleidoscope directly. Managed to pu…

---

## [Shift modifier key not working (how to disable Space Cadet?)](https://community.keyboard.io/t/shift-modifier-key-not-working-how-to-disable-space-cadet/6859)

<div class="topic-metadata">

**Author:** [@tger](https://community.keyboard.io/u/tger)\
**Replies:** 1\
**Last updated:** [November 13, 2024, 6:22pm UTC](https://community.keyboard.io/t/shift-modifier-key-not-working-how-to-disable-space-cadet/6859 "2024-11-13T18:22:06Z")

</div>

I would like to have a Shift secondary modifier on my space and backspace keys. It doesn’t seem to work. Using Command as modifier does seem to work, so something fishy is going on. I read elesewhere here that the Space…

---

## [How to create a shortcut for moving a line?](https://community.keyboard.io/t/how-to-create-a-shortcut-for-moving-a-line/6805)

<div class="topic-metadata">

**Author:** [@enigmah](https://community.keyboard.io/u/enigmah)\
**Replies:** 2\
**Last updated:** [September 5, 2024, 7:57pm UTC](https://community.keyboard.io/t/how-to-create-a-shortcut-for-moving-a-line/6805 "2024-09-05T19:57:57Z")

</div>

Hi, is there a way to program a shortcut for moving a line? Some programs offer this feature by a native keyboard shortcut like: Notepad++: ctrl + shift + up or down Visual Studio: alt + up or down But lot’s of other…

---

## [Shift state at \*start\* of Leader sequence?](https://community.keyboard.io/t/shift-state-at-start-of-leader-sequence/6802)

<div class="topic-metadata">

**Author:** [@Moilleadoir](https://community.keyboard.io/u/Moilleadoir)\
**Replies:** 0\
**Last updated:** [September 2, 2024, 1:12pm UTC](https://community.keyboard.io/t/shift-state-at-start-of-leader-sequence/6802 "2024-09-02T13:12:01Z")

</div>

It seems like this isn’t possible — a macro is triggered at the end of the sequence so you can get the shift state then, but not at the start of the sequence. Is that right?

---

## [Can you set LayerNames from firmware?](https://community.keyboard.io/t/can-you-set-layernames-from-firmware/6801)

<div class="topic-metadata">

**Author:** [@Moilleadoir](https://community.keyboard.io/u/Moilleadoir)\
**Replies:** 0\
**Last updated:** [September 2, 2024, 7:49am UTC](https://community.keyboard.io/t/can-you-set-layernames-from-firmware/6801 "2024-09-02T07:49:32Z")

</div>

Not a crucial issue obviously, but since you can set them using Focus or Chrysalis, I’m curious whether you can do it in the sketch.

---

## [Debugging without Arduino IDE](https://community.keyboard.io/t/debugging-without-arduino-ide/6794)

<div class="topic-metadata">

**Author:** [@michaelafcadio](https://community.keyboard.io/u/michaelafcadio)\
**Replies:** 0\
**Last updated:** [August 17, 2024, 6:20pm UTC](https://community.keyboard.io/t/debugging-without-arduino-ide/6794 "2024-08-17T18:20:16Z")

</div>

How could I connect to the serial console for debugging without using the Arduino IDE? Is this possible or is the IDE required for using the console?

---

## [Can you use an old version of Kaleidoscope on the Model 100?](https://community.keyboard.io/t/can-you-use-an-old-version-of-kaleidoscope-on-the-model-100/5904)

<div class="topic-metadata">

**Author:** [@fire](https://community.keyboard.io/u/fire)\
**Replies:** 4\
**Last updated:** [August 12, 2024, 7:40am UTC](https://community.keyboard.io/t/can-you-use-an-old-version-of-kaleidoscope-on-the-model-100/5904 "2024-08-12T07:40:50Z")

</div>

Just wondering - can you use an old version of Kaleidoscope on the Model 100? The motivation here is 1) get MacrosOnTheFly working again and 2) the old macro system, which allowed me to do things that I’m having trouble…

---

## [Preonic arrow keys inverted T?](https://community.keyboard.io/t/preonic-arrow-keys-inverted-t/6781)

<div class="topic-metadata">

**Author:** [@Dennis](https://community.keyboard.io/u/Dennis)\
**Replies:** 2\
**Last updated:** [August 10, 2024, 5:27pm UTC](https://community.keyboard.io/t/preonic-arrow-keys-inverted-t/6781 "2024-08-10T17:27:15Z")

</div>

Hi, I’ve backed the Preonic. I need some ideas to implement the inverted ‘t’ as arrow keys. I don’t like the … vim style? … arrow keys on a row. I navigate quiet a lot on Mac, using the arrow keys with Shift, Cmd and/or…

---

## [Porting Model 01 Firmware to Model 100?](https://community.keyboard.io/t/porting-model-01-firmware-to-model-100/5169)

<div class="topic-metadata">

**Author:** [@dcavalari](https://community.keyboard.io/u/dcavalari)\
**Replies:** 27\
**Last updated:** [August 7, 2024, 8:30pm UTC](https://community.keyboard.io/t/porting-model-01-firmware-to-model-100/5169 "2024-08-07T20:30:02Z")

</div>

Will my Model 01 firmware work on the Model 100? Apart from custom keymaps/layers, I also have custom LEDs on each layer, and mouse key functionality.

[Next page](https://community.keyboard.io/c/programming/6.md?page=1)
