aboutsummaryrefslogtreecommitdiff
path: root/keyboards/yushakobo
diff options
context:
space:
mode:
authorMakotoKurauchi <pluis@me.com>2022-01-11 10:43:36 +0900
committerGitHub <noreply@github.com>2022-01-10 17:43:36 -0800
commit6823f01c107dafaa4e1876cb11677bd4435153ed (patch)
tree13356c079b6a4997a04ce4eab636c80336a17a32 /keyboards/yushakobo
parent8920db2b57b616e162e2d3162577db6f021e7658 (diff)
downloadqmk_firmware-6823f01c107dafaa4e1876cb11677bd4435153ed.tar.gz
qmk_firmware-6823f01c107dafaa4e1876cb11677bd4435153ed.zip
[Keyboard] New kbd Navpad 1.0 (#15507)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com>
Diffstat (limited to 'keyboards/yushakobo')
-rw-r--r--keyboards/yushakobo/navpad/10/10.c17
-rw-r--r--keyboards/yushakobo/navpad/10/10.h26
-rw-r--r--keyboards/yushakobo/navpad/10/config.h84
-rw-r--r--keyboards/yushakobo/navpad/10/info.json18
-rw-r--r--keyboards/yushakobo/navpad/10/keymaps/default/config.h25
-rw-r--r--keyboards/yushakobo/navpad/10/keymaps/default/keymap.c92
-rw-r--r--keyboards/yushakobo/navpad/10/keymaps/default/readme.md80
-rw-r--r--keyboards/yushakobo/navpad/10/keymaps/via/config.h25
-rw-r--r--keyboards/yushakobo/navpad/10/keymaps/via/keymap.c105
-rw-r--r--keyboards/yushakobo/navpad/10/keymaps/via/readme.md72
-rw-r--r--keyboards/yushakobo/navpad/10/keymaps/via/rules.mk1
-rw-r--r--keyboards/yushakobo/navpad/10/readme.md27
-rw-r--r--keyboards/yushakobo/navpad/10/rev0/config.h45
-rw-r--r--keyboards/yushakobo/navpad/10/rev0/rev0.c17
-rw-r--r--keyboards/yushakobo/navpad/10/rev0/rev0.h44
-rw-r--r--keyboards/yushakobo/navpad/10/rev0/rules.mk0
-rw-r--r--keyboards/yushakobo/navpad/10/rev1/config.h49
-rw-r--r--keyboards/yushakobo/navpad/10/rev1/rev1.c17
-rw-r--r--keyboards/yushakobo/navpad/10/rev1/rev1.h44
-rw-r--r--keyboards/yushakobo/navpad/10/rev1/rules.mk0
-rw-r--r--keyboards/yushakobo/navpad/10/rules.mk23
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/10_helix_r.c17
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/10_helix_r.h50
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/config.h126
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/info.json17
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/keymaps/default/config.h25
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c94
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md86
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/readme.md33
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/rules.mk23
-rw-r--r--keyboards/yushakobo/navpad/navpad_prefs.c104
-rw-r--r--keyboards/yushakobo/navpad/navpad_prefs.h30
-rw-r--r--keyboards/yushakobo/navpad/readme.md14
33 files changed, 1430 insertions, 0 deletions
diff --git a/keyboards/yushakobo/navpad/10/10.c b/keyboards/yushakobo/navpad/10/10.c
new file mode 100644
index 000000000..c1f6fc485
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/10.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "10.h"
diff --git a/keyboards/yushakobo/navpad/10/10.h b/keyboards/yushakobo/navpad/10/10.h
new file mode 100644
index 000000000..5fd02cd07
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/10.h
@@ -0,0 +1,26 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20#include "navpad_prefs.h"
21
22#if defined(KEYBOARD_yushakobo_navpad_10_rev0)
23# include "rev0.h"
24#elif defined(KEYBOARD_yushakobo_navpad_10_rev1)
25# include "rev1.h"
26#endif
diff --git a/keyboards/yushakobo/navpad/10/config.h b/keyboards/yushakobo/navpad/10/config.h
new file mode 100644
index 000000000..c242ee60e
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/config.h
@@ -0,0 +1,84 @@
1/*
2Copyright 2021 yushakobo
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22#define ENCODERS_PAD_A { B5 }
23#define ENCODERS_PAD_B { B6 }
24
25/* COL2ROW, ROW2COL */
26#define DIODE_DIRECTION COL2ROW
27
28/*
29 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
30 */
31#define SOFT_SERIAL_PIN D2 // or D0, D1, D3, E6
32
33#define RGB_DI_PIN D3
34#ifdef RGB_DI_PIN
35# define RGBLED_NUM 9
36# define RGBLIGHT_HUE_STEP 8
37# define RGBLIGHT_SAT_STEP 8
38# define RGBLIGHT_VAL_STEP 8
39# define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
40# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
41/*== all animations enable ==*/
42//# define RGBLIGHT_ANIMATIONS
43/*== or choose animations ==*/
44//# define RGBLIGHT_EFFECT_BREATHING
45//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
46# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
47//# define RGBLIGHT_EFFECT_SNAKE
48//# define RGBLIGHT_EFFECT_KNIGHT
49//# define RGBLIGHT_EFFECT_CHRISTMAS
50//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
51# define RGBLIGHT_EFFECT_RGB_TEST
52//# define RGBLIGHT_EFFECT_ALTERNATING
53/*== customize breathing effect ==*/
54/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
55//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
56/*==== use exp() and sin() ====*/
57//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
58//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
59
60#endif
61
62/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
63#define DEBOUNCE 5
64
65/* define if matrix has ghost (lacks anti-ghosting diodes) */
66//#define MATRIX_HAS_GHOST
67
68/* disable action features */
69//#define NO_ACTION_LAYER
70//#define NO_ACTION_TAPPING
71//#define NO_ACTION_ONESHOT
72
73/* disable these deprecated features by default */
74#define NO_ACTION_MACRO
75#define NO_ACTION_FUNCTION
76
77/* Bootmagic Lite key configuration */
78//#define BOOTMAGIC_LITE_ROW 0
79//#define BOOTMAGIC_LITE_COLUMN 0
80
81
82#define TAPPING_FORCE_HOLD
83#define TAPPING_TERM 132
84#define TAPPING_LAYER_TERM 90 \ No newline at end of file
diff --git a/keyboards/yushakobo/navpad/10/info.json b/keyboards/yushakobo/navpad/10/info.json
new file mode 100644
index 000000000..370b7623f
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/info.json
@@ -0,0 +1,18 @@
1{
2 "keyboard_name": "navpad 1.0",
3 "url": "https://shop.yushakobo.jp/products/navpad-10",
4 "maintainer": "yushakobo",
5 "layouts": {
6 "LAYOUT": {
7 "layout": [
8 {"x": 0, "y": 0},{"x": 1, "y": 0},{"x": 2, "y": 0},{"x": 3, "y": 0},
9 {"x": 0, "y": 1},{"x": 1, "y": 1},{"x": 2, "y": 1},{"x": 3, "y": 1},{"x": 4, "y": 1},{"x": 5, "y": 1},{"x": 6, "y": 1},
10 {"x": 0, "y": 2},{"x": 1, "y": 2},{"x": 2, "y": 2},{"x": 3, "y": 2},{"x": 4, "y": 2},{"x": 5, "y": 2},{"x": 6, "y": 2},
11 {"x": 3, "y": 3},{"x": 4, "y": 3},{"x": 5, "y": 3},{"x": 6, "y": 3},
12 {"x": 0, "y": 4},{"x": 1, "y": 4},{"x": 2, "y": 4},{"x": 3, "y": 4},{"x": 4, "y": 4},{"x": 5, "y": 4},{"x": 6, "y": 4},
13 {"x": 0, "y": 5},{"x": 1, "y": 5},{"x": 2, "y": 5},{"x": 3, "y": 5},{"x": 4, "y": 5},{"x": 5, "y": 5},{"x": 6, "y": 5}
14
15 ]
16 }
17 }
18}
diff --git a/keyboards/yushakobo/navpad/10/keymaps/default/config.h b/keyboards/yushakobo/navpad/10/keymaps/default/config.h
new file mode 100644
index 000000000..b4d2122ab
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/default/config.h
@@ -0,0 +1,25 @@
1/*
2Copyright 2021 yushakobo
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#ifdef RGB_DI_PIN
21
22#define RGBLIGHT_LAYERS
23#define RGBLIGHT_MAX_LAYERS 6
24
25#endif
diff --git a/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c b/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c
new file mode 100644
index 000000000..772d4e6f2
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c
@@ -0,0 +1,92 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [_BASE] =LAYOUT (
20 KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE,
21 KC_INS, KC_HOME, KC_PGUP, KC_ESC, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
23 KC_P4, KC_P5, KC_P6, KC_PPLS,
24 S(KC_TAB), KC_UP, KC_TAB, KC_P1, KC_P2, KC_P3, LT(1,KC_PENT),
25 KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, TAP_00, KC_PDOT, LT(1,KC_PENT)
26 ),
27
28 [_FN1] =LAYOUT (
29 RESET, EEP_RST, KC_NO, KC_NO,
30 KC_NO, KC_NO, KC_NO, KC_NLCK, KC_QUOT, KC_PEQL, KC_NO,
31 KC_CAPS, KC_NLCK, KC_SLCK, S(KC_9), KC_UP, S(KC_0), S(KC_SPC),
32 KC_LEFT, KC_BTN3, KC_RGHT, S(KC_SPC),
33 KC_TRNS, S(KC_ENT), KC_TRNS, KC_BSPC, KC_DOWN, KC_DEL, KC_TRNS,
34 KC_BTN1, KC_ENT, S(KC_SPC),LT(2,KC_SPC),KC_SPC, KC_COMM, KC_TRNS
35 ),
36
37 [_FN2] =LAYOUT (
38 RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO,
39 RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO,
40 RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO,
41 KC_NO, KC_NO, KC_NO, KC_NO,
42 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
43 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
44 ),
45
46 [_FN3] =LAYOUT (
47 KC_NO, KC_NO, KC_NO, KC_NO,
48 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
49 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
50 KC_NO, KC_NO, KC_NO, KC_NO,
51 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
52 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
53 )
54};
55
56#ifdef RGBLIGHT_LAYERS
57# define LOCK_COLOR_1 HSV_TEAL
58
59const rgblight_segment_t PROGMEM navpad_capslock[] = RGBLIGHT_LAYER_SEGMENTS(
60 {4, 1, LOCK_COLOR_1}
61);
62
63const rgblight_segment_t PROGMEM navpad_numlock[] = RGBLIGHT_LAYER_SEGMENTS(
64 {0, 1, LOCK_COLOR_1},
65 {5, 1, LOCK_COLOR_1}
66);
67
68const rgblight_segment_t PROGMEM navpad_scrolllock[] = RGBLIGHT_LAYER_SEGMENTS(
69 {2, 1, LOCK_COLOR_1},
70 {6, 1, LOCK_COLOR_1}
71);
72
73
74bool led_update_user(led_t led_state) {
75 rgblight_set_layer_state(0, host_keyboard_led_state().caps_lock);
76 rgblight_set_layer_state(1, (host_keyboard_led_state().num_lock && IS_LAYER_ON(_BASE)));
77 rgblight_set_layer_state(2, host_keyboard_led_state().scroll_lock);
78 return true;
79}
80
81const rgblight_segment_t* const PROGMEM navpad_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
82 navpad_capslock,
83 navpad_numlock,
84 navpad_scrolllock
85);
86
87void keyboard_post_init_user(void) {
88 rgblight_sethsv_noeeprom(HSV_WHITE);
89 // Enable the LED layers
90 rgblight_layers = navpad_rgb_layers;
91}
92#endif
diff --git a/keyboards/yushakobo/navpad/10/keymaps/default/readme.md b/keyboards/yushakobo/navpad/10/keymaps/default/readme.md
new file mode 100644
index 000000000..3b45e937b
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/default/readme.md
@@ -0,0 +1,80 @@
1# The default keymap for navpad 1.0
2
3### Base layer
4```
5 ,-------------------------------. ,-------.
6 | KC_PSCR | KC_SLCK | KC_PAUS | |KC_MUTE|
7 |----------+----------+----------+-------------------------------------------------.
8 | KC_INS | KC_HOME | KC_PGUP | KC_ESC | KC_PSLS | KC_PAST | KC_PMNS |
9 |----------+----------+----------+----------+-----------+----------+---------------|
10 | KC_DEL | KC_END | KC_PGDN | KC_P7 | KC_P8 | KC_P9 | KC_PPLS |
11 `--------------------------------+----------+-----------+----------+---------------|
12 | KC_P4 | KC_P5 | KC_P6 | KC_PPLS |
13 ,--------------------------------+----------+-----------+----------+---------------|
14 | S(KC_TAB)| KC_UP | KC_TAB | KC_P1 | KC_P2 | KC_P3 | LT(1,KC_PENT) |
15 |----------+----------+----------+----------+-----------+----------+---------------|
16 | KC_LEFT | KC_DOWN | KC_RGHT | KC_P0 | TAP_00 | KC_PDOT | LT(1,KC_PENT) |
17 '----------------------------------------------------------------------------------`
18```
19### FN1 layer
20```
21 ,-------------------------------. ,-------.
22 | RESET | EEP_RST | KC_NO | | KC_NO |
23 |----------+----------+----------+-------------------------------------------------.
24 | KC_NO | KC_NO | KC_NO | KC_NLCK | KC_QUOT | KC_PEQL | KC_NO |
25 |----------+----------+----------+----------+-----------+----------+---------------|
26 | KC_CAPS | KC_NLCK | KC_SLCK | S(KC_9) | KC_UP | S(KC_0) | S(KC_SPC) |
27 `--------------------------------+----------+-----------+----------+---------------|
28 | KC_LEFT | KC_BTN3 | KC_RGHT | S(KC_SPC) |
29 ,--------------------------------+----------+-----------+----------+---------------|
30 | KC_TRNS | S(KC_ENT)| KC_TRNS | KC_BSPC | KC_DOWN | KC_DEL | KC_TRNS |
31 |----------+----------+----------+----------+-----------+----------+---------------|
32 | KC_BTN1 | KC_ENT |S(KC_SPC)|LT(2,KC_SPC)|KC_SPC | KC_COMM | KC_TRNS |
33 '----------------------------------------------------------------------------------`
34```
35### FN2 layer
36```
37 ,-------------------------------. ,-------.
38 | RGB_TOG | RGB_MOD | RGB_RMOD| | KC_NO |
39 |----------+----------+----------+-------------------------------------------------.
40 | RGB_HUI | RGB_SAI | RGB_VAI | KC_NO | KC_NO | KC_NO | KC_NO |
41 |----------+----------+----------+----------+-----------+----------+---------------|
42 | RGB_HUD | RGB_SAD | RGB_VAD | KC_NO | KC_NO | KC_NO | KC_NO |
43 `--------------------------------+----------+-----------+----------+---------------|
44 | KC_NO | KC_NO | KC_NO | KC_NO |
45 ,--------------------------------+----------+-----------+----------+---------------|
46 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
47 |----------+----------+----------+----------+-----------+----------+---------------|
48 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
49 '----------------------------------------------------------------------------------`
50```
51### FN3 layer
52```
53 ,-------------------------------. ,-------.
54 | KC_NO | KC_NO | KC_NO | | KC_NO |
55 |----------+----------+----------+-------------------------------------------------.
56 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
57 |----------+----------+----------+----------+-----------+----------+---------------|
58 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
59 `--------------------------------+----------+-----------+----------+---------------|
60 | KC_NO | KC_NO | KC_NO | KC_NO |
61 ,--------------------------------+----------+-----------+----------+---------------|
62 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
63 |----------+----------+----------+----------+-----------+----------+---------------|
64 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
65 '----------------------------------------------------------------------------------`
66```
67
68## custom keycodes behaviour
69
70|keycodes|actual input|behaviour|
71|---|---|---|
72|TAP_00|"00"|tap_code(KC_P0) twice|
73
74## rotary encoder behaviour
75
76|Encoder No.1|CW|CCW|
77|---|---|---|
78|BASE|KC_VOLU|KC_VOLD|
79|FN1|rgblight_increse_hue()|rgblight_decrese_hue()|
80|FN2|rgblight_increse_sat()|rgblight_decrese_sat()|
diff --git a/keyboards/yushakobo/navpad/10/keymaps/via/config.h b/keyboards/yushakobo/navpad/10/keymaps/via/config.h
new file mode 100644
index 000000000..b4d2122ab
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/via/config.h
@@ -0,0 +1,25 @@
1/*
2Copyright 2021 yushakobo
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#ifdef RGB_DI_PIN
21
22#define RGBLIGHT_LAYERS
23#define RGBLIGHT_MAX_LAYERS 6
24
25#endif
diff --git a/keyboards/yushakobo/navpad/10/keymaps/via/keymap.c b/keyboards/yushakobo/navpad/10/keymaps/via/keymap.c
new file mode 100644
index 000000000..bd75cc77d
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/via/keymap.c
@@ -0,0 +1,105 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [_BASE] =LAYOUT (
20 KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE,
21 KC_INS, KC_HOME, KC_PGUP, KC_ESC, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
23 KC_P4, KC_P5, KC_P6, KC_PPLS,
24 S(KC_TAB), KC_UP, KC_TAB, KC_P1, KC_P2, KC_P3, LT(1,KC_PENT),
25 KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P0, KC_PDOT, LT(1,KC_PENT)
26 ),
27
28 [_FN1] =LAYOUT (
29 RESET, EEP_RST, KC_NO, KC_NO,
30 KC_NO, KC_NO, KC_NO, KC_NLCK, KC_QUOT, KC_PEQL, KC_NO,
31 KC_CAPS, KC_NLCK, KC_SLCK, S(KC_9), KC_UP, S(KC_0), S(KC_SPC),
32 KC_LEFT, KC_BTN3, KC_RGHT, S(KC_SPC),
33 KC_TRNS, S(KC_ENT), KC_TRNS, KC_BSPC, KC_DOWN, KC_DEL, KC_TRNS,
34 KC_BTN1, KC_ENT, S(KC_SPC),LT(2,KC_SPC),KC_SPC, KC_COMM, KC_TRNS
35 ),
36
37 [_FN2] =LAYOUT (
38 RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO,
39 RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO,
40 RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO,
41 KC_NO, KC_NO, KC_NO, KC_NO,
42 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
43 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
44 ),
45
46 [_FN3] =LAYOUT (
47 KC_NO, KC_NO, KC_NO, KC_NO,
48 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
49 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
50 KC_NO, KC_NO, KC_NO, KC_NO,
51 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
52 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
53 )
54};
55
56#ifdef ENCODER_ENABLE
57bool encoder_update_user(uint8_t index, bool clockwise) {
58 if (index == 0) { /* First encoder */
59 if (clockwise) {
60 tap_code16(KC_WH_U);
61 } else {
62 tap_code16(KC_WH_D);
63 }
64 }
65 return false;
66}
67#endif
68
69#ifdef RGBLIGHT_LAYERS
70# define LOCK_COLOR_1 HSV_TEAL
71
72const rgblight_segment_t PROGMEM navpad_capslock[] = RGBLIGHT_LAYER_SEGMENTS(
73 {4, 1, LOCK_COLOR_1}
74);
75
76const rgblight_segment_t PROGMEM navpad_numlock[] = RGBLIGHT_LAYER_SEGMENTS(
77 {0, 1, LOCK_COLOR_1},
78 {5, 1, LOCK_COLOR_1}
79);
80
81const rgblight_segment_t PROGMEM navpad_scrolllock[] = RGBLIGHT_LAYER_SEGMENTS(
82 {2, 1, LOCK_COLOR_1},
83 {6, 1, LOCK_COLOR_1}
84);
85
86
87bool led_update_user(led_t led_state) {
88 rgblight_set_layer_state(0, host_keyboard_led_state().caps_lock);
89 rgblight_set_layer_state(1, (host_keyboard_led_state().num_lock && IS_LAYER_ON(_BASE)));
90 rgblight_set_layer_state(2, host_keyboard_led_state().scroll_lock);
91 return true;
92}
93
94const rgblight_segment_t* const PROGMEM navpad_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
95 navpad_capslock,
96 navpad_numlock,
97 navpad_scrolllock
98);
99
100void keyboard_post_init_user(void) {
101 rgblight_sethsv_noeeprom(HSV_WHITE);
102 // Enable the LED layers
103 rgblight_layers = navpad_rgb_layers;
104}
105#endif
diff --git a/keyboards/yushakobo/navpad/10/keymaps/via/readme.md b/keyboards/yushakobo/navpad/10/keymaps/via/readme.md
new file mode 100644
index 000000000..f6ccaeee9
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/via/readme.md
@@ -0,0 +1,72 @@
1# The via keymap for navpad 1.0
2
3### Base layer
4```
5 ,-------------------------------. ,-------.
6 | KC_PSCR | KC_SLCK | KC_PAUS | |KC_MUTE|
7 |----------+----------+----------+-------------------------------------------------.
8 | KC_INS | KC_HOME | KC_PGUP | KC_ESC | KC_PSLS | KC_PAST | KC_PMNS |
9 |----------+----------+----------+----------+-----------+----------+---------------|
10 | KC_DEL | KC_END | KC_PGDN | KC_P7 | KC_P8 | KC_P9 | KC_PPLS |
11 `--------------------------------+----------+-----------+----------+---------------|
12 | KC_P4 | KC_P5 | KC_P6 | KC_PPLS |
13 ,--------------------------------+----------+-----------+----------+---------------|
14 | S(KC_TAB)| KC_UP | KC_TAB | KC_P1 | KC_P2 | KC_P3 | LT(1,KC_PENT) |
15 |----------+----------+----------+----------+-----------+----------+---------------|
16 | KC_LEFT | KC_DOWN | KC_RGHT | KC_P0 | KC_P0 | KC_PDOT | LT(1,KC_PENT) |
17 '----------------------------------------------------------------------------------`
18```
19### FN1 layer
20```
21 ,-------------------------------. ,-------.
22 | RESET | EEP_RST | KC_NO | | KC_NO |
23 |----------+----------+----------+-------------------------------------------------.
24 | KC_NO | KC_NO | KC_NO | KC_NLCK | KC_QUOT | KC_PEQL | KC_NO |
25 |----------+----------+----------+----------+-----------+----------+---------------|
26 | KC_CAPS | KC_NLCK | KC_SLCK | S(KC_9) | KC_UP | S(KC_0) | S(KC_SPC) |
27 `--------------------------------+----------+-----------+----------+---------------|
28 | KC_LEFT | KC_BTN3 | KC_RGHT | S(KC_SPC) |
29 ,--------------------------------+----------+-----------+----------+---------------|
30 | KC_TRNS | S(KC_ENT)| KC_TRNS | KC_BSPC | KC_DOWN | KC_DEL | KC_TRNS |
31 |----------+----------+----------+----------+-----------+----------+---------------|
32 | KC_BTN1 | KC_ENT |S(KC_SPC)|LT(2,KC_SPC)|KC_SPC | KC_COMM | KC_TRNS |
33 '----------------------------------------------------------------------------------`
34```
35### FN2 layer
36```
37 ,-------------------------------. ,-------.
38 | RGB_TOG | RGB_MOD | RGB_RMOD| | KC_NO |
39 |----------+----------+----------+-------------------------------------------------.
40 | RGB_HUI | RGB_SAI | RGB_VAI | KC_NO | KC_NO | KC_NO | KC_NO |
41 |----------+----------+----------+----------+-----------+----------+---------------|
42 | RGB_HUD | RGB_SAD | RGB_VAD | KC_NO | KC_NO | KC_NO | KC_NO |
43 `--------------------------------+----------+-----------+----------+---------------|
44 | KC_NO | KC_NO | KC_NO | KC_NO |
45 ,--------------------------------+----------+-----------+----------+---------------|
46 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
47 |----------+----------+----------+----------+-----------+----------+---------------|
48 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
49 '----------------------------------------------------------------------------------`
50```
51### FN3 layer
52```
53 ,-------------------------------. ,-------.
54 | KC_NO | KC_NO | KC_NO | | KC_NO |
55 |----------+----------+----------+-------------------------------------------------.
56 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
57 |----------+----------+----------+----------+-----------+----------+---------------|
58 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
59 `--------------------------------+----------+-----------+----------+---------------|
60 | KC_NO | KC_NO | KC_NO | KC_NO |
61 ,--------------------------------+----------+-----------+----------+---------------|
62 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
63 |----------+----------+----------+----------+-----------+----------+---------------|
64 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
65 '----------------------------------------------------------------------------------`
66```
67
68## rotary encoder behaviour
69
70|Encoder No.1|CW|CCW|
71|---|---|---|
72|BASE|tap_code16(KC_WH_U)|tap_code16(KC_WH_D)|
diff --git a/keyboards/yushakobo/navpad/10/keymaps/via/rules.mk b/keyboards/yushakobo/navpad/10/keymaps/via/rules.mk
new file mode 100644
index 000000000..036bd6d1c
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/yushakobo/navpad/10/readme.md b/keyboards/yushakobo/navpad/10/readme.md
new file mode 100644
index 000000000..a330003a5
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/readme.md
@@ -0,0 +1,27 @@
1# navpad 1.0
2
3![navpad_10](https://imgur.com/zxElDdWh.jpg)
4
5Useful and easy to build numpad with nav-cluster
6
7* Keyboard Maintainer: [yushakobo](https://github.com/yushakobo)
8* Hardware Supported: NavPad 1.0 PCB, Pro Micro
9* Hardware Availability: https://shop.yushakobo.jp/products/navpad-10
10
11Make example for this keyboard (after setting up your build environment):
12
13 make yushakobo/navpad/10:default
14
15Flashing example for this keyboard:
16
17 make yushakobo/navpad/10:default:flash
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
20
21## Bootloader
22
23Enter the bootloader in 3 ways:
24
25* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
26* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
27* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/yushakobo/navpad/10/rev0/config.h b/keyboards/yushakobo/navpad/10/rev0/config.h
new file mode 100644
index 000000000..5ebdda599
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev0/config.h
@@ -0,0 +1,45 @@
1/*
2Copyright 2021 yushakobo
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x3265
24#define PRODUCT_ID 0x0008
25#define DEVICE_VER 0x0000
26#define MANUFACTURER yushakobo
27#define PRODUCT navpad 1.0
28
29/* key matrix size */
30#define MATRIX_ROWS 6
31#define MATRIX_COLS 7
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42 */
43#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, D0 }
44#define MATRIX_COL_PINS { F4, F5, F6, B2, B3, B1, F7 }
45#define UNUSED_PIN { D1 }
diff --git a/keyboards/yushakobo/navpad/10/rev0/rev0.c b/keyboards/yushakobo/navpad/10/rev0/rev0.c
new file mode 100644
index 000000000..c1feab87a
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev0/rev0.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "rev0.h"
diff --git a/keyboards/yushakobo/navpad/10/rev0/rev0.h b/keyboards/yushakobo/navpad/10/rev0/rev0.h
new file mode 100644
index 000000000..97a651bc1
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev0/rev0.h
@@ -0,0 +1,44 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21/* This is a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29#define LAYOUT( \
30 k00, k01, k02, k03, \
31 k10, k11, k12, k13, k14, k15, k16, \
32 k20, k21, k22, k23, k24, k25, k26, \
33 k33, k34, k35, k36, \
34 k40, k41, k42, k43, k44, k45, k46, \
35 k50, k51, k52, k53, k54, k55, k56 \
36 ) \
37 {\
38 { k00, k01, k02, k13, k14, k15, k16 }, \
39 { k10, k11, k12, k23, k24, k25, k26 }, \
40 { k20, k21, k22, k33, k34, k35, k36 }, \
41 { k40, k41, k42, k43, k44, k45, k46 }, \
42 { k50, k51, k52, k53, k54, k55, k56 }, \
43 { KC_NO, KC_NO, k03, KC_NO, KC_NO, KC_NO, KC_NO } \
44 }
diff --git a/keyboards/yushakobo/navpad/10/rev0/rules.mk b/keyboards/yushakobo/navpad/10/rev0/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev0/rules.mk
diff --git a/keyboards/yushakobo/navpad/10/rev1/config.h b/keyboards/yushakobo/navpad/10/rev1/config.h
new file mode 100644
index 000000000..40bb31b15
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev1/config.h
@@ -0,0 +1,49 @@
1/*
2Copyright 2021 yushakobo
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x3265
24#define PRODUCT_ID 0x0008
25#define DEVICE_VER 0x0001
26#define MANUFACTURER yushakobo
27#define PRODUCT "navpad 1.0"
28
29/* key matrix size */
30#define MATRIX_ROWS 6
31#define MATRIX_COLS 6
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42 */
43#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, F4 }
44#define MATRIX_COL_PINS { F5, F6, B2, B3, B1, F7 }
45#define UNUSED_PIN { D1, D0 }
46
47#ifdef RGB_DI_PIN
48# define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 8, 7 }
49#endif
diff --git a/keyboards/yushakobo/navpad/10/rev1/rev1.c b/keyboards/yushakobo/navpad/10/rev1/rev1.c
new file mode 100644
index 000000000..bf4761203
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev1/rev1.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "rev1.h"
diff --git a/keyboards/yushakobo/navpad/10/rev1/rev1.h b/keyboards/yushakobo/navpad/10/rev1/rev1.h
new file mode 100644
index 000000000..50fd54a02
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev1/rev1.h
@@ -0,0 +1,44 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21/* This is a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29#define LAYOUT( \
30 k00, k01, k02, k03, \
31 k10, k11, k12, k13, k14, k15, k16, \
32 k20, k21, k22, k23, k24, k25, k26, \
33 k33, k34, k35, k36, \
34 k40, k41, k42, k43, k44, k45, k46, \
35 k50, k51, k52, k53, k54, k55, k56 \
36 ) \
37 {\
38 { k01, k02, k13, k14, k15, k16 }, \
39 { k11, k12, k23, k24, k25, k26 }, \
40 { k21, k22, k33, k34, k35, k36 }, \
41 { k41, k42, k43, k44, k45, k46 }, \
42 { k51, k52, k53, k54, k55, k56 }, \
43 { k00, k03, k10, k20, k40, k50 } \
44 }
diff --git a/keyboards/yushakobo/navpad/10/rev1/rules.mk b/keyboards/yushakobo/navpad/10/rev1/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev1/rules.mk
diff --git a/keyboards/yushakobo/navpad/10/rules.mk b/keyboards/yushakobo/navpad/10/rules.mk
new file mode 100644
index 000000000..53fb0ec17
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19
20ENCODER_ENABLE = yes
21
22SRC += navpad_prefs.c
23DEFAULT_FOLDER = yushakobo/navpad/10/rev1
diff --git a/keyboards/yushakobo/navpad/10_helix_r/10_helix_r.c b/keyboards/yushakobo/navpad/10_helix_r/10_helix_r.c
new file mode 100644
index 000000000..8be5220d5
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10_helix_r/10_helix_r.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "10_helix_r.h"
diff --git a/keyboards/yushakobo/navpad/10_helix_r/10_helix_r.h b/keyboards/yushakobo/navpad/10_helix_r/10_helix_r.h
new file mode 100644
index 000000000..53e32fd6e
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10_helix_r/10_helix_r.h
@@ -0,0 +1,50 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20#include "navpad_prefs.h"
21
22/* This is a shortcut to help you visually see your layout.
23 *
24 * The first section contains all of the arguments representing the physical
25 * layout of the board and position of the keys.
26 *
27 * The second converts the arguments into a two-dimensional array which
28 * represents the switch matrix.
29 */
30#define LAYOUT( \
31 k00, k01, k02, k03, \
32 k10, k11, k12, k13, k14, k15, k16, R10, R11, R12, R13, R14, R15,\
33 k20, k21, k22, k23, k24, k25, k26, R20, R21, R22, R23, R24, R25,\
34 k33, k34, k35, k36, R30, R31, R32, R33, R34, R35,\
35 k40, k41, k42, k43, k44, k45, k46, R46, R40, R41, R42, R43, R44, R45,\
36 k50, k51, k52, k53, k54, k55, k56, R56, R50, R51, R52, R53, R54, R55\
37 ) \
38 {\
39 { k01, k02, k13, k14, k15, k16 }, \
40 { k11, k12, k23, k24, k25, k26 }, \
41 { k21, k22, k33, k34, k35, k36 }, \
42 { k41, k42, k43, k44, k45, k46 }, \
43 { k51, k52, k53, k54, k55, k56 }, \
44 { k00, k03, k10, k20, k40, k50 }, \
45 { R15, R14, R13, R12, R11, R10, KC_NO }, \
46 { R25, R24, R23, R22, R21, R20, KC_NO }, \
47 { R35, R34, R33, R32, R31, R30, KC_NO }, \
48 { R45, R44, R43, R42, R41, R40, R46 }, \
49 { R55, R54, R53, R52, R51, R50, R56 } \
50 }
diff --git a/keyboards/yushakobo/navpad/10_helix_r/config.h b/keyboards/yushakobo/navpad/10_helix_r/config.h
new file mode 100644
index 000000000..2d6288532
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10_helix_r/config.h
@@ -0,0 +1,126 @@
1/*
2Copyright 2021 yushakobo
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x3265
24#define PRODUCT_ID 0x0008
25#define DEVICE_VER 0x0001
26#define MANUFACTURER yushakobo
27#define PRODUCT "navpad 1.0 with helix keyboard"
28
29/* key matrix size */
30#define MATRIX_ROWS 12
31#define MATRIX_COLS 7
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42 */
43#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, F4 }
44#define MATRIX_ROW_PINS_RIGHT { D4, C6, D7, E6, B4 }
45#define MATRIX_COL_PINS { F5, F6, B2, B3, B1, F7, NO_PIN }
46#define MATRIX_COL_PINS_RIGHT { F4, F5, F6, F7, B1, B3, B2 }
47#define UNUSED_PIN { D0, D1 }
48
49#define EE_HANDS
50
51#ifdef RGB_DI_PIN
52# define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 8, 7, \//navpad side
53 9, 10, 11, 12, 13, 14, \//helix side
54 20, 19, 18, 17, 16, 15, \
55 21, 22, 23, 24, 25, 26, \
56 33, 32, 31, 30, 29, 28, 27, \
57 34, 35, 36, 37, 38, 39, 40 }
58#endif
59
60#define ENCODERS_PAD_A { B5 }
61#define ENCODERS_PAD_B { B6 }
62
63#define ENCODERS_PAD_A_RIGHT { B6 }
64#define ENCODERS_PAD_B_RIGHT { B5 }
65
66/* COL2ROW, ROW2COL */
67#define DIODE_DIRECTION COL2ROW
68
69/*
70 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
71 */
72#define SOFT_SERIAL_PIN D2 // or D0, D1, D3, E6
73
74#define RGB_DI_PIN D3
75#ifdef RGB_DI_PIN
76# define RGBLED_NUM 9+32
77# define RGBLED_SPLIT { 9, 32 }
78# define RGBLIGHT_HUE_STEP 8
79# define RGBLIGHT_SAT_STEP 8
80# define RGBLIGHT_VAL_STEP 8
81# define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
82# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
83/*== all animations enable ==*/
84//# define RGBLIGHT_ANIMATIONS
85/*== or choose animations ==*/
86//# define RGBLIGHT_EFFECT_BREATHING
87//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
88# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
89//# define RGBLIGHT_EFFECT_SNAKE
90//# define RGBLIGHT_EFFECT_KNIGHT
91//# define RGBLIGHT_EFFECT_CHRISTMAS
92//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
93# define RGBLIGHT_EFFECT_RGB_TEST
94//# define RGBLIGHT_EFFECT_ALTERNATING
95/*== customize breathing effect ==*/
96/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
97//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
98/*==== use exp() and sin() ====*/
99//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
100//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
101
102#endif
103
104/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
105#define DEBOUNCE 5
106
107/* define if matrix has ghost (lacks anti-ghosting diodes) */
108//#define MATRIX_HAS_GHOST
109
110/* disable action features */
111//#define NO_ACTION_LAYER
112//#define NO_ACTION_TAPPING
113//#define NO_ACTION_ONESHOT
114
115/* disable these deprecated features by default */
116#define NO_ACTION_MACRO
117#define NO_ACTION_FUNCTION
118
119/* Bootmagic Lite key configuration */
120//#define BOOTMAGIC_LITE_ROW 0
121//#define BOOTMAGIC_LITE_COLUMN 0
122
123
124#define TAPPING_FORCE_HOLD
125#define TAPPING_TERM 132
126#define TAPPING_LAYER_TERM 90 \ No newline at end of file
diff --git a/keyboards/yushakobo/navpad/10_helix_r/info.json b/keyboards/yushakobo/navpad/10_helix_r/info.json
new file mode 100644
index 000000000..98e2314c9
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10_helix_r/info.json
@@ -0,0 +1,17 @@
1{
2 "keyboard_name": "navpad 1.0 w/ helix right hand side",
3 "url": "",
4 "maintainer": "yushakobo",
5 "layouts": {
6 "LAYOUT": {
7 "layout": [
8 {"x": 0, "y": 0},{"x": 1, "y": 0},{"x": 2, "y": 0},{"x": 3, "y": 0},
9 {"x": 0, "y": 1},{"x": 1, "y": 1},{"x": 2, "y": 1},{"x": 3, "y": 1},{"x": 4, "y": 1},{"x": 5, "y": 1},{"x": 6, "y": 1}, {"x": 8, "y": 1},{"x": 9, "y": 1},{"x": 10, "y": 1},{"x": 11, "y": 1},{"x": 12, "y": 1},{"x": 13, "y": 1},
10 {"x": 0, "y": 2},{"x": 1, "y": 2},{"x": 2, "y": 2},{"x": 3, "y": 2},{"x": 4, "y": 2},{"x": 5, "y": 2},{"x": 6, "y": 2}, {"x": 8, "y": 2},{"x": 9, "y": 2},{"x": 10, "y": 2},{"x": 11, "y": 2},{"x": 12, "y": 2},{"x": 13, "y": 2},
11 {"x": 3, "y": 3},{"x": 4, "y": 3},{"x": 5, "y": 3},{"x": 6, "y": 3}, {"x": 8, "y": 3},{"x": 9, "y": 3},{"x": 10, "y": 3},{"x": 11, "y": 3},{"x": 12, "y": 3},{"x": 13, "y": 3},
12 {"x": 0, "y": 4},{"x": 1, "y": 4},{"x": 2, "y": 4},{"x": 3, "y": 4},{"x": 4, "y": 4},{"x": 5, "y": 4},{"x": 6, "y": 4},{"x": 7, "y": 4},{"x": 8, "y": 4},{"x": 9, "y": 4},{"x": 10, "y": 4},{"x": 11, "y": 4},{"x": 12, "y": 4},{"x": 13, "y": 4},
13 {"x": 0, "y": 5},{"x": 1, "y": 5},{"x": 2, "y": 5},{"x": 3, "y": 5},{"x": 4, "y": 5},{"x": 5, "y": 5},{"x": 6, "y": 5},{"x": 7, "y": 5},{"x": 8, "y": 5},{"x": 9, "y": 5},{"x": 10, "y": 5},{"x": 11, "y": 5},{"x": 12, "y": 5},{"x": 13, "y": 5}
14 ]
15 }
16 }
17}
diff --git a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/config.h b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/config.h
new file mode 100644
index 000000000..b4d2122ab
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/config.h
@@ -0,0 +1,25 @@
1/*
2Copyright 2021 yushakobo
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#ifdef RGB_DI_PIN
21
22#define RGBLIGHT_LAYERS
23#define RGBLIGHT_MAX_LAYERS 6
24
25#endif
diff --git a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c
new file mode 100644
index 000000000..4753aa6ee
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c
@@ -0,0 +1,94 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [_BASE] =LAYOUT (
20 KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE,
21 KC_INS, KC_HOME, KC_PGUP, KC_ESC, KC_PSLS, KC_PAST, KC_PMNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
22 KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
23 KC_P4, KC_P5, KC_P6, KC_PPLS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
24 S(KC_TAB), KC_UP, KC_TAB, KC_P1, KC_P2, KC_P3, LT(1,KC_PENT), KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
25 KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P0, KC_PDOT, LT(1,KC_PENT), LT(1,KC_SPC),LT(2,KC_ENT),KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
26 ),
27
28 [_FN1] =LAYOUT (
29 RESET, EEP_RST, KC_NO, KC_NO,
30 KC_NO, KC_NO, KC_NO, KC_NLCK, KC_QUOT, KC_PEQL, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL,
31 KC_CAPS, KC_NLCK, KC_SLCK, S(KC_9), KC_UP, S(KC_0), S(KC_SPC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC,
32 KC_LEFT, KC_BTN3, KC_RGHT, S(KC_SPC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_QUOT,
33 KC_TRNS, S(KC_ENT), KC_TRNS, KC_BSPC, KC_DOWN, KC_DEL, KC_TRNS, KC_RBRC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT,
34 KC_BTN1, KC_ENT, S(KC_SPC),LT(2,KC_SPC),KC_SPC, KC_COMM, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
35 ),
36
37 [_FN2] =LAYOUT (
38 RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO,
39 RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
40 RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC, KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO,
41 KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO,
42 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RBRC, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_NO, KC_NO,
43 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
44 ),
45
46 [_FN3] =LAYOUT (
47 KC_NO, KC_NO, KC_NO, KC_NO,
48 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
49 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
50 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
51 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RBRC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
52 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
53 )
54};
55
56#ifdef RGBLIGHT_LAYERS
57# define LOCK_COLOR_1 HSV_TEAL
58
59const rgblight_segment_t PROGMEM navpad_capslock[] = RGBLIGHT_LAYER_SEGMENTS(
60 {4, 1, LOCK_COLOR_1},
61 {15, 1, LOCK_COLOR_1}
62);
63
64const rgblight_segment_t PROGMEM navpad_numlock[] = RGBLIGHT_LAYER_SEGMENTS(
65 {0, 1, LOCK_COLOR_1},
66 {5, 1, LOCK_COLOR_1},
67 {14, 1, LOCK_COLOR_1}
68);
69
70const rgblight_segment_t PROGMEM navpad_scrolllock[] = RGBLIGHT_LAYER_SEGMENTS(
71 {2, 1, LOCK_COLOR_1},
72 {6, 1, LOCK_COLOR_1},
73 {26, 1, LOCK_COLOR_1}
74);
75
76bool led_update_user(led_t led_state) {
77 rgblight_set_layer_state(0, host_keyboard_led_state().caps_lock);
78 rgblight_set_layer_state(1, (host_keyboard_led_state().num_lock && IS_LAYER_ON(_BASE)));
79 rgblight_set_layer_state(2, host_keyboard_led_state().scroll_lock);
80 return true;
81}
82
83const rgblight_segment_t* const PROGMEM navpad_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
84 navpad_capslock,
85 navpad_numlock,
86 navpad_scrolllock
87);
88
89void keyboard_post_init_user(void) {
90 rgblight_sethsv_noeeprom(HSV_WHITE);
91 // Enable the LED layers
92 rgblight_layers = navpad_rgb_layers;
93}
94#endif
diff --git a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md
new file mode 100644
index 000000000..640f8056c
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md
@@ -0,0 +1,86 @@
1# The default keymap for navpad 1.0 with helix (right hand side)
2
3### Base layer
4```
5 ,-------------------------------. ,-------.
6 | KC_PSCR | KC_SLCK | KC_PAUS | |KC_MUTE|
7 |----------+----------+----------+-------------------------------------------------. ,-----------------------------------------------------------------------.
8 | KC_INS | KC_HOME | KC_PGUP | KC_ESC | KC_PSLS | KC_PAST | KC_PMNS | | KC_6 | KC_7 | KC_8 | KC_9 | KC_0 | KC_DEL |
9 |----------+----------+----------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------|
10 | KC_DEL | KC_END | KC_PGDN | KC_P7 | KC_P8 | KC_P9 | KC_PPLS | | KC_Y | KC_U | KC_I | KC_O | KC_P | KC_BSPC |
11 `--------------------------------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------|
12 | KC_P4 | KC_P5 | KC_P6 | KC_PPLS | | KC_H | KC_J | KC_K | KC_L | KC_SCLN | KC_QUOT |
13 ,--------------------------------+----------+-----------+----------+---------------| ,-------------+------------+----------+-----------+-----------+-----------+-----------|
14 | S(KC_TAB)| KC_UP | KC_TAB | KC_P1 | KC_P2 | KC_P3 | LT(1,KC_PENT) | | KC_RBRC | KC_N | KC_M | KC_COMM | KC_DOT | KC_SLSH | KC_ENT |
15 |----------+----------+----------+----------+-----------+----------+---------------| |-------------+------------+----------+-----------+-----------+-----------+-----------|
16 | KC_LEFT | KC_DOWN | KC_RGHT | KC_P0 | TAP_00 | KC_PDOT | LT(1,KC_PENT) | | LT(1,KC_SPC)|LT(2,KC_ENT)| KC_NO | KC_LEFT | KC_DOWN | KC_UP | KC_RGHT |
17 '----------------------------------------------------------------------------------` '-------------------------------------------------------------------------------------`
18```
19### FN1 layer
20```
21 ,-------------------------------. ,-------.
22 | RESET | EEP_RST | KC_NO | | KC_NO |
23 |----------+----------+----------+-------------------------------------------------. ,-----------------------------------------------------------------------.
24 | KC_NO | KC_NO | KC_NO | KC_NLCK | KC_QUOT | KC_PEQL | KC_NO | | KC_1 | KC_2 | KC_3 | KC_4 | KC_5 | KC_DEL |
25 `--------------------------------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------|
26 | KC_CAPS | KC_NLCK | KC_SLCK | S(KC_9) | KC_UP | S(KC_0) | S(KC_SPC) | | KC_Q | KC_W | KC_E | KC_R | KC_T | KC_BSPC |
27 `--------------------------------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------|
28 | KC_LEFT | KC_BTN3 | KC_RGHT | S(KC_SPC) | | KC_A | KC_S | KC_D | KC_F | KC_G | KC_QUOT |
29 ,--------------------------------+----------+-----------+----------+---------------| ,-------------+------------+----------+-----------+-----------+-----------+-----------|
30 | KC_TRNS | S(KC_ENT)| KC_TRNS | KC_BSPC | KC_DOWN | KC_DEL | KC_TRNS | | KC_RBRC | KC_Z | KC_X | KC_C | KC_V | KC_B | KC_ENT |
31 |----------+----------+----------+----------+-----------+----------+---------------| |-------------+------------+----------+-----------+-----------+-----------+-----------|
32 | KC_BTN1 | KC_ENT |S(KC_SPC)|LT(2,KC_SPC)|KC_SPC | KC_COMM | KC_TRNS | | KC_TRNS | KC_TRNS | KC_NO | KC_LEFT | KC_DOWN | KC_UP | KC_RGHT |
33 '----------------------------------------------------------------------------------` '-------------------------------------------------------------------------------------`
34```
35### FN2 layer
36```
37 ,-------------------------------. ,-------.
38 | RGB_TOG | RGB_MOD | RGB_RMOD| | KC_NO |
39 |----------+----------+----------+-------------------------------------------------. ,-----------------------------------------------------------------------.
40 | RGB_HUI | RGB_SAI | RGB_VAI | KC_NO | KC_NO | KC_NO | KC_NO | | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
41 `--------------------------------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------|
42 | RGB_HUD | RGB_SAD | RGB_VAD | KC_NO | KC_NO | KC_NO | KC_NO | | KC_BSPC | KC_DEL | KC_NO | KC_NO | KC_NO | KC_NO |
43 `--------------------------------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------|
44 | KC_NO | KC_NO | KC_NO | KC_NO | | KC_LEFT | KC_DOWN | KC_UP | KC_RGHT | KC_NO | KC_NO |
45 ,--------------------------------+----------+-----------+----------+---------------| ,-------------+------------+----------+-----------+-----------+-----------+-----------|
46 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | | KC_RBRC | KC_HOME | KC_PGDN | KC_PGUP | KC_END | KC_NO | KC_NO |
47 |----------+----------+----------+----------+-----------+----------+---------------| |-------------+------------+----------+-----------+-----------+-----------+-----------|
48 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | | KC_TRNS | KC_TRNS | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
49 '----------------------------------------------------------------------------------` '-------------------------------------------------------------------------------------`
50```
51### FN3 layer
52```
53 ,-------------------------------. ,-------.
54 | KC_NO | KC_NO | KC_NO | | KC_NO |
55 |----------+----------+----------+-------------------------------------------------. ,-----------------------------------------------------------------------.
56 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
57 `--------------------------------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------|
58 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
59 `--------------------------------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------|
60 | KC_NO | KC_NO | KC_NO | KC_NO | | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
61 ,--------------------------------+----------+-----------+----------+---------------| ,-------------+------------+----------+-----------+-----------+-----------+-----------|
62 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | | KC_RBRC | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
63 |----------+----------+----------+----------+-----------+----------+---------------| |-------------+------------+----------+-----------+-----------+-----------+-----------|
64 | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | | KC_TRNS | KC_TRNS | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
65 '----------------------------------------------------------------------------------` '-------------------------------------------------------------------------------------`
66```
67
68## custom keycodes behaviour
69
70|keycodes|actual input|behaviour|
71|---|---|---|
72|TAP_00|"00"|tap_code(KC_P0) twice|
73
74## rotary encoder behaviour
75
76|Encoder No.1|CW|CCW|
77|---|---|---|
78|BASE|KC_VOLU|KC_VOLD|
79|FN1|rgblight_increse_hue()|rgblight_decrese_hue()|
80|FN2|rgblight_increse_sat()|rgblight_decrese_sat()|
81
82|Encoder No.2|CW|CCW|
83|---|---|---|
84|BASE|]|[|
85|FN1|)|(|
86|FN2|}|{|
diff --git a/keyboards/yushakobo/navpad/10_helix_r/readme.md b/keyboards/yushakobo/navpad/10_helix_r/readme.md
new file mode 100644
index 000000000..99fa83c62
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10_helix_r/readme.md
@@ -0,0 +1,33 @@
1# navpad 1.0 with Helix (Right hand side)
2
3![10_helix_r](https://imgur.com/ehTI37h.jpg)
4
5Navpad connected with helix keyboard (Right Side)
6
7* Keyboard Maintainer: [yushakobo](https://github.com/yushakobo)
8* Hardware Supported: Navpad 1.0 PCB and Helix PCB, Pro Micro
9* Hardware Availability: https://shop.yushakobo.jp/products/navpad-10
10
11Make example for this keyboard (after setting up your build environment):
12
13 make yushakobo/navpad/10_helix_r:default
14
15Flashing examples for this keyboard...
16
17Helix side:
18
19 make yushakobo/navpad/10_helix_r:default:avrdude-split-right
20
21Navpad side:
22
23 make yushakobo/navpad/10_helix_r:default:avrdude-split-left
24
25See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
26
27## Bootloader
28
29Enter the bootloader in 3 ways:
30
31* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
32* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
33* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/yushakobo/navpad/10_helix_r/rules.mk b/keyboards/yushakobo/navpad/10_helix_r/rules.mk
new file mode 100644
index 000000000..54598940d
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10_helix_r/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19
20SPLIT_KEYBOARD = yes
21ENCODER_ENABLE = yes
22
23SRC += navpad_prefs.c
diff --git a/keyboards/yushakobo/navpad/navpad_prefs.c b/keyboards/yushakobo/navpad/navpad_prefs.c
new file mode 100644
index 000000000..fd2a7b078
--- /dev/null
+++ b/keyboards/yushakobo/navpad/navpad_prefs.c
@@ -0,0 +1,104 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
20 if (!process_record_user(keycode, record)) { return false; }
21 switch (keycode) {
22 case TAP_00:
23 if (record->event.pressed){
24 tap_code(KC_P0);
25 tap_code(KC_P0);
26 }
27 break;
28
29 default:
30 break;
31 }
32 return true;
33}
34
35bool led_update_kb(led_t led_state) {
36 return led_update_user(led_state);
37}
38
39#ifdef ENCODER_ENABLE
40bool encoder_update_kb(uint8_t index, bool clockwise) {
41 if (!encoder_update_user(index, clockwise)) { return false; }
42 if (index == 0) { /* Navpad side encoder */
43 switch (get_highest_layer(layer_state|default_layer_state)) {
44 case _BASE:
45 if (clockwise) {
46 tap_code16(KC_VOLU);
47 } else {
48 tap_code16(KC_VOLD);
49 }
50 break;
51
52 case _FN1:
53 if (clockwise) {
54 rgblight_increase_hue();
55 } else {
56 rgblight_decrease_hue();
57 }
58 break;
59
60 case _FN2:
61 if (clockwise) {
62 rgblight_increase_sat();
63 } else {
64 rgblight_decrease_sat();
65 }
66 break;
67
68 default:
69 break;
70 }
71 }
72 if (index == 1) { /* Helix side encoder */
73 switch (get_highest_layer(layer_state|default_layer_state)) {
74 case _BASE:
75 if (clockwise) {
76 tap_code(KC_RBRC);
77 } else {
78 tap_code(KC_LBRC);
79 }
80 break;
81
82 case _FN1:
83 if (clockwise) {
84 tap_code16(KC_RPRN);
85 } else {
86 tap_code16(KC_LPRN);
87 }
88 break;
89
90 case _FN2:
91 if (clockwise) {
92 tap_code16(KC_RCBR);
93 } else {
94 tap_code16(KC_LCBR);
95 }
96 break;
97
98 default:
99 break;
100 }
101 }
102 return false;
103 }
104#endif
diff --git a/keyboards/yushakobo/navpad/navpad_prefs.h b/keyboards/yushakobo/navpad/navpad_prefs.h
new file mode 100644
index 000000000..866b137c8
--- /dev/null
+++ b/keyboards/yushakobo/navpad/navpad_prefs.h
@@ -0,0 +1,30 @@
1/* Copyright 2021 yushakobo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21enum custom_keycodes {
22 TAP_00 = SAFE_RANGE
23};
24
25enum layer_name {
26 _BASE,
27 _FN1,
28 _FN2,
29 _FN3
30};
diff --git a/keyboards/yushakobo/navpad/readme.md b/keyboards/yushakobo/navpad/readme.md
new file mode 100644
index 000000000..4825ced4e
--- /dev/null
+++ b/keyboards/yushakobo/navpad/readme.md
@@ -0,0 +1,14 @@
1# Navpad
2
3![navpad_10](https://imgur.com/zxElDdWh.jpg)
4
5Useful numpad with navigation cluster
6
7* keyboard Maintainer: [yushakobo](https://github.com/yushakobo)
8* Hardware Supported: Navpad PCBs, Pro Micro
9
10For each build, please check these links down below.
11
12* [navpad 1.0](10/): Entry, easy to build
13* [navpad 1.0 w/ Helix Righthand](10_helix_r/): Sample for extensions
14