diff options
author | Toni <jeder@mail1a.de> | 2016-08-15 19:48:53 +0200 |
---|---|---|
committer | Toni <jeder@mail1a.de> | 2016-08-15 19:48:53 +0200 |
commit | 5ecebc3a66946ac7579bcd3afdacdb61387412d1 (patch) | |
tree | c1c33b775064ee43a34e81ad859e5111975786e9 /quantum/process_keycode/process_unicode.h | |
parent | 5705a403205c0c1e7c585e1a2edda21e79134ee6 (diff) | |
parent | cc7acfb416d446a123d10d2c33c3344f1f684f1b (diff) | |
download | firmware-5ecebc3a66946ac7579bcd3afdacdb61387412d1.tar.gz firmware-5ecebc3a66946ac7579bcd3afdacdb61387412d1.tar.bz2 firmware-5ecebc3a66946ac7579bcd3afdacdb61387412d1.zip |
Merge remote-tracking branch 'origin/master' into iso_split_rshift
no idea what is merged
Diffstat (limited to 'quantum/process_keycode/process_unicode.h')
-rw-r--r-- | quantum/process_keycode/process_unicode.h | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/quantum/process_keycode/process_unicode.h b/quantum/process_keycode/process_unicode.h index ca17f8f66..85364e8eb 100644 --- a/quantum/process_keycode/process_unicode.h +++ b/quantum/process_keycode/process_unicode.h @@ -8,10 +8,46 @@ #define UC_WIN 2 #define UC_BSD 3 +#ifndef UNICODE_TYPE_DELAY +#define UNICODE_TYPE_DELAY 10 +#endif + void set_unicode_input_mode(uint8_t os_target); +void unicode_input_start(void); +void unicode_input_finish(void); +void register_hex(uint16_t hex); bool process_unicode(uint16_t keycode, keyrecord_t *record); +#ifdef UCIS_ENABLE +#ifndef UCIS_MAX_SYMBOL_LENGTH +#define UCIS_MAX_SYMBOL_LENGTH 32 +#endif + +typedef struct { + char *symbol; + char *code; +} qk_ucis_symbol_t; + +struct { + uint8_t count; + uint16_t codes[UCIS_MAX_SYMBOL_LENGTH]; + bool in_progress:1; +} qk_ucis_state; + +#define UCIS_TABLE(...) {__VA_ARGS__, {NULL, NULL}} +#define UCIS_SYM(name, code) {name, #code} + +extern const qk_ucis_symbol_t ucis_symbol_table[]; + +void qk_ucis_start(void); +void qk_ucis_start_user(void); +void qk_ucis_symbol_fallback (void); +void register_ucis(const char *hex); +bool process_ucis (uint16_t keycode, keyrecord_t *record); + +#endif + #define UC_BSPC UC(0x0008) #define UC_SPC UC(0x0020) @@ -119,4 +155,4 @@ bool process_unicode(uint16_t keycode, keyrecord_t *record); #define UC_TILD UC(0x007E) #define UC_DEL UC(0x007F) -#endif
\ No newline at end of file +#endif |