diff options
Diffstat (limited to 'keyboards/yandrstudio')
30 files changed, 1602 insertions, 16 deletions
diff --git a/keyboards/yandrstudio/nz64/config.h b/keyboards/yandrstudio/nz64/config.h index 2abdae1d31..665cc96275 100644 --- a/keyboards/yandrstudio/nz64/config.h +++ b/keyboards/yandrstudio/nz64/config.h @@ -17,13 +17,6 @@ #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xAA96 -#define PRODUCT_ID 0xAAAF -#define DEVICE_VER 0x0001 -#define MANUFACTURER Y&R -#define PRODUCT nz64 - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 14 diff --git a/keyboards/yandrstudio/nz64/readme.md b/keyboards/yandrstudio/nz64/readme.md index ca52d65ee9..f495839aa3 100644 --- a/keyboards/yandrstudio/nz64/readme.md +++ b/keyboards/yandrstudio/nz64/readme.md @@ -19,4 +19,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key which is Escape in this keyboard) and plug in the keyboard * **Physical reset pins**: Short circuit the `bt0` and `vcc` pins on the back of the PCB and plug in the keyboard -* **Keycode in layout**: Press the key mapped to `RESET` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. diff --git a/keyboards/yandrstudio/nz64/rules.mk b/keyboards/yandrstudio/nz64/rules.mk index 298305d3f9..8debea0e66 100644 --- a/keyboards/yandrstudio/nz64/rules.mk +++ b/keyboards/yandrstudio/nz64/rules.mk @@ -1,5 +1,6 @@ # MCU name MCU = STM32F401 +BOARD = GENERIC_STM32_F401XC # Bootloader selection BOOTLOADER = stm32-dfu diff --git a/keyboards/yandrstudio/nz67v2/board.h b/keyboards/yandrstudio/nz67v2/board.h new file mode 100644 index 0000000000..a667bee461 --- /dev/null +++ b/keyboards/yandrstudio/nz67v2/board.h @@ -0,0 +1,22 @@ +/* Copyright 2022 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include_next "board.h" + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000 diff --git a/keyboards/yandrstudio/nz67v2/config.h b/keyboards/yandrstudio/nz67v2/config.h new file mode 100644 index 0000000000..5d0aa382de --- /dev/null +++ b/keyboards/yandrstudio/nz67v2/config.h @@ -0,0 +1,109 @@ +/* Copyright 2022 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include "config_common.h" + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_COL_PINS { B9, A3, A4, A5, A6, A7, B0, B2, B10, B11, B12, B13, B14, B15, A8 } +#define MATRIX_ROW_PINS { B3, B4, B6, B7, B8 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define TAP_CODE_DELAY 15 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#ifdef ENCODER_ENABLE + +# define ENCODERS_PAD_A { A9 } +# define ENCODERS_PAD_B { A10 } + +#endif + +/* RGB Matrix */ +#ifdef RGB_MATRIX_ENABLE + +# define RGB_DI_PIN B5 +# define RGBLED_NUM 86 +# define DRIVER_LED_TOTAL RGBLED_NUM + +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 +# define RGBLIGHT_VAL_STEP 5 +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_CENTER { 112, 32 } +# define RGB_MATRIX_KEYPRESSES +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_BAND_SAT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_DUAL_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_RAINDROPS +# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +# define ENABLE_RGB_MATRIX_HUE_BREATHING +# define ENABLE_RGB_MATRIX_HUE_PENDULUM +# define ENABLE_RGB_MATRIX_HUE_WAVE +# define ENABLE_RGB_MATRIX_PIXEL_RAIN +# define ENABLE_RGB_MATRIX_PIXEL_FLOW +# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +/* enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined */ +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +/* enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined */ +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_SPLASH +# define ENABLE_RGB_MATRIX_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_SPLASH +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + +# define WS2812_PWM_DRIVER PWMD3 // default: PWMD2 +# define WS2812_PWM_CHANNEL 2 // default: 2 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM3 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +# define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. + +#endif diff --git a/keyboards/yandrstudio/nz67v2/halconf.h b/keyboards/yandrstudio/nz67v2/halconf.h new file mode 100644 index 0000000000..93a0f05126 --- /dev/null +++ b/keyboards/yandrstudio/nz67v2/halconf.h @@ -0,0 +1,22 @@ +/* Copyright 2022 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once +#include_next <halconf.h> + +#undef HAL_USE_PWM +#define HAL_USE_PWM TRUE + diff --git a/keyboards/yandrstudio/nz67v2/info.json b/keyboards/yandrstudio/nz67v2/info.json new file mode 100644 index 0000000000..3e5e2b4afa --- /dev/null +++ b/keyboards/yandrstudio/nz67v2/info.json @@ -0,0 +1,382 @@ +{ + "keyboard_name": "nz67v2", + "processor": "STM32F103", + "bootloader": "stm32duino", + "usb": { + "pid": "0xAA83", + "device_version": "1.0.0" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { + "label": "EC", + "x": 16, + "y": 0 + }, + { + "label": "~", + "x": 0, + "y": 0.5 + }, + { + "label": "!", + "x": 1, + "y": 0.5 + }, + { + "label": "@", + "x": 2, + "y": 0.5 + }, + { + "label": "#", + "x": 3, + "y": 0.5 + }, + { + "label": "$", + "x": 4, + "y": 0.5 + }, + { + "label": "%", + "x": 5, + "y": 0.5 + }, + { + "label": "^", + "x": 6, + "y": 0.5 + }, + { + "label": "&", + "x": 7, + "y": 0.5 + }, + { + "label": "*", + "x": 8, + "y": 0.5 + }, + { + "label": "(", + "x": 9, + "y": 0.5 + }, + { + "label": ")", + "x": 10, + "y": 0.5 + }, + { + "label": "_", + "x": 11, + "y": 0.5 + }, + { + "label": "+", + "x": 12, + "y": 0.5 + }, + { + "label": "Backspace", + "x": 13, + "y": 0.5, + "w": 2 + }, + { + "label": "Insert", + "x": 15, + "y": 0.5 + }, + { + "label": "EC", + "x": 16, + "y": 1 + }, + { + "label": "Tab", + "x": 0, + "y": 1.5, + "w": 1.5 + }, + { + "label": "Q", + "x": 1.5, + "y": 1.5 + }, + { + "label": "W", + "x": 2.5, + "y": 1.5 + }, + { + "label": "E", + "x": 3.5, + "y": 1.5 + }, + { + "label": "R", + "x": 4.5, + "y": 1.5 + }, + { + "label": "T", + "x": 5.5, + "y": 1.5 + }, + { + "label": "Y", + "x": 6.5, + "y": 1.5 + }, + { + "label": "U", + "x": 7.5, + "y": 1.5 + }, + { + "label": "I", + "x": 8.5, + "y": 1.5 + }, + { + "label": "O", + "x": 9.5, + "y": 1.5 + }, + { + "label": "P", + "x": 10.5, + "y": 1.5 + }, + { + "label": "{", + "x": 11.5, + "y": 1.5 + }, + { + "label": "}", + "x": 12.5, + "y": 1.5 + }, + { + "label": "|", + "x": 13.5, + "y": 1.5, + "w": 1.5 + }, + { + "label": "PgUp", + "x": 15, + "y": 1.5 + }, + { + "label": "Caps Lock", + "x": 0, + "y": 2.5, + "w": 1.75 + }, + { + "label": "A", + "x": 1.75, + "y": 2.5 + }, + { + "label": "S", + "x": 2.75, + "y": 2.5 + }, + { + "label": "D", + "x": 3.75, + "y": 2.5 + }, + { + "label": "F", + "x": 4.75, + "y": 2.5 + }, + { + "label": "G", + "x": 5.75, + "y": 2.5 + }, + { + "label": "H", + "x": 6.75, + "y": 2.5 + }, + { + "label": "J", + "x": 7.75, + "y": 2.5 + }, + { + "label": "K", + "x": 8.75, + "y": 2.5 + }, + { + "label": "L", + "x": 9.75, + "y": 2.5 + }, + { + "label": ":", + "x": 10.75, + "y": 2.5 + }, + { + "label": "\"", + "x": 11.75, + "y": 2.5 + }, + { + "label": "Enter", + "x": 12.75, + "y": 2.5, + "w": 2.25 + }, + { + "label": "PgDn", + "x": 15, + "y": 2.5 + }, + { + "label": "Shift", + "x": 0, + "y": 3.5, + "w": 2.25 + }, + { + "label": "Z", + "x": 2.25, + "y": 3.5 + }, + { + "label": "X", + "x": 3.25, + "y": 3.5 + }, + { + "label": "C", + "x": 4.25, + "y": 3.5 + }, + { + "label": "V", + "x": 5.25, + "y": 3.5 + }, + { + "label": "B", + "x": 6.25, + "y": 3.5 + }, + { + "label": "N", + "x": 7.25, + "y": 3.5 + }, + { + "label": "M", + "x": 8.25, + "y": 3.5 + }, + { + "label": "<", + "x": 9.25, + "y": 3.5 + }, + { + "label": ">", + "x": 10.25, + "y": 3.5 + }, + { + "label": "?", + "x": 11.25, + "y": 3.5 + }, + { + "label": "Shift", + "x": 12.25, + "y": 3.5, + "w": 1.75 + }, + { + "label": "\u2191", + "x": 14, + "y": 3.5 + }, + { + "label": "Delete", + "x": 15, + "y": 3.5 + }, + { + "label": "Ctrl", + "x": 0, + "y": 4.5, + "w": 1.25 + }, + { + "label": "Win", + "x": 1.25, + "y": 4.5, + "w": 1.25 + }, + { + "label": "Alt", + "x": 2.5, + "y": 4.5, + "w": 1.25 + }, + { + "x": 3.75, + "y": 4.5, + "w": 2.25 + }, + { + "x": 6, + "y": 4.5, + "w": 1.75 + }, + { + "x": 7.75, + "y": 4.5, + "w": 2.25 + }, + { + "label": "Alt", + "x": 10, + "y": 4.5, + "w": 1.25 + }, + { + "label": "Fn", + "x": 11.25, + "y": 4.5, + "w": 1.25 + }, + { + "label": "\u2190", + "x": 13, + "y": 4.5 + }, + { + "label": "\u2193", + "x": 14, + "y": 4.5 + }, + { + "label": "\u2192", + "x": 15, + "y": 4.5 + } + ] + } + } +} diff --git a/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c b/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c new file mode 100644 index 0000000000..7416296d5d --- /dev/null +++ b/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2022 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_VOLD,KC_SPC, KC_VOLU, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, LOCK_GUI,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; + diff --git a/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c b/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c new file mode 100644 index 0000000000..c93b321727 --- /dev/null +++ b/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c @@ -0,0 +1,76 @@ +/* Copyright 2022 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_VOLD,KC_SPC, KC_VOLU, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, LOCK_GUI,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#ifdef ENCODER_ENABLE +keyevent_t encoder1_ccw = {.key = (keypos_t){.row = 4, .col = 4}, .pressed = false}; + +keyevent_t encoder1_cw = {.key = (keypos_t){.row = 4, .col = 6}, .pressed = false}; + +void matrix_scan_user(void) { + if (IS_PRESSED(encoder1_ccw)) { + encoder1_ccw.pressed = false; + encoder1_ccw.time = (timer_read() | 1); + action_exec(encoder1_ccw); + } + + if (IS_PRESSED(encoder1_cw)) { + encoder1_cw.pressed = false; + encoder1_cw.time = (timer_read() | 1); + action_exec(encoder1_cw); + } +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + encoder1_cw.pressed = true; + encoder1_cw.time = (timer_read() | 1); + action_exec(encoder1_cw); + } else { + encoder1_ccw.pressed = true; + encoder1_ccw.time = (timer_read() | 1); + action_exec(encoder1_ccw); + } + return true; +} +#endif diff --git a/keyboards/yandrstudio/nz67v2/keymaps/via/rules.mk b/keyboards/yandrstudio/nz67v2/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/yandrstudio/nz67v2/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/yandrstudio/nz67v2/mcuconf.h b/keyboards/yandrstudio/nz67v2/mcuconf.h new file mode 100644 index 0000000000..3ec9c20128 --- /dev/null +++ b/keyboards/yandrstudio/nz67v2/mcuconf.h @@ -0,0 +1,25 @@ +/* Copyright 2022 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include_next <mcuconf.h> + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_PLLXTPRE +#define STM32_PLLXTPRE STM32_PLLXTPRE_DIV2 diff --git a/keyboards/yandrstudio/nz67v2/nz67v2.c b/keyboards/yandrstudio/nz67v2/nz67v2.c new file mode 100644 index 0000000 |