mirror of
https://github.com/qmk/qmk_firmware
synced 2025-01-03 13:40:36 +00:00
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"
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;
}