Add QMK configuration and flashing documentation for fingerpunch/sweeeeep keyboard
- Created CONFIG_HIERARCHY.md to explain configuration file hierarchy and settings placement. - Added FLASH_HANDEDNESS.md detailing the flashing process for split keyboard handedness using Liatris controllers. - Introduced LIATRIS_QUICK_START.txt as a quick reference for handedness setup and flashing steps. - Included LICENSE file for GNU General Public License v2. - Added Makefile for building QMK firmware with user-specific configurations. - Updated README.md with instructions for configuring and building QMK userspace. - Created build_all.sh script to automate the building of regular and handedness initialization firmware. - Added qmk.json to define userspace version and build targets.
This commit is contained in:
parent
a26527d2ae
commit
63991df09d
13 changed files with 1062 additions and 29 deletions
122
root_files_backup/CONFIG_HIERARCHY.md
Normal file
122
root_files_backup/CONFIG_HIERARCHY.md
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
# QMK Configuration Hierarchy
|
||||
|
||||
Understanding where to put your settings in QMK userspace.
|
||||
|
||||
## Configuration Priority (Highest to Lowest)
|
||||
|
||||
```
|
||||
1. keyboards/.../keymaps/smathev/config.h ← HIGHEST PRIORITY (keyboard-specific)
|
||||
↓ overrides
|
||||
2. users/smathev/config.h ← USER DEFAULTS (all keyboards)
|
||||
↓ overrides
|
||||
3. keyboards/.../config.h ← KEYBOARD DEFAULTS
|
||||
↓ overrides
|
||||
4. QMK defaults ← LOWEST PRIORITY
|
||||
```
|
||||
|
||||
## Your Current Setup
|
||||
|
||||
### 📁 `users/smathev/config.h`
|
||||
**Purpose:** Settings that apply to ALL your keyboards
|
||||
|
||||
**What belongs here:**
|
||||
- ✅ Tapping terms (`TAPPING_TERM`, `PERMISSIVE_HOLD`)
|
||||
- ✅ Auto-shift settings (`AUTO_SHIFT_TIMEOUT`, `RETRO_SHIFT`)
|
||||
- ✅ Combo preferences (`COMBO_REF_DEFAULT`)
|
||||
- ✅ Personal preferences that don't change between keyboards
|
||||
- ✅ Layout aliases (`LAYOUT_sweeeeep`)
|
||||
|
||||
**Example:**
|
||||
```c
|
||||
#define TAPPING_TERM 140
|
||||
#define PERMISSIVE_HOLD
|
||||
#define CASEMODES_ENABLE
|
||||
```
|
||||
|
||||
### 📁 `keyboards/fingerpunch/sweeeeep/keymaps/smathev/config.h`
|
||||
**Purpose:** Settings specific to THIS keyboard/keymap
|
||||
|
||||
**What belongs here:**
|
||||
- ✅ Split keyboard settings (`EE_HANDS`, `SPLIT_USB_DETECT`)
|
||||
- ✅ Hardware-specific features (`OLED_FONT_H`)
|
||||
- ✅ Keyboard-specific overrides
|
||||
- ✅ Split communication settings
|
||||
|
||||
**Example:**
|
||||
```c
|
||||
#define EE_HANDS
|
||||
#define SPLIT_USB_DETECT
|
||||
#define OLED_FONT_H "path/to/font.c"
|
||||
```
|
||||
|
||||
## Why This Matters
|
||||
|
||||
### ❌ Wrong Approach:
|
||||
Putting everything in `users/smathev/config.h`
|
||||
- Split keyboard settings affect non-split keyboards
|
||||
- OLED settings break keyboards without OLED
|
||||
- Hardware-specific settings cause conflicts
|
||||
|
||||
### ✅ Correct Approach:
|
||||
- **Userspace (`users/`)**: Personal preferences that work everywhere
|
||||
- **Keymap (`keymaps/`)**: Keyboard-specific hardware and features
|
||||
|
||||
## Common Settings Placement
|
||||
|
||||
| Setting | Location | Reason |
|
||||
|---------|----------|--------|
|
||||
| `TAPPING_TERM` | `users/` | Personal preference |
|
||||
| `EE_HANDS` | `keymaps/` | Split keyboard specific |
|
||||
| `OLED_FONT_H` | `keymaps/` | Hardware specific |
|
||||
| `COMBO_REF_DEFAULT` | `users/` | User preference |
|
||||
| `SPLIT_USB_DETECT` | `keymaps/` | Split keyboard specific |
|
||||
| `AUTO_SHIFT_TIMEOUT` | `users/` | Personal preference |
|
||||
| `PERMISSIVE_HOLD` | `users/` | Personal preference |
|
||||
|
||||
## Your Configuration Files
|
||||
|
||||
### Current Structure:
|
||||
```
|
||||
qmk_userspace/
|
||||
├── users/smathev/
|
||||
│ ├── config.h ← User-wide settings
|
||||
│ ├── rules.mk ← User-wide features
|
||||
│ ├── combos.c/h
|
||||
│ └── ...
|
||||
└── keyboards/
|
||||
└── fingerpunch/sweeeeep/
|
||||
└── keymaps/smathev/
|
||||
├── config.h ← Keyboard-specific settings (EE_HANDS here!)
|
||||
├── keymap.c
|
||||
└── keymap.json
|
||||
```
|
||||
|
||||
## Testing Your Configuration
|
||||
|
||||
```bash
|
||||
# Compile to see if settings are applied correctly
|
||||
qmk compile -kb fingerpunch/sweeeeep -km smathev
|
||||
|
||||
# Check for configuration conflicts in warnings
|
||||
qmk compile -kb fingerpunch/sweeeeep -km smathev 2>&1 | grep "config.h"
|
||||
```
|
||||
|
||||
## Pro Tips
|
||||
|
||||
💡 **Use Comments:** Clearly mark which config file is for what purpose
|
||||
|
||||
💡 **Test on Multiple Keyboards:** If you add more keyboards, userspace settings will automatically apply
|
||||
|
||||
💡 **Override When Needed:** Keymap config.h can override userspace defaults
|
||||
|
||||
💡 **Keep It DRY:** Don't repeat settings - put them in the most appropriate place
|
||||
|
||||
## If You Add More Keyboards
|
||||
|
||||
When you add another keyboard (e.g., a 60% board):
|
||||
|
||||
1. **User settings automatically apply** (tapping, combos, etc.)
|
||||
2. **Create keyboard-specific config.h** only for that keyboard's unique needs
|
||||
3. **Split settings don't affect** your non-split boards
|
||||
|
||||
This is the power of QMK userspace! 🚀
|
||||
Loading…
Add table
Add a link
Reference in a new issue