diff options
author | Cipulot <40441626+Cipulot@users.noreply.github.com> | 2023-07-21 02:06:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-20 18:06:46 -0600 |
commit | 422d502903c43c19007c95e6206d34f22da63092 (patch) | |
tree | fffdb1cec9f0104aa3fecaf2559fcbc944a1b2d1 /keyboards/cipulot/ec_theca/matrix.c | |
parent | 327b40f5938bb589d6ed173d8fec72f35bde7231 (diff) |
[Keyboard] Add EC Theca (#21233)
Co-authored-by: jack <0x6a73@protonmail.com>
Diffstat (limited to 'keyboards/cipulot/ec_theca/matrix.c')
-rw-r--r-- | keyboards/cipulot/ec_theca/matrix.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/keyboards/cipulot/ec_theca/matrix.c b/keyboards/cipulot/ec_theca/matrix.c new file mode 100644 index 0000000000..1850acf264 --- /dev/null +++ b/keyboards/cipulot/ec_theca/matrix.c @@ -0,0 +1,44 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "ec_switch_matrix.h" +#include "matrix.h" + +/* matrix state(1:on, 0:off) */ +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + +void matrix_init_custom(void) { + // Default values, overwritten by VIA if enabled later + ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL; + ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL; + + ecsm_init(&ecsm_config); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool updated = ecsm_matrix_scan(current_matrix); + +// RAW matrix values on console +#ifdef CONSOLE_ENABLE + static int cnt = 0; + if (cnt++ == 350) { + cnt = 0; + ecsm_print_matrix(); + } +#endif + return updated; +} |