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
keymap.c
include ninjonas.h
#include "ninjonas.h"
|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 |
|Code | Description | |---|---| |LT_LOW | Tap for ENTER, hold for RAISE | |LT_RAI | Tap for SPACE, hold for LOWER |
|Code | Description | |---|---| |MT_DEL | Tap for Delete, hold for ALT + SHIFT | |MT_EQL | Tap for =, SHIFT |
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 |
|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 |
|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 |
|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|
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;
}