From 57ec309d3e05732094408834b00af9cfd1ffca62 Mon Sep 17 00:00:00 2001 From: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun, 23 Sep 2018 13:48:48 -0700 Subject: Keyboard: Panc60 (#3961) * initial check in * figure out the column pins * temporary keymap * guess the row pins * fix matrix.c compilation errors * use the LAYOUT_60_hhkb macro and tweak the keymap a little bit * update readme * Put my name everywhere * Add QMK Configurator support * figured out the row pins * update readme to have reset info * Fill in some blanks that are documentation related * Update matrix.c * add kb functions * forego kbfirmware labeling * add arrows and caps lock to function layer. * add a LAYOUT_60 and LAYOUT_all macro * missed a comma * add configurator support for the two new LAYOUT macros * Jack helped me with a new custom matrix * add 60_ansi into rules.mk --- keyboards/panc60/matrix.c | 145 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 keyboards/panc60/matrix.c (limited to 'keyboards/panc60/matrix.c') diff --git a/keyboards/panc60/matrix.c b/keyboards/panc60/matrix.c new file mode 100644 index 000000000..cf0f63837 --- /dev/null +++ b/keyboards/panc60/matrix.c @@ -0,0 +1,145 @@ +/* +Copyright 2018 Jack Humbert + +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 . +*/ + +#include +#include +#include +#include "matrix.h" + +#ifndef DEBOUNCE +# define DEBOUNCE 5 +#endif + +__attribute__ ((weak)) +void matrix_init_kb(void) { + matrix_init_user(); +} + +__attribute__ ((weak)) +void matrix_scan_kb(void) { + matrix_scan_user(); +} + +__attribute__ ((weak)) +void matrix_init_user(void) { } + +__attribute__ ((weak)) +void matrix_scan_user(void) { } + +// #define MATRIX_ROW_PINS { B3, B4, B5, B6, B7 } +// #define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, D7 } + +static uint8_t debouncing = DEBOUNCE; + +static matrix_row_t matrix[MATRIX_ROWS]; +static matrix_row_t matrix_debouncing[MATRIX_ROWS]; + +void matrix_init(void) { + + // disables JTAG so we can use them as columns + MCUCSR = (1<