Tap or hold layer switch


I’m trying to make it so that if I hold down the fun key, it shifts to the layer until I let go, just like “shift to layer” does today, but if I tap it, it should lock the layer, like “Lock layer to” does. Is this doable?

I can get close with OneShot. I have Fun set to OSL(Layer1). This chords Layer1 if I hold it down, but shifts to Layer1 if I double click. A single click returns it to Layer0.


You can do this with Qukeys, but not via Chrysalis. If you map the key to LockLayer(FUN) in the keymap, but define that key as a Qukey that becomes ShiftToLayer(FUN) when held, it will do what you want.

The OneShot solution takes two taps to “lock” the layer, and currently fails if that key is mapped to something else on the target layer (there’s a PR open that will fix this), but I would nevertheless recommend that solution over the Qukeys trick in general.

1 Like

How would the one shot solution work? I tried to do OSL 1 on layer 0, then LockTo 1 on the same button on layer 1, but unfortunately it doesn’t lock.

Answering my own question, leaving the button as transparent on layer 1 works. Thanks, this is perfect for me!

So I’m confused. I thought One Shot was a one-shot thing (hence the name) not something that locked the layer. You have to press it twice to lock the layer.

Why would you recommend that solution over Qukeys?

It’s a single key definition in the keymap, and the plugin that handles it is specifically meant for the task. Qukeys is quite a large plugin, so if you’re not already using it for other things, or it’s very important to need only one tap to lock the layer, I’d go with OneShot. Also, configuring that specific key with Qukeys is more involved (it can’t be done with Chrysalis alone).

1 Like