German NEO layout - With Neo auto hot key helper

My keyboardio came i tried various ways to get Neo working. But for some weird reason in the hid spec I can not send utf-8 codepoints but quite obscure things for videorecorder or alarmclocks.
So I took the trusted way of the neo auto hot key helper ( and can now use all 6 layers of neo.

The changes to the default keymap are rather small. The biggest changes were for the compose keys.
The default function layer from keyboardio preserved on the left of the neo U.
The numpad is gone because neo has already one on layer 4.

(___,          Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext,
 Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab,
 ShiftToLayer(FUNCTION), Key_A, Key_S, Key_D, Key_F, Key_G,
 Key_Equals, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Escape,
 Key_LeftControl, Key_Backspace, Key_Spacebar, Key_LeftShift,

 M(MACRO_ANY),  Key_6, Key_7, Key_8,     Key_9,         Key_0,         Key_Minus,
 Key_Enter,     Key_Y, Key_U, Key_I,     Key_O,         Key_P,         Key_LeftBracket,
                Key_H, Key_J, Key_K,     Key_L,         Key_Semicolon, Key_Quote,
 Key_RightAlt,  Key_N, Key_M, Key_Comma, Key_Period,    Key_Slash,     Key_RightBracket,
 Key_RightShift, Key_LAlt, Key_Spacebar, Key_RightControl,

edit Forgot about alt + tab now its restored.

1 Like


it seems as if you use the Neo2 layout on OS level? This is a very nice
variant, thank you very much for sharing.

I am working on the same task and you are right, the necessary changes are
quite simple to perform. I remapped only a handful of keys and used my Keyboard
already three full days at work. However, I still have some issues with my and
your approach and we might work together to resolve them. That would be great.

The first issue I have is the position of the shift keys. I find the innermost
thumb keys quite hard to reach (and I doubt that many here have bigger hands
than I do). I suggest to map a function to that keys that is not needed as
frequent. Not only are capital letters quite frequent in german, Shift
participates in quite a lot of keyboard shortcuts, at least for me. During the last
days I had Shift at both Fn. This worked quite well, but still did not feel optimal.

Just some moments ago, I mapped “Cmd” and Alt on the FN keys and the Shift keys
to where Cmd and Alt were. These seem to be quite rarely used, so mapping them
to Fn seems to be ok. I consider having Mod4 on the right hand’s Fn key to be
problematic, as under Neo2 Mod4 is an incredible important key, e.g. to use the
navigation block under the left hand. I have Mod4 at Keyboardio’s space key but
your alternative position seems to be as good.

This setup makes it impossible to perform simple navigation tasks onehanded,
e.g. scrolling through PDFs or web pages while drinking ore eating. This
already annoyed me at some occasions. Maybe sticky modifiers are a solution,
but I am not sure so far.

Keyboardio’s PgUp key is on a very strong position. Using it for a second Mod3
(me) or Fn (you) seems wasteful to me. Unfortunately, I have not come up with a
better usage than Mod3 so far. I consider to use Mod3 only there, but sticky.

To summarise: I like your approach, but I think the mapping of the modifier
keys is hard. I think, using e.g. OneShot in order to be able to make the
modifiers sticky might help a lot. I am very curious what you and others think
of the issues I sketched out above; I am sure there is good room for
inspirations and improvements.

By the way: How does one generate these nice keyboard layout plots?

With that editor and this base:

I have also large hands, but the enter and tab column are really a stretch to reach. Maybe i should try to use the layer 4 laternatives. At least for alt + tab it works fine on windows.
The FN layer is there for the F keys and the mouse mouse movement, which looks nice but need to move to the arrows on layer 4.
And i find the default shiftkey also a bit to far out. My thumb can go one key more inwards more easily then reaching that shift.

Yes, Enter and Tab are far reaches as well. I don’t use the Any, Enter and Butterfly at all. I have Tab on the left of Q, but I have not yet decided which one I like more. I also will try the Layer4-Tab, I totally overlooked it.

I mapped Fn to Any in order to use the F-keys. However, I hardly use the F-keys at all, so probably this choice does not fit everyone. Having Fn to the left of A in order to use the mouse mappings seems unergonomic to me; one has to hold the left hand’s pinky finger while performing actions with the other fingers.

tommorrow I will receive my Model 01. I want to switch to NEO2 asap. How did you install it on your keyboards, with Chrysalis?

Hi, Raven.

That layout looks interesting - it’s quite close to my Class1 multilingual layout (see Under Class1, Mod3 would automatically fall to the left of U (i.e. PgUp), which is a happy coincidence. If you also enabled the modifiers-altgr option, the shift and Mod4 keys would fall in reasonable positions under the thumbs.

Would anyone be interested in trying out Class1 with NEO and letting me know how it works for them? Thanks.

Didn’t use Chrysalis at that time, it wasn’t ready. I played with the source code in the editor. Just read the beta announcement, maybe i give Chrysalis another try.

Also I changed M3 for the Windows key and put - from left to right - Shift, Space, M3 and Control on the 4 left Thumb Keys. Other than that i am quite happy with this layout.

I tried it again, this time with Chrysalis. First I thought, I could setup the whole Neo Layout in the keyboard itself. But the current Kaleidoscope won’t compile on my desktop and there are some unresolvable OS level problems for mulitbyte characters. So I just recreated my setup.

The labels in this Chrysalis file are obviously wrong, but overwriting them in the json does not work.
Layout neo.json.txt (26.1 KB)

Full Layout as it behaves together with the auto hotkey helper on windows or the neo 2 layout for mac + karabiner elements modifiers.

Hi, fellow Neo user :slight_smile:

I am currently also working on a Neo(-ish) layout and had issues with Kaeleidoscope compiling – this thread helped me: