From 79e6b7866988f3cfc1c5b6746e5f400b50704ce8 Mon Sep 17 00:00:00 2001 From: Jonas Avellana <14019120+ninjonas@users.noreply.github.com> Date: Mon, 17 Feb 2020 02:30:03 -0700 Subject: [PATCH] [Keymap] ninjonas keymap updates (#8170) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [keymap] ninjonas keymap updates * [refactor(kyria)] updating keymap for numpad layer to be transparent rather than ignores * [keymap(lily58)] added numpad layer * [keymap(crkbd)] added numpad layer activated through tapdance * [fix(8170)] fixing code review changes requested by noroadsleft * [fix(8170)] updating comments and .md files to use 'Cmd' instead of  and ⌘ --- keyboards/crkbd/keymaps/ninjonas/README.md | 6 +- keyboards/crkbd/keymaps/ninjonas/config.h | 2 +- keyboards/crkbd/keymaps/ninjonas/keymap.c | 12 ++ keyboards/hotdox/keymaps/ninjonas/README.md | 2 +- keyboards/hotdox/keymaps/ninjonas/keymap.c | 6 +- keyboards/kyria/keymaps/ninjonas/README.md | 113 +++++++++++++++++++ keyboards/kyria/keymaps/ninjonas/config.h | 2 +- keyboards/kyria/keymaps/ninjonas/keymap.c | 19 +++- keyboards/kyria/keymaps/ninjonas/oled.c | 3 + keyboards/lily58/keymaps/ninjonas/README.md | 6 +- keyboards/lily58/keymaps/ninjonas/keymap.c | 112 ++++++++++++------ keyboards/pinky/3/keymaps/ninjonas/README.md | 6 +- keyboards/pinky/3/keymaps/ninjonas/config.h | 2 +- users/ninjonas/README.md | 27 +++-- users/ninjonas/config.h | 2 +- users/ninjonas/ninjonas.h | 18 ++- users/ninjonas/oled.c | 5 +- users/ninjonas/process_records.c | 6 +- users/ninjonas/tap_dances.c | 86 ++++++++++++++ users/ninjonas/tap_dances.h | 23 +++- 20 files changed, 378 insertions(+), 80 deletions(-) create mode 100644 keyboards/kyria/keymaps/ninjonas/README.md diff --git a/keyboards/crkbd/keymaps/ninjonas/README.md b/keyboards/crkbd/keymaps/ninjonas/README.md index 4d7434fa7..08d694521 100644 --- a/keyboards/crkbd/keymaps/ninjonas/README.md +++ b/keyboards/crkbd/keymaps/ninjonas/README.md @@ -14,7 +14,7 @@ More information about the crkbd keyboard can be found [here](https://thomasbaar //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| // LShift, Z, X, C, V, B, N, M, ,, ., /, = //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // , Ctrl, Space, Enter, BackSP, Del + // Cmd, Ctrl, Space, Enter, BackSP, Del //`---------------------' `---------------------' ``` @@ -27,7 +27,7 @@ More information about the crkbd keyboard can be found [here](https://thomasbaar //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| // LShift, ;, Q, J, K, X, B, M, W, V, Z, = //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // , Ctrl, Space, Enter, BackSP, Del + // Cmd, Ctrl, Space, Enter, BackSP, Del //`---------------------' `---------------------' ``` @@ -40,7 +40,7 @@ More information about the crkbd keyboard can be found [here](https://thomasbaar //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| // LShift, Z, X, C, V, B, K, M, ,, ., /, = //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // , Ctrl, Space, Enter, BackSP, Del + // Cmd, Ctrl, Space, Enter, BackSP, Del //`---------------------' `---------------------' ``` diff --git a/keyboards/crkbd/keymaps/ninjonas/config.h b/keyboards/crkbd/keymaps/ninjonas/config.h index 8a4ddad74..33fe4a5c9 100644 --- a/keyboards/crkbd/keymaps/ninjonas/config.h +++ b/keyboards/crkbd/keymaps/ninjonas/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #pragma once -#define TAPPING_TERM 200 +#define TAPPING_TERM 300 #define MASTER_LEFT diff --git a/keyboards/crkbd/keymaps/ninjonas/keymap.c b/keyboards/crkbd/keymaps/ninjonas/keymap.c index 57164441b..57cc23226 100644 --- a/keyboards/crkbd/keymaps/ninjonas/keymap.c +++ b/keyboards/crkbd/keymaps/ninjonas/keymap.c @@ -73,6 +73,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______, _______,_______,_______ //`---------------------' `---------------------' ), + + [_NUMPAD] = LAYOUT_wrapper( \ + //,----------------------------------------------------. ,----------------------------------------------------. + _______, _______, _______, _______, _______, _______, _____________________NUMPAD_1_______________________, + //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| + _______, _______, _______, _______, _______, _______, _____________________NUMPAD_2_______________________, + //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| + _______, _______, _______, _______, _______, _______, _____________________NUMPAD_3_______________________, + //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| + _______,_______,_______, _______,_______,_______ + //`---------------------' `---------------------' + ), /* [_TEMPLATE] = LAYOUT_wrapper( \ //,----------------------------------------------------. ,----------------------------------------------------. diff --git a/keyboards/hotdox/keymaps/ninjonas/README.md b/keyboards/hotdox/keymaps/ninjonas/README.md index d761bf9c9..be733fde2 100644 --- a/keyboards/hotdox/keymaps/ninjonas/README.md +++ b/keyboards/hotdox/keymaps/ninjonas/README.md @@ -43,7 +43,7 @@ This keymap is designed based off my typing habits and is subject to change. Inf * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | = | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * | | | Alt |  | Ctl | | BkSP | Del |LOWER | | | + * | | | Alt | Cmd | Ctl | | BkSP | Del |LOWER | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | Up | Down | | Left | Right| diff --git a/keyboards/hotdox/keymaps/ninjonas/keymap.c b/keyboards/hotdox/keymaps/ninjonas/keymap.c index 6637eb3b3..93c0b266b 100644 --- a/keyboards/hotdox/keymaps/ninjonas/keymap.c +++ b/keyboards/hotdox/keymaps/ninjonas/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | = | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * | | | Alt |  | Ctl | | BkSP | Del |LOWER | | | + * | | | Alt | Cmd | Ctl | | BkSP | Del |LOWER | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | Up | Down | | Left | Right| @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | = | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * | | | Alt |  | Ctl | | BkSP | Del |LOWER | | | + * | | | Alt | Cmd | Ctl | | BkSP | Del |LOWER | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | Up | Down | | Left | Right| @@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | = | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * | | | Alt |  | Ctl | | BkSP | Del |LOWER | | | + * | | | Alt | Cmd | Ctl | | BkSP | Del |LOWER | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | Up | Down | | Left | Right| diff --git a/keyboards/kyria/keymaps/ninjonas/README.md b/keyboards/kyria/keymaps/ninjonas/README.md new file mode 100644 index 000000000..5c8678659 --- /dev/null +++ b/keyboards/kyria/keymaps/ninjonas/README.md @@ -0,0 +1,113 @@ +# ninjonas Keymap for [Kyria](https://github.com/splitkb/kyria) + +## Keymap +This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](../../../../users/ninjonas). + +More information about the Kyria keyboard can be found [here](https://blog.splitkb.com/blog/introducing-the-kyria) + +### QWERTY +```c +// ,------—————————-------------------------------------. ,--------—————————-----------------------------------. +// Tab, Q, W, E, R, T, Y, U, I, O, P, \ +// |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| +// ESC, A, S, D, F, G, H, J, K, L, ;, ' +// |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| +// LShift, Z, X, C, V, B, ALT, NUMLK, N, M, ,, ., /, = +// `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' +// ALT, Cmd, Ctrl, Space, [, ], Enter, BackSP, Del, MUTE +// `----------------------------------------' `----------------------------------------' +``` + +### DVORAK +```c +// ,------—————————-------------------------------------. ,--------—————————-----------------------------------. +// Tab, ', ,, ., P, Y, F, G, C, R, L, \ +// |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| +// ESC, A, O, E, U, I, D, H, T, N, S, / +// |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| +// LShift, ;, Q, J, K, X, ALT, NUMLK, B, M, W, V, Z, = +// `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' +// ALT, Cmd, Ctrl, Space, [, ], Enter, BackSP, Del, MUTE +// `----------------------------------------' `----------------------------------------' +``` + +### COLEMAK +```c +// ,------—————————-------------------------------------. ,--------—————————-----------------------------------. +// Tab, Q, W, F, P, G, J, L, U, Y, ;, \ +// |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| +// ESC, A, R, S, T, D, H, N, E, I, O, ' +// |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| +// LShift, Z, X, C, V, B, ALT, NUMLK, K, M, ,, ., /, = +// `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' +// ALT, Cmd, Ctrl, Space, [, ], Enter, BackSP, Del, MUTE +// `----------------------------------------' `----------------------------------------' +``` + +### LOWER +```c +// ,------—————————-------------------------------------. ,--------—————————-----------------------------------. +// , , KC_BRIU, Play, Mute, K_CSCN, PgUp, Home, Up, End, , K_MDSH +// |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| +// , , KC_BRID, Next, VolUp, , PgDn, Left, Down, Right, K_LOCK, +// |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| +// , , , Prev, VolDn, [, ], , , M_CODE, M_XXX1, M_PYNV, +// `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' +// +// `----------------------------------------' `----------------------------------------' +``` + +### RAISE +```c +// ,------—————————-------------------------------------. ,--------—————————-----------------------------------. +// `, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, - +// |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| +// ~, !, @, #, $, %, ^, &, *, (, ), _ +// |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| +// F11, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F12 +// `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' +// +// `----------------------------------------' `----------------------------------------' +``` + +### ADJUST +```c +// ,------—————————-------------------------------------. ,--------—————————-----------------------------------. +// M_MAKE, EEP_RST, , , , , RGB_TOG, , , COLEMAK, DVORAK, QWERTY, +// |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| +// M_VRSN, M_MALL, , RGB_SAI, RGB_HUI,RGB_VAI, +// |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| +// M_FLSH, , , RGB_SAD, RGB_HUD,RGB_VAD, RGB_M_P, RGB_M_B,RGB_M_SW, , , , +// `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' +// +// `----------------------------------------' `----------------------------------------' + +``` + +### NUMPAD +```c +// ,------—————————-------------------------------------. ,--------—————————-----------------------------------. +// , , , , , , , 7, 8, 9, +, /, +// |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| +// , , , , , , , 4, 5, 6, -, *, +// |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| +// , , , , , , , , , , 0, 1, 2, 3, ., :, +// `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' +// +// `----------------------------------------' `----------------------------------------' +``` + + \ No newline at end of file diff --git a/keyboards/kyria/keymaps/ninjonas/config.h b/keyboards/kyria/keymaps/ninjonas/config.h index 5673e6c3d..dd919e382 100644 --- a/keyboards/kyria/keymaps/ninjonas/config.h +++ b/keyboards/kyria/keymaps/ninjonas/config.h @@ -16,7 +16,7 @@ #pragma once -#define TAPPING_TERM 200 +#define TAPPING_TERM 300 #ifdef OLED_DRIVER_ENABLE #define OLED_DISPLAY_128X64 diff --git a/keyboards/kyria/keymaps/ninjonas/keymap.c b/keyboards/kyria/keymaps/ninjonas/keymap.c index e6cde72d5..df492a466 100644 --- a/keyboards/kyria/keymaps/ninjonas/keymap.c +++ b/keyboards/kyria/keymaps/ninjonas/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| _____________________QWERTY_L2______________________, _____________________QWERTY_R2______________________, // |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| - _____________________QWERTY_L3______________________,XXXXXXX,KC_LALT, M_COPA,XXXXXXX,_____________________QWERTY_R3______________________, + _____________________QWERTY_L3______________________,XXXXXXX,KC_LALT, T_CPNU,XXXXXXX,_____________________QWERTY_R3______________________, // `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' _____________MOD_LEFT_____________,T_LBRC, T_RBRC,________MOD_RIGHT________,KC_MUTE // `----------------------------------------' `----------------------------------------' @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| _____________________DVORAK_L2______________________, _____________________DVORAK_R2______________________, // |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| - _____________________DVORAK_L3______________________,XXXXXXX,KC_LALT, M_COPA,XXXXXXX,_____________________DVORAK_R3______________________, + _____________________DVORAK_L3______________________,XXXXXXX,KC_LALT, T_CPNU,XXXXXXX,_____________________DVORAK_R3______________________, // `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' _____________MOD_LEFT_____________,T_LBRC, T_RBRC,________MOD_RIGHT________,KC_MUTE // `----------------------------------------' `----------------------------------------' @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| _____________________COLEMAK_L2_____________________, _____________________COLEMAK_R2_____________________, // |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| - _____________________COLEMAK_L3_____________________,XXXXXXX,KC_LALT, M_COPA,XXXXXXX,_____________________COLEMAK_R3_____________________, + _____________________COLEMAK_L3_____________________,XXXXXXX,KC_LALT, T_CPNU,XXXXXXX,_____________________COLEMAK_R3_____________________, // `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' _____________MOD_LEFT_____________,T_LBRC, T_RBRC,________MOD_RIGHT________,KC_MUTE // `----------------------------------------' `----------------------------------------' @@ -89,6 +89,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ // `----------------------------------------' `----------------------------------------' ), + + [_NUMPAD] = LAYOUT_wrapper( +// ,------—————————-------------------------------------. ,--------—————————-----------------------------------. + _______, _______, _______, _______, _______,_______, _____________________NUMPAD_1_______________________, +// |--------+-----——-+——------+-——-----+——------+——-----| |------—+——------+——------+——------+——------+--------| + _______, _______, _______, _______, _______,_______, _____________________NUMPAD_2_______________________, +// |--------+-----——-+——------+-——-----+——------+——-----+———-----------. ,——————————————+------—+——------+——------+——------+——------+--------| + _______, _______, _______, _______,_______,_______,_______,_______, _______,_______,_____________________NUMPAD_3_______________________, +// `--------------------------+--------+--------+-------+-------+------| |------+-------+-------+--------+--------+--------+--------+--------' + _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ +// `----------------------------------------' `----------------------------------------' + ), + /* [_TEMPLATE] = LAYOUT_wrapper( // ,------—————————-------------------------------------. ,--------—————————-----------------------------------. diff --git a/keyboards/kyria/keymaps/ninjonas/oled.c b/keyboards/kyria/keymaps/ninjonas/oled.c index ff21b4885..419c1b727 100644 --- a/keyboards/kyria/keymaps/ninjonas/oled.c +++ b/keyboards/kyria/keymaps/ninjonas/oled.c @@ -127,6 +127,7 @@ static void render_layer_state(void) { bool lower = layer_state_is(_LOWER) & !layer_state_is(_ADJUST); bool raise = layer_state_is(_RAISE) & !layer_state_is(_ADJUST); bool adjust = layer_state_is(_ADJUST); + bool numpad = layer_state_is(_NUMPAD); if(lower){ oled_write_P(PSTR(" Lower "), true); @@ -134,6 +135,8 @@ static void render_layer_state(void) { oled_write_P(PSTR(" Raise "), true); } else if(adjust){ oled_write_P(PSTR(" Adjust "), true); + } else if(numpad) { + oled_write_P(PSTR(" Numpad "), true); } else { oled_write_P(PSTR(" Default"), false); } diff --git a/keyboards/lily58/keymaps/ninjonas/README.md b/keyboards/lily58/keymaps/ninjonas/README.md index 862252840..6ef9361f6 100644 --- a/keyboards/lily58/keymaps/ninjonas/README.md +++ b/keyboards/lily58/keymaps/ninjonas/README.md @@ -17,7 +17,7 @@ More information about the Lily58 pro keyboard can be found [here](https://yuchi * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / | = | * `-----------------------------------------/ / \ \-----------------------------------------' - * | Alt |  | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | + * | Alt | Cmd | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | * | | | |/ / \ \ | | | | * `----------------------------' '------''--------------------' */ @@ -35,7 +35,7 @@ More information about the Lily58 pro keyboard can be found [here](https://yuchi * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| * |LShift| ; | Q | J | K | X |-------| |-------| B | M | W | V | Z | = | * `-----------------------------------------/ / \ \-----------------------------------------' - * | Alt |  | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | + * | Alt | Cmd | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | * | | | |/ / \ \ | | | | * `----------------------------' '------''--------------------' */ @@ -53,7 +53,7 @@ More information about the Lily58 pro keyboard can be found [here](https://yuchi * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / | = | * `-----------------------------------------/ / \ \-----------------------------------------' - * | Alt |  | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | + * | Alt | Cmd | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | * | | | |/ / \ \ | | | | * `----------------------------' '------''--------------------' */ diff --git a/keyboards/lily58/keymaps/ninjonas/keymap.c b/keyboards/lily58/keymaps/ninjonas/keymap.c index 0bd330a76..2976f9eaf 100644 --- a/keyboards/lily58/keymaps/ninjonas/keymap.c +++ b/keyboards/lily58/keymaps/ninjonas/keymap.c @@ -28,16 +28,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / | = | * `-----------------------------------------/ / \ \-----------------------------------------' - * | Alt |  | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | + * | Alt | Cmd | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | * | | | |/ / \ \ | | | | * `----------------------------' '------''--------------------' */ [_QWERTY] = LAYOUT_wrapper( - _____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, \ - _____________________QWERTY_L1______________________, _____________________QWERTY_R1______________________, \ - _____________________QWERTY_L2______________________, _____________________QWERTY_R2______________________, \ - _____________________QWERTY_L3______________________, T_LBRC, T_RBRC, _____________________QWERTY_R3______________________, \ - _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ \ + _____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, + _____________________QWERTY_L1______________________, _____________________QWERTY_R1______________________, + _____________________QWERTY_L2______________________, _____________________QWERTY_R2______________________, + _____________________QWERTY_L3______________________, T_LBRC, T_RBRC, _____________________QWERTY_R3______________________, + _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ ), /* DVORAK @@ -50,16 +50,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| * |LShift| ; | Q | J | K | X |-------| |-------| B | M | W | V | Z | = | * `-----------------------------------------/ / \ \-----------------------------------------' - * | Alt |  | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | + * | Alt | Cmd | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | * | | | |/ / \ \ | | | | * `----------------------------' '------''--------------------' */ [_DVORAK] = LAYOUT_wrapper( - _____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, \ - _____________________DVORAK_L1______________________, _____________________DVORAK_R1______________________, \ - _____________________DVORAK_L2______________________, _____________________DVORAK_R2______________________, \ - _____________________DVORAK_L3______________________, T_LBRC, T_RBRC, _____________________DVORAK_R3______________________, \ - _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ \ + _____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, + _____________________DVORAK_L1______________________, _____________________DVORAK_R1______________________, + _____________________DVORAK_L2______________________, _____________________DVORAK_R2______________________, + _____________________DVORAK_L3______________________, T_LBRC, T_RBRC, _____________________DVORAK_R3______________________, + _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ ), /* COLEMAK @@ -72,16 +72,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / | = | * `-----------------------------------------/ / \ \-----------------------------------------' - * | Alt |  | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | + * | Alt | Cmd | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | * | | | |/ / \ \ | | | | * `----------------------------' '------''--------------------' */ [_COLEMAK] = LAYOUT_wrapper( - _____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, \ - _____________________COLEMAK_L1_____________________, _____________________COLEMAK_R1_____________________, \ - _____________________COLEMAK_L2_____________________, _____________________COLEMAK_R2_____________________, \ - _____________________COLEMAK_L3_____________________, T_LBRC, T_RBRC, _____________________COLEMAK_R3_____________________, \ - _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ \ + _____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, + _____________________COLEMAK_L1_____________________, _____________________COLEMAK_R1_____________________, + _____________________COLEMAK_L2_____________________, _____________________COLEMAK_R2_____________________, + _____________________COLEMAK_L3_____________________, T_LBRC, T_RBRC, _____________________COLEMAK_R3_____________________, + _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ ), /* LOWER @@ -99,11 +99,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `----------------------------' '------''--------------------' */ [_LOWER] = LAYOUT_wrapper( \ - _____________________FUNC_LEFT______________________, _____________________FUNC_RIGHT_____________________, \ - _____________________LOWER_L1_______________________, _____________________LOWER_R1_______________________, \ - _____________________LOWER_L2_______________________, _____________________LOWER_R2_______________________, \ - _____________________LOWER_L3_______________________, _______, _______, _____________________LOWER_R3_______________________, \ - __________________________________, _______, _______, M_CODE, _______ \ + _____________________FUNC_LEFT______________________, _____________________FUNC_RIGHT_____________________, + _____________________LOWER_L1_______________________, _____________________LOWER_R1_______________________, + _____________________LOWER_L2_______________________, _____________________LOWER_R2_______________________, + _____________________LOWER_L3_______________________, _______, _______, _____________________LOWER_R3_______________________, + __________________________________, _______, _______, M_CODE, _______ ), /* RAISE @@ -121,11 +121,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `----------------------------' '------''--------------------' */ [_RAISE] = LAYOUT_wrapper( \ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - XXXXXXX, XXXXXXX, _____________MOUSE_2______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\ - __________________________________, __________________________________ \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, _____________MOUSE_2______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + __________________________________, __________________________________ ), /* ADJUST @@ -143,10 +143,54 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `----------------------------' '------''--------------------' */ [_ADJUST] = LAYOUT_wrapper( \ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - _____________________ADJUST_L1______________________, _____________________ADJUST_R1______________________, \ - _____________________ADJUST_L2______________________, _____________________ADJUST_R2______________________, \ - _____________________ADJUST_L3______________________, XXXXXXX, XXXXXXX, _____________________ADJUST_R3______________________,\ - __________________________________, __________________________________ \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _____________________ADJUST_L1______________________, _____________________ADJUST_R1______________________, + _____________________ADJUST_L2______________________, _____________________ADJUST_R2______________________, + _____________________ADJUST_L3______________________, XXXXXXX, XXXXXXX, _____________________ADJUST_R3______________________, + __________________________________, __________________________________ ), -}; \ No newline at end of file + /* TEMPLATE + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | |-------. ,-------| | | | | | | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | | | | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | | | | / / \ \ | | | | + * | | | |/ / \ \ | | | | + * `----------------------------' '------''--------------------' + */ +[_NUMPAD] = LAYOUT_wrapper( \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _____________________NUMPAD_1_______________________, + _______, _______, _______, _______, _______, _______, _____________________NUMPAD_2_______________________, + _______, _______, _______, _______, _______, _______, _______, _______, _____________________NUMPAD_3_______________________, + __________________________________, __________________________________ + ), +}; + +/* TEMPLATE + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | |-------. ,-------| | | | | | | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | | | | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | | | | / / \ \ | | | | + * | | | |/ / \ \ | | | | + * `----------------------------' '------''--------------------' + * +[_TEMPLATE] = LAYOUT_wrapper( \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + __________________________________, __________________________________ + ), +*/ \ No newline at end of file diff --git a/keyboards/pinky/3/keymaps/ninjonas/README.md b/keyboards/pinky/3/keymaps/ninjonas/README.md index d47fdd995..67314fa71 100644 --- a/keyboards/pinky/3/keymaps/ninjonas/README.md +++ b/keyboards/pinky/3/keymaps/ninjonas/README.md @@ -15,7 +15,7 @@ More information about the Pinky3 keyboard can be found [here](https://github.co |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | Shift| Z| X| C| V| B| Spc/RAI| | Ent/LOW| N| M| ,| .| /| =| `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' - | ALT| | CTRL| KC_LAPP| | KC_RAPP| BckSpace| Del| LOWER| + | ALT| Cmd| CTRL| KC_LAPP| | KC_RAPP| BckSpace| Del| LOWER| `---------------------------------------' `---------------------------------------' */ ``` @@ -30,7 +30,7 @@ More information about the Pinky3 keyboard can be found [here](https://github.co |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | Shift| ;| Q| J| K| X| Spc/RAI| | Ent/LOW| B| M| W| V| Z| =| `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' - | ALT| | CTRL| KC_LAPP| | KC_RAPP| BckSpace| Del| LOWER| + | ALT| Cmd| CTRL| KC_LAPP| | KC_RAPP| BckSpace| Del| LOWER| `---------------------------------------' `---------------------------------------' */ ``` @@ -45,7 +45,7 @@ More information about the Pinky3 keyboard can be found [here](https://github.co |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | Shift| Z| X| C| V| B| Spc/RAI| | Ent/LOW| K| M| ,| .| /| =| `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' - | ALT| | CTRL| KC_LAPP| | KC_RAPP| BckSpace| Del| LOWER| + | ALT| Cmd| CTRL| KC_LAPP| | KC_RAPP| BckSpace| Del| LOWER| `---------------------------------------' `---------------------------------------' */ ``` diff --git a/keyboards/pinky/3/keymaps/ninjonas/config.h b/keyboards/pinky/3/keymaps/ninjonas/config.h index 585bd8cb5..ff8cd8bb0 100644 --- a/keyboards/pinky/3/keymaps/ninjonas/config.h +++ b/keyboards/pinky/3/keymaps/ninjonas/config.h @@ -27,5 +27,5 @@ #define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD -#define TAPPING_TERM 200 +#define TAPPING_TERM 300 #define RETRO_TAPPPING \ No newline at end of file diff --git a/users/ninjonas/README.md b/users/ninjonas/README.md index 39d92cff3..f537373bc 100644 --- a/users/ninjonas/README.md +++ b/users/ninjonas/README.md @@ -17,17 +17,17 @@ See: https://docs.qmk.fm/#/feature_userspace - [Kyria](../../keyboards/kyria/keymaps/ninjonas) ## Features -### [Keys](ninjonas.h#L37) +### [Keys](ninjonas.h) |Code | Description | |---|---| -|K_LOCK | MacOS shortcut to execute lock command  + CTRL + Q | +|K_LOCK | MacOS shortcut to execute lock command Cmd + 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 | +|K_CPRF | Cmd + Shift + M. Used for switching Google Chrome profiles | -### [Layers](ninjonas.h#L44) +### [Layers](ninjonas.h) |Code | Description | |---|---| |LT_LOW | Tap for ENTER, hold for RAISE | @@ -38,13 +38,13 @@ See: https://docs.qmk.fm/#/feature_userspace |LG_LOW | Press to toggle LOWER layer | |LG_RAI | Press to toggle RAISE layer | -### [Mod-Taps](ninjonas.h#L50) +### [Mod-Taps](ninjonas.h) |Code | Description | |---|---| -|MT_DEL | Tap for Delete, hold for  + ALT + SHIFT | +|MT_DEL | Tap for Delete, hold for Cmd + ALT + SHIFT | |MT_EQL | Tap for =, hold for ALT + SHIFT | -### [Layout Blocks](ninjonas.h#L54) +### [Layout Blocks](ninjonas.h) Predefined keyboard layout templates to speed up configuring split keyboards |Code | Description | @@ -59,6 +59,7 @@ Predefined keyboard layout templates to speed up configuring split keyboards |MOUSE | Mouse Cluster | |MEDIA | Media Cluster | |MOD | Modifier Cluster | +|NUMPAD | Numpad Cluster | ### [Macros](process_records.c) |Code | Description | @@ -68,7 +69,7 @@ Predefined keyboard layout templates to speed up configuring split keyboards |M_MALL | Macro to send QMK make command to all [ninjonas](#Supported%20Keyboards) 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](https://github.com/fikovnik/ShiftIt) | +|M_SHFT | Sends Cmd + alt + shift to a keycode to activate [ShiftIt](https://github.com/fikovnik/ShiftIt) | |M_CODE | Opens [Visual Studio Code](https://code.visualstudio.com/) on current directory | |M_TERM | Launches Spotlight and calls Terminal | |M_COPA | Single key copy/paste | @@ -81,10 +82,12 @@ Predefined keyboard layout templates to speed up configuring split keyboards |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 | +|T_GRV | Tap once for GRV, double for Cmd + GRV | +|T_GUI | Tap once for Cmd, double to open spotlight | +|T_W | Tap for W, double tap for Cmd + W | +|T_Q | Tap for Q, double tap for Cmd + Q | +|T_CPNU | Tap for Cmd + V, hold for Cmd + C, double tap for NUMPAD layer | +|T_Y | Tap for Y, double tap for NUMPAD layer | ### 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](https://github.com/qmk/qmk_firmware/blob/master/users/drashna/readme_secrets.md), 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. diff --git a/users/ninjonas/config.h b/users/ninjonas/config.h index 1166939c6..ae2370c5a 100644 --- a/users/ninjonas/config.h +++ b/users/ninjonas/config.h @@ -1,6 +1,6 @@ #ifdef TAPPING_TERM #undef TAPPING_TERM - #define TAPPING_TERM 200 + #define TAPPING_TERM 300 #endif // Mouse Settings: Smoothing out mouse movement on keypress diff --git a/users/ninjonas/ninjonas.h b/users/ninjonas/ninjonas.h index 6f79b262f..6772957e2 100644 --- a/users/ninjonas/ninjonas.h +++ b/users/ninjonas/ninjonas.h @@ -33,20 +33,22 @@ #define _LOWER 3 #define _RAISE 4 #define _ADJUST 5 +#define _NUMPAD 6 // Shortcut Keys #define K_LOCK LGUI(LCTL(KC_Q)) // Locks screen on MacOS #define K_CSCN LGUI(LCTL(LSFT(KC_4))) // Copy a portion of the screen to the clipboard -#define K_CPRF LGUI(LSFT(KC_M)) //  + Shift + M. Used for switching Google Chrome profiles +#define K_CPRF LGUI(LSFT(KC_M)) // Cmd + Shift + M. Used for switching Google Chrome profiles #define K_MDSH LSFT(LALT(KC_MINS)) -#define K_LAPP SGUI(KC_TAB) //  + Shift + Tab -#define K_RAPP LGUI(KC_TAB) //  + Tab +#define K_LAPP SGUI(KC_TAB) // Cmd + Shift + Tab +#define K_RAPP LGUI(KC_TAB) // Cmd + Tab // Layer Keys #define LM_LOW MO(_LOWER) #define LM_RAI MO(_RAISE) #define LG_LOW TG(_LOWER) #define LG_RAI TG(_RAISE) +#define LG_NUM TG(_NUMPAD) #define LT_LOW LT(_LOWER, KC_ENT) #define LT_RAI LT(_RAISE, KC_SPC) @@ -59,7 +61,7 @@ #define _____________________QWERTY_L2______________________ T_ESC, KC_A, KC_S, KC_D, KC_F, KC_G #define _____________________QWERTY_L3______________________ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B -#define _____________________QWERTY_R1______________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS +#define _____________________QWERTY_R1______________________ T_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS #define _____________________QWERTY_R2______________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT #define _____________________QWERTY_R3______________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT_EQL @@ -115,6 +117,10 @@ #endif #define _____________________ADJUST_R2______________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +#define _____________________NUMPAD_1_______________________ T_Y, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_PAST +#define _____________________NUMPAD_2_______________________ XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PSLS +#define _____________________NUMPAD_3_______________________ KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_COLN + #define _______________NAV_1______________ KC_PGUP, KC_HOME, KC_UP, KC_END #define _______________NAV_2______________ KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT @@ -124,7 +130,7 @@ #define __________________________________ _______, _______, _______, _______ #define _____________MOD_LEFT_____________ KC_LALT, T_GUI, KC_LCTL, LT_RAI -#define _____________MOD_RIGHT____________ LT_LOW, KC_BSPC, MT_DEL, LM_LOW +#define _____________MOD_RIGHT____________ LT_LOW, KC_BSPC, MT_DEL, T_CPNU #define _________MEDIA_1_________ KC_BRIU, KC_MPLY, KC_MUTE #define _________MEDIA_2_________ KC_BRID, KC_MFFD, KC__VOLUP @@ -135,7 +141,7 @@ #define ________MOD_RIGHT________ LT_LOW, KC_BSPC, MT_DEL #else #define ________MOD_LEFT_________ KC_LALT, T_GUI, KC_LCTL - #define ________MOD_RIGHT________ KC_BSPC, MT_DEL, LM_LOW + #define ________MOD_RIGHT________ KC_BSPC, MT_DEL, T_CPNU #endif // Layout wrappers diff --git a/users/ninjonas/oled.c b/users/ninjonas/oled.c index 285b0364e..ffb9eecbc 100644 --- a/users/ninjonas/oled.c +++ b/users/ninjonas/oled.c @@ -47,13 +47,16 @@ void render_layer_state(void) { bool lower = layer_state_is(_LOWER) & !layer_state_is(_ADJUST); bool raise = layer_state_is(_RAISE) & !layer_state_is(_ADJUST); bool adjust = layer_state_is(_ADJUST); + bool numpad = layer_state_is(_NUMPAD); if(lower){ oled_write_P(PSTR(" Lower "), true); } else if(raise){ oled_write_P(PSTR(" Raise "), true); } else if(adjust){ - oled_write_P(PSTR(" Adjust "), true); + oled_write_P(PSTR(" Adjust "), true); + } else if(numpad) { + oled_write_P(PSTR(" Numpad "), true); } else { oled_write_P(PSTR(" Default"), false); } diff --git a/users/ninjonas/process_records.c b/users/ninjonas/process_records.c index 5c6d98ec8..b4a5e35d1 100644 --- a/users/ninjonas/process_records.c +++ b/users/ninjonas/process_records.c @@ -23,7 +23,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; - // Sends  + alt + shift to a keycode to activate shiftit. See: https://github.com/fikovnik/ShiftIt + // Sends Cmd + alt + shift to a keycode to activate shiftit. See: https://github.com/fikovnik/ShiftIt case M_SHFT: if (record->event.pressed) { register_code(KC_LGUI); @@ -98,9 +98,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { copy_paste_timer = timer_read(); } else { if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { - tap_code16(LGUI(KC_C)); // Hold  + C + tap_code16(LGUI(KC_C)); // Hold Cmd + C } else { - tap_code16(LGUI(KC_V)); // Tap  + V + tap_code16(LGUI(KC_V)); // Tap Cmd + V } } diff --git a/users/ninjonas/tap_dances.c b/users/ninjonas/tap_dances.c index 0665a1607..ece95887a 100644 --- a/users/ninjonas/tap_dances.c +++ b/users/ninjonas/tap_dances.c @@ -1,5 +1,87 @@ #include "ninjonas.h" +//// BEGIN: Advanced Tap Dances +int cur_dance (qk_tap_dance_state_t *state) { + if (state->count == 1) { + if (!state->pressed) { + return SINGLE_TAP; + } else { + return SINGLE_HOLD; + } + } else if (state->count == 2) { + return DOUBLE_TAP; + } + else return 8; +} + +// BEGIN: Copy, Paste, NUMPAD +// https://beta.docs.qmk.fm/features/feature_tap_dance#example-6-using-tap-dance-for-momentary-layer-switch-and-layer-toggle-keys +static tap copy_paste_numpad_tap_state = { + .is_press_action = true, + .state = 0 +}; + +void copy_paste_numpad_finished (qk_tap_dance_state_t *state, void *user_data) { + copy_paste_numpad_tap_state.state = cur_dance(state); + switch (copy_paste_numpad_tap_state.state) { + case SINGLE_TAP: + tap_code16(LGUI(KC_V)); // Tap Cmd + V + break; + case SINGLE_HOLD: + tap_code16(LGUI(KC_C)); // Hold Cmd + C + break; + case DOUBLE_TAP: + if (layer_state_is(_NUMPAD)) { + layer_off(_NUMPAD); + } else { + layer_on(_NUMPAD); + } + break; + } +} + +void copy_paste_numpad_reset (qk_tap_dance_state_t *state, void *user_data) { + copy_paste_numpad_tap_state.state = 0; +} +// END: Copy, Paste, NUMPAD + +// BEGIN: Y, NUMPAD +static tap y_numpad_tap_state = { + .is_press_action = true, + .state = 0 +}; + +void y_numpad_finished (qk_tap_dance_state_t *state, void *user_data) { + y_numpad_tap_state.state = cur_dance(state); + switch (y_numpad_tap_state.state) { + case SINGLE_TAP: + tap_code(KC_Y); + break; + case SINGLE_HOLD: + register_code16(KC_Y); + break; + case DOUBLE_TAP: + if (layer_state_is(_NUMPAD)) { + layer_off(_NUMPAD); + } else { + layer_on(_NUMPAD); + } + break; + } +} + +void y_numpad_reset (qk_tap_dance_state_t *state, void *user_data) { + switch (y_numpad_tap_state.state) { + case SINGLE_HOLD: + unregister_code16(KC_Y); + break; + } + y_numpad_tap_state.state = 0; +} +// END: Y, NUMPAD + +//// END: Advanced Tap Dances + qk_tap_dance_action_t tap_dance_actions[] = { [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), [TD_LBRC_BACK] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, LGUI(KC_LBRC)), @@ -9,4 +91,8 @@ qk_tap_dance_action_t tap_dance_actions[] = { [TD_GUI_GUISPC] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, LGUI(KC_SPC)), [TD_W_CTRLW] = ACTION_TAP_DANCE_DOUBLE(KC_W, LGUI(KC_W)), [TD_Q_GUIQ] = ACTION_TAP_DANCE_DOUBLE(KC_Q, LGUI(KC_Q)), + + // Advanced Tap Dances + [TD_COPY_PASTE_NUMPAD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, copy_paste_numpad_finished, copy_paste_numpad_reset), + [TD_Y_NUMPAD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, y_numpad_finished, y_numpad_reset), }; \ No newline at end of file diff --git a/users/ninjonas/tap_dances.h b/users/ninjonas/tap_dances.h index 0a781ce4e..f2f39108d 100644 --- a/users/ninjonas/tap_dances.h +++ b/users/ninjonas/tap_dances.h @@ -1,6 +1,17 @@ #pragma once #include "ninjonas.h" +typedef struct { + bool is_press_action; + int state; +} tap; + +enum tapdance_types{ + SINGLE_TAP = 1, + SINGLE_HOLD = 2, + DOUBLE_TAP = 3 +}; + enum custom_tapdances{ TD_ESC_CAPS = 0, TD_LBRC_BACK, @@ -10,13 +21,17 @@ enum custom_tapdances{ TD_GUI_GUISPC, TD_W_CTRLW, TD_Q_GUIQ, + TD_COPY_PASTE_NUMPAD, + TD_Y_NUMPAD, }; #define T_ESC TD(TD_ESC_CAPS) // Tap for ESC, double tap for CAPSLOCK #define T_LBRC TD(TD_LBRC_BACK) // Tap for [, double tap for back browser #define T_RBRC TD(TD_RBRC_FWD) // Tap for ], double tap for forward browser #define T_TAB TD(TD_TAB_CTRLTAB) // Tap for TAB, double tap for CTRL + TAB -#define T_GRV TD(TD_GRV_CTRLGRV) // Tap for GRV, double tap for  + GRV -#define T_GUI TD(TD_GUI_GUISPC) // Tap for , double tap for  + Space -#define T_W TD(TD_W_CTRLW) // Tap for W, double tap for  + W -#define T_Q TD(TD_Q_GUIQ) // Tap for Q, double tap for  + Q \ No newline at end of file +#define T_GRV TD(TD_GRV_CTRLGRV) // Tap for GRV, double tap for Cmd + GRV +#define T_GUI TD(TD_GUI_GUISPC) // Tap for Cmd, double tap for Cmd + Space +#define T_W TD(TD_W_CTRLW) // Tap for W, double tap for Cmd + W +#define T_Q TD(TD_Q_GUIQ) // Tap for Q, double tap for Cmd + Q +#define T_CPNU TD(TD_COPY_PASTE_NUMPAD) // Tap for paste, hold for copy, double tap for NUMPAD +#define T_Y TD(TD_Y_NUMPAD) // Tap for Y, double tap for NUMPAD \ No newline at end of file