- Implemented glcdfont.c for custom font rendering. - Created keymap.c with multiple layers including NORTO, QWERTY, NORTNAVIGATION, and SYMFKEYS. - Added OLED display functionality to show layer states and modifier statuses. - Included keymap.json for configuration.
		
			
				
	
	
	
	
		
			13 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			13 KiB
		
	
	
	
	
	
	
	
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:
- Hold right thumb (activate Symbol layer)
 - Tap the CAPSWORD key
 - Release thumb
 - Start typing: 
hello world→HELLO WORLD - Press space twice to exit
 
What it does:
- Automatically capitalizes all letters
 - Continues until you press space twice or punctuation
 - Perfect for typing 
CONSTANT_NAMESorALL_CAPS_TEXT 
C_UNDERSCORECASE (Snake Case)
Location: Right bottom row, 3rd key (with Shift hold)
Usage:
- Hold right thumb (activate Symbol layer)
 - Tap the ___CASE key
 - Release thumb
 - Type: 
hello world→hello_world - Press space to insert underscores
 - 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:
- Hold right thumb (activate Symbol layer)
 - Tap the -CASE key
 - Release thumb
 - Type: 
hello world→hello-world - Press space to insert hyphens
 - 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
- Start with NORTO layer: It's optimized for Danish typing
 - Learn home row mods: Keep fingers on home row, use pinky/ring for GUI/ALT
 - Use casemodes: They're incredibly useful for coding and writing
 - Practice layer switching: Get comfortable with thumb-activated layers
 - Double-tap space: Quick way to exit any casemode
 - 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