# Putting SHIFT on a "fun" layer - result is inconsistent

**URL:** <https://community.keyboard.io/t/putting-shift-on-a-fun-layer-result-is-inconsistent/5793>\
**Category:** Help and Getting Started\
**Created:** [October 19, 2022, 10:57pm UTC](https://community.keyboard.io/t/putting-shift-on-a-fun-layer-result-is-inconsistent/5793 "2022-10-19T22:57:41Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![h34thf](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/h34thf/32/2474_2.png) [@h34thf](https://community.keyboard.io/u/h34thf)\
**Post date:** [October 19, 2022, 10:57pm UTC](https://community.keyboard.io/t/putting-shift-on-a-fun-layer-result-is-inconsistent/5793/1 "2022-10-19T22:57:41Z")

</div>

Model100 🙂  
Chrysalis 11.8  
firmware 0.90.6-snapshot.58

Trying to cram as much into the thumb keys as possible, I moved SHIFT to a palm / function layer, i.e. “palm key + (normal layer ‘e’ key) = SHIFT”. It works, e.g. “(palm + ‘e’ = SHIFT) + ‘t’ = ‘T’”, when there is no function layer mapping for the key being pressed. But when the key _is_ defined in the function layer, the SHIFTED function layer key ‘underneath’ the intended normal layer key is displayed. At least, that’s the correlation I’m seeing.

I’m thinking this is transparent- / blocked-related. Or: is this not possible (yet)? Hoping for a sanity check before I read the freaking manual. Sorry if I’m overlooking something obvious. Thanks!

---

<div class="post-metadata">

**Author:** ![h34thf](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/h34thf/32/2474_2.png) [@h34thf](https://community.keyboard.io/u/h34thf)\
**Post date:** [October 20, 2022, 6:38am UTC](https://community.keyboard.io/t/putting-shift-on-a-fun-layer-result-is-inconsistent/5793/2 "2022-10-20T06:38:56Z")

</div>

Definitely seems to be a layer issue. That said, I think I found a typo. On  
[https://kaleidoscope.readthedocs.io/en/latest/layers.html](https://kaleidoscope.readthedocs.io/en/latest/layers.html)

FROM  
`ShiftToLayer(n)`: Unlike `LockLayer`, this only activates the layer until the key is held. Once the key is released, the layer deactivates. This behaviour is very similar to that of modifiers.

TO  
`ShiftToLayer(n)`: Unlike `LockLayer`, this only activates the layer while the key is held. Once the key is released, the layer deactivates. This behaviour is very similar to that of modifiers.

[‘until’ to ‘while’]

---

<div class="post-metadata">

**Author:** ![h34thf](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/h34thf/32/2474_2.png) [@h34thf](https://community.keyboard.io/u/h34thf)\
**Post date:** [October 20, 2022, 8:08am UTC](https://community.keyboard.io/t/putting-shift-on-a-fun-layer-result-is-inconsistent/5793/3 "2022-10-20T08:08:09Z")

</div>

Solved.

I had to create a layer where all keys that weren’t transparent had SHIFT applied (SHIFT “[is] automatically pressed as you press this key.”) and “layer-shift” to it (technically, it’s TWO layer shifts, i.e. a layer I can only reach by chording two layer shifts in the right order).

Slimy, yet satisfying. 😉 Big thanks for great documentation, without which I would NOT have figured it out.

Although… could this also be done with e.g. one-shot?

Edit: I think the plug-in was never one-shot (sorry), but the DualUse part of [Qukeys](https://kaleidoscope.readthedocs.io/en/latest/plugins/Kaleidoscope-Qukeys.html).

---

<div class="post-metadata">

**Author:** ![merlin](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/merlin/32/3416_2.png) [@merlin](https://community.keyboard.io/u/merlin)\
**Post date:** [October 21, 2022, 12:08am UTC](https://community.keyboard.io/t/putting-shift-on-a-fun-layer-result-is-inconsistent/5793/4 "2022-10-21T00:08:23Z")

</div>

FYI: You don’t actually need to hold both the layer shift key and the `shift` key (or both layer shift keys) to keep the second one active. In your original configuration, you could have done this: press `ShiftToLayer(X)`, press `shift` (on layer X), release `ShiftToLayer(X)`, press `T`. Even if there’s something else mapped to the `T` key on layer X, you’ll get `T`. That `shift` key will retain its value as long as it’s held, even if the keymap changes after it’s pressed because of a layer turning on or off.

Indeed, Qukeys might work out even better for you, overloading the key without requiring the use of an additional layer shift key being held.
