aboutsummaryrefslogtreecommitdiff
path: root/keyboards/cipulot/common/ec_switch_matrix.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/cipulot/common/ec_switch_matrix.h')
-rw-r--r--keyboards/cipulot/common/ec_switch_matrix.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/keyboards/cipulot/common/ec_switch_matrix.h b/keyboards/cipulot/common/ec_switch_matrix.h
index 4b424911da..8fbca372bf 100644
--- a/keyboards/cipulot/common/ec_switch_matrix.h
+++ b/keyboards/cipulot/common/ec_switch_matrix.h
@@ -37,11 +37,13 @@ typedef struct {
uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0
uint16_t mode_0_release_threshold; // threshold for key release in mode 0
uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 (initial deadzone)
+ uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255)
+ uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255)
uint16_t rescaled_mode_0_actuation_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 0 rescaled to actual scale
uint16_t rescaled_mode_0_release_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key release in mode 0 rescaled to actual scale
uint16_t rescaled_mode_1_initial_deadzone_offset[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 1 (initial deadzone) rescaled to actual scale
- uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255)
- uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255)
+ uint8_t rescaled_mode_1_actuation_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key press in mode 1 rescaled to actual scale
+ uint8_t rescaled_mode_1_release_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key release in mode 1 rescaled to actual scale
uint16_t extremum[MATRIX_ROWS][MATRIX_COLS]; // extremum values for mode 1
uint16_t noise_floor[MATRIX_ROWS][MATRIX_COLS]; // noise floor detected during startup
bool bottoming_calibration; // calibration mode for bottoming out values (true: calibration mode, false: normal mode)
@@ -58,6 +60,7 @@ extern ec_config_t ec_config;
void init_row(void);
void init_amux(void);
+void disable_unused_row(uint8_t row);
void select_amux_channel(uint8_t channel, uint8_t col);
void disable_unused_amux(uint8_t channel);
void discharge_capacitor(void);
@@ -71,3 +74,11 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint
void ec_print_matrix(void);
uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max);
+
+#ifdef UNUSED_POSITIONS_LIST
+bool is_unused_position(uint8_t row, uint8_t col);
+#endif
+
+#ifdef SPLIT_KEYBOARD
+void via_cmd_slave_handler(uint8_t m2s_size, const void* m2s_buffer, uint8_t s2m_size, void* s2m_buffer);
+#endif