nobe4 / Posts / Keyboard _

 |  Tech Keyboard

This keyboard layout is the latest and smallest iteration in my keyboard journey. I’ve managed to fit everything into 34 keys, while removing anything superfluous.

Letting the classical QWERTY layout go in favor of one that made sense to me really helped shaping a more personal and simple layout.

See the code at https://github.com/nobe4/keyboards/blob/main/ferris/keymap.c

Glossary
  • [ ]: space key
  • GUI: “command”, “super”, or “windows”.
  • OS: OS layer
  • SY: Symbol layer

Default layer

q    w    f    p    g         j    l    u    y    '
a    r    s    t    d         h    n    e    i    o
z    x    c    v    b         k    m    ,    .    ↵
               ⇑    [ ]       CTRL SY

held: Shift layer

Q    W    F    P    G         J    L    U    Y    "
A    R    S    T    D         H    N    E    I    O
Z    X    C    V    B         K    M    ;    :    ↵
               ⇑    [ ]       CTRL SY

Changing the defaults to have more logical shifted characters: '", ,;, .:.

SY held: Symbol layer

0    1    2    3    +        (    )    [    ]    |
␛    4    5    6    =        ←    ↓    ↑    →    \
⇒    7    8    9    -        {    }    <    >    /
                    GUI      CTRL OS

Fun how the arrows stay in the HJKL place, because Vim ingrained those in my head.

Normal layer + long press

Long pressing on some keys bring some less common symbols, and the GUI modifier.

#                                            $    `

*    %    @    ^    GUI      &    _    ?    !

This leaves GUI + acvxzt available for common operations.

OS held: OS layer

F1   F2   F3   F4   F5       🔊
F6   F7   F8   F9   F10      🔈 ⏯
F11  F12  F13  F14  F15      🔉