diff options
Diffstat (limited to 'docs/feature_send_string.md')
| -rw-r--r-- | docs/feature_send_string.md | 60 | 
1 files changed, 30 insertions, 30 deletions
| diff --git a/docs/feature_send_string.md b/docs/feature_send_string.md index 67df0224e9..7d3f3ba32a 100644 --- a/docs/feature_send_string.md +++ b/docs/feature_send_string.md @@ -1,4 +1,4 @@ -# Send String +# Send String :id=send-string  The Send String API is part of QMK's macro system. It allows for sequences of keystrokes to be sent automatically. @@ -6,7 +6,7 @@ The full ASCII character set is supported, along with all of the keycodes in the  ?> Unicode characters are **not** supported with this API -- see the [Unicode](feature_unicode.md) feature instead. -## Usage +## Usage :id=usage  Send String is enabled by default, so there is usually no need for any special setup. However, if it is disabled, add the following to your `rules.mk`: @@ -14,7 +14,7 @@ Send String is enabled by default, so there is usually no need for any special s  SEND_STRING_ENABLE = yes  ``` -## Basic Configuration +## Basic Configuration :id=basic-configuration  Add the following to your `config.h`: @@ -23,7 +23,7 @@ Add the following to your `config.h`:  |`SENDSTRING_BELL`|*Not defined*   |If the [Audio](feature_audio.md) feature is enabled, the `\a` character (ASCII `BEL`) will beep the speaker.|  |`BELL_SOUND`     |`TERMINAL_SOUND`|The song to play when the `\a` character is encountered. By default, this is an eighth note of C5.          | -## Keycodes +## Keycodes :id=keycodes  The Send String functions accept C string literals, but specific keycodes can be injected with the below macros. All of the keycodes in the [Basic Keycode range](keycodes_basic.md) are supported (as these are the only ones that will actually be sent to the host), but with an `X_` prefix instead of `KC_`. @@ -44,13 +44,13 @@ The following characters are also mapped to their respective keycodes for conven  |`\t`     |`\x1B`|`TAB`|`KC_TAB`      |  |         |`\x7F`|`DEL`|`KC_DELETE`   | -### Language Support +### Language Support :id=language-support  By default, Send String assumes your OS keyboard layout is set to US ANSI. If you are using a different keyboard layout, you can [override the lookup tables used to convert ASCII characters to keystrokes](reference_keymap_extras.md#sendstring-support). -## Examples +## Examples :id=examples -### Hello World +### Hello World :id=example-hello-world  A simple custom keycode which types out "Hello, world!" and the Enter key when pressed. @@ -70,7 +70,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {  }  ``` -### Keycode Injection +### Keycode Injection :id=example-keycode-injection  This example types out opening and closing curly braces, then taps the left arrow key to move the cursor between the two. @@ -84,26 +84,26 @@ This example types Ctrl+A, then Ctrl+C, without releasing Ctrl.  SEND_STRING(SS_LCTL("ac"));  ``` -## API +## API :id=api -### `void send_string(const char *string)` +### `void send_string(const char *string)` :id=api-send-string  Type out a string of ASCII characters.  This function simply calls `send_string_with_delay(string, 0)`. -#### Arguments +#### Arguments :id=api-send-string-arguments   - `const char *string`       The string to type out.  --- -### `void send_string_with_delay(const char *string, uint8_t interval)` +### `void send_string_with_delay(const char *string, uint8_t interval)` :id=api-send-string-with-delay  Type out a string of ASCII characters, with a delay between each character. -#### Arguments +#### Arguments :id=api-send-string-with-delay-arguments   - `const char *string`       The string to type out. @@ -112,26 +112,26 @@ Type out a string of ASCII characters, with a delay between each character.  --- -### `void send_string_P(const char *string)` +### `void send_string_P(const char *string)` :id=api-send-string-p  Type out a PROGMEM string of ASCII characters.  On ARM devices, this function is simply an alias for `send_string_with_delay(string, 0)`. -#### Arguments +#### Arguments :id=api-send-string-p-arguments   - `const char *string`       The string to type out.  --- -### `void send_string_with_delay_P(const char *string, uint8_t interval)` +### `void send_string_with_delay_P(const char *string, uint8_t interval)` :id=api-send-string-with-delay-p  Type out a PROGMEM string of ASCII characters, with a delay between each character.  On ARM devices, this function is simply an alias for `send_string_with_delay(string, interval)`. -#### Arguments +#### Arguments :id=api-send-string-with-delay-p-arguments   - `const char *string`       The string to type out. @@ -140,76 +140,76 @@ On ARM devices, this function is simply an alias for `send_string_with_delay(str  --- -### `void send_char(char ascii_code)` +### `void send_char(char ascii_code)` :id=api-send-char  Type out an ASCII character. -#### Arguments +#### Arguments :id=api-send-char-arguments   - `char ascii_code`       The character to type.  --- -### `void send_dword(uint32_t number)` +### `void send_dword(uint32_t number)` :id=api-send-dword  Type out an eight digit (unsigned 32-bit) hexadecimal value.  The format is `[0-9a-f]{8}`, eg. `00000000` through `ffffffff`. -#### Arguments +#### Arguments :id=api-send-dword-arguments   - `uint32_t number`       The value to type, from 0 to 4,294,967,295.  --- -### `void send_word(uint16_t number)` +### `void send_word(uint16_t number)` :id=api-send-word  Type out a four digit (unsigned 16-bit) hexadecimal value.  The format is `[0-9a-f]{4}`, eg. `0000` through `ffff`. -#### Arguments +#### Arguments :id=api-send-word-arguments   - `uint16_t number`       The value to type, from 0 to 65,535.  --- -### `void send_byte(uint8_t number)` +### `void send_byte(uint8_t number)` :id=api-send-bytes  Type out a two digit (8-bit) hexadecimal value.  The format is `[0-9a-f]{2}`, eg. `00` through `ff`. -#### Arguments +#### Arguments :id=api-send-byte-arguments   - `uint8_t number`       The value to type, from 0 to 255.  --- -### `void send_nibble(uint8_t number)` +### `void send_nibble(uint8_t number)` :id=api-send-nibble  Type out a single hexadecimal digit.  The format is `[0-9a-f]{1}`, eg. `0` through `f`. -#### Arguments +#### Arguments :id=api-send-nibble-arguments   - `uint8_t number`       The value to type, from 0 to 15.  --- -### `void tap_random_base64(void)` +### `void tap_random_base64(void)` :id=api-tap-random-base64  Type a pseudorandom character from the set `A-Z`, `a-z`, `0-9`, `+` and `/`.  --- -### `SEND_STRING(string)` +### `SEND_STRING(string)` :id=api-send-string-macro  Shortcut macro for `send_string_with_delay_P(PSTR(string), 0)`. @@ -217,7 +217,7 @@ On ARM devices, this define evaluates to `send_string_with_delay(string, 0)`.  --- -### `SEND_STRING_DELAY(string, interval)` +### `SEND_STRING_DELAY(string, interval)` :id=api-send-string-delay-macro  Shortcut macro for `send_string_with_delay_P(PSTR(string), interval)`. | 
