Merge branch 'debounce_refactor' of https://github.com/alex-ong/qmk_firmware into debounce_refactor

master
alex-ong 2019-01-26 23:21:27 +11:00
commit 503e02db79
4 changed files with 7 additions and 9 deletions

View File

@ -265,11 +265,11 @@ endif
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
# Debounce Modules. If implemented in matrix.c, don't use these.
ifeq ($(strip $(DEBOUNCE_ALGO)), manual)
ifeq ($(strip $(DEBOUNCE_TYPE)), custom)
# Do nothing. do your debouncing in matrix.c
else ifeq ($(strip $(DEBOUNCE_ALGO)), sym_g)
else ifeq ($(strip $(DEBOUNCE_TYPE)), sym_g)
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c
else ifeq ($(strip $(DEBOUNCE_ALGO)), eager_pk)
else ifeq ($(strip $(DEBOUNCE_TYPE)), eager_pk)
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_eager_pk.c
else # default algorithm. Won't be used if we have a custom_matrix that doesn't utilize it
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c

View File

@ -68,7 +68,7 @@ SUBPROJECT_rev1 = yes
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = no
DEBOUNCE_ALGO = manual
DEBOUNCE_TYPE = custom
LAYOUTS = split60

View File

@ -1,7 +1,5 @@
#pragma once
#include "matrix.h"
// raw is the current key state
// on entry cooked is the previous debounced state
// on exit cooked is the current debounced state

View File

@ -16,9 +16,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
Basic global debounce algorithm. Used in 99% of keyboards at time of implementation
When no state changes have occured for DEBOUNCE milliseconds, we push the state.
*/
#include "debounce.h"
#include "matrix.h"
#include "timer.h"
#include "quantum.h"
#ifndef DEBOUNCE
#define DEBOUNCE 5
#endif
@ -45,13 +45,13 @@ void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool
#else //no debouncing.
void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed)
{
for (int i = 0; i < MATRIX_ROWS; i++) {
for (int i = 0; i < num_rows; i++) {
cooked[i] = raw[i];
}
}
#endif
bool debounce_active() {
bool debounce_active(void) {
return debouncing;
}