#include "send_string_keycodes.h"
#include "suspend.h"
-extern uint32_t default_layer_state;
+extern layer_state_t default_layer_state;
#ifndef NO_ACTION_LAYER
- extern uint32_t layer_state;
+ extern layer_state_t layer_state;
#endif
#ifdef MIDI_ENABLE
#include "process_terminal_nop.h"
#endif
+#ifdef SPACE_CADET_ENABLE
+ #include "process_space_cadet.h"
+#endif
+
#ifdef HD44780_ENABLE
#include "hd44780.h"
#endif
#include "haptic.h"
#endif
+#ifdef OLED_DRIVER_ENABLE
+ #include "oled_driver.h"
+#endif
+
//Function substitutions to ease GPIO manipulation
#ifdef __AVR__
#define PIN_ADDRESS(p, offset) _SFR_IO8(ADDRESS_BASE + (p >> PORT_SHIFTER) + offset)
#define ADD_SLASH_X(y) STRINGIZE(\x ## y)
#define SYMBOL_STR(x) ADD_SLASH_X(x)
+#define SS_TAP_CODE 1
+#define SS_DOWN_CODE 2
+#define SS_UP_CODE 3
+
#define SS_TAP(keycode) "\1" SYMBOL_STR(keycode)
#define SS_DOWN(keycode) "\2" SYMBOL_STR(keycode)
#define SS_UP(keycode) "\3" SYMBOL_STR(keycode)
#define SEND_STRING(str) send_string_P(PSTR(str))
extern const bool ascii_to_shift_lut[0x80];
+extern const bool ascii_to_altgr_lut[0x80];
extern const uint8_t ascii_to_keycode_lut[0x80];
void send_string(const char *str);
void send_string_with_delay(const char *str, uint8_t interval);
void matrix_scan_kb(void);
void matrix_init_user(void);
void matrix_scan_user(void);
+uint16_t get_record_keycode(keyrecord_t *record);
+uint16_t get_event_keycode(keyevent_t event);
bool process_action_kb(keyrecord_t *record);
bool process_record_kb(uint16_t keycode, keyrecord_t *record);
bool process_record_user(uint16_t keycode, keyrecord_t *record);
#ifdef BACKLIGHT_ENABLE
void backlight_init_ports(void);
void backlight_task(void);
+void backlight_task_internal(void);
+void backlight_on(uint8_t backlight_pin);
+void backlight_off(uint8_t backlight_pin);
#ifdef BACKLIGHT_BREATHING
+void breathing_task(void);
void breathing_enable(void);
void breathing_pulse(void);
void breathing_disable(void);