# Sweeeeep Keyboard Layout - smathev ## Overview This is a 36-key split keyboard layout using the Norto layout (Danish optimized) with 4 layers. --- ## Layer 0: NORTO (Base Layer) **Default typing layer - Danish optimized layout** ``` ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ │ Ø │ Æ │ U │ G │ J │ │ B │ F │ L │ H │ X │ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ │ O │ I │ A │ T │ M │ │ P │ N │ R │ S │ D │ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ │GUI ,│ALT Y│SFT Å│CTL V│ C │ │ W │CTL K│SFT Z│ALT Q│GUI .│ └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┐ ┌─────┬─────┬─────┐ │ NAV │ - │ E │ │SPC │BSPC │ SYM │ │ LT │ │ │ │ │ │ LT │ └─────┴─────┴─────┘ └─────┴─────┴─────┘ ``` **Key Features:** - **Home row mods**: GUI, ALT, SHIFT, CTRL on bottom row (left and right) - **Layer access**: Left thumb activates Navigation layer, Right thumb activates Symbol/FKey layer - **Optimized for Danish**: Ø, Æ, Å in easy reach --- ## Layer 1: QWERTY **Alternative QWERTY layout for compatibility** ``` ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ Å │ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ │GUI Z│ALT X│SFT C│CTL V│ B │ │ N │CTL M│SFT Æ│ALT Ø│GUI -│ └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┐ ┌─────┬─────┬─────┐ │ NAV │ , │BSPC │ │SPC │ . │ ENT │ │ LT │ │ │ │ │ │ │ └─────┴─────┴─────┘ └─────┴─────┴─────┘ ``` **Toggling Layers:** - Access from Navigation or Symbol layer toggle keys --- ## Layer 2: NORTNAVIGATION (Navigation + Numpad) **Activated by holding left thumb key** ``` ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ │ ESC │PGUP │ ↑ │PGDN │STAB │ │ * │ 7 │ 8 │ 9 │ + │ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ │HOME │ ← │ ↓ │ → │ END │ │ / │ 4 │ 5 │ 6 │ - │ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ │ GUI │ ALT │SHFT │CTRL │ │ │ ( │CTL 1│SFT 2│ALT 3│GUI 0│ └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┐ ┌─────┬─────┬─────┐ │ │NORTO│QWRT │ │QWRT │NORTO│ │ │ │ TG │ TG │ │ TG │ TG │ │ └─────┴─────┴─────┘ └─────┴─────┴─────┘ ``` **Key Features:** - **Left side**: Full navigation cluster (arrows, home, end, page up/down) - **Right side**: Complete numpad with operators - **Super Tab** (STAB): Special tab switching macro - **Layer toggles**: Quick access to switch between NORTO and QWERTY base layers - **Home row mods**: Maintained on left side for modifier combinations --- ## Layer 3: SYMFKEYS (Symbols + Function Keys) **Activated by holding right thumb key** ``` ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ │ F1 │ F2 │ F3 │ F4 │ F5 │ │ @ │ [ │ { │ ^ │ │ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ │ F6 │ F7 │ F8 │ F9 │ F10 │ │ ' │ < │ $ │ | │ ` │ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ │GUI │ALT │SHFT │CTRL │ B │ │ │CAPS │ ___ │ - │ GUI │ │ F11 │ F12 │ C │ V │ │ │ │WORD │CASE │CASE │ │ └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┐ ┌─────┬─────┬─────┐ │ │NORTO│QWRT │ │QWRT │NORTO│ │ │ │ TG │ TG │ │ TG │ TG │ │ └─────┴─────┴─────┘ └─────┴─────┴─────┘ ``` **Key Features:** - **Left side**: Complete F-key row (F1-F12) with home row mods on F11/F12 - **Right top row**: Common programming symbols (@, [, {, ^) - **Right middle row**: Quote/bracket symbols (', <, $, |, `) - **Right bottom row**: **CASEMODES KEYS!** - **CAPSWORD**: Tap to enable caps word mode (hold with Ctrl for tap) - **___CASE** (underscore): Tap to enable snake_case mode (hold with Shift for tap) - **-CASE** (hyphen): Tap to enable kebab-case mode (hold with Alt for tap) **Symbol Notes:** - Danish keyboard layout symbols: - `DK_AT` (@) - `DK_LBRC` ([) - Shift for ] - `DK_LCBR` ({) - Shift for } - `DK_QUOT` (') - Shift for " - `DK_LABK` (<) - Shift for > - `DK_DLR` ($) - Shift for € - `DK_PIPE` (|) - `DK_GRV` (`) - Shift for ¨ - `DK_CIRC` (^) --- ## Special Features ### Home Row Mods All layers maintain home row mods for ergonomic modifier access: - **Left**: GUI (pinky) → ALT (ring) → SHIFT (middle) → CTRL (index) - **Right**: CTRL (index) → SHIFT (middle) → ALT (ring) → GUI (pinky) ### Tap/Hold Keys - **Bottom row keys**: Tap for letter, hold for modifier - **Thumb keys**: Tap for key, hold for layer - **Symbol layer bottom row**: Tap for casemode, hold for modifier ### Casemodes (Layer 3, Right Bottom Row) #### C_CAPSWORD **Location**: Right bottom row, 2nd key (with Ctrl hold) **Usage:** 1. Hold right thumb (activate Symbol layer) 2. Tap the CAPSWORD key 3. Release thumb 4. Start typing: `hello world` → `HELLO WORLD` 5. Press space twice to exit **What it does:** - Automatically capitalizes all letters - Continues until you press space twice or punctuation - Perfect for typing `CONSTANT_NAMES` or `ALL_CAPS_TEXT` #### C_UNDERSCORECASE (Snake Case) **Location**: Right bottom row, 3rd key (with Shift hold) **Usage:** 1. Hold right thumb (activate Symbol layer) 2. Tap the ___CASE key 3. Release thumb 4. Type: `hello world` → `hello_world` 5. Press space to insert underscores 6. Press space twice to exit **What it does:** - Converts spaces to underscores - Perfect for `variable_names`, `function_names`, `file_names` #### C_HYPHENCASE (Kebab Case) **Location**: Right bottom row, 4th key (with Alt hold) **Usage:** 1. Hold right thumb (activate Symbol layer) 2. Tap the -CASE key 3. Release thumb 4. Type: `hello world` → `hello-world` 5. Press space to insert hyphens 6. Press space twice to exit **What it does:** - Converts spaces to hyphens - Perfect for `css-class-names`, `url-slugs`, `command-line-options` ### Auto Shift - Enabled with 170ms timeout - Hold any letter key slightly longer to get the shifted version - No need to use Shift for capital letters when typing slowly ### Combos - 17 combos defined (see combos.c for specific combinations) - Combo reference layer: NORTO ### OLED Display Features - **Master side**: Shows logo, current layer, modifier status, WPM - **Secondary side**: Shows logo with WPM counter - **Auto sleep**: Screen turns off after 15 seconds of inactivity - **Auto wake**: Screen turns on when you start typing --- ## Layer Toggle Matrix | From Layer | To Layer | Method | |------------|----------|--------| | Any | NORTO | Hold Nav or Sym layer, tap NORTO toggle | | Any | QWERTY | Hold Nav or Sym layer, tap QWERTY toggle | | NORTO/QWERTY | Navigation | Hold left thumb | | NORTO/QWERTY | Symbol/FKeys | Hold right thumb | --- ## Firmware Configuration ### Enabled Features - ✅ OLED Display (128x32) - ✅ Split keyboard support - ✅ Combos (17 defined) - ✅ Auto Shift (170ms) - ✅ Casemodes - ✅ WPM tracking (split) - ✅ Modifier state tracking (split) - ✅ Layer state tracking (split) - ✅ Deferred execution - ✅ Permissive hold - ✅ Retro shift - ✅ Retro tapping ### Timing Settings - **Tapping term**: 140ms - **Auto shift timeout**: 170ms - **OLED timeout**: 15 seconds ### Custom Features - Custom OLED font (glcdfont.c) - Master/slave split configuration - Super Tab macro (FP_SUPER_TAB) --- ## Tips for New Users 1. **Start with NORTO layer**: It's optimized for Danish typing 2. **Learn home row mods**: Keep fingers on home row, use pinky/ring for GUI/ALT 3. **Use casemodes**: They're incredibly useful for coding and writing 4. **Practice layer switching**: Get comfortable with thumb-activated layers 5. **Double-tap space**: Quick way to exit any casemode 6. **OLED feedback**: Watch the OLED to see which modifiers/layers are active --- ## Quick Reference Card ``` ┌───────────────────────────────────────────────────┐ │ Most Used Key Combinations │ ├───────────────────────────────────────────────────┤ │ Left Thumb Hold → Navigation + Numpad │ │ Right Thumb Hold → Symbols + Function Keys │ │ Both Thumbs → Access layer toggles │ │ │ │ Casemodes (Right thumb + right bottom row): │ │ Thumb + 2nd key → CAPS WORD │ │ Thumb + 3rd key → snake_case │ │ Thumb + 4th key → kebab-case │ │ │ │ Exit any casemode: Press SPACE twice │ └───────────────────────────────────────────────────┘ ``` --- **Generated**: October 6, 2025 **Keyboard**: Fingerpunch Sweeeeep **Layout**: Custom NORTO (Danish optimized) **Keymap**: smathev