qmk_firmware/users/spidey3/spidey3.h
Joshua Diamond 07a1574732
[Keymap] Revamp spidey3 userspace and keymaps (#11768)
* Don't block keys during startup animation

* More refinements related to startup and debug state

* restore key logging

* some cleanup on scan rate reporting

* trim some fat

* better lighting to indicate jumped to bootloader

* use eeprom for state restoration

* a little reorganization

* report version immediately when turn on debug

* hold-to-adjust for hue, sat, val

* cformat

* reorg rules.mk settings, fix compile with CONSOLE_ENABLE=no

* simplify spidey3 userspace

* NULL in layer list caused buggy behavior

* more bugfix

* update numpad layout to match matt30 MT3 /dev/tty keycaps

* swap emdash and endash

* map shift+backspace to delete

* removing NO_ACTION_ONSHOT makes the firmware SMALLER ?!

* cformat

* improve spi_glow

* disable shift-backspace = delete by default
2021-02-06 13:04:25 -08:00

76 lines
1.7 KiB
C

#pragma once
#include QMK_KEYBOARD_H
#ifdef UNICODEMAP_ENABLE
# include "unicode.h"
#endif
enum userspace_layers {
_BASE = 0,
_NUMPAD,
_FN,
};
enum custom_keycodes {
SPI_GLO = SAFE_RANGE,
SPI_LNX, // Mode: Linux
SPI_OSX, // Mode: Mac
SPI_WIN, // Mode: Windows
CH_CPNL, // AL Control Panel
CH_ASST, // AL Context-aware Desktop Assistant
CH_SUSP, // Suspend
SPI_NORMAL,
SPI_WIDE,
SPI_SCRIPT,
SPI_BLOCKS,
SPI_CIRCLE,
SPI_SQUARE,
SPI_PARENS,
SPI_FRAKTR,
SPI_GFLOCK,
SPI_KP_00,
};
#ifdef RGBLIGHT_ENABLE
enum layer_base {
LAYER_BASE_DEFAULT = _BASE,
LAYER_BASE_REGULAR = _NUMPAD,
LAYER_BASE_END = _FN + 1,
};
typedef enum layer_ack {
ACK_NO = 0,
ACK_YES,
ACK_MEH,
ACK_HUH,
} layer_ack_t;
# define RGB_LAYER_ACK_DURATION 500
void eeconfig_init_user_rgb(void);
void matrix_init_user_rgb(void);
void matrix_scan_user_rgb(void);
void keyboard_post_init_user_rgb(void);
bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
layer_state_t layer_state_set_user_rgb(layer_state_t state);
layer_state_t default_layer_state_set_user_rgb(layer_state_t state);
bool led_update_user_rgb(led_t led_state);
void rgb_layer_ack(layer_ack_t n);
void rgb_layer_ack_yn(bool yn);
void clear_rgb_layers(void);
void shutdown_user_rgb(void);
#endif
#ifdef UNICODEMAP_ENABLE
void eeconfig_init_user_unicode(void);
#endif
#ifdef SPI_DEBUG_SCAN_RATE
# ifndef SPI_SCAN_RATE_INTERVAL
# define SPI_SCAN_RATE_INTERVAL 10
# endif
#endif