bool process_steno(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case QK_STENO_BOLT: if (IS_PRESSED(record->event)) { steno_set_mode(STENO_MODE_BOLT); } return false; case QK_STENO_GEMINI: if (IS_PRESSED(record->event)) { steno_set_mode(STENO_MODE_GEMINI); } return false; case STN__MIN...STN__MAX: if (IS_PRESSED(record->event)) { uint8_t key = keycode - QK_STENO; ++pressed; switch(mode) { case STENO_MODE_BOLT: return update_state_bolt(key); case STENO_MODE_GEMINI: return update_state_gemini(key); default: return false; } } else { --pressed; if (pressed <= 0) { pressed = 0; switch(mode) { case STENO_MODE_BOLT: return send_state_bolt(); case STENO_MODE_GEMINI: return send_state_gemini(); default: return false; } } } } return true; }
// Runs just one time when the keyboard initializes. void matrix_init_user(void) { steno_set_mode(STENO_MODE_BOLT); };
void matrix_init_user() { steno_set_mode(STENO_MODE_GEMINI); }