I can imagine using that. It is not too far from the home position... but I'm not going to
If you have some one else try it I'd be interested in knowing how often someone hits the Up key by mistake, when wanting to hit a punctuation mark.
Notice that NumLock has a special functionality on any keyboard with numerical pad. It changes how OS interprets USB HID codes which are sent by the numerical pad keys/switches. It interprets them either as numerical keys (NumLock on) or as navigation keys (NumLock off). Since Katy has numerical keypad keys in the "Keypad" Layer then I need both NumLock (how should OS interpret the numerical "Keypad" layer keys) and Keypad switch to toggle byetween my "Keypad" layer and my "Normal" layer. Notice that OS does not have a clue that Program, KeypadSwitch, or KeypadShift keys exist at all but it knows about NumLock key. Thanks to KeypadSwithc/KeypadShift keys, the keyboard behaves like it would have 2*80-2*4 = 152 separate keys. To the OS the keyboard looks like a 152 key keyboard. The special Program key is used to quickly redefine what each key looks like to the OS (i.e. what USB HID code the key will emit to the OS).
Ok, so my mistake comes from the fact I don't really know what happens on the keyboard and what happens on the OS.
If I understand correctly your saying that when one uses the button with the 1 on the left of my keyboard, and on the keypad, the keyboard sends different codes, and they are treated as a 1, because the OS has the information that its a qwerty keyboard.
Whereas if I am in azerty keyboard, the codes are the same but the left code if mapped as a different character?
So when you make a custom keyboard, you can either fix the association on the button-code (KB firmware) side or on the code-character side (OS driver).
If you change the firmware, you can go to another pc plug your kb and say its a qwerty and everything works, if you change the driver you would need to install your driver on a new computer.
I think I posted my JD30 design here somewhere, but I can't remember.
Maybe it would be better to have a layer cycler, rather than a shift key.
But still you would need so many layers just to have qwerty set of characters, it would be a pain to cycle throught them.
And you would need lights to help you remember the current layer.
Note that Enter could be replaced by a 'go to home layer', in the other layers.
Thanks