mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-23 08:56:47 +06:00
ff854565ce
* [keymap(crkbd)] introducing crkbd keymap on ninjonas profile * [keymap(crkbd)] introducing crkbd keymap on ninjonas profile * [refactor(crkbd)] reducing file size by selecting RGB animations * [refactor(crkbd)] added shiftit key * [refactor(crkbd)] added shiftit key * [chore(crkbd)] adding SLEEP_LED_ENABLE on rules.mk * [refactor(crkbd)] added keylog & removed static rainbow RGB * [feat(crkbd)] introduced em-dash '—' keymap * [feat(crkbd)] added screenshot functionality * [refactor(lily58,pinky3)] moving media keys * [refactor(lily58)] Added emdash key * [chore] removing NUMBERS & FUNCTIONS layers as they're useless * [chore] removing NUMBERS & FUNCTIONS layers as they're useless * [chore(crkbd,lily48)] Updating README.md * [feat] added K_LAPP & K_RAPP to mimic command + tab * [feat] added K_LAPP & K_RAPP to mimic command + tab * [fix(#6797)] resolving changes requested by @drashna * [fix(#6797)] first cut on using QMK OLED Driver * [fix(#6797)] cleaning up rules.mk * [fix(#6797)] making scrolling logo work * [fix(#6797)] Using OLED Driver for Lily58 * [fix(#6797)] Moved OLED driver implementation to ninjonas userspace * [fix(#6797)] Bringing back crkbd & lily58 logos * [fix(#6797)] Turning off OLED based off @drashna's workaround in #5982 * [fix(#6797)] whoops! forgot to checkin crkbd/config.h * [fix(#6797)] fixing issue with OLED randomly turning on * [fix(#6797)] using default glcdfont.c for lily58 & crkbd * [fix(#6797)] Using LINK_TIME_OPTIMIZATION_ENABLE rather than EXTRAFLAGS as per code review * [fix(#6797)] updating M_MALL macro as per code review by @fauxpark
3.4 KiB
3.4 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 |
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, 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"
bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
// Sends zoom URL
case M_ZOOM:
if (record->event.pressed) {
SEND_STRING("SECRET_STRING_HERE" SS_TAP(X_ENTER));
}
break;
}
return true;
}