- The keyboard layout is generated using generateKeyboard from this file. => link to Generator
- The generated keyboard can be found in the qmk directory.
- tested with Ferris Sweep keyboard
On all other layers, the modifiers are as shown in the table below.
Home Row Modifiers | Finger |
---|---|
Alt | Ring |
Ctrl | Middle |
Shift | Index |
- win โก๏ธ and tab โก๏ธ are used to Short windows and tabs.
- Once you press any of those keys, you're in switcher mode, where all other keys are replaced by shift-tab.
- Switcher mode is exited when you go back to the base layer.
How to read this layout:
- ๐ = combo key (e.g. middle and index finger in top row pressed together produce "b")
- ๐ = key can't be used because the layer was activated with that key or because it's reserved for a modifier
- empty = use key from base layer
- FnSym = capitalized words are layer names - if they are a key, the layer is activated as toggled or one shot layer (if the "OneShot" flag is set in the layer flags)
- *Mouse = layer is active while key is held
- C-w = Ctrl-w (same for Alt and Shift)
- f12+Num = tab-mod - f12 on tap and Num on hold
- "that" = combo that produces "that"
- [ { = { is the shifted key of [, so it's used when Shift is held (only for information)
- The symbol table at the bottom shows the meaning of the symbols used in the layout.
Currently unused features:
- /+Ctrl = tab-mod - / on tab and CTRL on hold
- $Mouse = layer is active while key is held (double tap to lock layer)
- #Mouse = toggle layer
- @Num = layer is active for the next keypress
- Sym/Nav = layer is active for the next keypress: If the activation key is still down when the next key is pressed, the Nav layer is used, otherwise the Sym layer is used
Note: The layout is generated from this file directly.
Repeat | Alt Repeat | Repeat Key | Repeat Key 2 |
---|---|---|---|
a | u | ||
b | l | "ecause" | |
c | k | ||
d | v | "oes" | "n't" |
e | o | ||
f | f | "or" | |
g | n | l | |
h | "ey" | y | |
i | |||
j | "ust" | ||
k | n | "now" | |
l | p | m | |
m | b | "ent" | |
n | l | k | |
o | e | ||
p | l | s | |
q | "ua" | ||
r | k | ||
s | p | s | |
t | "ion" | "ing" | |
u | a | ||
v | "er" | "en" | |
w | n | s | |
x | p | c | |
y | i | ||
z | "eitlinger" | i | |
spc | "the " | "and " | |
tab | "the " | "and " | |
โฉ๏ธ๏ธ | "the " | "and " | |
~ | / | ||
, | " but " | " and " | |
. | / | "./" | |
- | > | ||
= | > | ||
! | = |
Layer | L. Pin. | L. Ring | L. Mid. | L. Ind. | R. Ind. | R. Mid. | R. Ring | R. Pin. |
---|---|---|---|---|---|---|---|---|
Base | esc | p | m | dead3 | dead2 | repeat | altRep | dead1 |
Base | s | c | n | t | a | e | i | h |
Base | *Right | f | l | d | u | o | y | *Left |
Base | *Nav | r | spc | *FnSym | ||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Base | v | "ing" | ||||||
Base | ๐ | ๐ | ||||||
Base | k | "ion" | ||||||
Base | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Base | ๐ | >Nav2 | ||||||
Base | ||||||||
Base | ||||||||
Base | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Base | w | ' | ||||||
Base | ๐ | ๐ | ||||||
Base | g | , | ||||||
Base | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Base | x | "ng" | ||||||
Base | ๐ | ๐ | ||||||
Base | b | . | ||||||
Base | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Base | "qu" | q | ||||||
Base | ๐ | ๐ | ||||||
Base | z | j | ||||||
Base | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Right | dead3 | " | A-โก๏ธ | |||||
Right | C-f | C-r | ||||||
Right | ๐ | ๐ | ๐ | ๐ | _ | |||
Right | A-f7 | C-n | [ | ] | ||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Right | ` | |||||||
Right | ๐ | ๐ | ||||||
Right | CS-r | @ | ||||||
Right | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Right | n't | |||||||
Right | ๐ | ๐ | ||||||
Right | CS-f | ! | ||||||
Right | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Right | .spc | |||||||
Right | ๐ | |||||||
Right | ? | |||||||
Right | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
RMods | ||||||||
RMods | ||||||||
RMods | ๐ | ๐ | ๐ | ๐ | ||||
RMods | [ | ] | ||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Left | dead1 | |||||||
Left | รค+Words | รถ | รผ+Mm | |||||
Left | : | ๐ | ๐ | ๐ | ๐ | |||
Left | ; | *Case | *Num | |||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Left | ร | |||||||
Left | ๐ | |||||||
Left | ร | |||||||
Left | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Left | ||||||||
Left | ๐ | |||||||
Left | ร | |||||||
Left | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Left | ||||||||
Left | ๐ | |||||||
Left | ร | |||||||
Left | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Left | "Qu" | |||||||
Left | ๐ | |||||||
Left | ||||||||
Left | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
LMods | ||||||||
LMods | ||||||||
LMods | ๐ | ๐ | ๐ | ๐ | ||||
LMods | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
FnSym | dead2 | f10 | f9 | dead2 | dead3 | ( | ) | dead1 |
FnSym | f4 | f3 | f2 | f1 | ๐ | ๐ | ๐ | =+Num2 |
FnSym | f8 | f7 | f6 | f5 | - | { | } | *Num |
FnSym | f12 | ๐ | ๐ | |||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
FnSym | ^ | win | ||||||
FnSym | ๐ | ๐ | ||||||
FnSym | + | ~ | ||||||
FnSym | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
FnSym | * | < | ||||||
FnSym | ๐ | ๐ | ||||||
FnSym | f11 | / | ||||||
FnSym | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
FnSym | pipe | > | ||||||
FnSym | ๐ | ๐ | ||||||
FnSym | & | # | ||||||
FnSym | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
FnSym | % | |||||||
FnSym | ๐ | ๐ | ||||||
FnSym | $ | \ | ||||||
FnSym | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Nav | C-x | C-v | CS-z | esc | ins | |||
Nav | copy | ๐ | ๐ | ๐ | โฌ ๏ธ | โฌ๏ธ | โฌ๏ธ | โก๏ธ |
Nav | C-z | C-w | tab โก๏ธ | win โก๏ธ | โฉ๏ธ๏ธ | bspc | del | tab |
Nav | ๐ | ๐ | spc | |||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Nav | CS-v | |||||||
Nav | ๐ | ๐ | ||||||
Nav | C-y | โฌ ๏ธโฌ ๏ธ | ||||||
Nav | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Nav | C-a | |||||||
Nav | ๐ | ๐ | ||||||
Nav | C-d | โฌ๏ธโฌ๏ธ | ||||||
Nav | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Nav | CS-n | |||||||
Nav | ๐ | ๐ | ||||||
Nav | C-k | โฌ๏ธโฌ๏ธ | ||||||
Nav | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Nav | ||||||||
Nav | ๐ | ๐ | ||||||
Nav | C-e | โก๏ธโก๏ธ | ||||||
Nav | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Nav | ||||||||
Nav | CA-b | ๐ | A-f12 | |||||
Nav | ||||||||
Nav | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Nav | ||||||||
Nav | ||||||||
Nav | C-f12 | ๐ | C-/ | |||||
Nav | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Nav | ||||||||
Nav | ||||||||
Nav | ๐ | C-p | ||||||
Nav | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Nav2 | ||||||||
Nav2 | ||||||||
Nav2 | ||||||||
Nav2 | *Num2 | >Base | *FnSym | |||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Num | dead1 | , | . | dead2 | ||||
Num | 4 | 3 | 2 | 1 | ||||
Num | 8 | 7 | 6 | 5 | ||||
Num | 9 | 0 | ๐ | ๐ | ||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Num | CS-v | |||||||
Num | ๐ | |||||||
Num | C-g | |||||||
Num | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Num | A-f1 | |||||||
Num | ๐ | |||||||
Num | CA-l | |||||||
Num | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Num | AS-x | |||||||
Num | ๐ | |||||||
Num | AS-b | |||||||
Num | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Num | ||||||||
Num | ๐ | |||||||
Num | AS-s | |||||||
Num | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Mm | ๐ | ๐ | ||||||
Mm | prt | ๐ | ๐ | ๐ | ๐ | |||
Mm | ver | โฎ๏ธ | โญ๏ธ | โฏ๏ธ | ||||
Mm | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Case | kb-case | |||||||
Case | sl/case | CapW | sn_case | camCase | ||||
Case | CapsL | do.case | SN_CASE | PasCase | ||||
Case | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
Words | ||||||||
Words | "LGTM" | |||||||
Words | GZ | gra@ | zeit@ | goog@ | ||||
Words | ||||||||
------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- |
The order of the options is also the order of the layers in the layer stack.
LayerOptions | Modifiers Left | Modifiers Right | Fallback Left | Fallback Right | Flags | Combo Timeout |
---|---|---|---|---|---|---|
Base | 200 | |||||
Nav2 | HomeRow | Nav | Nav | Alternate | 500 | |
Left | BottomRow+LMods | Base | Shifted | 500 | ||
Right | BottomRow+RMods | Base | Shifted | 500 | ||
LMods | BottomRow+LMods | Base | ||||
RMods | BottomRow+RMods | Base | ||||
Nav | HomeRow | DirectComboLeft | 500 | |||
FnSym | HomeRow | HomeRow | DirectComboRight | 500 | ||
Num | TriLayer | 500 | ||||
Num2 | HomeRow | Num | ||||
Mm | ||||||
Case | ||||||
Words |
Symbol | Command |
---|---|
โฌ ๏ธ | KC_LEFT |
โฌ ๏ธโฌ ๏ธ | KC_HOME |
โฌ๏ธ | KC_DOWN |
โฌ๏ธโฌ๏ธ | KC_PGDN |
โฌ๏ธ | KC_UP |
โฌ๏ธโฌ๏ธ | KC_PGUP |
โก๏ธ | KC_RIGHT |
โก๏ธโก๏ธ | KC_END |
ins | KC_INS |
del | KC_DEL |
spc | KC_SPC |
esc | KC_ESC |
โฉ๏ธ๏ธ | KC_ENT |
bspc | KC_BSPC |
win | KC_LGUI |
tab | KC_TAB |
prt | KC_PSCR |
pipe | KC_PIPE |
๐ | KC_MUTE |
โฏ๏ธ | KC_MPLY |
โฎ๏ธ | KC_MPRV |
โญ๏ธ | KC_MNXT |
๐ | KC_VOLU |
๐ | KC_VOLD |
๐ | KC_BRIU |
๐ | KC_BRID |
copy | C(KC_C) |
รค | unicode |
รถ | unicode |
รผ | unicode |
ร | unicode |
ร | unicode |
ร | unicode |
ร | unicode |
repeat | QK_REPEAT_KEY |
altRep | QK_ALT_REPEAT_KEY |
tab โก๏ธ | custom:NEXT_TAB NoHold |
win โก๏ธ | custom:NEXT_WINDOW NoHold |
.spc | custom:DOT_SPC |
n't | custom:N_T |
ver | custom:PRINT_VERSION |
CapsL | KC_CAPS |
CapW | custom:CAPS_WORDS |
sn_case | custom:SNAKE_CASE |
SN_CASE | custom:SCREAMING_SNAKE_CASE |
camCase | custom:CAMEL_CASE |
PasCase | custom:PASCAL_CASE |
sl/case | custom:SLASH_CASE |
do.case | custom:DOT_CASE |
kb-case | custom:KEBAP_CASE |
dead1 | custom:DEAD1 |
dead2 | custom:DEAD2 |
dead3 | custom:DEAD3 |
GZ | "Gregor Zeitlinger" |
gra@ | "[email protected]" |
zeit@ | "[email protected]" |
goog@ | "[email protected]" |
- should be usable with any keyboard layout
QMK: https://github.com/zeitlinger/qmk_firmware/tree/ferris
- run
mise run install
to install the dependencies in QMK directory - run
mise run flash
to flash the keyboard in this directory