X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=quantum%2Fquantum.h;h=2958a0abd09145aa37564c480b6d3ae385d10819;hb=0592d23b74142a554c9e36d2da7bf525fbe3a4c0;hp=580d51202a429cb59914cb098f665b2d13bb6ddc;hpb=bf6f7a623dbe4e3bba4bcc6d86ac28b842226825;p=qmk_firmware.git diff --git a/quantum/quantum.h b/quantum/quantum.h index 580d51202..2958a0abd 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -1,3 +1,18 @@ +/* Copyright 2016-2017 Erez Zukerman, Jack Humbert + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #ifndef QUANTUM_H #define QUANTUM_H @@ -12,9 +27,15 @@ #ifdef BACKLIGHT_ENABLE #include "backlight.h" #endif +#if !defined(RGBLIGHT_ENABLE) && !defined(RGB_MATRIX_ENABLE) + #include "rgb.h" +#endif #ifdef RGBLIGHT_ENABLE #include "rgblight.h" #endif +#ifdef RGB_MATRIX_ENABLE + #include "rgb_matrix.h" +#endif #include "action_layer.h" #include "eeconfig.h" #include @@ -25,7 +46,7 @@ #include "action_util.h" #include #include "print.h" - +#include "send_string_keycodes.h" extern uint32_t default_layer_state; @@ -34,12 +55,24 @@ extern uint32_t default_layer_state; #endif #ifdef MIDI_ENABLE - #include +#ifdef MIDI_ADVANCED #include "process_midi.h" #endif +#endif // MIDI_ENABLE #ifdef AUDIO_ENABLE - #include "audio.h" + #include "audio.h" + #include "process_audio.h" + #ifdef AUDIO_CLICKY + #include "process_clicky.h" + #endif // AUDIO_CLICKY +#endif + +#ifdef STENO_ENABLE + #include "process_steno.h" +#endif + +#if defined(AUDIO_ENABLE) || (defined(MIDI_ENABLE) && defined(MIDI_BASIC)) #include "process_music.h" #endif @@ -70,15 +103,54 @@ extern uint32_t default_layer_state; #include "process_printer.h" #endif +#ifdef AUTO_SHIFT_ENABLE + #include "process_auto_shift.h" +#endif + #ifdef COMBO_ENABLE #include "process_combo.h" #endif -#define SEND_STRING(str) send_string(PSTR(str)) +#ifdef KEY_LOCK_ENABLE + #include "process_key_lock.h" +#endif + +#ifdef TERMINAL_ENABLE + #include "process_terminal.h" +#else + #include "process_terminal_nop.h" +#endif + +#define STRINGIZE(z) #z +#define ADD_SLASH_X(y) STRINGIZE(\x ## y) +#define SYMBOL_STR(x) ADD_SLASH_X(x) + +#define SS_TAP(keycode) "\1" SYMBOL_STR(keycode) +#define SS_DOWN(keycode) "\2" SYMBOL_STR(keycode) +#define SS_UP(keycode) "\3" SYMBOL_STR(keycode) + +#define SS_LCTRL(string) SS_DOWN(X_LCTRL) string SS_UP(X_LCTRL) +#define SS_LGUI(string) SS_DOWN(X_LGUI) string SS_UP(X_LGUI) +#define SS_LCMD(string) SS_LGUI(string) +#define SS_LWIN(string) SS_LGUI(string) +#define SS_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT) +#define SS_LSFT(string) SS_DOWN(X_LSHIFT) string SS_UP(X_LSHIFT) +#define SS_RALT(string) SS_DOWN(X_RALT) string SS_UP(X_RALT) + +#define SEND_STRING(str) send_string_P(PSTR(str)) +extern const bool ascii_to_shift_lut[0x80]; +extern const uint8_t ascii_to_keycode_lut[0x80]; void send_string(const char *str); +void send_string_with_delay(const char *str, uint8_t interval); +void send_string_P(const char *str); +void send_string_with_delay_P(const char *str, uint8_t interval); +void send_char(char ascii_code); // For tri-layer void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3); +uint32_t update_tri_layer_state(uint32_t state, uint8_t layer1, uint8_t layer2, uint8_t layer3); + +void set_single_persistent_default_layer(uint8_t default_layer); void tap_random_base64(void); @@ -103,6 +175,7 @@ void unregister_code16 (uint16_t code); #ifdef BACKLIGHT_ENABLE void backlight_init_ports(void); +void backlight_task(void); #ifdef BACKLIGHT_BREATHING void breathing_enable(void); @@ -112,12 +185,11 @@ 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); +void breathing_period_default(void); +void breathing_period_set(uint8_t value); +void breathing_period_inc(void); +void breathing_period_dec(void); #endif #endif