/* Copyright 2020 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once #include "config_common.h" /* USB Device descriptor parameter */ #define VENDOR_ID 0x7844 // "xD" #define PRODUCT_ID 0x8450 // 84 "P" #define DEVICE_VER 0x0001 #define MANUFACTURER KPrepublic #define PRODUCT XD84 Pro /* key matrix size */ #define MATRIX_ROWS 6 #define MATRIX_COLS 15 #define MATRIX_ROW_PINS { F4, D0, D1, D2, D3, D5 } #define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3, F7 } #define UNUSED_PINS { B0, E2 } #define DIODE_DIRECTION COL2ROW #define LED_CAPS_LOCK_PIN B2 #define LED_PIN_ON_STATE 0 #define RGB_DI_PIN F6 #ifdef RGB_DI_PIN #define RGBLED_NUM 12 // #define RGBLIGHT_HUE_STEP 8 // #define RGBLIGHT_SAT_STEP 8 // #define RGBLIGHT_VAL_STEP 8 // #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // /*== all animations enable ==*/ #define RGBLIGHT_ANIMATIONS // /*== or choose animations ==*/ // #define RGBLIGHT_EFFECT_BREATHING // #define RGBLIGHT_EFFECT_RAINBOW_MOOD // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL // #define RGBLIGHT_EFFECT_SNAKE // #define RGBLIGHT_EFFECT_KNIGHT // #define RGBLIGHT_EFFECT_CHRISTMAS // #define RGBLIGHT_EFFECT_STATIC_GRADIENT // #define RGBLIGHT_EFFECT_RGB_TEST // #define RGBLIGHT_EFFECT_ALTERNATING #endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 /* number of backlight levels */ #define BACKLIGHT_PIN F5 #define BACKLIGHT_LEVELS 10 #define BACKLIGHT_ON_STATE 0 // #define BACKLIGHT_BREATHING /* 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