# LSHIFT(Key\_CapsLock) or LSHIFT(Key\_NonUsPound)

**URL:** <https://community.keyboard.io/t/lshift-key-capslock-or-lshift-key-nonuspound/2366>\
**Category:** Programming\
**Tags:** question\
**Created:** [December 31, 2018, 10:42pm UTC](https://community.keyboard.io/t/lshift-key-capslock-or-lshift-key-nonuspound/2366 "2018-12-31T22:42:38Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![MaxG](https://avatars.discourse-cdn.com/v4/letter/m/a88e57/32.png) [@MaxG](https://community.keyboard.io/u/MaxG)\
**Post date:** [December 31, 2018, 10:42pm UTC](https://community.keyboard.io/t/lshift-key-capslock-or-lshift-key-nonuspound/2366/1 "2018-12-31T22:42:38Z")

</div>

I am using my Model01 with the german Neo2 layout. Specifically, I configured my Linux to have the Neo2 layout os side and did some minor adaptions to my firmware.

The Neo2 layout has 6 layers to be reached by combinations of various modifiers. Layer 5 holds many greek characters and is reached either by pressing `Shift+CapsLock` or `Shift+Pound`. I would like to have one physical key for that so I do not have to twist my fingers for that. (OneShot does not accept either Key\_CapsLock nor Key\_NonUsPound.)

It seems as if LSHIFT(…) would be the way to go. Unfortunately, this does not work in my setup. If I put LSHIFT(…) on some physical key (left FN, in my case) I get the function of CapsLock or NonUsPound.

Does anyone know how to achieve a Layer 5 key?

---

<div class="post-metadata">

**Author:** ![MaxG](https://avatars.discourse-cdn.com/v4/letter/m/a88e57/32.png) [@MaxG](https://community.keyboard.io/u/MaxG)\
**Post date:** [January 1, 2019, 9:15pm UTC](https://community.keyboard.io/t/lshift-key-capslock-or-lshift-key-nonuspound/2366/2 "2019-01-01T21:15:42Z")

</div>

I played around with macros, but to no avail.

My macro function looks as follows:

```auto
static const macro_t *layer5Macro(const uint8_t keyState) {
   if (keyIsPressed(keyState))
    return MACRO(D(RightShift), D(CapsLock));
    /* return MACRO(T(H),T(A),T(L),T(L),T(O)); */

  return MACRO_NONE;
}

```

If I use the commented out line, the macro works as expected and types a string. Unfortunately, trying to map RightShift and CapsLock on one key results in a delayed SHIFT behaviour.

Could anyone suggested what I am doing wrong?
