Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

mode name
-rw-r--r-- README.md
-rw-r--r-- combos.c
-rw-r--r-- config.h
-rw-r--r-- encoder.c
-rw-r--r-- ninjonas.c
-rw-r--r-- ninjonas.h
-rw-r--r-- oled.c
-rw-r--r-- rules.mk
-rw-r--r-- tap_dances.c
-rw-r--r-- tap_dances.h
README

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

Supported Keyboards

Features

Keys

CodeDescription
K_LOCKMacOS shortcut to execute lock command Cmd + CTRL + Q
K_CSCNMacOS shortcut to copy a portion of the screen to the clipboard
K_MDSHMacOS shortcut to get em-dash
K_CPRFCmd + Shift + M. Used for switching Google Chrome profiles

Layers

CodeDescription
LT_LOWTap for ENTER, hold for RAISE
LT_RAITap for SPACE, hold for LOWER

Mod-Taps

CodeDescription
MT_DELTap for Delete, hold for ALT + SHIFT
MT_EQLTap for =, SHIFT

Layout Blocks

Predefined keyboard layout templates to speed up configuring split keyboards

CodeDescription
QWERTYQwerty Layout
DVORAKDvorak Layout
COLEMAKColemak Layout
NUMNumber Rows
FUNCFunction Rows
SYMSymbol Rows (When holding shift on numbers)
NAVNavigation Cluster
MOUSEMouse Cluster
MEDIAMedia Cluster
MODModifier Cluster
NUMPADNumpad Cluster

Macros

CodeDescription
M_PYNVMacro to activate pyenv with the name jira
M_MAKEMacro to send QMK make command to compile keyboard
M_MALLMacro to send QMK make command to all ninjonas keyboards
M_FLSHMacro to send QMK make command to compile keyboard with the correct bootloader
M_VRSNMacro to send QMK version
M_SHFTSends Cmd + alt + shift to a keycode to activate ShiftIt
M_CODEOpens Visual Studio Code on current directory
M_TERMLaunches Spotlight and calls Terminal
M_XXX1 to M_XXX5Reserved for secret macros see Secrets

Tap-Dance

CodeDescription
T_ESCTap once for ESC, double tap for CAPS_LOCK
T_LBRCTap once for [, double for back browser
T_RBRCTap once for ], double for forward browser
T_TABTap once for TAB, double for CTRL + TAB
T_GRVTap once for GRV, double for Cmd + GRV
T_GUITap once for Cmd, double to open spotlight
T_CPAPTap for Cmd + V, hold for Cmd + C, double tap to open Line app, triple tap for itunes.
T_YTap for Y, double tap for NUMPAD layer

Combos

CodeDescription
EQ_QUITPress E + Q will trigger Cmd + Q
RW_CLOSEPress R + W will trigger Cmd + W
ET_TABPress E + T will trigger Cmd + T
ZC_COPYPress Z + C will trigger Cmd + C
XV_PASTEPress X + V will trigger Cmd + V

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;
}