diff options
author | Cipulot <40441626+Cipulot@users.noreply.github.com> | 2023-03-14 08:41:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-14 07:41:06 +0000 |
commit | 4283e69ac74c8f85539ede9bd4bec0da1a56d134 (patch) | |
tree | d1e10c57d18ad28bd60a1f221e8a7ad93ba0d14b /keyboards/cipulot/rf_r1_8_9xu/matrix.c | |
parent | a71e58270c4e2e8c88fe997405cbcb48bb864479 (diff) |
RF R1 8-9Xu PCB (#20048)
Co-authored-by: Tom Barnes <barnestom@me.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'keyboards/cipulot/rf_r1_8_9xu/matrix.c')
-rw-r--r-- | keyboards/cipulot/rf_r1_8_9xu/matrix.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/keyboards/cipulot/rf_r1_8_9xu/matrix.c b/keyboards/cipulot/rf_r1_8_9xu/matrix.c new file mode 100644 index 0000000000..1850acf264 --- /dev/null +++ b/keyboards/cipulot/rf_r1_8_9xu/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; +} |