# Custom German Layout

**URL:** <https://community.keyboard.io/t/custom-german-layout/3842>\
**Category:** Model 01 Layouts\
**Created:** [May 6, 2020, 9:58pm UTC](https://community.keyboard.io/t/custom-german-layout/3842 "2020-05-06T21:58:34Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![zagdul](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/zagdul/32/3278_2.png) [@zagdul](https://community.keyboard.io/u/zagdul)\
**Post date:** [May 6, 2020, 9:58pm UTC](https://community.keyboard.io/t/custom-german-layout/3842/1 "2020-05-06T21:58:34Z")

</div>

Hi,

I created my custom layout with some major changes, maybe it is an inspiration for the one or the other:

- I had to move shift to it’s usual place, just could not get used to thumb shifting.
- I removed Mousemovement plugin, eeprom settings etc from the firmware. I do not use it, so it does not eat up space and compile time
- I have several Layers: Primary layer is a qwertz layer, but I want to learn XOY (neo based layout), which I also have as a dedicated layer. Then there is a GAME layer and the usual Function layer. But I just added a couple of macros there instead of the mouse part. Last but no least I use a SPECIAL layer for all those braces
- switching to GAME or XOY Layer I use magic combos - FN+FN+Rightmost, lowest Key (shift in my layout) switches to GAME, FN+FN+Leftmost, lowest Key (Other shift) switches to XOY

One interesting feature: I have created a custom plugin, that makes it possible to have a different LED Effect on each layer. And, if you cycle through them using the LED key, it will be associated with that layer (until next reboot).

you can get it here: [https://github.com/sboesebeck/keyboardioLayout](https://github.com/sboesebeck/keyboardioLayout)

Primary QWERTZ:

 ![Primary_Layer](https://canada1.discourse-cdn.com/flex031/uploads/keyboard/original/2X/9/9971e5c9be8679db1318275602449ff67c489222.png)

Special Layer for braces etc:

 ![Special_Layer](https://canada1.discourse-cdn.com/flex031/uploads/keyboard/original/2X/9/9d2f07c5614cfbdff1e477ecb55e5366aaaef9f1.png)

XOY-Layout:

 ![Xoy_Layer](https://canada1.discourse-cdn.com/flex031/uploads/keyboard/original/2X/b/b1acc4f5487125d509f74327b4ad8a3726ad1929.png)

Function Layer:

 ![Function_Layer](https://canada1.discourse-cdn.com/flex031/uploads/keyboard/original/2X/5/58f94a5d01239a4218c2ea619986ff9661bbd151.png)

Last but not least, GAME Layer:

 ![Game_Layer](https://canada1.discourse-cdn.com/flex031/uploads/keyboard/original/2X/4/467e1929947f39bb4523e4faf2ff0f0c437c9ba4.png)

---

<div class="post-metadata">

**Author:** ![zagdul](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/zagdul/32/3278_2.png) [@zagdul](https://community.keyboard.io/u/zagdul)\
**Post date:** [May 24, 2022, 11:39am UTC](https://community.keyboard.io/t/custom-german-layout/3842/2 "2022-05-24T11:39:06Z")

</div>

I updated the code so that it will compile for Model100 also. Problem was, I use Wavepool-Effect for one of the Layers (GAME) and Wavepool is not working with Model100 anymore.

But you might replace it with any other LED-Effect.

There is a branch now for model100 and the master branch stays for model01

---

<div class="post-metadata">

**Author:** ![algernon](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/algernon/32/4404_2.png) [@algernon](https://community.keyboard.io/u/algernon)\
**Post date:** [May 24, 2022, 2:06pm UTC](https://community.keyboard.io/t/custom-german-layout/3842/3 "2022-05-24T14:06:22Z")

</div>

> [@zagdul](#):
>
> Problem was, I use Wavepool-Effect for one of the Layers (GAME) and Wavepool is not working with Model100 anymore.

That can be fixed easily. Change the `#ifdef ARDUINO_AVR_MODEL01` at the top of LED-Wavepool.h and LED-Wavepool.cpp to `#if defined(ARDUINO_AVR_MODEL01) || defined(ARDUINO_keyboardio_model_100)`, and it should work.

I’ll open a PR to do just that in a moment.

---

<div class="post-metadata">

**Author:** ![zagdul](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/zagdul/32/3278_2.png) [@zagdul](https://community.keyboard.io/u/zagdul)\
**Post date:** [May 24, 2022, 2:22pm UTC](https://community.keyboard.io/t/custom-german-layout/3842/4 "2022-05-24T14:22:43Z")

</div>

hmm… i tried, and it did not compile then. Well, I removed the #ifdef, so it was slightly different 😉

---

<div class="post-metadata">

**Author:** ![algernon](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/algernon/32/4404_2.png) [@algernon](https://community.keyboard.io/u/algernon)\
**Post date:** [May 24, 2022, 2:36pm UTC](https://community.keyboard.io/t/custom-german-layout/3842/5 "2022-05-24T14:36:46Z")

</div>

I just tried to compile my [PR](https://github.com/keyboardio/Kaleidoscope/pull/1180) for Model100, and that compiled. Can’t test if it works, my Model100 is stuck at customs, but it compiles, so that’s at least halfway there!

---

<div class="post-metadata">

**Author:** ![zagdul](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/zagdul/32/3278_2.png) [@zagdul](https://community.keyboard.io/u/zagdul)\
**Post date:** [May 24, 2022, 2:37pm UTC](https://community.keyboard.io/t/custom-german-layout/3842/6 "2022-05-24T14:37:53Z")

</div>

good to know, than it is something wrong here. Astonishingly it compiles without error for model01, but not for model100, with model100 I get:  
` error: 'WavepoolEffect' was not declared in this scope`  
in INIT\_PLUGINS…

I am lost - it won’t compile, when using Model100. It compiles fine (same code!) as model01

---

<div class="post-metadata">

**Author:** ![zagdul](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/zagdul/32/3278_2.png) [@zagdul](https://community.keyboard.io/u/zagdul)\
**Post date:** [May 24, 2022, 3:02pm UTC](https://community.keyboard.io/t/custom-german-layout/3842/7 "2022-05-24T15:02:40Z")

</div>

There is another error listed (there is so much output when compiling, I overlooked it):

```auto
error: size of array 'led_mode_buffer_' is not an integral constant-expression
  476 | uint8_t LEDModeManager::led_mode_buffer_[max_led_mode_size]; __NL__ \

```

could that be related?

---

<div class="post-metadata">

**Author:** ![zagdul](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/zagdul/32/3278_2.png) [@zagdul](https://community.keyboard.io/u/zagdul)\
**Post date:** [May 24, 2022, 7:40pm UTC](https://community.keyboard.io/t/custom-german-layout/3842/8 "2022-05-24T19:40:59Z")

</div>

This is strange, after a second `make clean compile` it works - somthing was broken her. Thanks for the support!
