/* Copyright 2020 Swiftrax and Basekeys.com * * 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 #include "config_common.h" /* USB Device descriptor parameter */ #define VENDOR_ID 0x04D8 #define PRODUCT_ID 0xEAF3 #define DEVICE_VER 0x0001 #define MANUFACTURER Swiftrax #define PRODUCT Trifecta /* key matrix size */ #define MATRIX_ROWS 10 #define MATRIX_COLS 8 /* key matrix pins */ #define MATRIX_ROW_PINS { B0, B7, F7, B1, B6, C6, C7, B5, F6, D2 } #define MATRIX_COL_PINS { F0, F1, F4, F5, D1, B2, D0, B3 } #define ENCODERS_PAD_A { D4, D6, D7 } #define ENCODERS_PAD_B { B4, D3, D5 } /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN E6 #define DRIVER_LED_TOTAL 80 /* RGB LED */ #ifdef RGBLIGHT_ENABLE #define RGB_DI_PIN E6 #define RGBLED_NUM 80 // Number of LEDs. backlight x69 #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 #define RGBLIGHT_VAL_STEP 17 #define RGBLIGHT_ANIMATIONS #endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 /* Limits the brightness of the LEDS range of 255-0 (255 is default)*/ #define RGBLIGHT_LIMIT_VAL 128 /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST /* 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 /* EEPROM for via */ #define DYNAMIC_KEYMAP_LAYER_COUNT 3 /* bootmagic row col assignment */ #define BOOTMAGIC_LITE_ROW 1 #define BOOTMAGIC_LITE_COLUMN 0 #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects //# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. # define RGB_MATRIX_HUE_STEP 8 # define RGB_MATRIX_SAT_STEP 8 # define RGB_MATRIX_VAL_STEP 8 # define RGB_MATRIX_SPD_STEP 10 /* Disable the animations you don't want/need. You will need to disable a good number of these * * because they take up a lot of space. Disable until you can successfully compile your firmware. */ // # define DISABLE_RGB_MATRIX_ALPHAS_MODS // # define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // # define DISABLE_RGB_MATRIX_BREATHING // # define DISABLE_RGB_MATRIX_CYCLE_ALL // # define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // # define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN // # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN // # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // # define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // # define DISABLE_RGB_MATRIX_DUAL_BEACON // # define DISABLE_RGB_MATRIX_RAINBOW_BEACON // # define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS // # define DISABLE_RGB_MATRIX_RAINDROPS // # define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // # define DISABLE_RGB_MATRIX_TYPING_HEATMAP // # define DISABLE_RGB_MATRIX_DIGITAL_RAIN // # define DISABLE_RGB_MATRIX_SOLID_REACTIVE // # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // # define DISABLE_RGB_MATRIX_SPLASH // # define DISABLE_RGB_MATRIX_MULTISPLASH // # define DISABLE_RGB_MATRIX_SOLID_SPLASH // # define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif