forked from forks/qmk_firmware
50554ca270
* [keymap(kyria)] moved OLED & encoder implementation to separate classes * [feat] created logic to cycle through hue wheel when starting keyboard * [feat] created logic to cycle through hue wheel and return to user's default color * [refactor] updating OLED layout for crkbd & lily58 * [refactor] updating OLED layout for crkbd & lily58 * [fix(8070)] updating encoder.c logic based off drashna's code review * [refactor(8070)] added key to send + Shift + M
4.1 KiB
4.1 KiB
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 + 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_RAPP | MacOS shortcut to switch apps to the right |
K_LAPP | MacOS shortcut to switch apps to the left |
K_CPRF | + 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 |
LT_LOW + LT_RAI | Hold for ADJUST |
LM_LOW | Dedicated key to momentarily toggle to use LOWER layer |
LM_RAI | Dedicated key to momentarily toggle to use RAISE layer |
LG_LOW | Press to toggle LOWER layer |
LG_RAI | Press to toggle RAISE layer |
Mod-Taps
Code | Description |
---|---|
MT_DEL | Tap for Delete, hold for + ALT + SHIFT |
MT_EQL | Tap for =, hold for ALT + 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 |
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 + 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_COPA | Single key copy/paste |
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 + GRV |
T_GUI | Tap once for , double to open spotlight |
T_W | Tap for W, double tap for + W |
T_Q | Tap for Q, double tap for + Q |
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;
}