my_keyboard_layout_60

TOC ::TOC::

abstract

It's a summary of my currently keybord_layout of a 60% keyboard. On macos it's implemented via karabiner_elements; on windows it should be implemented via autohotkey ; and most of the part should be able to implemented os independently with qmk too.

Most of the idea is borrowed from spacefn and spacemacs.

layout_details

empty

Use for copy&paste. The asciiart keyboard is copied from https://github.com/fabi1cazenave/kalamine. There are related projects like https://qwerty-lafayette.org/#_home and https://github.com/fabi1cazenave/x-keyboard for drawing a keybord.

┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
│     │     │     │     │     │     │     │     │     │     │     │     │     ┃          ┃
│     │     │     │     │     │     │     │     │     │     │     │     │     ┃          ┃
┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┯━━━━━━━┩
┃        ┃     │     │     │     │     │     │     │     │     │     │     │     │       │
┃        ┃     │     │     │     │     │     │     │     │     │     │     │     │       │
┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━━━┪
┃         ┃     │     │     │     │     │     │     │     │     │     │     ┃            ┃
┃         ┃     │     │     │     │     │     │     │     │     │     │     ┃            ┃
┣━━━━━━━━━┻━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┻━━━━━━━━━━━━┫
┃            ┃     │     │     │     │     │     │     │     │     │     ┃               ┃
┃            ┃     │     │     │     │     │     │     │     │     │     ┃               ┃
┣━━━━━━━┳━━━━┻━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛

basic layer

┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
│     │ !   │ @   │ #   │ $   │ %   │ ^   │ &   │ *   │ (   │ )   │ _   │ +   ┃          ┃
│     │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   │ 7   │ 8   │ 9   │ 0   │ -   │ =   ┃ ⌫        ┃
┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┯━━━━━━━┩
┃        ┃     │     │     │     │     │     │     │     │     │     │ {   │ }   │ |     │
┃ ↹      ┃ q   │ w   │ e   │ r   │ t   │ y   │ u   │ i   │ o   │ p   │ [   │ ]   │ \     │
┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━━━┪
┃         ┃     │     │     │     │     │     │     │     │     │ :   │ "   ┃            ┃
┃ caps    ┃ a   │ s   │ d   │ f   │ g   │ h   │ j   │ k   │ l   │ ;   │ '   ┃ ⏎          ┃
┣━━━━━━━━━┻━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┻━━━━━━━━━━━━┫
┃            ┃     │     │     │     │     │     │     │ <   │ >   │ ?   ┃               ┃
┃ shift      ┃ z   │ x   │ c   │ v   │ b   │ n   │ m   │ ,   │ .   │ /   ┃ ⇧             ┃
┣━━━━━━━┳━━━━┻━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
┃       ┃command┃option ┃          spacefn layer         ┃ option┃       ┃       ┃       ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
caps
hold as control, tap as esc
shift
tap to switch input method, hold as shift in macos we use karabiner_elements to map the tap to command+control+option f15
;/:
punctuation_layer When holding this down and pressing other alphabet keys, we input punctuation directly.
,/<
punctuation_layer still punctuation_layer, but a different mappings And though two punctuation_layer is more flexible, it's harder to get familiar with.

Spacefn layer

┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
│     │     │     │     │     │     │     │     │     │     │     │     │     ┃          ┃
│     │ f1  │ f2  │ f3  │ f4  │ f5  │ f6  │ f7  │ f8  │ f9  │ f10 │ f11 │ f12 ┃          ┃
┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┯━━━━━━━┩
┃        ┃     │     │     │     │     │     │     │     │     │     │     │     │       │
┃        ┃     │spc_w│     │     │     │home │pg_dn│pg_up│end  │     │     │     │       │
┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━━━┪
┃         ┃     │     │     │     │     │     │     │     │     │     │     ┃            ┃
┃         ┃spc_a│spc_s│spc_d│spc_f│     │ ←   │ ↓   │ ↑   │ →   │     │     ┃            ┃
┣━━━━━━━━━┻━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┻━━━━━━━━━━━━┫
┃            ┃     │     │     │     │     │     │     │     │     │     ┃               ┃
┃            ┃     │     │     │     │     │     │     │     │     │     ┃               ┃
┣━━━━━━━┳━━━━┻━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
┃       ┃       ┃       ┃          hold                  ┃       ┃       ┃       ┃       ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
spc_s
spacefn s layer all keys are prefix with command+option. For example, spc+s s is mapped to control+command+s
spc_a
spacefn apps layer (activate for just one key when spc_down a_down a_up spc_up, called osl in qmk)
spc_d
spacefn d layer all keys are prefix with command. For exmaple, spc+d c is map to command+c
spc_f
spacefn f layer all keys are prefix with control+command+option. For exmaple, spc+f f is mapped to control+command+option+f. (And currently this shortcut is used for toggle alfred)
spc_w
spacefn w layer all keys are prefix with control+command

punctuation_layer

┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
│     │     │     │     │     │     │     │     │     │     │     │     │     ┃          ┃
│     │     │     │     │     │     │     │     │     │     │     │     │     ┃          ┃
┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┯━━━━━━━┩
┃        ┃     │     │     │     │     │     │     │     │     │     │     │     │       │
┃        ┃!    │@    │#    │$    │%    │     │     │     │     │     │     │     │       │
┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━━━┪
┃         ┃     │     │     │     │     │     │     │     │     │     │     ┃            ┃
┃         ┃^    │&    │*    │(    │)    │     │     │     │     │     │     ┃            ┃
┣━━━━━━━━━┻━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┻━━━━━━━━━━━━┫
┃            ┃     │     │     │     │     │     │     │     │     │     ┃               ┃
┃            ┃/    │?    │'    │"    │:    │     │     │     │     │     ┃               ┃
┣━━━━━━━┳━━━━┻━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
│     │     │     │     │     │     │     │     │     │     │     │     │     ┃          ┃
│     │     │     │     │     │     │     │     │     │     │     │     │     ┃          ┃
┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┯━━━━━━━┩
┃        ┃     │     │     │     │     │     │     │     │     │     │     │     │       │
┃        ┃~    │_    │+    │{    │}    │     │     │     │     │     │     │     │       │
┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━━━┪
┃         ┃     │     │     │     │     │     │     │     │     │     │     ┃            ┃
┃         ┃`    │ -   │=    │[    │]    │     │     │     │     │     │     ┃            ┃
┣━━━━━━━━━┻━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┻━━━━━━━━━━━━┫
┃            ┃     │     │     │     │     │     │     │     │     │     ┃               ┃
┃            ┃.    │\    │|    │<    │>    │     │     │     │     │     ┃               ┃
┣━━━━━━━┳━━━━┻━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛