forked from mirrors/qmk_userspace
Refactor steno and add STENO_PROTOCOL = [all|txbolt|geminipr]
(#17065)
* Refactor steno into STENO_ENABLE_[ALL|GEMINI|BOLT] * Update stenography documentation * STENO_ENABLE_TXBOLT → STENO_ENABLE_BOLT TXBOLT is a better name but BOLT is more consistent with the pre-existing TX Bolt related constants, which all drop the "TX " prefix * Comments * STENO_ENABLE_[GEMINI|BOLT|ALL] → STENO_PROTOCOL = [geminipr|txbolt|all] * Add note on lacking V-USB support * Clear chord at the end of the switch(mode){send_steno_chord} block * Return true if NOEVENT * update_chord_xxx → add_xxx_key_to_chord * Enable the defines for all the protocols if STENO_PROTOCOL = all * Mention how to use `steno_set_mode` * Set the default steno protocol to "all" This is done so that existing keymaps invoking `steno_set_mode` don't all suddenly break * Add data driver equivalents for stenography feature * Document format of serial steno packets (Thanks dnaq) * Add missing comma
This commit is contained in:
parent
2239527871
commit
7060cb7b26
9 changed files with 353 additions and 183 deletions
|
@ -18,10 +18,22 @@
|
|||
|
||||
#include "quantum.h"
|
||||
|
||||
typedef enum { STENO_MODE_BOLT, STENO_MODE_GEMINI } steno_mode_t;
|
||||
#define BOLT_STROKE_SIZE 4
|
||||
#define GEMINI_STROKE_SIZE 6
|
||||
|
||||
bool process_steno(uint16_t keycode, keyrecord_t *record);
|
||||
void steno_init(void);
|
||||
void steno_set_mode(steno_mode_t mode);
|
||||
uint8_t *steno_get_state(void);
|
||||
uint8_t *steno_get_chord(void);
|
||||
#ifdef STENO_ENABLE_GEMINI
|
||||
# define MAX_STROKE_SIZE GEMINI_STROKE_SIZE
|
||||
#else
|
||||
# define MAX_STROKE_SIZE BOLT_STROKE_SIZE
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
STENO_MODE_GEMINI,
|
||||
STENO_MODE_BOLT,
|
||||
} steno_mode_t;
|
||||
|
||||
bool process_steno(uint16_t keycode, keyrecord_t *record);
|
||||
#ifdef STENO_ENABLE_ALL
|
||||
void steno_init(void);
|
||||
void steno_set_mode(steno_mode_t mode);
|
||||
#endif // STENO_ENABLE_ALL
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue