From 11213d8f3072534a6a4db4c92d7a82d69417af43 Mon Sep 17 00:00:00 2001 From: jasmine Date: Sat, 18 Oct 2025 05:46:53 +0800 Subject: [PATCH] Remove Symbol Layer page and update documentation Removed the Symbol Layer wiki page and updated Home to reflect this change. Also refined the Magic Key examples in the Repeat and Magic Key documentation. --- Home.md | 1 - Repeat-and-Magic-Key.md | 3 +- Symbol-Layer.md | 86 ----------------------------------------- 3 files changed, 1 insertion(+), 89 deletions(-) delete mode 100644 Symbol-Layer.md diff --git a/Home.md b/Home.md index f333cca..7847395 100644 --- a/Home.md +++ b/Home.md @@ -1,4 +1,3 @@ # QMK Userspace Wiki - [Repeat and Magic Key](Repeat-and-Magic-Key) -- [Symbol Layer](Symbol-Layer) diff --git a/Repeat-and-Magic-Key.md b/Repeat-and-Magic-Key.md index 6e9ff2f..53926d9 100644 --- a/Repeat-and-Magic-Key.md +++ b/Repeat-and-Magic-Key.md @@ -96,8 +96,7 @@ Type: "y" + Magic → "ys" (avoiding SFB) ``` Type: "count +" + Magic → "count +=" Type: "{}" + Magic → "{│}" (cursor inside) -Type: "../" → "." + Repeat -Type: "../../" → "." + Repeat + Repeat +Type: "array[" + Magic → "array[│]" ``` ## Reference diff --git a/Symbol-Layer.md b/Symbol-Layer.md deleted file mode 100644 index 373f810..0000000 --- a/Symbol-Layer.md +++ /dev/null @@ -1,86 +0,0 @@ -# Symbol Layer - -Our custom symbol layer is designed for programming efficiency, prioritizing fast rolls for common bracket pairs and logical symbol placement for operators. - -Inspired by Pascal Getreuer's [symbol layer design](https://getreuer.info/posts/keyboards/symbol-layer/index.html). - -## Design Philosophy - -1. **Brackets as rolls** - Opening and closing pairs on the same hand for fluid typing -2. **Operators on home row** - Frequently used symbols in comfortable positions -3. **Related symbols grouped** - Logical grouping by symbol type and usage -4. **Minimize same-finger bigrams** - Avoid uncomfortable stretches - -## Symbol Grouping - -### Left Hand - Logic & Control - -**Top row:** Angle brackets and minus for arrows and comparisons
-**Home row:** Parentheses and pipe for function calls and conditionals
-**Bottom row:** Boolean operators (`!`, `&`, `^`, `@`) for logic and bitwise operations - -### Right Hand - Structures & Math - -**Top row:** Square brackets for data structures
-**Home row:** Curly braces for code blocks, dollar for variables/strings
-**Bottom row:** Asterisk for multiplication and pointers - -## Bracket Rolls - -Fast same-hand rolls for common bracket pairs: - -| Pair | Position | Roll Direction | Use Case | -|------|----------|----------------|----------| -| `<>` | Left top row | Index → Ring | HTML tags, comparisons | -| `()` | Left home row | Index → Ring | Function calls, grouping | -| `[]` | Right top row | Index → Ring | Arrays, indexing | -| `{}` | Right home row | Index → Ring | Code blocks, objects | - -## Redirected Rolls - -More complex patterns requiring direction changes on the same hand: - -| Pattern | Keys | Use Case | -|---------|------|----------| -| `/**/` | `/` → `*` → `*` → `/` | C-style comment blocks | -| `${}` | `$` → `{` → `}` | Variable interpolation (shell, JS) | -| `{};` | `{` → `}` → `;` | Empty block/attribute scaffolding | - -## Operator Positioning - -### Arithmetic & Assignment - -| Symbol | Position | Reasoning | -|--------|----------|-----------| -| `=` | Left home (middle) | Most common operator, prime position | -| `-` | Left top (middle) | Accessible for subtraction and arrows | -| `+` | Right top (pinky) | Addition, concatenation | -| `_` | Right top (middle) | Underscores in identifiers | -| `*` | Right bottom (index) | Multiplication, pointers, globs | - -### Comparison & Compound Assignment - -Relatively easy patterns with some tradeoffs: - -| Pattern | Hand Pattern | Notes | -|---------|--------------|-------| -| `<=` | Left hand vertical | Easy | -| `>=` | Left hand vertical | Easy | -| `!=` | Left hand vertical | Easy | -| `+=` | Alternate hands | Comfortable | -| `*=` | Alternate hands | Comfortable | -| `-=` | Left hand SFB | Sacrifice for layout optimization | - -### Arrow Operators - -All arrow operators are positioned on the left hand for easy typing: - -| Pattern | Keys | Use Case | -|---------|------|----------| -| `<-` | Top row inward roll | Assignment (R, Haskell) | -| `->` | Top row outward roll | Method access, lambdas | -| `=>` | Home to top diagonal | Fat arrow (JS, Rust) | - -## Reference - -For the complete implementation, see our [keymap.c](../qmk_userspace/keyboards/ferris/sweep/keymaps/sajenim/keymap.c).