qmk_firmware/keyboards/ergodox/keymaps/dave
..
keymap.c
readme.md

readme.md

This keymap is my preferred layout (after a certain amount of experimentation). The rationale behind the design is as follows:

I grew up typing from a very early age and thus never learned the "correct" way to touch type (essentially, I'm self-taught). As a, result my fingers don't tend to stay on the "home keys" and occasionally my right hand wants to type keys that are on the left of the keyboard, and vice versa.

Hence, despite liking the idea of split keyboards in principle, I've never been able to get on with them because the split simply doesn't work with my style of typing. The Ergodox solves this neatly by virtue of having a few extra keys in the "middle" of the keyboard which I can utilise for deliberate redundancy. Thus in this keymap there are two "6" keys (one on the left, one on the right) and likewise Y, H, G, and B are all duplicated to enable one-handed patterns that I use frequently (e.g. "byobu" with the right hand, "yes" with the left, etc.).

I occasionally use the numeric pad for data entry, thus this is duplicated under the natural home position of the right hand in layer 1 (activated by holding one of the right thumb buttons), while the cursor keys are duplicated under the classic WASD gaming layout of the left hand in layer 2 (activated by holding one of the left thumb buttons). Various other useful keys also appear in these layers (brackets and symbols for coding in layer 1, navigation and F-keys in layer 2, etc.).

Finally, modifier keys like Ctrl, Shift, and Alt, along with Backspace and Enter are all in traditional locations in an effort to reuse existing muscle memory as much as possible (keys like =, #, and ' are in layer 1). The layout maps are in the comments of keymap_dave.c so I won't bother duplicating them here.

Oh, and the LEDs are rather pimped ... because I could!

Anyway, although I'm sure this keymap won't be to many people's taste you might find some interesting ideas in here for your own layouts. Do tweet me (@waveform80) if you have any questions / suggestions / bugs.

Dave.