Your improved QMK keymap now includes comprehensive Brazilian Portuguese accent support and productivity enhancements specifically designed for your Planck 47-key layout.
Access: Hold the rightmost thumb key (replaced KC_HYPR)
Accent Shortcuts:
Layer8 + A= á (a-acute)Layer8 + Shift + A= à (a-grave)Layer8 + E= é (e-acute)Layer8 + I= í (i-acute)Layer8 + O= ó (o-acute)Layer8 + Shift + O= ô (o-circumflex)Layer8 + U= ú (u-acute)Layer8 + C= ç (c-cedilla)Layer8 + N= ñ (n-tilde)
Access: Hold Space
New Features:
- Window Management: G(↑/↓/←/→) for window tiling
- Enhanced Navigation: Home/End, PgUp/PgDn optimized
- Quick Actions: Undo (Cmd+Z), Cut (Cmd+X), Copy (Cmd+C), Paste (Cmd+V)
Access: Fn key (2nd thumb key from left)
Development Shortcuts:
- Common brackets:
{,},[,],(,) - Programming symbols:
|,&,*,_,+,<,>,#,$,%,^ - Quick access to frequently used development characters
- Double-tap
A→ á, Triple-tap → à - Double-tap
E→ é - Double-tap
C→ ç
EMAIL_MACRO: Inserts your email addressARROW_FUNC: Inserts() => {}(JavaScript arrow function)CONSOLE_LOG: Insertsconsole.log()REACT_COMP: Generates React component template
planck-rev7-improved.json- New enhanced keymapconfig.h- Updated with Unicode and tap dance settingsrules.mk- Enabled Unicode and tap dance featuressource.c- Advanced custom functions and macros
# Copy the improved keymap
cp planck-rev7-improved.json planck-rev7.json
# Or rename for clarity
mv planck-rev7.json planck-rev7-original.json
mv planck-rev7-improved.json planck-rev7.json
# Compile and flash
qmk compile planck-rev7.json
qmk flash planck-rev7.json-
Backup your current setup:
cp planck-rev7.json planck-rev7-backup.json
-
Apply the layer changes to your existing
planck-rev7.json:- Update thumb cluster: Change
KC_HYPRtoMO(8) - Replace Layer 5 (Plover) with Development layer
- Replace Layer 8 (Function) with Accent layer
- Enhance Layer 7 (Navigation) with new shortcuts
- Update thumb cluster: Change
-
Update configuration files (already done):
config.h- Unicode settingsrules.mk- Feature enablessource.c- Custom functions
Edit source.c to modify accent mappings:
// Example: Adding more accents
[A_TILDE] = 0x00E3, // ã
[O_TILDE] = 0x00F5, // õcase YOUR_MACRO:
if (record->event.pressed) {
SEND_STRING("Your custom text here");
}
return false;In config.h:
#define TAPPING_TERM 200 // Adjust timing (milliseconds)- Hold accent layer (rightmost thumb) while typing vowels
- Quick ç: Hold accent layer + C
- Capital letters: Use Shift while in accent layer for uppercase accents
- Quick symbols: Use development layer for brackets and operators
- Arrow functions: Use macro for rapid JavaScript development
- Navigation: Hold space for enhanced text navigation
- Tile windows: Navigation layer + arrow keys
- Quick copy/paste: Navigation layer shortcuts
- Page navigation: Optimized PgUp/PgDn placement
If accents don't work:
- macOS: Should work automatically
- Linux: You may need
UC_LNXmode - Windows: You may need
UC_WINmode
Change mode in source.c:
void keyboard_post_init_user(void) {
unicode_config.input_mode = UC_LNX; // or UC_WIN
}If compilation fails:
# Clean and retry
qmk clean
qmk compile planck-rev7.jsonFeatures Added:
- ✅ Unicode support (+minimal memory)
- ✅ Tap dance (+small memory)
- ✅ Custom macros (+small memory)
- ✅ Enhanced layer logic (+minimal processing)
Total Impact: Negligible - all features are lightweight and optimized.
- Test the improved layout with your daily workflow
- Customize macros with your specific email/snippets
- Adjust tap dance timing to your preference
- Consider additional layers for specific use cases (music, gaming, etc.)
- Layer 0: QWERTY (base)
- Layer 1: Colemak
- Layer 2: Dvorak
- Layer 3: Lower (symbols + F1-F6)
- Layer 4: Raise (numbers + F7-F12)
- Layer 5: Development (programming symbols)
- Layer 6: Adjust (system controls)
- Layer 7: Navigation (enhanced with window management)
- Layer 8: Brazilian Accents (the star of the show! ⭐)
(/Ctrl | Dev(5) | Opt | Cmd | Lower(3) | Space/Nav(7) | Raise(4) | Cmd | Opt | Accent(8) | )/Ctrl
Enjoy your enhanced Brazilian Portuguese typing experience! 🇧🇷⌨️