fced377ac0
* Branch point for 2020 May 30 Breaking Change * Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954) * Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957) * Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958) * Migrate `ACTION_LAYER_MODS` to `LM()` (#8959) * Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968) * Convert V-USB usbdrv to a submodule (#8321) * Unify Tap Hold functions and documentation (#8348) * Changing board names to prevent confusion (#8412) * Move the Keyboardio Model01 to a keyboardio/ subdir (#8499) * Move spaceman keyboards (#8830) * Migrate miscellaneous `fn_actions` entries (#8977) * Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979) * Organizing my keyboards (plaid, tartan, ergoinu) (#8537) * Refactor Lily58 to use split_common (#6260) * Refactor zinc to use split_common (#7114) * Add a message if bin/qmk doesn't work (#9000) * Fix conflicting types for 'tfp_printf' (#8269) * Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480) * Refactor and updates to TKC1800 code (#8472) * Switch to qmk forks for everything (#9019) * audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484) * Audio enable corrections (2/3) (#8903) * Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582) * Audio enable corrections (Part 4) (#8974) * Fix typo from PR7114 (#9171) * Augment future branch Changelogs (#8978) * Revert "Branch point for 2020 May 30 Breaking Change" |
||
---|---|---|
.. | ||
.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.c
includeninjonas.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;
}