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