diff options
author | Jack Humbert <jack.humb@gmail.com> | 2017-09-12 00:43:10 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-12 00:43:10 -0400 |
commit | 7ad924bae5519e981c57495e481db62741aa4376 (patch) | |
tree | e07575ee363f68b70579cda8e54eebcbd55d4127 /quantum/quantum.h | |
parent | a4ff8b91f74df9fb1d87f52c0ded23935344d2eb (diff) | |
download | qmk_firmware-7ad924bae5519e981c57495e481db62741aa4376.tar.gz |
Updates send_string functionality, adds terminal feature (#1657)
* implement basic terminal stuff
* modify send_string to read normal strings too
* add files bc yeah. working pgm detected
* pgm detection apparently not working
* adds send string keycodes, additional keycode support in send string
* implement arguments
* [terminal] add help command
* [terminal] adds keycode and keymap functions
* [terminal] adds nop.h, documentation
* update macro docs
Diffstat (limited to 'quantum/quantum.h')
-rw-r--r-- | quantum/quantum.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/quantum/quantum.h b/quantum/quantum.h index 9a6d691a1..f3333a002 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -40,7 +40,7 @@ #include "action_util.h" #include <stdlib.h> #include "print.h" - +#include "send_string_keycodes.h" extern uint32_t default_layer_state; @@ -103,11 +103,32 @@ extern uint32_t default_layer_state; #include "process_key_lock.h" #endif -#define SEND_STRING(str) send_string(PSTR(str)) +#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_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT) + +#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); |