forked from forks/qmk_firmware
cffe671a61
* [keymap] Updating crkbd RGB implementation & ninjonas userspace updates * [chore] adding process_record_oled method to process_records.h
3.6 KiB
3.6 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 |
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;
}