qmk_firmware/users/ninjonas
James Young a03aa301de
Remove Full Bootmagic (#13846)
* 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
2021-08-06 23:59:56 -07:00
..
.gitignore
combos.c Bigger combo index (#9318) 2020-08-29 14:30:02 -07:00
config.h
encoder.c Convert Encoder callbacks to be boolean functions (#12805) 2021-05-21 23:17:32 -07:00
ninjonas.c 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
ninjonas.h
oled.c Update checking board master function (#12493) 2021-04-25 13:59:37 +10:00
process_records.c
process_records.h
README.md
rules.mk Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
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

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;
}