qmk_userspace/keyboards/fingerpunch/sweeeeep/keymaps/smathev/KEYMAP_LAYOUT.md
Smathev 379e203b38 Add custom keymap and font for Smathev layout on Fingerpunch Sweeeeep keyboard
- 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.
2025-10-07 10:24:52 +02:00

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:

  1. Hold right thumb (activate Symbol layer)
  2. Tap the CAPSWORD key
  3. Release thumb
  4. Start typing: hello worldHELLO 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 worldhello_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 worldhello-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