From 46a69d1f3bb0275819a8f9f2cd0911b77db6eff0 Mon Sep 17 00:00:00 2001 From: Danny Date: Sun, 12 Apr 2020 16:09:09 -0400 Subject: [PATCH] [Keyboard] Quefrency Rev2 Caps Lock LED, set lighting defaults (#8729) * Add support for Caps Lock LED Currently ignores the fact that led_state is not synced between halves, so caps lock LED doesn't do anything if USB is plugged into right half * Set initial backlight and RGB mode/values on blank EEPROM * Set default VIA layout options * Add backlight/RGB ifdefs * Set bootloaders for each rev --- keyboards/keebio/quefrency/rev1/config.h | 3 +++ keyboards/keebio/quefrency/rev1/rules.mk | 1 + keyboards/keebio/quefrency/rev2/config.h | 5 ++++ keyboards/keebio/quefrency/rev2/rev2.c | 31 ++++++++++++++++++++++++ keyboards/keebio/quefrency/rev2/rules.mk | 1 + keyboards/keebio/quefrency/rules.mk | 20 +++------------ 6 files changed, 44 insertions(+), 17 deletions(-) diff --git a/keyboards/keebio/quefrency/rev1/config.h b/keyboards/keebio/quefrency/rev1/config.h index 15771f531..815a3e197 100644 --- a/keyboards/keebio/quefrency/rev1/config.h +++ b/keyboards/keebio/quefrency/rev1/config.h @@ -55,3 +55,6 @@ along with this program. If not, see . #define RGB_DI_PIN D3 #define RGBLIGHT_ANIMATIONS #define RGBLED_NUM 16 // Number of LEDs + +// Set 65% column (option 1) and Macro (option 2) on by default +#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x06 diff --git a/keyboards/keebio/quefrency/rev1/rules.mk b/keyboards/keebio/quefrency/rev1/rules.mk index e69de29bb..58e9a76b2 100644 --- a/keyboards/keebio/quefrency/rev1/rules.mk +++ b/keyboards/keebio/quefrency/rev1/rules.mk @@ -0,0 +1 @@ +BOOTLOADER = caterina diff --git a/keyboards/keebio/quefrency/rev2/config.h b/keyboards/keebio/quefrency/rev2/config.h index d18b7be1f..ba85dc0f6 100644 --- a/keyboards/keebio/quefrency/rev2/config.h +++ b/keyboards/keebio/quefrency/rev2/config.h @@ -47,6 +47,7 @@ along with this program. If not, see . #define DEBOUNCE 5 #define BACKLIGHT_PIN B5 +#define CAPS_LOCK_LED_PIN B6 /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D0 @@ -62,3 +63,7 @@ along with this program. If not, see . #define RGBLED_NUM 16 // Number of LEDs #define RGBLED_SPLIT { 8, 8 } #define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 } + +// Set 65% column (option 3) and Macro (option 4) on by default +#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x0018 +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/keebio/quefrency/rev2/rev2.c b/keyboards/keebio/quefrency/rev2/rev2.c index d713a0ff3..69edfd415 100644 --- a/keyboards/keebio/quefrency/rev2/rev2.c +++ b/keyboards/keebio/quefrency/rev2/rev2.c @@ -1 +1,32 @@ #include "quefrency.h" +#include "split_util.h" + +void matrix_init_kb(void) { + setPinOutput(CAPS_LOCK_LED_PIN); + matrix_init_user(); +} + +bool led_update_kb(led_t led_state) { + // Only update if left half + if (isLeftHand && led_update_user(led_state)) { + writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); + } + return true; +} + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(3); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_ANIMATIONS + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/quefrency/rev2/rules.mk b/keyboards/keebio/quefrency/rev2/rules.mk index 32e788159..0a368deb4 100644 --- a/keyboards/keebio/quefrency/rev2/rules.mk +++ b/keyboards/keebio/quefrency/rev2/rules.mk @@ -1,3 +1,4 @@ +BOOTLOADER = atmel-dfu BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes ENCODER_ENABLE = yes diff --git a/keyboards/keebio/quefrency/rules.mk b/keyboards/keebio/quefrency/rules.mk index a13f0478b..2c5ad0c36 100644 --- a/keyboards/keebio/quefrency/rules.mk +++ b/keyboards/keebio/quefrency/rules.mk @@ -1,32 +1,18 @@ # MCU name MCU = atmega32u4 -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = caterina - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend