aboutsummaryrefslogtreecommitdiffstats
path: root/users/drashna
diff options
context:
space:
mode:
authorGravatar Drashna Jaelre <drashna@live.com>2019-11-20 12:37:24 -0800
committerGravatar GitHub <noreply@github.com>2019-11-20 12:37:24 -0800
commiteb91c962886b1bb52c2d457a574cba09e2a8b0f0 (patch)
tree20f3d49671b6d42ca1edf285431e3e4120551228 /users/drashna
parent8e8986b2506ca4cdd2339a441314a0838e3a4329 (diff)
downloadqmk_firmware-eb91c962886b1bb52c2d457a574cba09e2a8b0f0.tar.gz
[Keymap] All about (ARM) RGB and OLEDs (drashna keymaps) (#7354)
* Add Kyria Keymap * Enable all RGBLIGHT Animations for ARM and high capacity AVR * Reduce GNUC version for __has_include * Cleanup Ortho 4x12 Community layout * Update Collide 39 keymap * Cleanup Keymaps * Enable full 30 LEDs for Ergodox * Change EEPROM Load timing * Use RGB Matrix on Planck Rev6 * Use correct keymap swap * Enable everything for ARM * Only enable rgb sleep on avr until crash is fixed * Add additional Kyria keymap config * Overhaul Kyria OLED display * Improve kyria keymap based on usage * Minor tweaks to rules * Update OLED code to truncate properly * Fix RGB Light layer indication * Switch all of biton32 to get_highest_layer function * Fix OLED Keylogger display * Run qmk cformat over all of my user files * Slight tweak to kyria based on usage * Move around LALT_T config * Add comments about base wrappers to keymaps * Another cformat pass * Temp fix for VUSB boards and NKRO * Convert tabs to spaces in rules.mk files * Only enable RGBLight if it's enabled * Add Encoder Flip setting * Update OLED font file
Diffstat (limited to 'users/drashna')
-rw-r--r--users/drashna/config.h14
-rw-r--r--users/drashna/drashna.c60
-rw-r--r--users/drashna/drashna.h5
-rw-r--r--users/drashna/font_gmk_bad.h241
-rw-r--r--users/drashna/hue_manitee_font.h241
-rw-r--r--users/drashna/process_records.c8
-rw-r--r--users/drashna/rgb_stuff.c194
-rw-r--r--users/drashna/rgb_stuff.h6
-rw-r--r--users/drashna/rgblight_breathe_table.h8
-rw-r--r--users/drashna/rules.mk23
-rw-r--r--users/drashna/template.c130
-rw-r--r--users/drashna/template.h15
12 files changed, 695 insertions, 250 deletions
diff --git a/users/drashna/config.h b/users/drashna/config.h
index a0f92d8f3..6fafff860 100644
--- a/users/drashna/config.h
+++ b/users/drashna/config.h
@@ -7,7 +7,7 @@
#define USB_POLLING_INTERVAL_MS 1
#ifdef AUDIO_ENABLE
-# if __GNUC__ > 7
+# if __GNUC__ > 5
# if __has_include("drashna_song_list.h")
# include "drashna_song_list.h"
# endif // if file exists
@@ -29,11 +29,15 @@
#endif // !AUDIO_ENABLE
#ifdef RGBLIGHT_ENABLE
-# define RGBLIGHT_SLEEP
# undef RGBLIGHT_ANIMATIONS
-# define RGBLIGHT_EFFECT_BREATHING
-# define RGBLIGHT_EFFECT_SNAKE
-# define RGBLIGHT_EFFECT_KNIGHT
+# if defined(__AVR__) && !defined(__AVR_AT90USB1286__)
+# define RGBLIGHT_SLEEP
+# define RGBLIGHT_EFFECT_BREATHING
+# define RGBLIGHT_EFFECT_SNAKE
+# define RGBLIGHT_EFFECT_KNIGHT
+# else
+# define RGBLIGHT_ANIMATIONS
+# endif
#endif // RGBLIGHT_ENABLE
#ifdef RGB_MATRIX_ENABLE
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c
index b48d837d0..71779a621 100644
--- a/users/drashna/drashna.c
+++ b/users/drashna/drashna.c
@@ -25,8 +25,6 @@ userspace_config_t userspace_config;
# define DRASHNA_UNICODE_MODE 2
#endif
-
-
bool mod_key_press_timer(uint16_t code, uint16_t mod_code, bool pressed) {
static uint16_t this_timer;
if (pressed) {
@@ -73,19 +71,22 @@ void bootmagic_lite(void) {
}
}
+__attribute__((weak)) void keyboard_pre_init_keymap(void) {}
+
+void keyboard_pre_init_user(void) {
+ userspace_config.raw = eeconfig_read_user();
+ keyboard_pre_init_keymap();
+}
// Add reconfigurable functions here, for keymap customization
// This allows for a global, userspace functions, and continued
// customization of the keymap. Use _keymap instead of _user
// functions in the keymaps
-__attribute__((weak))
-void matrix_init_keymap(void) {}
+__attribute__((weak)) void matrix_init_keymap(void) {}
// Call user matrix init, set default RGB colors and then
// call the keymap's init function
void matrix_init_user(void) {
- userspace_config.raw = eeconfig_read_user();
-
-#ifdef BOOTLOADER_CATERINA
+#if defined(BOOTLOADER_CATERINA) && defined(__AVR__)
DDRD &= ~(1 << 5);
PORTD &= ~(1 << 5);
@@ -100,8 +101,7 @@ void matrix_init_user(void) {
matrix_init_keymap();
}
-__attribute__((weak))
-void keyboard_post_init_keymap(void) {}
+__attribute__((weak)) void keyboard_post_init_keymap(void) {}
void keyboard_post_init_user(void) {
#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
@@ -110,10 +110,9 @@ void keyboard_post_init_user(void) {
keyboard_post_init_keymap();
}
-__attribute__((weak))
-void shutdown_keymap(void) {}
+__attribute__((weak)) void shutdown_keymap(void) {}
- void rgb_matrix_update_pwm_buffers(void);
+void rgb_matrix_update_pwm_buffers(void);
void shutdown_user(void) {
#ifdef RGBLIGHT_ENABLE
@@ -122,29 +121,22 @@ void shutdown_user(void) {
rgblight_setrgb_red();
#endif // RGBLIGHT_ENABLE
#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_set_color_all( 0xFF, 0x00, 0x00 );
+ rgb_matrix_set_color_all(0xFF, 0x00, 0x00);
rgb_matrix_update_pwm_buffers();
#endif // RGB_MATRIX_ENABLE
shutdown_keymap();
}
-__attribute__((weak))
-void suspend_power_down_keymap(void) {}
+__attribute__((weak)) void suspend_power_down_keymap(void) {}
-void suspend_power_down_user(void) {
- suspend_power_down_keymap();
-}
+void suspend_power_down_user(void) { suspend_power_down_keymap(); }
-__attribute__((weak))
-void suspend_wakeup_init_keymap(void) {}
+__attribute__((weak)) void suspend_wakeup_init_keymap(void) {}
-void suspend_wakeup_init_user(void) {
- suspend_wakeup_init_keymap();
-}
+void suspend_wakeup_init_user(void) { suspend_wakeup_init_keymap(); }
-__attribute__((weak))
-void matrix_scan_keymap(void) {}
+__attribute__((weak)) void matrix_scan_keymap(void) {}
// No global matrix scan code, so just run keymap's matrix
// scan function
@@ -166,8 +158,7 @@ void matrix_scan_user(void) {
matrix_scan_keymap();
}
-__attribute__((weak))
-layer_state_t layer_state_set_keymap(layer_state_t state) { return state; }
+__attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; }
// on layer change, no matter where the change was initiated
// Then runs keymap's layer change check
@@ -179,32 +170,27 @@ layer_state_t layer_state_set_user(layer_state_t state) {
return layer_state_set_keymap(state);
}
-__attribute__((weak))
-layer_state_t default_layer_state_set_keymap(layer_state_t state) { return state; }
+__attribute__((weak)) layer_state_t default_layer_state_set_keymap(layer_state_t state) { return state; }
// Runs state check and changes underglow color and animation
layer_state_t default_layer_state_set_user(layer_state_t state) {
state = default_layer_state_set_keymap(state);
#if 0
-#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
+# if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
state = default_layer_state_set_rgb(state);
# endif // RGBLIGHT_ENABLE
#endif
return state;
}
-__attribute__((weak))
-void led_set_keymap(uint8_t usb_led) {}
+__attribute__((weak)) void led_set_keymap(uint8_t usb_led) {}
// Any custom LED code goes here.
// So far, I only have keyboard specific code,
// So nothing goes here.
-void led_set_user(uint8_t usb_led) {
- led_set_keymap(usb_led);
-}
+void led_set_user(uint8_t usb_led) { led_set_keymap(usb_led); }
-__attribute__((weak))
-void eeconfig_init_keymap(void) {}
+__attribute__((weak)) void eeconfig_init_keymap(void) {}
void eeconfig_init_user(void) {
userspace_config.raw = 0;
diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h
index 0ccb7614f..0ba181760 100644
--- a/users/drashna/drashna.h
+++ b/users/drashna/drashna.h
@@ -16,7 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-#include "quantum.h"
+#include QMK_KEYBOARD_H
+
#include "version.h"
#include "eeprom.h"
#include "wrappers.h"
@@ -62,6 +63,7 @@ void led_set_keymap(uint8_t usb_led);
void eeconfig_init_keymap(void);
bool hasAllBitsInMask(uint8_t value, uint8_t mask);
+// clang-format off
typedef union {
uint32_t raw;
struct {
@@ -73,6 +75,7 @@ typedef union {
bool rgb_matrix_idle_anim :1;
};
} userspace_config_t;
+// clang-format on
extern userspace_config_t userspace_config;
diff --git a/users/drashna/font_gmk_bad.h b/users/drashna/font_gmk_bad.h
new file mode 100644
index 000000000..c1c5c390a
--- /dev/null
+++ b/users/drashna/font_gmk_bad.h
@@ -0,0 +1,241 @@
+#pragma once
+
+#ifdef __AVR__
+# include <avr/io.h>
+# include <avr/pgmspace.h>
+#elif defined(ESP8266)
+# include <pgmspace.h>
+#else
+# define PROGMEM
+#endif
+
+// Corne 8x6 font with QMK Firmware Logo
+// Online editor: https://helixfonteditor.netlify.com/
+
+// clang-format off
+const unsigned char font[] PROGMEM = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+ 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+ 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+ 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+ 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+ 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+ 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+ 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+ 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+ 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+ 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+ 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+ 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+ 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+ 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+ 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+ 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+ 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+ 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+ 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+ 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+ 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+ 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+ 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+ 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+ 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+ 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+ 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+ 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+ 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+ 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+ 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+ 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+ 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+ 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+ 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+ 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+ 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+ 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+ 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+ 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+ 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+ 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+ 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+ 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+ 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+ 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+ 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+ 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+ 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+ 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+ 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+ 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+ 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+ 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+ 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+ 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+ 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+ 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+ 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+ 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+ 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+ 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+ 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+ 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+ 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+ 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
+ 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+ 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+ 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+ 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+ 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+ 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
+ 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+ 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+ 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+ 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
+ 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+ 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+ 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+ 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+ 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+ 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+ 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+ 0x4C, 0x90, 0x10, 0x90, 0x7C, 0x00,
+ 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+ 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+ 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+ 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+ 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0x70,
+ 0x38, 0x38, 0x38, 0x78, 0x70, 0xF0,
+ 0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0xF0, 0xF8,
+ 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00,
+ 0x80, 0xE0, 0xF8, 0xF8, 0xF8, 0xF8,
+ 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x00,
+ 0x80, 0xE0, 0xF0, 0xF8, 0x78, 0x38,
+ 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0xF8, 0xF8, 0xF8, 0x38, 0x38,
+ 0x38, 0xF8, 0xF0, 0xF0, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0xFC, 0xFC,
+ 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
+ 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
+ 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
+ 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C,
+ 0xFF, 0xFF, 0xFF, 0xC1, 0x80, 0x00,
+ 0x00, 0x38, 0x38, 0xB8, 0xB8, 0xF9,
+ 0xF9, 0xF8, 0x38, 0x00, 0x00, 0x00,
+ 0x00, 0xC0, 0xF8, 0xFF, 0xFF, 0x1F,
+ 0x01, 0x3F, 0xFF, 0xFF, 0xF0, 0xFE,
+ 0x7F, 0x0F, 0x03, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0x1E, 0x7F,
+ 0xFF, 0xFF, 0xF3, 0xC1, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0x1C, 0x1C,
+ 0x9C, 0xFF, 0xFF, 0xF3, 0xE1, 0x00,
+ 0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFE,
+ 0xFF, 0x0F, 0x07, 0x07, 0x8E, 0xFF,
+ 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00,
+ 0x00, 0xF0, 0xFC, 0xFE, 0xFF, 0x8F,
+ 0x07, 0x07, 0x8E, 0xFF, 0xFF, 0xFF,
+ 0x3F, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
+ 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
+ 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
+ 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x03, 0x03, 0x03, 0x07,
+ 0x07, 0x07, 0x07, 0x03, 0x03, 0x03,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x07, 0x07, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x07, 0x07, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0x07, 0x07,
+ 0x07, 0x00, 0x00, 0x00, 0x00, 0x07,
+ 0x07, 0x07, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x07, 0x07, 0x07, 0x06,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
+ 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
+ 0x07, 0x07, 0x03, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x07,
+ 0x07, 0x07, 0x07, 0x03, 0x07, 0x07,
+ 0x07, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x07, 0x07, 0x07,
+ 0x07, 0x03, 0x07, 0x07, 0x07, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
+ 0x07, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
diff --git a/users/drashna/hue_manitee_font.h b/users/drashna/hue_manitee_font.h
new file mode 100644
index 000000000..72d50f7a6
--- /dev/null
+++ b/users/drashna/hue_manitee_font.h
@@ -0,0 +1,241 @@
+#pragma once
+
+#ifdef __AVR__
+# include <avr/io.h>
+# include <avr/pgmspace.h>
+#elif defined(ESP8266)
+# include <pgmspace.h>
+#else
+# define PROGMEM
+#endif
+
+// Corne 8x6 font with QMK Firmware Logo
+// Online editor: https://helixfonteditor.netlify.com/
+
+// clang-format off
+const unsigned char font[] PROGMEM = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+ 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+ 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+ 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+ 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+ 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+ 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+ 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+ 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+ 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+ 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+ 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+ 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+ 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+ 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+ 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+ 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+ 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+ 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+ 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+ 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+ 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+ 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+ 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+ 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+ 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+ 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+ 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+ 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+ 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+ 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+ 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+ 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+ 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+ 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+ 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+ 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+ 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+ 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+ 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+ 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+ 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+ 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+ 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+ 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+ 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+ 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+ 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+ 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+ 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+ 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+ 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+ 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+ 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+ 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+ 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+ 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+ 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+ 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+ 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+ 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+ 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+ 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+ 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+ 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+ 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+ 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
+ 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+ 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+ 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+ 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+ 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+ 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
+ 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+ 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+ 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+ 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
+ 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+ 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+ 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+ 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+ 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+ 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+ 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+ 0x4C, 0x90, 0x10, 0x90, 0x7C, 0x00,
+ 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+ 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+ 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+ 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+ 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0,
+ 0x90, 0x70, 0xE8, 0xA8, 0xE4, 0xC4,
+ 0xC4, 0xA0, 0xE4, 0xB0, 0xDC, 0xE4,
+ 0xFC, 0xFC, 0xFC, 0xFC, 0x3C, 0x3C,
+ 0xFC, 0xF8, 0xF0, 0xF0, 0xE0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
+ 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
+ 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
+ 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
+ 0xFC, 0xF6, 0xF7, 0xEF, 0xFF, 0x87,
+ 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
+ 0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x07, 0x1F, 0x1F, 0x19, 0x15,
+ 0xF7, 0x16, 0x1A, 0x1B, 0x16, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0C, 0x0C, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0xC0, 0xC0,
+ 0x00, 0x00, 0x03, 0x03, 0xFF, 0xFF,
+ 0x03, 0x03, 0x00, 0x00, 0xC0, 0xC0,
+ 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0xFC,
+ 0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0x30, 0x30, 0xCC, 0xCC,
+ 0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
+ 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
+ 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
+ 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x03, 0x07, 0x07, 0x07, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x07, 0x07,
+ 0x03, 0x00, 0x00, 0x02, 0x04, 0x00,
+ 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
diff --git a/users/drashna/process_records.c b/users/drashna/process_records.c
index 6eb21d2f2..2f79ad11c 100644
--- a/users/drashna/process_records.c
+++ b/users/drashna/process_records.c
@@ -2,11 +2,9 @@
uint16_t copy_paste_timer;
-__attribute__((weak))
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
+__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
-__attribute__((weak))
-bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { return true; }
+__attribute__((weak)) bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { return true; }
// Defines actions tor my global custom keycodes. Defined in drashna.h file
// Then runs the _keymap's record handier if not processed here
@@ -23,7 +21,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_QWERTY ... KC_WORKMAN:
if (record->event.pressed) {
- uint8_t mods = mod_config(get_mods()|get_oneshot_mods());
+ uint8_t mods = mod_config(get_mods() | get_oneshot_mods());
if (!mods) {
set_single_persistent_default_layer(keycode - KC_QWERTY);
} else if (mods & MOD_MASK_SHIFT) {
diff --git a/users/drashna/rgb_stuff.c b/users/drashna/rgb_stuff.c
index a9af0566e..52ec61c22 100644
--- a/users/drashna/rgb_stuff.c
+++ b/users/drashna/rgb_stuff.c
@@ -12,9 +12,9 @@ void rgblight_sethsv_default_helper(uint8_t index) { rgblight_sethsv_at(rgblight
#if defined(RGB_MATRIX_ENABLE)
static uint32_t hypno_timer;
# if defined(SPLIT_KEYBOARD) || defined(KEYBOARD_ergodox_ez) || defined(KEYBOARD_crkbd)
-# define RGB_MATRIX_REST_MODE RGB_MATRIX_CYCLE_OUT_IN_DUAL
+# define RGB_MATRIX_REST_MODE RGB_MATRIX_CYCLE_OUT_IN_DUAL
# else
-# define RGB_MATRIX_REST_MODE RGB_MATRIX_CYCLE_OUT_IN
+# define RGB_MATRIX_REST_MODE RGB_MATRIX_CYCLE_OUT_IN
# endif
#endif
@@ -23,68 +23,68 @@ static uint32_t hypno_timer;
* This is especially useful for One Shot Mods, since it's not always obvious if they're still lit up.
*/
#ifdef RGBLIGHT_ENABLE
-#ifdef INDICATOR_LIGHTS
+# ifdef INDICATOR_LIGHTS
void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) {
- if (userspace_config.rgb_layer_change && biton32(layer_state) == 0) {
+ if (userspace_config.rgb_layer_change && get_highest_layer(layer_state) == 0) {
if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1 << USB_LED_CAPS_LOCK)) {
-# ifdef SHFT_LED1
+# ifdef SHFT_LED1
rgblight_sethsv_at(120, 255, 255, SHFT_LED1);
-# endif // SHFT_LED1
-# ifdef SHFT_LED2
+# endif // SHFT_LED1
+# ifdef SHFT_LED2
rgblight_sethsv_at(120, 255, 255, SHFT_LED2);
-# endif // SHFT_LED2
+# endif // SHFT_LED2
} else {
-# ifdef SHFT_LED1
+# ifdef SHFT_LED1
rgblight_sethsv_default_helper(SHFT_LED1);
-# endif // SHFT_LED1
-# ifdef SHFT_LED2
+# endif // SHFT_LED1
+# ifdef SHFT_LED2
rgblight_sethsv_default_helper(SHFT_LED2);
-# endif // SHFT_LED2
+# endif // SHFT_LED2
}
if ((this_mod | this_osm) & MOD_MASK_CTRL) {
-# ifdef CTRL_LED1
+# ifdef CTRL_LED1
rgblight_sethsv_at(0, 255, 255, CTRL_LED1);
-# endif // CTRL_LED1
-# ifdef CTRL_LED2
+# endif // CTRL_LED1
+# ifdef CTRL_LED2
rgblight_sethsv_at(0, 255, 255, CTRL_LED2);
-# endif // CTRL_LED2
+# endif // CTRL_LED2
} else {
-# ifdef CTRL_LED1
+# ifdef CTRL_LED1
rgblight_sethsv_default_helper(CTRL_LED1);
-# endif // CTRL_LED1
-# ifdef CTRL_LED2
+# endif // CTRL_LED1
+# ifdef CTRL_LED2
rgblight_sethsv_default_helper(CTRL_LED2);
-# endif // CTRL_LED2
+# endif // CTRL_LED2
}
if ((this_mod | this_osm) & MOD_MASK_GUI) {
-# ifdef GUI_LED1
+# ifdef GUI_LED1
rgblight_sethsv_at(51, 255, 255, GUI_LED1);
-# endif // GUI_LED1
-# ifdef GUI_LED2
+# endif // GUI_LED1
+# ifdef GUI_LED2
rgblight_sethsv_at(51, 255, 255, GUI_LED2);
-# endif // GUI_LED2
+# endif // GUI_LED2
} else {
-# ifdef GUI_LED1
+# ifdef GUI_LED1
rgblight_sethsv_default_helper(GUI_LED1);
-# endif // GUI_LED1
-# ifdef GUI_LED2
+# endif // GUI_LED1
+# ifdef GUI_LED2
rgblight_sethsv_default_helper(GUI_LED2);
-# endif // GUI_LED2
+# endif // GUI_LED2
}
if ((this_mod | this_osm) & MOD_MASK_ALT) {
-# ifdef ALT_LED1
+# ifdef ALT_LED1
rgblight_sethsv_at(240, 255, 255, ALT_LED1);
-# endif // ALT_LED1
-# ifdef GUI_LED2
+# endif // ALT_LED1
+# ifdef GUI_LED2
rgblight_sethsv_at(240, 255, 255, ALT_LED2);
-# endif // GUI_LED2
+# endif // GUI_LED2
} else {
-# ifdef GUI_LED1
+# ifdef GUI_LED1
rgblight_sethsv_default_helper(ALT_LED1);
-# endif // GUI_LED1
-# ifdef GUI_LED2
+# endif // GUI_LED1
+# ifdef GUI_LED2
rgblight_sethsv_default_helper(ALT_LED2);
-# endif // GUI_LED2
+# endif // GUI_LED2
}
}
}
@@ -95,9 +95,9 @@ void matrix_scan_indicator(void) {
set_rgb_indicators(get_mods(), host_keyboard_leds(), get_oneshot_mods());
}
}
-#endif // INDICATOR_LIGHTS
+# endif // INDICATOR_LIGHTS
-#ifdef RGBLIGHT_TWINKLE
+# ifdef RGBLIGHT_TWINKLE
static rgblight_fadeout lights[RGBLED_NUM];
__attribute__((weak)) bool rgblight_twinkle_is_led_used_keymap(uint8_t index) { return false; }
@@ -105,40 +105,40 @@ __attribute__((weak)) bool rgblight_twinkle_is_led_used_keymap(uint8_t index) {
/* This function checks for used LEDs. This way, collisions don't occur and cause weird rendering */
bool rgblight_twinkle_is_led_used(uint8_t index) {
switch (index) {
-# ifdef INDICATOR_LIGHTS
-# ifdef SHFT_LED1
+# ifdef INDICATOR_LIGHTS
+# ifdef SHFT_LED1
case SHFT_LED1:
return true;
-# endif // SHFT_LED1
-# ifdef SHFT_LED2
+# endif // SHFT_LED1
+# ifdef SHFT_LED2
case SHFT_LED2:
return true;
-# endif // SHFT_LED2
-# ifdef CTRL_LED1
+# endif // SHFT_LED2
+# ifdef CTRL_LED1
case CTRL_LED1:
return true;
-# endif // CTRL_LED1
-# ifdef CTRL_LED2
+# endif // CTRL_LED1
+# ifdef CTRL_LED2
case CTRL_LED2:
return true;
-# endif // CTRL_LED2
-# ifdef GUI_LED1
+# endif // CTRL_LED2
+# ifdef GUI_LED1
case GUI_LED1:
return true;
-# endif // GUI_LED1
-# ifdef GUI_LED2
+# endif // GUI_LED1
+# ifdef GUI_LED2
case GUI_LED2:
return true;
-# endif // GUI_LED2
-# ifdef ALT_LED1
+# endif // GUI_LED2
+# ifdef ALT_LED1
case ALT_LED1:
return true;
-# endif // ALT_LED1
-# ifdef ALT_LED2
+# endif // ALT_LED1
+# ifdef ALT_LED2
case ALT_LED2:
return true;
-# endif // ALT_LED2
-# endif // INDICATOR_LIGHTS
+# endif // ALT_LED2
+# endif // INDICATOR_LIGHTS
default:
return rgblight_twinkle_is_led_used_keymap(index);
}
@@ -154,19 +154,19 @@ void scan_rgblight_fadeout(void) { // Don't effing change this function .... rg
if (light->life) {
light->life -= 1;
- if (biton32(layer_state) == 0) {
+ if (get_highest_layer(layer_state) == 0) {
sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]);
}
light->timer = timer_read();
} else {
- if (light->enabled && biton32(layer_state) == 0) {
+ if (light->enabled && get_highest_layer(layer_state) == 0) {
rgblight_sethsv_default_helper(light_index);
}
litup = light->enabled = false;
}
}
}
- if (litup && biton32(layer_state) == 0) {
+ if (litup && get_highest_layer(layer_state) == 0) {
rgblight_set();
}
}
@@ -211,8 +211,8 @@ void start_rgb_light(void) {
rgblight_sethsv_at(light->hue, 255, light->life, light_index);
}
-#endif
-#endif // RGBLIGHT_ENABLE
+# endif
+#endif // RGBLIGHT_ENABLE
bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
uint16_t temp_keycode = keycode;
@@ -259,7 +259,9 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
userspace_config.rgb_matrix_idle_anim ^= 1;
dprintf("RGB Matrix Idle Animation [EEPROM]: %u\n", userspace_config.rgb_matrix_idle_anim);
eeconfig_update_user(userspace_config.raw);
- if (userspace_config.rgb_matrix_idle_anim) { rgb_matrix_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP); }
+ if (userspace_config.rgb_matrix_idle_anim) {
+ rgb_matrix_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP);
+ }
}
#endif
break;
@@ -281,7 +283,9 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
is_eeprom_updated = true;
}
#endif
- if (is_eeprom_updated) { eeconfig_update_user(userspace_config.raw); }
+ if (is_eeprom_updated) {
+ eeconfig_update_user(userspace_config.raw);
+ }
}
break;
}
@@ -290,7 +294,7 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
void keyboard_post_init_rgb(void) {
#if defined(RGBLIGHT_ENABLE)
-# if defined(RGBLIGHT_STARTUP_ANIMATION)
+# if defined(RGBLIGHT_STARTUP_ANIMATION)
bool is_enabled = rgblight_config.enable;
if (userspace_config.rgb_layer_change) {
rgblight_enable_noeeprom();
@@ -309,13 +313,13 @@ void keyboard_post_init_rgb(void) {
rgblight_disable_noeeprom();
}
-# endif
+# endif
layer_state_set_user(layer_state);
#endif
#if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
- if (userspace_config.rgb_matrix_idle_anim) {
- rgb_matrix_mode_noeeprom(RGB_MATRIX_REST_MODE);
- }
+ if (userspace_config.rgb_matrix_idle_anim) {
+ rgb_matrix_mode_noeeprom(RGB_MATRIX_REST_MODE);
+ }
#endif
}
@@ -337,67 +341,70 @@ void matrix_scan_rgb(void) {
#endif
}
+#ifdef RGBLIGHT_ENABLE
+void rgblight_set_hsv_and_mode(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode) {
+ rgblight_sethsv_noeeprom(hue, sat, val);
+ wait_us(175); // Add a slight delay between color and mode to ensure it's processed correctly
+ rgblight_mode_noeeprom(mode);
+}
+#endif
+
layer_state_t layer_state_set_rgb(layer_state_t state) {
#ifdef RGBLIGHT_ENABLE
if (userspace_config.rgb_layer_change) {
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case _MACROS:
- rgblight_sethsv_noeeprom_orange();
- userspace_config.is_overwatch ? rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2) : rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 3);
+ rgblight_set_hsv_and_mode(HSV_ORANGE, userspace_config.is_overwatch ? RGBLIGHT_MODE_SNAKE + 2 : RGBLIGHT_MODE_SNAKE + 3);
break;
case _MEDIA:
- rgblight_sethsv_noeeprom_chartreuse();
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 1);
+ rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_KNIGHT + 1);
break;
case _GAMEPAD:
- rgblight_sethsv_noeeprom_orange();
- rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2);
+ rgblight_set_hsv_and_mode(HSV_ORANGE, RGBLIGHT_MODE_SNAKE + 2);
break;
case _DIABLO:
- rgblight_sethsv_noeeprom_red();
- rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
+ rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_BREATHING + 3);
break;
case _RAISE:
- rgblight_sethsv_noeeprom_yellow();
- rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
+ rgblight_set_hsv_and_mode(HSV_YELLOW, RGBLIGHT_MODE_BREATHING + 3);
break;
case _LOWER:
- rgblight_sethsv_noeeprom_green();
- rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
+ rgblight_set_hsv_and_mode(HSV_GREEN, RGBLIGHT_MODE_BREATHING + 3);
break;
case _ADJUST:
- rgblight_sethsv_noeeprom_red();
- rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
+ rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_KNIGHT + 2);
break;
default: // for any other layers, or the default layer
- switch (biton32(default_layer_state)) {
+ {
+ uint8_t mode = get_highest_layer(state) == _MODS ? RGBLIGHT_MODE_BREATHING : RGBLIGHT_MODE_STATIC_LIGHT;
+ switch (get_highest_layer(default_layer_state)) {
case _COLEMAK:
- rgblight_sethsv_noeeprom_magenta();
+ rgblight_set_hsv_and_mode(HSV_MAGENTA, mode);
break;
case _DVORAK:
- rgblight_sethsv_noeeprom_springgreen();
+ rgblight_set_hsv_and_mode(HSV_SPRINGGREEN, mode);
break;
case _WORKMAN:
- rgblight_sethsv_noeeprom_goldenrod();
+ rgblight_set_hsv_and_mode(HSV_GOLDENROD, mode);
break;
case _NORMAN:
- rgblight_sethsv_noeeprom_coral();
+ rgblight_set_hsv_and_mode(HSV_CORAL, mode);
break;
case _MALTRON:
- rgblight_sethsv_noeeprom_yellow();
+ rgblight_set_hsv_and_mode(HSV_YELLOW, mode);
break;
case _EUCALYN:
- rgblight_sethsv_noeeprom_pink();
+ rgblight_set_hsv_and_mode(HSV_PINK, mode);
break;
case _CARPLAX:
- rgblight_sethsv_noeeprom_blue();
+ rgblight_set_hsv_and_mode(HSV_BLUE, mode);
break;
default:
- rgblight_sethsv_noeeprom_cyan();
+ rgblight_set_hsv_and_mode(HSV_CYAN, mode);
break;
}
- biton32(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // if _MODS layer is on, then breath to denote it
break;
+ }
}
}
#endif // RGBLIGHT_ENABLE
@@ -408,6 +415,7 @@ layer_state_t layer_state_set_rgb(layer_state_t state) {
#ifdef RGB_MATRIX_ENABLE
# include "lib/lib8tion/lib8tion.h"
extern led_config_t g_led_config;
+
void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode, uint8_t speed, uint8_t led_type) {
HSV hsv = {hue, sat, val};
if (hsv.v > rgb_matrix_config.hsv.v) {
diff --git a/users/drashna/rgb_stuff.h b/users/drashna/rgb_stuff.h
index 7e34c93c1..50b73c1c3 100644
--- a/users/drashna/rgb_stuff.h
+++ b/users/drashna/rgb_stuff.h
@@ -20,13 +20,13 @@ layer_state_t layer_state_set_rgb(layer_state_t state);
layer_state_t default_layer_state_set_rgb(layer_state_t state);
#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_TWINKLE)
-void scan_rgblight_fadeout(void);
+void scan_rgblight_fadeout(void);
#endif
#if defined(RGBLIGHT_ENABLE)
-void rgblight_sethsv_default_helper(uint8_t index);
+void rgblight_sethsv_default_helper(uint8_t index);
#endif
#ifdef RGB_MATRIX_ENABLE
-void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
+void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode, uint8_t speed, uint8_t led_type);
#endif
diff --git a/users/drashna/rgblight_breathe_table.h b/users/drashna/rgblight_breathe_table.h
index 05d347fcd..4c6ae38fa 100644
--- a/users/drashna/rgblight_breathe_table.h
+++ b/users/drashna/rgblight_breathe_table.h
@@ -1,9 +1,10 @@
#ifndef RGBLIGHT_EFFECT_BREATHE_TABLE
#define RGBLIGHT_EFFECT_BREATHE_TABLE
+// clang-format off
const uint8_t rgblight_effect_breathe_table[] PROGMEM = {
- /* #define RGBLIGHT_EFFECT_BREATHE_CENTER 0.00 */
- /* #define RGBLIGHT_EFFECT_BREATHE_MAX 255 */
+/* #define RGBLIGHT_EFFECT_BREATHE_CENTER 0.00 */
+/* #define RGBLIGHT_EFFECT_BREATHE_MAX 255 */
#if RGBLIGHT_BREATHE_TABLE_SIZE == 256
0x44, 0x45, 0x47, 0x48, 0x4a, 0x4b, 0x4c, 0x4e,
@@ -110,7 +111,8 @@ const uint8_t rgblight_effect_breathe_table[] PROGMEM = {
0x4e, 0x48
#endif /* 64 bytes table */
};
+// clang-format on
-static const int table_scale = 256/sizeof(rgblight_effect_breathe_table);
+static const int table_scale = 256 / sizeof(rgblight_effect_breathe_table);
#endif /* RGBLIGHT_EFFECT_BREATHE_TABLE */
diff --git a/users/drashna/rules.mk b/users/drashna/rules.mk
index 1b5a86385..882857fc8 100644
--- a/users/drashna/rules.mk
+++ b/users/drashna/rules.mk
@@ -1,16 +1,16 @@
SRC += drashna.c \
process_records.c
-LINK_TIME_OPTIMIZATION_ENABLE = yes
-SPACE_CADET_ENABLE = no
+LTO_ENABLE = yes
+SPACE_CADET_ENABLE = no
ifneq ($(strip $(NO_SECRETS)), yes)
- ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")
- SRC += secrets.c
- endif
- ifeq ($(strip $(NO_SECRETS)), lite)
- OPT_DEFS += -DNO_SECRETS
- endif
+ ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")
+ SRC += secrets.c
+ endif
+ ifeq ($(strip $(NO_SECRETS)), lite)
+ OPT_DEFS += -DNO_SECRETS
+ endif
endif
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
@@ -52,3 +52,10 @@ endif
ifeq ($(strip $(MAKE_BOOTLOADER)), yes)
OPT_DEFS += -DMAKE_BOOTLOADER
endif
+
+# At least until build.mk or the like drops, this is here to prevent
+# VUSB boards from enabling NKRO, as they do not support it. Ideally
+# this should be handled per keyboard, but until that happens ...
+ifeq ($(strip $(PROTOCOL)), VUSB)
+ NKRO_ENABLE = no
+endif \ No newline at end of file
diff --git a/users/drashna/template.c b/users/drashna/template.c
index d90e6bdec..833447daa 100644
--- a/users/drashna/template.c
+++ b/users/drashna/template.c
@@ -1,124 +1,82 @@
#include "template.h"
-
// Add reconfigurable functions here, for keymap customization
// This allows for a global, userspace functions, and continued
// customization of the keymap. Use _keymap instead of _user
// functions in the keymaps
-__attribute__ ((weak))
-void matrix_init_keymap(void) {}
+__attribute__((weak)) void matrix_init_keymap(void) {}
// Call user matrix init, then call the keymap's init function
-void matrix_init_user(void) {
- matrix_init_keymap();
-}
+void matrix_init_user(void) { matrix_init_keymap(); }
-
-__attribute__ ((weak))
-void matrix_scan_keymap(void) {}
+__attribute__((weak)) void matrix_scan_keymap(void) {}
// No global matrix scan code, so just run keymap's matix
// scan function
-void matrix_scan_user(void) {
- matrix_scan_keymap();
-}
+void matrix_scan_user(void) { matrix_scan_keymap(); }
-
-__attribute__ ((weak))
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
+__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
// Defines actions tor my global custom keycodes. Defined in drashna.h file
// Then runs the _keymap's recod handier if not processed here,
// And use "NEWPLACEHOLDER" for new safe range
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- switch (keycode) {
- case KC_MAKE:
- if (!record->event.pressed) {
- SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
-#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
- ":dfu"
+ switch (keycode) {
+ case KC_MAKE:
+ if (!record->event.pressed) {
+ SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
+#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
+ ":dfu"
#elif defined(BOOTLOADER_HALFKAY)
- ":teensy"
+ ":teensy"
#elif defined(BOOTLOADER_CATERINA)
- ":avrdude"
+ ":avrdude"
#endif
- SS_TAP(X_ENTER));
+ SS_TAP(X_ENTER));
+ }
+ return false;
+ break;
+
+ case VRSN:
+ if (record->event.pressed) {
+ SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ return false;
+ break;
}
- return false;
- break;
-
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- }
- return process_record_keymap(keycode, record);
-}
-
-
-__attribute__ ((weak))
-layer_state_t layer_state_set_keymap (layer_state_t state) {
- return state;
-}
-
-layer_state_t layer_state_set_user (layer_state_t state) {
- return layer_state_set_keymap (state);
+ return process_record_keymap(keycode, record);
}
+__attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; }
+layer_state_t layer_state_set_user(layer_state_t state) { return layer_state_set_keymap(state); }
-__attribute__ ((weak))
-void led_set_keymap(uint8_t usb_led) {}
-
-void led_set_user(uint8_t usb_led) {
- led_set_keymap(usb_led);
-}
-
+__attribute__((weak)) void led_set_keymap(uint8_t usb_led) {}
+void led_set_user(uint8_t usb_led) { led_set_keymap(usb_led); }
-__attribute__ ((weak))
-void suspend_power_down_keymap(void) {}
-
-void suspend_power_down_user(void)
-{
- suspend_power_down_keymap();
-}
-
+__attribute__((weak)) void suspend_power_down_keymap(void) {}
+void suspend_power_down_user(void) { suspend_power_down_keymap(); }
-__attribute__ ((weak))
-void suspend_wakeup_init_keymap(void) {}
+__attribute__((weak)) void suspend_wakeup_init_keymap(void) {}
-void suspend_wakeup_init_user(void)
-{
- suspend_wakeup_init_keymap();
- #ifdef KEYBOARD_ergodox_ez
- wait_ms(10);
- #endif
+void suspend_wakeup_init_user(void) {
+ suspend_wakeup_init_keymap();
+#ifdef KEYBOARD_ergodox_ez
+ wait_ms(10);
+#endif
}
+__attribute__((weak)) void startup_keymap(void) {}
-
-__attribute__ ((weak))
-void startup_keymap(void) {}
-
-void startup_user (void) {
- #ifdef RGBLIGHT_ENABLE
+void startup_user(void) {
+#ifdef RGBLIGHT_ENABLE
matrix_init_rgb();
- #endif //RGBLIGHT_ENABLE
- startup_keymap();
+#endif // RGBLIGHT_ENABLE
+ startup_keymap();
}
+__attribute__((weak)) void shutdown_keymap(void) {}
-
-__attribute__ ((weak))
-void shutdown_keymap(void) {}
-
-void shutdown_user (void) {
- shutdown_keymap();
-}
+void shutdown_user(void) { shutdown_keymap(); }
diff --git a/users/drashna/template.h b/users/drashna/template.h
index dd1c48760..178f96e22 100644
--- a/users/drashna/template.h
+++ b/users/drashna/template.h
@@ -1,7 +1,6 @@
-#ifndef USERSPACE
-#define USERSPACE
+#pragma once
-#include "quantum.h"
+#include QMK_KEYBOARD_H
#include "version.h"
#include "eeprom.h"
@@ -9,10 +8,8 @@
#define BASE 0
enum custom_keycodes {
- VRSN = SAFE_RANGE, // can always be here
- KC_MAKE,
- KC_RESET,
- NEWPLACEHOLDER //use "NEWPLACEHOLDER for keymap specific codes
+ VRSN = SAFE_RANGE, // can always be here
+ KC_MAKE,
+ KC_RESET,
+ NEWPLACEHOLDER // use "NEWPLACEHOLDER for keymap specific codes
};
-
-#endif