mirror of
https://github.com/firewalkwithm3/qmk_firmware.git
synced 2024-11-22 11:30:30 +08:00
Merge branch 'debounce_refactor' of https://github.com/alex-ong/qmk_firmware into debounce_refactor
This commit is contained in:
commit
503e02db79
|
@ -265,11 +265,11 @@ endif
|
||||||
|
|
||||||
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
|
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
|
||||||
# Debounce Modules. If implemented in matrix.c, don't use these.
|
# 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
|
# 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
|
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
|
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
|
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
|
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c
|
||||||
|
|
|
@ -68,7 +68,7 @@ SUBPROJECT_rev1 = yes
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
|
||||||
CUSTOM_MATRIX = no
|
CUSTOM_MATRIX = no
|
||||||
DEBOUNCE_ALGO = manual
|
DEBOUNCE_TYPE = custom
|
||||||
|
|
||||||
LAYOUTS = split60
|
LAYOUTS = split60
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "matrix.h"
|
|
||||||
|
|
||||||
// raw is the current key state
|
// raw is the current key state
|
||||||
// on entry cooked is the previous debounced state
|
// on entry cooked is the previous debounced state
|
||||||
// on exit cooked is the current debounced state
|
// on exit cooked is the current debounced state
|
||||||
|
|
|
@ -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
|
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.
|
When no state changes have occured for DEBOUNCE milliseconds, we push the state.
|
||||||
*/
|
*/
|
||||||
#include "debounce.h"
|
|
||||||
#include "matrix.h"
|
#include "matrix.h"
|
||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
|
#include "quantum.h"
|
||||||
#ifndef DEBOUNCE
|
#ifndef DEBOUNCE
|
||||||
#define DEBOUNCE 5
|
#define DEBOUNCE 5
|
||||||
#endif
|
#endif
|
||||||
|
@ -45,13 +45,13 @@ void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool
|
||||||
#else //no debouncing.
|
#else //no debouncing.
|
||||||
void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed)
|
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];
|
cooked[i] = raw[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool debounce_active() {
|
bool debounce_active(void) {
|
||||||
return debouncing;
|
return debouncing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue