diff options
| author | Damien <Dbroqua@users.noreply.github.com> | 2017-03-05 22:58:13 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-05 22:58:13 +0100 |
| commit | 24ec8f509703cbaf9de7b41d251dbb7fcd339559 (patch) | |
| tree | 90f4f9adf406d92c6817c412256904a97c716daf /quantum/process_keycode/process_ucis.h | |
| parent | b7b94bfb132aa5f2f79b587fcfa6b1197485db27 (diff) | |
| parent | 615bfc4eca8204b73c592a076ca02aeaeceb7e1e (diff) | |
| download | qmk_firmware-24ec8f509703cbaf9de7b41d251dbb7fcd339559.tar.gz qmk_firmware-24ec8f509703cbaf9de7b41d251dbb7fcd339559.zip | |
Merge pull request #18 from qmk/master
Merge from qmk
Diffstat (limited to 'quantum/process_keycode/process_ucis.h')
| -rw-r--r-- | quantum/process_keycode/process_ucis.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/quantum/process_keycode/process_ucis.h b/quantum/process_keycode/process_ucis.h new file mode 100644 index 000000000..4332f57b3 --- /dev/null +++ b/quantum/process_keycode/process_ucis.h | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | #ifndef PROCESS_UCIS_H | ||
| 2 | #define PROCESS_UCIS_H | ||
| 3 | |||
| 4 | #include "quantum.h" | ||
| 5 | #include "process_unicode_common.h" | ||
| 6 | |||
| 7 | #ifndef UCIS_MAX_SYMBOL_LENGTH | ||
| 8 | #define UCIS_MAX_SYMBOL_LENGTH 32 | ||
| 9 | #endif | ||
| 10 | |||
| 11 | typedef struct { | ||
| 12 | char *symbol; | ||
| 13 | char *code; | ||
| 14 | } qk_ucis_symbol_t; | ||
| 15 | |||
| 16 | typedef struct { | ||
| 17 | uint8_t count; | ||
| 18 | uint16_t codes[UCIS_MAX_SYMBOL_LENGTH]; | ||
| 19 | bool in_progress:1; | ||
| 20 | } qk_ucis_state_t; | ||
| 21 | |||
| 22 | extern qk_ucis_state_t qk_ucis_state; | ||
| 23 | |||
| 24 | #define UCIS_TABLE(...) {__VA_ARGS__, {NULL, NULL}} | ||
| 25 | #define UCIS_SYM(name, code) {name, #code} | ||
| 26 | |||
| 27 | extern const qk_ucis_symbol_t ucis_symbol_table[]; | ||
| 28 | |||
| 29 | void qk_ucis_start(void); | ||
| 30 | void qk_ucis_start_user(void); | ||
| 31 | void qk_ucis_symbol_fallback (void); | ||
| 32 | void register_ucis(const char *hex); | ||
| 33 | bool process_ucis (uint16_t keycode, keyrecord_t *record); | ||
| 34 | |||
| 35 | #endif | ||
