/* Copyright 2022 DOIO * Copyright 2022 DOIO2022 * * 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 /* key matrix size */ #define MATRIX_ROWS 6 #define MATRIX_COLS 7 #define MATRIX_ROW_PINS { B3, B4, B9, B8, A5, A6 } #define MATRIX_COL_PINS { B14, B13, B12, B0, A7, A9, A8 } #define DIODE_DIRECTION COL2ROW // COL2ROW or ROW2COL /* define if matrix has ghost */ //#define MATRIX_HAS_GHOST /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE // #define LED_NUM_LOCK_PIN A8 // #define LED_CAPS_LOCK_PIN B14 // #define LED_SCROLL_LOCK_PIN A9 // #define LED_PIN_ON_STATE 0 /* key encoders pins*/ #define ENCODERS_PAD_A { B5 , A1 , A3 } #define ENCODERS_PAD_B { B6 , A2 , A4 } #define ENCODER_RESOLUTIONS \ { 4, 4, 2 } // #define QMK_KEYS_PER_SCAN 12 /* OLED */ #ifdef OLED_ENABLE # define OLED_BRIGHTNESS 5 # define OLED_TIMEOUT 10000000 /* Mapping I2C2 for OLED */ # define I2C1_SCL_PIN B10 # define I2C1_SDA_PIN B11 # define I2C_DRIVER I2CD2 #endif #ifdef RGB_MATRIX_ENABLE /* RGB Matrix config */ #define RGB_DI_PIN A10 #define RGB_MATRIX_LED_COUNT 36 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES /* RGB Matrix effect */ #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_CYCLE_OUT_IN #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON #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_FRACTAL // #define ENABLE_RGB_MATRIX_PIXEL_RAIN #define ENABLE_RGB_MATRIX_TYPING_HEATMAP #define ENABLE_RGB_MATRIX_DIGITAL_RAIN #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 #endif // #define DYNAMIC_KEYMAP_LAYER_COUNT 4 /* * Feature disable options * These options are also useful to firmware size reduction. */ /* disable debug print */ //#define NO_DEBUG /* disable print */ //#define NO_PRINT /* disable action features */ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT