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 tocontrol+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 tocommand+c
spc_f
- spacefn f layer all keys are prefix with
control+command+option
. For exmaple,spc+f f
is mapped tocontrol+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
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
│ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
│ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┯━━━━━━━┩
┃ ┃ │ │ │ │ │ │ │ │ │ │ │ │ │
┃ ┃! │@ │# │$ │% │ │ │ │ │ │ │ │ │
┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━━━┪
┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃
┃ ┃^ │& │* │( │) │ │ │ │ │ │ ┃ ┃
┣━━━━━━━━━┻━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┻━━━━━━━━━━━━┫
┃ ┃ │ │ │ │ │ │ │ │ │ ┃ ┃
┃ ┃/ │? │' │" │: │ │ │ │ │ ┃ ┃
┣━━━━━━━┳━━━━┻━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
│ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
│ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┯━━━━━━━┩
┃ ┃ │ │ │ │ │ │ │ │ │ │ │ │ │
┃ ┃~ │_ │+ │{ │} │ │ │ │ │ │ │ │ │
┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━━━┪
┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃
┃ ┃` │ - │= │[ │] │ │ │ │ │ │ ┃ ┃
┣━━━━━━━━━┻━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┻━━━━━━━━━━━━┫
┃ ┃ │ │ │ │ │ │ │ │ │ ┃ ┃
┃ ┃. │\ │| │< │> │ │ │ │ │ ┃ ┃
┣━━━━━━━┳━━━━┻━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛