mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-28 11:47:32 +06:00
be9f6e679b
Co-authored-by: Alex Kagno <alex@turncommerce.com>
106 lines
1.8 KiB
C
106 lines
1.8 KiB
C
#pragma once
|
|
|
|
#include QMK_KEYBOARD_H
|
|
|
|
#define EECONFIG_USERSPACE (uint8_t *)20
|
|
|
|
#define SYMBOL MO(_SYMBOL)
|
|
#define MEDIA MO(_MEDIA)
|
|
#define ARROW MO(_ARROW)
|
|
#define FUNCT MO(_FUNCT)
|
|
#define KEEB MO(_KEEB)
|
|
#define HITBOX TT(_HITBOX)
|
|
|
|
#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,
|
|
_HITBOX,
|
|
};
|
|
|
|
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,
|
|
};
|
|
|
|
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[]);
|