qmk_firmware/keyboards/lily58/keymaps/bcat
..
config.h
keymap.c
readme.md
rules.mk

bcat's Lily58 layout

This split ergo layout is standard QWERTY on the default layer, with symbols on the lower layer, numbers/navigation on the raise layer, and media keys centered around the ESDF cluster in the adjust (raise + lower) layer. A few general principles went into this layout:

  • The number row is optional, as are the outermost bottom row keys and the "extra" keys on the innnermost columns below the controllers. This will enable easy translation to a Crkbd or similar 40% ortho if I go that route.

  • Space and Enter are on the big thumb keys so they're easy to press (particularly with G20 or other low-profile keycaps there).

  • There are two shift keys because really, Right Shift is important.

  • Arrow keys are on VIM-style HJKL keys.

  • Home/End and Page Up/Page Down are easy to reach and in a square kind of like on the HHKB.

  • Navigation should be usable with just the right hand, to enable left-handed mousing at the same time. Additionally, Web page scrolling (Space, Shift+Space) should be possible with just the left hand, for writing at the same time as scrolling.

  • Escape is easy to reach because Vim.

  • Since most of the modifiers are on the left half, keys frequently pressed together with mods (e.g., numbers, function keys, etc.) are on the Raise layer activated by the right thumb.

  • Every key on a TKL has a binding.

  • Backspace is bound in the same place on every layer to avoid having to let go of layer-shift keys to fix a mistake.

  • Likewise, the comma and period keys are not rebound on the raise layer to allow typing numbers with thousand separators and decimal points without releasing the layer key.

  • Brackets and braces are on or near the home row for quick access when coding.

  • Other than Right Shift (sorry), modifiers aren't rebound on layers.

Default layer

Default layer layout

(KLE)

Lower layer

Lower layer layout

(KLE)

Raise layer

Raise layer layout

(KLE)

Adjust layer

Adjust layer layout

(KLE)