 ef6802ca60
			
		
	
	
		ef6802ca60
		
			
		
	
	
	
	
		
			
			Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Alex <alex@turncommerce.com>
		
			
				
	
	
		
			110 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include QMK_KEYBOARD_H
 | |
| 
 | |
| #define EECONFIG_USERSPACE (uint8_t *)20
 | |
| 
 | |
| #define SYMBOL      MO(1)
 | |
| #define MEDIA       MO(2)
 | |
| #define ARROW       MO(3)
 | |
| #define FUNCT       MO(4)
 | |
| #define KEEB        MO(5)
 | |
| 
 | |
| #define L_BIT_MEH   MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT) | MOD_BIT(KC_LSFT)
 | |
| #define L_BIT_HYPR  MOD_BIT(KC_LCTL) | MOD_BIT(KC_LGUI) | MOD_BIT(KC_LALT) | MOD_BIT(KC_LSFT)
 | |
| 
 | |
| #define LED_FLASH_DELAY       150
 | |
| 
 | |
| #define ACCEL_DELAY           500
 | |
| #define DEACCEL_DELAY         500
 | |
| 
 | |
| #define INACTIVE_DELAY        250
 | |
| #define SLEEP_DELAY           180000
 | |
| 
 | |
| #define HUE_MAX               254
 | |
| 
 | |
| enum {
 | |
|   _QWERTY = 0,
 | |
|   _SYMBOL,
 | |
|   _MEDIA,
 | |
|   _ARROW,
 | |
|   _FUNCT,
 | |
|   _KEEB,
 | |
| };
 | |
| 
 | |
| typedef enum {
 | |
|   OS_MAC, // Don't assign values
 | |
|   OS_WIN,
 | |
|   OS_NIX,
 | |
|   _OS_COUNT,
 | |
| } OS;
 | |
| 
 | |
| typedef struct {
 | |
|   uint16_t  h;
 | |
|   uint8_t   s;
 | |
|   uint8_t   v;
 | |
| } Color;
 | |
| 
 | |
| typedef enum {
 | |
|   no_flash = 0,
 | |
|   flash_off,
 | |
|   flash_on,
 | |
| } flashState;
 | |
| 
 | |
| typedef enum {
 | |
|   add_fade = 0,
 | |
|   sub_fade,
 | |
| } fadeState;
 | |
| 
 | |
| typedef enum {
 | |
|   active = 0,
 | |
|   inactive,
 | |
|   boot,
 | |
| } activityState;
 | |
| 
 | |
| enum custom_keycodes {
 | |
|   M_PMOD = SAFE_RANGE,
 | |
|   M_SMOD,
 | |
|   M_OS,
 | |
|   M_DASH,
 | |
|   M_USSR,
 | |
|   M_EHYPR,
 | |
|   M_LMHYP,
 | |
|   M_SFTY,
 | |
|   M_AEST,
 | |
| };
 | |
| 
 | |
| void velocikey_accelerate(void);
 | |
| void velocikey_decelerate(void);
 | |
| uint8_t velocikey_match_speed(uint8_t minValue, uint8_t maxValue);
 | |
| 
 | |
| void set_color (Color new, bool update);
 | |
| void save_color(Color to_save);
 | |
| void reset_color(void);
 | |
| 
 | |
| Color mod_color(Color current_color, bool should_add, uint8_t change_amount);
 | |
| 
 | |
| void reverse_fade (void);
 | |
| 
 | |
| void check_state (void);
 | |
| 
 | |
| void fade_rgb (void);
 | |
| 
 | |
| void flash_rgb (void);
 | |
| 
 | |
| void set_os (uint8_t os, bool update);
 | |
| 
 | |
| void tap_key(uint8_t keycode);
 | |
| 
 | |
| void pri_mod(bool press);
 | |
| 
 | |
| void sec_mod(bool press);
 | |
| 
 | |
| void meh_hyper(bool press);
 | |
| 
 | |
| void multi_tap(uint8_t num_of_chars, uint16_t keycode, bool use_shift);
 | |
| 
 | |
| void surround_type(uint8_t num_of_chars, uint16_t keycode, bool use_shift);
 | |
| void pair_surround_type(uint8_t num_of_chars, uint16_t keycode, bool use_shift);
 | |
| 
 | |
| void long_keystroke(size_t num_of_keys, uint16_t keys[]);
 |