summaryrefslogtreecommitdiffstats
path: root/keyboards/yushakobo/navpad/10
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/navpad/10
parent8920db2b57b616e162e2d3162577db6f021e7658 (diff)
[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/navpad/10')
-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
21 files changed, 811 insertions, 0 deletions
diff --git a/keyboards/yushakobo/navpad/10/10.c b/keyboards/yushakobo/navpad/10/10.c
new file mode 100644
index 0000000000..c1f6fc485d
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/10.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 yushakobo
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "10.h"
diff --git a/keyboards/yushakobo/navpad/10/10.h b/keyboards/yushakobo/navpad/10/10.h
new file mode 100644
index 0000000000..5fd02cd073
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/10.h
@@ -0,0 +1,26 @@
+/* Copyright 2021 yushakobo
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+#include "navpad_prefs.h"
+
+#if defined(KEYBOARD_yushakobo_navpad_10_rev0)
+# include "rev0.h"
+#elif defined(KEYBOARD_yushakobo_navpad_10_rev1)
+# include "rev1.h"
+#endif
diff --git a/keyboards/yushakobo/navpad/10/config.h b/keyboards/yushakobo/navpad/10/config.h
new file mode 100644
index 0000000000..c242ee60e2
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/config.h
@@ -0,0 +1,84 @@
+/*
+Copyright 2021 yushakobo
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+#define ENCODERS_PAD_A { B5 }
+#define ENCODERS_PAD_B { B6 }
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D2 // or D0, D1, D3, E6
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 9
+# define RGBLIGHT_HUE_STEP 8
+# define RGBLIGHT_SAT_STEP 8
+# define RGBLIGHT_VAL_STEP 8
+# define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
+# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== all animations enable ==*/
+//# define RGBLIGHT_ANIMATIONS
+/*== or choose animations ==*/
+//# define RGBLIGHT_EFFECT_BREATHING
+//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
+# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+//# define RGBLIGHT_EFFECT_SNAKE
+//# define RGBLIGHT_EFFECT_KNIGHT
+//# define RGBLIGHT_EFFECT_CHRISTMAS
+//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
+# define RGBLIGHT_EFFECT_RGB_TEST
+//# define RGBLIGHT_EFFECT_ALTERNATING
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
+
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 132
+#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 0000000000..370b7623f2
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/info.json
@@ -0,0 +1,18 @@
+{
+ "keyboard_name": "navpad 1.0",
+ "url": "https://shop.yushakobo.jp/products/navpad-10",
+ "maintainer": "yushakobo",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 0, "y": 0},{"x": 1, "y": 0},{"x": 2, "y": 0},{"x": 3, "y": 0},
+ {"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": 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": 3, "y": 3},{"x": 4, "y": 3},{"x": 5, "y": 3},{"x": 6, "y": 3},
+ {"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": 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}
+
+ ]
+ }
+ }
+}
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 0000000000..b4d2122ab4
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/default/config.h
@@ -0,0 +1,25 @@
+/*
+Copyright 2021 yushakobo
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#ifdef RGB_DI_PIN
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_MAX_LAYERS 6
+
+#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 0000000000..772d4e6f2c
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c
@@ -0,0 +1,92 @@
+/* Copyright 2021 yushakobo
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] =LAYOUT (
+ KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE,
+ KC_INS, KC_HOME, KC_PGUP, KC_ESC, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ S(KC_TAB), KC_UP, KC_TAB, KC_P1, KC_P2, KC_P3, LT(1,KC_PENT),
+ KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, TAP_00, KC_PDOT, LT(1,KC_PENT)
+ ),
+
+ [_FN1] =LAYOUT (
+ RESET, EEP_RST, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NLCK, KC_QUOT, KC_PEQL, KC_NO,
+ KC_CAPS, KC_NLCK, KC_SLCK, S(KC_9), KC_UP, S(KC_0), S(KC_SPC),
+ KC_LEFT, KC_BTN3, KC_RGHT, S(KC_SPC),
+ KC_TRNS, S(KC_ENT), KC_TRNS, KC_BSPC, KC_DOWN, KC_DEL, KC_TRNS,
+ KC_BTN1, KC_ENT, S(KC_SPC),LT(2,KC_SPC),KC_SPC, KC_COMM, KC_TRNS
+ ),
+
+ [_FN2] =LAYOUT (
+ RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO,
+ RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO,
+ RGB_HUD, RGB_SAD, RGB_VAD, 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, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+
+ [_FN3] =LAYOUT (
+ 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, 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, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ )
+};
+
+#ifdef RGBLIGHT_LAYERS
+# define LOCK_COLOR_1 HSV_TEAL
+
+const rgblight_segment_t PROGMEM navpad_capslock[] = RGBLIGHT_LAYER_SEGMENTS(
+ {4, 1, LOCK_COLOR_1}
+);
+
+const rgblight_segment_t PROGMEM navpad_numlock[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, LOCK_COLOR_1},
+ {5, 1, LOCK_COLOR_1}
+);
+
+const rgblight_segment_t PROGMEM navpad_scrolllock[] = RGBLIGHT_LAYER_SEGMENTS(
+ {2, 1, LOCK_COLOR_1},
+ {6, 1, LOCK_COLOR_1}
+);
+
+
+bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(0, host_keyboard_led_state().caps_lock);
+ rgblight_set_layer_state(1, (host_keyboard_led_state().num_lock && IS_LAYER_ON(_BASE)));
+ rgblight_set_layer_state(2, host_keyboard_led_state().scroll_lock);
+ return true;
+}
+
+const rgblight_segment_t* const PROGMEM navpad_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ navpad_capslock,
+ navpad_numlock,
+ navpad_scrolllock
+);
+
+void keyboard_post_init_user(void) {
+ rgblight_sethsv_noeeprom(HSV_WHITE);
+ // Enable the LED layers
+ rgblight_layers = navpad_rgb_layers;
+}
+#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 0000000000..3b45e937bc
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/default/readme.md
@@ -0,0 +1,80 @@
+# The default keymap for navpad 1.0
+
+### Base layer
+```
+ ,-------------------------------. ,-------.
+ | KC_PSCR | KC_SLCK | KC_PAUS | |KC_MUTE|
+ |----------+----------+----------+-------------------------------------------------.
+ | KC_INS | KC_HOME | KC_PGUP | KC_ESC | KC_PSLS | KC_PAST | KC_PMNS |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_DEL | KC_END | KC_PGDN | KC_P7 | KC_P8 | KC_P9 | KC_PPLS |
+ `--------------------------------+----------+-----------+----------+---------------|
+ | KC_P4 | KC_P5 | KC_P6 | KC_PPLS |
+ ,--------------------------------+----------+-----------+----------+---------------|
+ | S(KC_TAB)| KC_UP | KC_TAB | KC_P1 | KC_P2 | KC_P3 | LT(1,KC_PENT) |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_LEFT | KC_DOWN | KC_RGHT | KC_P0 | TAP_00 | KC_PDOT | LT(1,KC_PENT) |
+ '----------------------------------------------------------------------------------`
+```
+### FN1 layer
+```
+ ,-------------------------------. ,-------.
+ | RESET | EEP_RST | KC_NO | | KC_NO |
+ |----------+----------+----------+-------------------------------------------------.
+ | KC_NO | KC_NO | KC_NO | KC_NLCK | KC_QUOT | KC_PEQL | KC_NO |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_CAPS | KC_NLCK | KC_SLCK | S(KC_9) | KC_UP | S(KC_0) | S(KC_SPC) |
+ `--------------------------------+----------+-----------+----------+---------------|
+ | KC_LEFT | KC_BTN3 | KC_RGHT | S(KC_SPC) |
+ ,--------------------------------+----------+-----------+----------+---------------|
+ | KC_TRNS | S(KC_ENT)| KC_TRNS | KC_BSPC | KC_DOWN | KC_DEL | KC_TRNS |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_BTN1 | KC_ENT |S(KC_SPC)|LT(2,KC_SPC)|KC_SPC | KC_COMM | KC_TRNS |
+ '----------------------------------------------------------------------------------`
+```
+### FN2 layer
+```
+ ,-------------------------------. ,-------.
+ | RGB_TOG | RGB_MOD | RGB_RMOD| | KC_NO |
+ |----------+----------+----------+-------------------------------------------------.
+ | RGB_HUI | RGB_SAI | RGB_VAI | KC_NO | KC_NO | KC_NO | KC_NO |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | RGB_HUD | RGB_SAD | RGB_VAD | 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 | KC_NO | KC_NO |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
+ '----------------------------------------------------------------------------------`
+```
+### FN3 layer
+```
+ ,-------------------------------. ,-------.
+ | 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 | 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 | KC_NO | KC_NO | KC_NO |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
+ '----------------------------------------------------------------------------------`
+```
+
+## custom keycodes behaviour
+
+|keycodes|actual input|behaviour|
+|---|---|---|
+|TAP_00|"00"|tap_code(KC_P0) twice|
+
+## rotary encoder behaviour
+
+|Encoder No.1|CW|CCW|
+|---|---|---|
+|BASE|KC_VOLU|KC_VOLD|
+|FN1|rgblight_increse_hue()|rgblight_decrese_hue()|
+|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 0000000000..b4d2122ab4
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/via/config.h
@@ -0,0 +1,25 @@
+/*
+Copyright 2021 yushakobo
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#ifdef RGB_DI_PIN
+
+#define RGBLIGHT_LAYERS
+#define RGBLIGHT_MAX_LAYERS 6
+
+#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 0000000000..bd75cc77dd
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/via/keymap.c
@@ -0,0 +1,105 @@
+/* Copyright 2021 yushakobo
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] =LAYOUT (
+ KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE,
+ KC_INS, KC_HOME, KC_PGUP, KC_ESC, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ S(KC_TAB), KC_UP, KC_TAB, KC_P1, KC_P2, KC_P3, LT(1,KC_PENT),
+ KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P0, KC_PDOT, LT(1,KC_PENT)
+ ),
+
+ [_FN1] =LAYOUT (
+ RESET, EEP_RST, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NLCK, KC_QUOT, KC_PEQL, KC_NO,
+ KC_CAPS, KC_NLCK, KC_SLCK, S(KC_9), KC_UP, S(KC_0), S(KC_SPC),
+ KC_LEFT, KC_BTN3, KC_RGHT, S(KC_SPC),
+ KC_TRNS, S(KC_ENT), KC_TRNS, KC_BSPC, KC_DOWN, KC_DEL, KC_TRNS,
+ KC_BTN1, KC_ENT, S(KC_SPC),LT(2,KC_SPC),KC_SPC, KC_COMM, KC_TRNS
+ ),
+
+ [_FN2] =LAYOUT (
+ RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO,
+ RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO,
+ RGB_HUD, RGB_SAD, RGB_VAD, 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, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+
+ [_FN3] =LAYOUT (
+ 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, 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, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ )
+};
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) { /* First encoder */
+ if (clockwise) {
+ tap_code16(KC_WH_U);
+ } else {
+ tap_code16(KC_WH_D);
+ }
+ }
+ return false;
+}
+#endif
+
+#ifdef RGBLIGHT_LAYERS
+# define LOCK_COLOR_1 HSV_TEAL
+
+const rgblight_segment_t PROGMEM navpad_capslock[] = RGBLIGHT_LAYER_SEGMENTS(
+ {4, 1, LOCK_COLOR_1}
+);
+
+const rgblight_segment_t PROGMEM navpad_numlock[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 1, LOCK_COLOR_1},
+ {5, 1, LOCK_COLOR_1}
+);
+
+const rgblight_segment_t PROGMEM navpad_scrolllock[] = RGBLIGHT_LAYER_SEGMENTS(
+ {2, 1, LOCK_COLOR_1},
+ {6, 1, LOCK_COLOR_1}
+);
+
+
+bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(0, host_keyboard_led_state().caps_lock);
+ rgblight_set_layer_state(1, (host_keyboard_led_state().num_lock && IS_LAYER_ON(_BASE)));
+ rgblight_set_layer_state(2, host_keyboard_led_state().scroll_lock);
+ return true;
+}
+
+const rgblight_segment_t* const PROGMEM navpad_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ navpad_capslock,
+ navpad_numlock,
+ navpad_scrolllock
+);
+
+void keyboard_post_init_user(void) {
+ rgblight_sethsv_noeeprom(HSV_WHITE);
+ // Enable the LED layers
+ rgblight_layers = navpad_rgb_layers;
+}
+#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 0000000000..f6ccaeee9e
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/keymaps/via/readme.md
@@ -0,0 +1,72 @@
+# The via keymap for navpad 1.0
+
+### Base layer
+```
+ ,-------------------------------. ,-------.
+ | KC_PSCR | KC_SLCK | KC_PAUS | |KC_MUTE|
+ |----------+----------+----------+-------------------------------------------------.
+ | KC_INS | KC_HOME | KC_PGUP | KC_ESC | KC_PSLS | KC_PAST | KC_PMNS |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_DEL | KC_END | KC_PGDN | KC_P7 | KC_P8 | KC_P9 | KC_PPLS |
+ `--------------------------------+----------+-----------+----------+---------------|
+ | KC_P4 | KC_P5 | KC_P6 | KC_PPLS |
+ ,--------------------------------+----------+-----------+----------+---------------|
+ | S(KC_TAB)| KC_UP | KC_TAB | KC_P1 | KC_P2 | KC_P3 | LT(1,KC_PENT) |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_LEFT | KC_DOWN | KC_RGHT | KC_P0 | KC_P0 | KC_PDOT | LT(1,KC_PENT) |
+ '----------------------------------------------------------------------------------`
+```
+### FN1 layer
+```
+ ,-------------------------------. ,-------.
+ | RESET | EEP_RST | KC_NO | | KC_NO |
+ |----------+----------+----------+-------------------------------------------------.
+ | KC_NO | KC_NO | KC_NO | KC_NLCK | KC_QUOT | KC_PEQL | KC_NO |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_CAPS | KC_NLCK | KC_SLCK | S(KC_9) | KC_UP | S(KC_0) | S(KC_SPC) |
+ `--------------------------------+----------+-----------+----------+---------------|
+ | KC_LEFT | KC_BTN3 | KC_RGHT | S(KC_SPC) |
+ ,--------------------------------+----------+-----------+----------+---------------|
+ | KC_TRNS | S(KC_ENT)| KC_TRNS | KC_BSPC | KC_DOWN | KC_DEL | KC_TRNS |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_BTN1 | KC_ENT |S(KC_SPC)|LT(2,KC_SPC)|KC_SPC | KC_COMM | KC_TRNS |
+ '----------------------------------------------------------------------------------`
+```
+### FN2 layer
+```
+ ,-------------------------------. ,-------.
+ | RGB_TOG | RGB_MOD | RGB_RMOD| | KC_NO |
+ |----------+----------+----------+-------------------------------------------------.
+ | RGB_HUI | RGB_SAI | RGB_VAI | KC_NO | KC_NO | KC_NO | KC_NO |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | RGB_HUD | RGB_SAD | RGB_VAD | 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 | KC_NO | KC_NO |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
+ '----------------------------------------------------------------------------------`
+```
+### FN3 layer
+```
+ ,-------------------------------. ,-------.
+ | 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 | 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 | KC_NO | KC_NO | KC_NO |
+ |----------+----------+----------+----------+-----------+----------+---------------|
+ | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO | KC_NO |
+ '----------------------------------------------------------------------------------`
+```
+
+## rotary encoder behaviour
+
+|Encoder No.1|CW|CCW|
+|---|---|---|
+|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 0000000000..036bd6d1c3
--- /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 0000000000..a330003a55
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/readme.md
@@ -0,0 +1,27 @@
+# navpad 1.0
+
+![navpad_10](https://imgur.com/zxElDdWh.jpg)
+
+Useful and easy to build numpad with nav-cluster
+
+* Keyboard Maintainer: [yushakobo](https://github.com/yushakobo)
+* Hardware Supported: NavPad 1.0 PCB, Pro Micro
+* Hardware Availability: https://shop.yushakobo.jp/products/navpad-10
+
+Make example for this keyboard (after setting up your build environment):
+
+ make yushakobo/navpad/10:default
+
+Flashing example for this keyboard:
+
+ make yushakobo/navpad/10:default:flash
+
+See 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).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **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 0000000000..5ebdda599a
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev0/config.h
@@ -0,0 +1,45 @@
+/*
+Copyright 2021 yushakobo
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x3265
+#define PRODUCT_ID 0x0008
+#define DEVICE_VER 0x0000
+#define MANUFACTURER yushakobo
+#define PRODUCT navpad 1.0
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 7
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, D0 }
+#define MATRIX_COL_PINS { F4, F5, F6, B2, B3, B1, F7 }
+#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 0000000000..c1feab87a3
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev0/rev0.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 yushakobo
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#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 0000000000..97a651bc1c
--- /dev/null
+++ b/keyboards/yushakobo/navpad/10/rev0/rev0.h
@@ -0,0 +1,44 @@
+/* Copyright 2021 yushakobo
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ k00, k01, k02, k03, \