* disambiguate Bootmagic rules in keymaps
The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.
This commit edits the files to specify that full Bootmagic is intended.
* remove BOOTMAGIC_ENABLE=full setting
* unify commented BOOTMAGIC_ENABLE rules in keyboards
Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.
Command:
```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no # Virtual DIP switch configuration;g' {} +
```
* remove commented Bootmagic rules from keymap/user level
Command:
```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```
* update keyboard BOOTMAGIC_ENABLE rule formatting
Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).
Command:
```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```
* update keyboards' BOOTMAGIC_ENABLE settings
Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.
Command:
```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```
* update keymap/user BOOTMAGIC_ENABLE settings
Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.
Commands:
```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```
* remove and replace inline comments in keyboards and keymap/user files
Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.
Commands:
```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1 # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1 # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1 # Enable Bootmagic Lite;g' '{}' +
```
* rename improperly named makefiles
Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.
This commit corrects the filenames of the affected files.
* update renamed file with new rule formatting
* update QMK's template files
Updates QMK's `rules.mk` templates to use the new inline comment.
* update QMK Docs
- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes
* rules.mk patch for coarse/ixora and coarse/vinta
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| combos.c | ||
| config.h | ||
| encoder.c | ||
| ninjonas.c | ||
| ninjonas.h | ||
| oled.c | ||
| process_records.c | ||
| process_records.h | ||
| README.md | ||
| rules.mk | ||
| tap_dances.c | ||
| tap_dances.h | ||
QMK User Configuration for ninjonas
Tired of copying and pasting the same macros and tap dances for all my keymaps. Utilizing user keymaps functionality. See: https://docs.qmk.fm/#/feature_userspace
ninjonas.c
- ninjonas QMK user configuration
- On
keymap.cincludeninjonas.h#include "ninjonas.h"
Supported Keyboards
Features
Keys
| Code | Description |
|---|---|
| K_LOCK | MacOS shortcut to execute lock command Cmd + CTRL + Q |
| K_CSCN | MacOS shortcut to copy a portion of the screen to the clipboard |
| K_MDSH | MacOS shortcut to get em-dash – |
| K_CPRF | Cmd + Shift + M. Used for switching Google Chrome profiles |
Layers
| Code | Description |
|---|---|
| LT_LOW | Tap for ENTER, hold for RAISE |
| LT_RAI | Tap for SPACE, hold for LOWER |
Mod-Taps
| Code | Description |
|---|---|
| MT_DEL | Tap for Delete, hold for ALT + SHIFT |
| MT_EQL | Tap for =, SHIFT |
Layout Blocks
Predefined keyboard layout templates to speed up configuring split keyboards
| Code | Description |
|---|---|
| QWERTY | Qwerty Layout |
| DVORAK | Dvorak Layout |
| COLEMAK | Colemak Layout |
| NUM | Number Rows |
| FUNC | Function Rows |
| SYM | Symbol Rows When holding shift on numbers |
| NAV | Navigation Cluster |
| MOUSE | Mouse Cluster |
| MEDIA | Media Cluster |
| MOD | Modifier Cluster |
| NUMPAD | Numpad Cluster |
Macros
| Code | Description |
|---|---|
| M_PYNV | Macro to activate pyenv with the name jira |
| M_MAKE | Macro to send QMK make command to compile keyboard |
| M_MALL | Macro to send QMK make command to all ninjonas keyboards |
| M_FLSH | Macro to send QMK make command to compile keyboard with the correct bootloader |
| M_VRSN | Macro to send QMK version |
| M_SHFT | Sends Cmd + alt + shift to a keycode to activate ShiftIt |
| M_CODE | Opens Visual Studio Code on current directory |
| M_TERM | Launches Spotlight and calls Terminal |
| M_XXX1 to M_XXX5 | Reserved for secret macros see Secrets |
Tap-Dance
| Code | Description |
|---|---|
| T_ESC | Tap once for ESC, double tap for CAPS_LOCK |
| T_LBRC | Tap once for [, double for back browser |
| T_RBRC | Tap once for ], double for forward browser |
| T_TAB | Tap once for TAB, double for CTRL + TAB |
| T_GRV | Tap once for GRV, double for Cmd + GRV |
| T_GUI | Tap once for Cmd, double to open spotlight |
| T_CPAP | Tap for Cmd + V, hold for Cmd + C, double tap to open Line app, triple tap for itunes. |
| T_Y | Tap for Y, double tap for NUMPAD layer |
Combos
| Code | Description |
|---|---|
| EQ_QUIT | Press E + Q will trigger Cmd + Q |
| RW_CLOSE | Press R + W will trigger Cmd + W |
| ET_TAB | Press E + T will trigger Cmd + T |
| ZC_COPY | Press Z + C will trigger Cmd + C |
| XV_PASTE | Press X + V will trigger Cmd + V |
Secrets
There's times where you have macros you don't want to share like emails, an address you need but you always forget, passwords 😱, & and private strings. Based off drashna's secret macros, it's now possible to do this. All you need to do is create a secrets.c file. Below is an example of how this is used.
// secrets.c
#include "ninjonas.h"
static const char * const secret[] = {
"BLANK1",
"BLANK2",
"BLANK3",
"BLANK4",
"BLANK5"
};
bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case M_XXX1...M_XXX5:
if (record->event.pressed) {
send_string(secret[keycode - M_XXX1]);
}
break;
}
return true;
}