qmk-firmware/keyboards/ergodox_ez/keymaps/bdk
..
config.h
keymap.c
readme.md
rules.mk

The BDK Ergodox Keyboard Layout

Dvorak-based

This was the first alternative layout I switched to and I don't want to change again.

Mod-tap / Layer-tap is great for thumb keys

This means a key that activates a layer/modifier when you hold it down, but results in a keyclick when you tap it. Thumb keys are great for this since they are good for both high-usage keys as well as modifiers.

The one thing to avoid is when you mean to tap a key, but hit the next key before you release, which results in the modifier/layer instead of a tap. To avoid this, I chose Enter/Tab as the tap keys, since they aren't chorded together with other keys often.

The other issue is I found several problems with using the standard MT,LT code, so I rolled my own to handle it.

Don't have too many layers

My first layouts had multiple layers that I could switch to, but that overloaded my brain. This layout basically only uses 1 extra layer. Technically there's also a function key layer, but I only use those keys for a handlful of things: boot order, rename, reload page, that's basically it.

Brackets should be easy to use

There's a lot of ways to lay out a symbol layer. I organized mine around making the {[()]} chars easy to use since they're so frequent in programming. I put them all on the symbol layer home row.

I also arranged the numbers so 0/1 were also on the symbol layer home row. This makes for fairly easy chording of "[0]" and "[1]".