271 lines
13 KiB
Markdown
271 lines
13 KiB
Markdown
# 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
|