From 6823f01c107dafaa4e1876cb11677bd4435153ed Mon Sep 17 00:00:00 2001 From: MakotoKurauchi Date: Tue, 11 Jan 2022 10:43:36 +0900 Subject: [Keyboard] New kbd Navpad 1.0 (#15507) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com> --- .../yushakobo/navpad/10/keymaps/default/config.h | 25 +++++ .../yushakobo/navpad/10/keymaps/default/keymap.c | 92 ++++++++++++++++++ .../yushakobo/navpad/10/keymaps/default/readme.md | 80 ++++++++++++++++ keyboards/yushakobo/navpad/10/keymaps/via/config.h | 25 +++++ keyboards/yushakobo/navpad/10/keymaps/via/keymap.c | 105 +++++++++++++++++++++ .../yushakobo/navpad/10/keymaps/via/readme.md | 72 ++++++++++++++ keyboards/yushakobo/navpad/10/keymaps/via/rules.mk | 1 + 7 files changed, 400 insertions(+) create mode 100644 keyboards/yushakobo/navpad/10/keymaps/default/config.h create mode 100644 keyboards/yushakobo/navpad/10/keymaps/default/keymap.c create mode 100644 keyboards/yushakobo/navpad/10/keymaps/default/readme.md create mode 100644 keyboards/yushakobo/navpad/10/keymaps/via/config.h create mode 100644 keyboards/yushakobo/navpad/10/keymaps/via/keymap.c create mode 100644 keyboards/yushakobo/navpad/10/keymaps/via/readme.md create mode 100644 keyboards/yushakobo/navpad/10/keymaps/via/rules.mk (limited to 'keyboards/yushakobo/navpad/10/keymaps') 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 . +*/ + +#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 . + */ +#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 . +*/ + +#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 . + */ +#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 -- cgit v1.2.3