Is there a way to program layers like a Planck, where the left fn key would be “lower”, the right fn key would be “raise” and both together would be “adjust”? I suppose it really doesn’t matter what they’re called, just that both buttons together do something different.
You could do this with MagicCombos, or (easier to do but slightly kludgier) would be to make the opposite fn key on the shifted layers go to the third layer (e.g. if left fn goes to “lower”, then make the right fn on that layer be shift to “adjust” and vice-versa).
What does “adjust” mean, exactly? I’m not familiar with QMK, but I’ve made some changes in a PR that might enable something close to what you want.
It’s just another layer, so if I had created 4 layers, 1 would be the default, left_fn would bring up level 2, right_fn would bring up level 3 and left_fn+right_fn would bring up level 4
And would you want those layers to be active only when those keys are held, or would you want to tap a key to toggle the target layer?
Just held. @james.nvc’s kludge kind of worked, but there was weirdness around which one you pressed first, and then which one you released first.
The simplest way would be to define one key as
ShifToLayer(RAISE) and the other as
ShiftToLayer(LOWER) on the base layer, and both of them as
ShiftToLayer(ADJUST) on both the
That’s basically the same. If I hold left_fn, it goes to LOWER, then if I hold right_fn, it goes to ADJUST, but then if I let go of left_fn, it stays on ADJUST, where I think it should go to RAISE
Ah! Yes, that’s what I’d expect. I guess that’s a difference between QMK and Kaleidoscope. In Kaleidoscope, a key’s value doesn’t change while it’s held down, so there isn’t a simple way to get the behaviour you want at the moment.
This is good enough, I was just wondering if there was a way to take it all the way.
You could probably do it with a MagicCombo, like @james.nvc said, but it’s a bit tricky, and if it’s not done right, it would be easy to get one or more of those layers stuck on with no way to turn it off.
Nothing a reflash can’t fix