/* 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 #include "config_common.h" /* USB Device descriptor parameter */ #define VENDOR_ID 0x3265 #define PRODUCT_ID 0x0006 #define DEVICE_VER 0x0001 #define MANUFACTURER yushakobo #define PRODUCT quick17 /* key matrix size */ #define MATRIX_ROWS 3 #define MATRIX_COLS 6 /* * Keyboard Matrix Assignments * * Change this to how you wired your keyboard * COLS: AVR pins used for columns, left to right * ROWS: AVR pins used for rows, top to bottom * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) * */ #define MATRIX_ROW_PINS { F4, B3, B6 } #define MATRIX_COL_PINS { F5, D4, E6, F7, C6, D7 } #define UNUSED_PINS /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ //#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 //#define BACKLIGHT_PIN B7 //#define BACKLIGHT_LEVELS 3 //#define BACKLIGHT_BREATHING #define RGB_DI_PIN D2 #define RGBLED_NUM 18 #ifdef RGB_MATRIX_ENABLE # define DRIVER_LED_TOTAL RGBLED_NUM # 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 // 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. // HSV_TEAL // #define RGB_MATRIX_STARTUP_HUE 128 // #define RGB_MATRIX_STARTUP_SAT 255 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS # define RGB_MATRIX_HUE_STEP 8 # define RGB_MATRIX_SAT_STEP 8 # define RGB_MATRIX_VAL_STEP 8 # define RGB_MATRIX_SPD_STEP 10 #endif #ifdef RGBLIGHT_ENABLE # define RGBLIGHT_LED_MAP {\ 6, 7, 12, 13, 14, 15,\ 16, 17, 11, 10, 9, 8,\ 0, 1, 2, 3, 4, 5\ } # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 # define RGBLIGHT_VAL_STEP 8 # define RGBLIGHT_LIMIT_VAL 150 /* 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 /*== customize breathing effect ==*/ /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ //# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 /*==== use exp() and sin() ====*/ //# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 //# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 #define RGBLIGHT_LAYERS #define RGBLIGHT_MAX_LAYERS 8 #endif #ifdef ENCODER_ENABLE #define ENCODERS_PAD_A { B4 } #define ENCODERS_PAD_B { B5 } #endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST /* disable action features */ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0