X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=quantum%2Fquantum.h;h=e6adf974aba58aa006a876c58d00f2d19d6099c7;hb=fe001d46fd06924bb81fe8d506f5be8894db3df0;hp=d4da772890eca8f5b763f6112720bef6c196d767;hpb=76e36a787a58ad0e72fac579e4a02aa66ce26be1;p=qmk_firmware.git diff --git a/quantum/quantum.h b/quantum/quantum.h index d4da77289..e6adf974a 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -1,28 +1,32 @@ #ifndef QUANTUM_H #define QUANTUM_H +#if defined(__AVR__) +#include +#include +#include +#endif +#include "wait.h" #include "matrix.h" -#include "keymap_common.h" +#include "keymap.h" #ifdef BACKLIGHT_ENABLE #include "backlight.h" #endif #ifdef RGBLIGHT_ENABLE #include "rgblight.h" #endif -#ifdef AUDIO_ENABLE - #include "audio.h" -#endif -#ifdef MIDI_ENABLE - #include -#endif -#ifdef UNICODE_ENABLE - #include "unicode.h" -#endif #include "action_layer.h" #include "eeconfig.h" #include -#include +#include "bootloader.h" +#include "timer.h" +#include "config_common.h" +#include "led.h" +#include "action_util.h" +#include +#include "print.h" + extern uint32_t default_layer_state; @@ -30,43 +34,91 @@ extern uint32_t default_layer_state; extern uint32_t layer_state; #endif +#ifdef MIDI_ENABLE + #include + #include "process_midi.h" +#endif + #ifdef AUDIO_ENABLE - bool music_activated; + #include "audio.h" + #include "process_music.h" #endif -#ifdef UNICODE_ENABLE - #define UC_OSX 0 - #define UC_LNX 1 - #define UC_WIN 2 - #define UC_BSD 3 +#ifndef DISABLE_LEADER + #include "process_leader.h" +#endif - void set_unicode_input_mode(uint8_t os_target); +#define DISABLE_CHORDING +#ifndef DISABLE_CHORDING + #include "process_chording.h" #endif -#ifndef DISABLE_LEADER - void leader_start(void); - void leader_end(void); - - #ifndef LEADER_TIMEOUT - #define LEADER_TIMEOUT 200 - #endif - #define SEQ_ONE_KEY(key) if (leader_sequence[0] == (key) && leader_sequence[1] == 0 && leader_sequence[2] == 0) - #define SEQ_TWO_KEYS(key1, key2) if (leader_sequence[0] == (key1) && leader_sequence[1] == (key2) && leader_sequence[2] == 0) - #define SEQ_THREE_KEYS(key1, key2, key3) if (leader_sequence[0] == (key1) && leader_sequence[1] == (key2) && leader_sequence[2] == (key3)) - - #define LEADER_EXTERNS() extern bool leading; extern uint16_t leader_time; extern uint16_t leader_sequence[3]; extern uint8_t leader_sequence_size - #define LEADER_DICTIONARY() if (leading && timer_elapsed(leader_time) > LEADER_TIMEOUT) +#ifdef UNICODE_ENABLE + #include "process_unicode.h" #endif +#include "process_tap_dance.h" + +#ifdef PRINTING_ENABLE + #include "process_printer.h" +#endif + +#define SEND_STRING(str) send_string(PSTR(str)) +void send_string(const char *str); + +// For tri-layer +void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3); + +void tap_random_base64(void); + +#define IS_LAYER_ON(layer) (layer_state & (1UL << (layer))) +#define IS_LAYER_OFF(layer) (~layer_state & (1UL << (layer))) + void matrix_init_kb(void); void matrix_scan_kb(void); +void matrix_init_user(void); +void matrix_scan_user(void); 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); + +void reset_keyboard(void); -bool is_music_on(void); -void music_toggle(void); -void music_on(void); -void music_off(void); +void startup_user(void); +void shutdown_user(void); -void music_on_user(void); +void register_code16 (uint16_t code); +void unregister_code16 (uint16_t code); + +#ifdef BACKLIGHT_ENABLE +void backlight_init_ports(void); -#endif \ No newline at end of file +#ifdef BACKLIGHT_BREATHING +void breathing_enable(void); +void breathing_pulse(void); +void breathing_disable(void); +void breathing_self_disable(void); +void breathing_toggle(void); +bool is_breathing(void); + +void breathing_defaults(void); +void breathing_intensity_default(void); +void breathing_speed_default(void); +void breathing_speed_set(uint8_t value); +void breathing_speed_inc(uint8_t value); +void breathing_speed_dec(uint8_t value); +#endif + +#endif +void send_dword(uint32_t number); +void send_word(uint16_t number); +void send_byte(uint8_t number); +void send_nibble(uint8_t number); + + +void led_set_user(uint8_t usb_led); +void led_set_kb(uint8_t usb_led); + +void api_send_unicode(uint32_t unicode); + +#endif