- 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 | Alt Repeat 2 |
|---|---|---|---|---|
| a | u | |||
| b | l | "ecause" | i | |
| c | k | p | ||
| d | v | "oes" | "n't" | |
| e | o | |||
| f | f | "or" | ||
| g | n | l | o | |
| h | "ey" | y | ||
| i | ||||
| j | "ust" | |||
| k | n | "now" | ||
| l | p | m | ||
| m | b | "ent" | ||
| n | l | k | ||
| o | e | |||
| p | l | s | i | |
| 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 | 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 | \ | |||||||
| Right | ๐ | |||||||
| Right | ? | |||||||
| Right | ||||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| RMods | ||||||||
| RMods | ||||||||
| RMods | ๐ | ๐ | ๐ | ๐ | = | |||
| RMods | [ | ] | ||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| Left | dead1 | |||||||
| Left | *CNum | *Case | *Mm | |||||
| Left | : | ๐ | ๐ | ๐ | ๐ | |||
| Left | ; | *ANum | *Num | |||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| 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 | dead1 | esc | ins | dead2 | |
| 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 | ||||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| 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 | ||||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| ANum | ||||||||
| ANum | A-4 | A-3 | A-2 | A-1 | ||||
| ANum | A-8 | A-7 | A-6 | A-5 | ||||
| ANum | A-9 | A-0 | ๐ | ๐ | ||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| CNum | ||||||||
| CNum | C-4 | C-3 | C-2 | C-1 | ||||
| CNum | C-8 | C-7 | C-6 | C-5 | ||||
| CNum | C-9 | C-0 | ๐ | ๐ | ||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| CNum | ||||||||
| CNum | ๐ | |||||||
| CNum | goog@ | |||||||
| CNum | ||||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| CNum | ||||||||
| CNum | ๐ | |||||||
| CNum | zeit@ | |||||||
| CNum | ||||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| CNum | ||||||||
| CNum | ๐ | |||||||
| CNum | gra@ | |||||||
| CNum | ||||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| CNum | ||||||||
| CNum | ๐ | |||||||
| CNum | GZ | |||||||
| CNum | ||||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| Mm | ๐ | ๐ | ||||||
| Mm | prt | ๐ | ๐ | ๐ | ๐ | |||
| Mm | ver | โฎ๏ธ | โญ๏ธ | โฏ๏ธ | ||||
| Mm | ||||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | |
| Case | ||||||||
| Case | sl/case | PasCase | CapW | SN_CASE | ||||
| Case | do.case | camCase | kb-case | sn_case | ||||
| Case | ||||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- |
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 | |||||
| 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 | DirectComboRight | 500 | |||
| Num | TriLayer | 500 | ||||
| Num2 | HomeRow | Num | ||||
| ANum | ||||||
| CNum | 500 | |||||
| Mm | ||||||
| Case |
| Symbol | Command |
|---|---|
| โฌ ๏ธ | KC_LEFT |
| โฌ ๏ธโฌ ๏ธ | KC_HOME |
| โฌ๏ธ | KC_DOWN |
| โฌ๏ธโฌ๏ธ | KC_PGDN |
| โฌ๏ธ | KC_UP |
| โฌ๏ธโฌ๏ธ | KC_PGUP |
| โก๏ธ | KC_RIGHT |
| โก๏ธโก๏ธ | KC_END |
| โ | KC_KP_MINUS |
| โ | KC_KP_PLUS |
| 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) |
| รค | UP(UMLAUT_a, UMLAUT_A) |
| รถ | UP(UMLAUT_o, UMLAUT_O) |
| รผ | UP(UMLAUT_u, UMLAUT_U) |
| ร | UM(UMLAUT_s) |
| repeat | QK_REPEAT_KEY |
| altRep | QK_ALT_REPEAT_KEY |
| tab โก๏ธ | custom:NEXT_TAB NoHold |
| win โก๏ธ | custom:NEXT_WINDOW NoHold |
| n't | custom:N_T |
| ver | custom:PRINT_VERSION |
| 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 installto install the dependencies in QMK directory - run
mise run flashto flash the keyboard in this directory