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.
♥ Minnie ♥ 2025-10-18 05:46:53 +08:00
parent 7dd8081bbe
commit 11213d8f30
Signed by: jasmine
GPG key ID: 8563E358D4E8040E
3 changed files with 1 additions and 89 deletions

@ -1,4 +1,3 @@
# QMK Userspace Wiki # QMK Userspace Wiki
- [Repeat and Magic Key](Repeat-and-Magic-Key) - [Repeat and Magic Key](Repeat-and-Magic-Key)
- [Symbol Layer](Symbol-Layer)

@ -96,8 +96,7 @@ Type: "y" + Magic → "ys" (avoiding SFB)
``` ```
Type: "count +" + Magic → "count +=" Type: "count +" + Magic → "count +="
Type: "{}" + Magic → "{│}" (cursor inside) Type: "{}" + Magic → "{│}" (cursor inside)
Type: "../" → "." + Repeat Type: "array[" + Magic → "array[│]"
Type: "../../" → "." + Repeat + Repeat
``` ```
## Reference ## Reference

@ -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<br>
**Home row:** Parentheses and pipe for function calls and conditionals<br>
**Bottom row:** Boolean operators (`!`, `&`, `^`, `@`) for logic and bitwise operations
### Right Hand - Structures & Math
**Top row:** Square brackets for data structures<br>
**Home row:** Curly braces for code blocks, dollar for variables/strings<br>
**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).