diff options
| author | MakotoKurauchi <pluis@me.com> | 2022-01-11 10:43:36 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-10 17:43:36 -0800 |
| commit | 6823f01c107dafaa4e1876cb11677bd4435153ed (patch) | |
| tree | 13356c079b6a4997a04ce4eab636c80336a17a32 /keyboards/yushakobo | |
| parent | 8920db2b57b616e162e2d3162577db6f021e7658 (diff) | |
| download | qmk_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')
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 | /* | ||
| 2 | Copyright 2021 yushakobo | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along 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 | /* | ||
| 2 | Copyright 2021 yushakobo | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along 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 | |||
| 18 | const 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 | |||
| 59 | const rgblight_segment_t PROGMEM navpad_capslock[] = RGBLIGHT_LAYER_SEGMENTS( | ||
| 60 | {4, 1, LOCK_COLOR_1} | ||
| 61 | ); | ||
| 62 | |||
| 63 | const rgblight_segment_t PROGMEM navpad_numlock[] = RGBLIGHT_LAYER_SEGMENTS( | ||
| 64 | {0, 1, LOCK_COLOR_1}, | ||
| 65 | {5, 1, LOCK_COLOR_1} | ||
| 66 | ); | ||
| 67 | |||
| 68 | const rgblight_segment_t PROGMEM navpad_scrolllock[] = RGBLIGHT_LAYER_SEGMENTS( | ||
| 69 | {2, 1, LOCK_COLOR_1}, | ||
| 70 | {6, 1, LOCK_COLOR_1} | ||
| 71 | ); | ||
| 72 | |||
| 73 | |||
| 74 | bool 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 | |||
| 81 | const rgblight_segment_t* const PROGMEM navpad_rgb_layers[] = RGBLIGHT_LAYERS_LIST( | ||
| 82 | navpad_capslock, | ||
| 83 | navpad_numlock, | ||
| 84 | navpad_scrolllock | ||
| 85 | ); | ||
| 86 | |||
| 87 | void 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 | /* | ||
| 2 | Copyright 2021 yushakobo | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along 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 | |||
| 18 | const 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 | ||
| 57 | bool 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 | |||
| 72 | const rgblight_segment_t PROGMEM navpad_capslock[] = RGBLIGHT_LAYER_SEGMENTS( | ||
| 73 | {4, 1, LOCK_COLOR_1} | ||
| 74 | ); | ||
| 75 | |||
| 76 | const rgblight_segment_t PROGMEM navpad_numlock[] = RGBLIGHT_LAYER_SEGMENTS( | ||
| 77 | {0, 1, LOCK_COLOR_1}, | ||
| 78 | {5, 1, LOCK_COLOR_1} | ||
| 79 | ); | ||
| 80 | |||
| 81 | const rgblight_segment_t PROGMEM navpad_scrolllock[] = RGBLIGHT_LAYER_SEGMENTS( | ||
| 82 | {2, 1, LOCK_COLOR_1}, | ||
| 83 | {6, 1, LOCK_COLOR_1} | ||
| 84 | ); | ||
| 85 | |||
| 86 | |||
| 87 | bool 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 | |||
| 94 | const rgblight_segment_t* const PROGMEM navpad_rgb_layers[] = RGBLIGHT_LAYERS_LIST( | ||
| 95 | navpad_capslock, | ||
| 96 | navpad_numlock, | ||
| 97 | navpad_scrolllock | ||
| 98 | ); | ||
| 99 | |||
| 100 | void 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 |  | ||
| 4 | |||
| 5 | Useful 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 | |||
| 11 | Make example for this keyboard (after setting up your build environment): | ||
| 12 | |||
| 13 | make yushakobo/navpad/10:default | ||
| 14 | |||
| 15 | Flashing example for this keyboard: | ||
| 16 | |||
| 17 | make yushakobo/navpad/10:default:flash | ||
| 18 | |||
| 19 | 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). | ||
| 20 | |||
| 21 | ## Bootloader | ||
| 22 | |||
| 23 | Enter 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 | /* | ||
| 2 | Copyright 2021 yushakobo | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along 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 | /* | ||
| 2 | Copyright 2021 yushakobo | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along 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 | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = caterina | ||
| 6 | |||
| 7 | # Build Options | ||
| 8 | # change yes to no to disable | ||
| 9 | # | ||
| 10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
| 11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
| 12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 13 | CONSOLE_ENABLE = no # Console for debug | ||
| 14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
| 16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 17 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
| 18 | AUDIO_ENABLE = no # Audio output | ||
| 19 | |||
| 20 | ENCODER_ENABLE = yes | ||
| 21 | |||
| 22 | SRC += navpad_prefs.c | ||
| 23 | DEFAULT_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 | /* | ||
| 2 | Copyright 2021 yushakobo | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along 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 | /* | ||
| 2 | Copyright 2021 yushakobo | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along 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 | |||
| 18 | const 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 | |||
| 59 | const rgblight_segment_t PROGMEM navpad_capslock[] = RGBLIGHT_LAYER_SEGMENTS( | ||
| 60 | {4, 1, LOCK_COLOR_1}, | ||
| 61 | {15, 1, LOCK_COLOR_1} | ||
| 62 | ); | ||
| 63 | |||
| 64 | const 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 | |||
| 70 | const 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 | |||
| 76 | bool 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 | |||
| 83 | const rgblight_segment_t* const PROGMEM navpad_rgb_layers[] = RGBLIGHT_LAYERS_LIST( | ||
| 84 | navpad_capslock, | ||
| 85 | navpad_numlock, | ||
| 86 | navpad_scrolllock | ||
| 87 | ); | ||
| 88 | |||
| 89 | void 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 |  | ||
| 4 | |||
| 5 | Navpad 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 | |||
| 11 | Make example for this keyboard (after setting up your build environment): | ||
| 12 | |||
| 13 | make yushakobo/navpad/10_helix_r:default | ||
| 14 | |||
| 15 | Flashing examples for this keyboard... | ||
| 16 | |||
| 17 | Helix side: | ||
| 18 | |||
| 19 | make yushakobo/navpad/10_helix_r:default:avrdude-split-right | ||
| 20 | |||
| 21 | Navpad side: | ||
| 22 | |||
| 23 | make yushakobo/navpad/10_helix_r:default:avrdude-split-left | ||
| 24 | |||
| 25 | 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). | ||
| 26 | |||
| 27 | ## Bootloader | ||
| 28 | |||
| 29 | Enter 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 | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = caterina | ||
| 6 | |||
| 7 | # Build Options | ||
| 8 | # change yes to no to disable | ||
| 9 | # | ||
| 10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
| 11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
| 12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 13 | CONSOLE_ENABLE = no # Console for debug | ||
| 14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
| 16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 17 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
| 18 | AUDIO_ENABLE = no # Audio output | ||
| 19 | |||
| 20 | SPLIT_KEYBOARD = yes | ||
| 21 | ENCODER_ENABLE = yes | ||
| 22 | |||
| 23 | SRC += 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 | |||
| 19 | bool 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 | |||
| 35 | bool led_update_kb(led_t led_state) { | ||
| 36 | return led_update_user(led_state); | ||
| 37 | } | ||
| 38 | |||
| 39 | #ifdef ENCODER_ENABLE | ||
| 40 | bool 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 | |||
| 21 | enum custom_keycodes { | ||
| 22 | TAP_00 = SAFE_RANGE | ||
| 23 | }; | ||
| 24 | |||
| 25 | enum 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 |  | ||
| 4 | |||
| 5 | Useful numpad with navigation cluster | ||
| 6 | |||
| 7 | * keyboard Maintainer: [yushakobo](https://github.com/yushakobo) | ||
| 8 | * Hardware Supported: Navpad PCBs, Pro Micro | ||
| 9 | |||
| 10 | For 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 | |||
