* [keymap] Updating crkbd RGB implementation & ninjonas userspace updates * [chore] adding process_record_oled method to process_records.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.cincludeninjonas.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 |
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 |
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_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_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;
}