opensteno_qmk/users/curry/curry.h
2022-04-19 21:00:01 +10:00

67 lines
1.4 KiB
C

#pragma once
#include QMK_KEYBOARD_H
#include "version.h"
#include "eeprom.h"
#include "wrappers.h"
#include "process_records.h"
#if defined(TAP_DANCE_ENABLE)
# include "tap_dances.h"
#endif // TAP_DANCE_ENABLE
#if defined(RGB_MATRIX_ENABLE)
# include "rgb_matrix_user.h"
#endif
#if defined(RGBLIGHT_ENABLE)
# include "rgb_lighting_user.h"
#endif
#if defined(KEYBOARD_lily58_rev1) & defined(PROTOCOL_LUFA)
# include "lufa.h"
# include "split_util.h"
#endif
/* Define layer names */
enum userspace_layers {
#if defined(ENABLE_QWERTY)
_QWERTY,
#endif
#if defined(ENABLE_COLEMAK)
_COLEMAK,
#endif
#if defined(ENABLE_DVORAK)
_DVORAK,
#endif
#if defined(ENABLE_WORKMAN)
_WORKMAN,
#endif
_MODS,
_LOWER,
_RAISE,
_ADJUST,
};
void matrix_init_keymap(void);
void shutdown_keymap(void);
void suspend_power_down_keymap(void);
void suspend_wakeup_init_keymap(void);
void matrix_scan_keymap(void);
layer_state_t layer_state_set_keymap(layer_state_t state);
layer_state_t default_layer_state_set_keymap(layer_state_t state);
void led_set_keymap(uint8_t usb_led);
void eeconfig_init_keymap(void);
// clang-format off
typedef union {
uint32_t raw;
struct {
bool rgb_layer_change :1;
bool nuke_switch :1;
bool rgb_matrix_idle_anim :1;
};
} userspace_config_t;
// clang-format on
extern userspace_config_t userspace_config;