summary refs log tree commit diff
path: root/quantum/process_keycode/process_steno.c
diff options
context:
space:
mode:
authorskullY <skullydazed@gmail.com>2019-08-30 11:19:03 -0700
committerskullydazed <skullydazed@users.noreply.github.com>2019-08-30 15:01:52 -0700
commitb624f32f944acdc59dcb130674c09090c5c404cb (patch)
treebc13adbba137d122d9a2c2fb2fafcbb08ac10e25 /quantum/process_keycode/process_steno.c
parent61af76a10d00aba185b8338604171de490a13e3b (diff)
clang-format changes
Diffstat (limited to 'quantum/process_keycode/process_steno.c')
-rw-r--r--quantum/process_keycode/process_steno.c208
1 files changed, 97 insertions, 111 deletions
diff --git a/quantum/process_keycode/process_steno.c b/quantum/process_keycode/process_steno.c
index 50a1ef2fcf..e0b33ec861 100644
--- a/quantum/process_keycode/process_steno.c
+++ b/quantum/process_keycode/process_steno.c
@@ -58,150 +58,136 @@
 #define GEMINI_STATE_SIZE 6
 #define MAX_STATE_SIZE GEMINI_STATE_SIZE
 
-static uint8_t state[MAX_STATE_SIZE] = {0};
-static uint8_t chord[MAX_STATE_SIZE] = {0};
-static int8_t pressed = 0;
+static uint8_t      state[MAX_STATE_SIZE] = {0};
+static uint8_t      chord[MAX_STATE_SIZE] = {0};
+static int8_t       pressed               = 0;
 static steno_mode_t mode;
 
-static const uint8_t boltmap[64] PROGMEM = {
-  TXB_NUL, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM,
-  TXB_S_L, TXB_S_L, TXB_T_L, TXB_K_L, TXB_P_L, TXB_W_L, TXB_H_L,
-  TXB_R_L, TXB_A_L, TXB_O_L, TXB_STR, TXB_STR, TXB_NUL, TXB_NUL,
-  TXB_NUL, TXB_STR, TXB_STR, TXB_E_R, TXB_U_R, TXB_F_R, TXB_R_R,
-  TXB_P_R, TXB_B_R, TXB_L_R, TXB_G_R, TXB_T_R, TXB_S_R, TXB_D_R,
-  TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_Z_R
-};
+static const uint8_t boltmap[64] PROGMEM = {TXB_NUL, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_S_L, TXB_S_L, TXB_T_L, TXB_K_L, TXB_P_L, TXB_W_L, TXB_H_L, TXB_R_L, TXB_A_L, TXB_O_L, TXB_STR, TXB_STR, TXB_NUL, TXB_NUL, TXB_NUL, TXB_STR, TXB_STR, TXB_E_R, TXB_U_R, TXB_F_R, TXB_R_R, TXB_P_R, TXB_B_R, TXB_L_R, TXB_G_R, TXB_T_R, TXB_S_R, TXB_D_R, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_NUM, TXB_Z_R};
 
 static void steno_clear_state(void) {
-  memset(state, 0, sizeof(state));
-  memset(chord, 0, sizeof(chord));
+    memset(state, 0, sizeof(state));
+    memset(chord, 0, sizeof(chord));
 }
 
 static void send_steno_state(uint8_t size, bool send_empty) {
-  for (uint8_t i = 0; i < size; ++i) {
-    if (chord[i] || send_empty) {
-      virtser_send(chord[i]);
+    for (uint8_t i = 0; i < size; ++i) {
+        if (chord[i] || send_empty) {
+            virtser_send(chord[i]);
+        }
     }
-  }
 }
 
 void steno_init() {
-  if (!eeconfig_is_enabled()) {
-    eeconfig_init();
-  }
-  mode = eeprom_read_byte(EECONFIG_STENOMODE);
+    if (!eeconfig_is_enabled()) {
+        eeconfig_init();
+    }
+    mode = eeprom_read_byte(EECONFIG_STENOMODE);
 }
 
 void steno_set_mode(steno_mode_t new_mode) {
-  steno_clear_state();
-  mode = new_mode;
-  eeprom_update_byte(EECONFIG_STENOMODE, mode);
+    steno_clear_state();
+    mode = new_mode;
+    eeprom_update_byte(EECONFIG_STENOMODE, mode);
 }
 
 /* override to intercept chords right before they get sent.
  * return zero to suppress normal sending behavior.
  */
-__attribute__ ((weak))
-bool send_steno_chord_user(steno_mode_t mode, uint8_t chord[6]) { return true; }
+__attribute__((weak)) bool send_steno_chord_user(steno_mode_t mode, uint8_t chord[6]) { return true; }
 
-__attribute__ ((weak))
-bool postprocess_steno_user(uint16_t keycode, keyrecord_t *record, steno_mode_t mode, uint8_t chord[6], int8_t pressed) { return true; }
+__attribute__((weak)) bool postprocess_steno_user(uint16_t keycode, keyrecord_t *record, steno_mode_t mode, uint8_t chord[6], int8_t pressed) { return true; }
 
-__attribute__ ((weak))
-bool process_steno_user(uint16_t keycode, keyrecord_t *record) { return true; }
+__attribute__((weak)) bool process_steno_user(uint16_t keycode, keyrecord_t *record) { return true; }
 
 static void send_steno_chord(void) {
-  if (send_steno_chord_user(mode, chord)) {
-    switch(mode) {
-      case STENO_MODE_BOLT:
-        send_steno_state(BOLT_STATE_SIZE, false);
-        virtser_send(0); // terminating byte
-        break;
-      case STENO_MODE_GEMINI:
-        chord[0] |= 0x80; // Indicate start of packet
-        send_steno_state(GEMINI_STATE_SIZE, true);
-        break;
+    if (send_steno_chord_user(mode, chord)) {
+        switch (mode) {
+            case STENO_MODE_BOLT:
+                send_steno_state(BOLT_STATE_SIZE, false);
+                virtser_send(0);  // terminating byte
+                break;
+            case STENO_MODE_GEMINI:
+                chord[0] |= 0x80;  // Indicate start of packet
+                send_steno_state(GEMINI_STATE_SIZE, true);
+                break;
+        }
     }
-  }
-  steno_clear_state();
+    steno_clear_state();
 }
 
-uint8_t *steno_get_state(void) {
-  return &state[0];
-}
+uint8_t *steno_get_state(void) { return &state[0]; }
 
-uint8_t *steno_get_chord(void) {
-  return &chord[0];
-}
+uint8_t *steno_get_chord(void) { return &chord[0]; }
 
 static bool update_state_bolt(uint8_t key, bool press) {
-  uint8_t boltcode = pgm_read_byte(boltmap + key);
-  if (press) {
-    state[TXB_GET_GROUP(boltcode)] |= boltcode;
-    chord[TXB_GET_GROUP(boltcode)] |= boltcode;
-  } else {
-    state[TXB_GET_GROUP(boltcode)] &= ~boltcode;
-  }
-  return false;
+    uint8_t boltcode = pgm_read_byte(boltmap + key);
+    if (press) {
+        state[TXB_GET_GROUP(boltcode)] |= boltcode;
+        chord[TXB_GET_GROUP(boltcode)] |= boltcode;
+    } else {
+        state[TXB_GET_GROUP(boltcode)] &= ~boltcode;
+    }
+    return false;
 }
 
 static bool update_state_gemini(uint8_t key, bool press) {
-  int idx = key / 7;
-  uint8_t bit = 1 << (6 - (key % 7));
-  if (press) {
-    state[idx] |= bit;
-    chord[idx] |= bit;
-  } else {
-    state[idx] &= ~bit;
-  }
-  return false;
+    int     idx = key / 7;
+    uint8_t bit = 1 << (6 - (key % 7));
+    if (press) {
+        state[idx] |= bit;
+        chord[idx] |= bit;
+    } else {
+        state[idx] &= ~bit;
+    }
+    return false;
 }
 
 bool process_steno(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case QK_STENO_BOLT:
-      if (!process_steno_user(keycode, record)) {
-        return false;
-      }
-      if (IS_PRESSED(record->event)) {
-        steno_set_mode(STENO_MODE_BOLT);
-      }
-      return false;
-
-    case QK_STENO_GEMINI:
-      if (!process_steno_user(keycode, record)) {
-        return false;
-      }
-      if (IS_PRESSED(record->event)) {
-        steno_set_mode(STENO_MODE_GEMINI);
-      }
-      return false;
-
-    case STN__MIN...STN__MAX:
-      if (!process_steno_user(keycode, record)) {
-        return false;
-      }
-      switch(mode) {
-        case STENO_MODE_BOLT:
-          update_state_bolt(keycode - QK_STENO, IS_PRESSED(record->event));
-          break;
-        case STENO_MODE_GEMINI:
-          update_state_gemini(keycode - QK_STENO, IS_PRESSED(record->event));
-          break;
-      }
-      // allow postprocessing hooks
-      if (postprocess_steno_user(keycode, record, mode, chord, pressed)) {
-        if (IS_PRESSED(record->event)) {
-          ++pressed;
-        } else {
-          --pressed;
-          if (pressed <= 0) {
-            pressed = 0;
-            send_steno_chord();
-          }
-        }
-      }
-      return false;
-  }
-  return true;
+    switch (keycode) {
+        case QK_STENO_BOLT:
+            if (!process_steno_user(keycode, record)) {
+                return false;
+            }
+            if (IS_PRESSED(record->event)) {
+                steno_set_mode(STENO_MODE_BOLT);
+            }
+            return false;
+
+        case QK_STENO_GEMINI:
+            if (!process_steno_user(keycode, record)) {
+                return false;
+            }
+            if (IS_PRESSED(record->event)) {
+                steno_set_mode(STENO_MODE_GEMINI);
+            }
+            return false;
+
+        case STN__MIN ... STN__MAX:
+            if (!process_steno_user(keycode, record)) {
+                return false;
+            }
+            switch (mode) {
+                case STENO_MODE_BOLT:
+                    update_state_bolt(keycode - QK_STENO, IS_PRESSED(record->event));
+                    break;
+                case STENO_MODE_GEMINI:
+                    update_state_gemini(keycode - QK_STENO, IS_PRESSED(record->event));
+                    break;
+            }
+            // allow postprocessing hooks
+            if (postprocess_steno_user(keycode, record, mode, chord, pressed)) {
+                if (IS_PRESSED(record->event)) {
+                    ++pressed;
+                } else {
+                    --pressed;
+                    if (pressed <= 0) {
+                        pressed = 0;
+                        send_steno_chord();
+                    }
+                }
+            }
+            return false;
+    }
+    return true;
 }