diff options
-rw-r--r-- | common_features.mk | 4 | ||||
-rw-r--r-- | docs/feature_debounce_algo.md | 17 | ||||
-rw-r--r-- | keyboards/handwired/xealous/rules.mk | 2 | ||||
-rw-r--r-- | tmk_core/common.mk | 2 | ||||
-rw-r--r-- | tmk_core/common/keyboard.c | 6 |
5 files changed, 12 insertions, 19 deletions
diff --git a/common_features.mk b/common_features.mk index 9b9d017a7b..deb30706ad 100644 --- a/common_features.mk +++ b/common_features.mk @@ -249,15 +249,11 @@ endif include $(DRIVER_PATH)/qwiic/qwiic.mk - QUANTUM_SRC:= \ $(QUANTUM_DIR)/quantum.c \ $(QUANTUM_DIR)/keymap_common.c \ $(QUANTUM_DIR)/keycode_config.c - - - # Include the standard or split matrix code if needed ifneq ($(strip $(CUSTOM_MATRIX)), yes) ifeq ($(strip $(SPLIT_KEYBOARD)), yes) diff --git a/docs/feature_debounce_algo.md b/docs/feature_debounce_algo.md index 2c694cdfbd..e4489662e3 100644 --- a/docs/feature_debounce_algo.md +++ b/docs/feature_debounce_algo.md @@ -7,18 +7,16 @@ The underlying debounce algorithm is determined by which matrix.c file you are u The logic for which debounce method called is below. It checks various defines that you have set in rules.mk ``` -ifeq ($(strip $(SPLIT_KEYBOARD)), yes) - # Do nothing, debouncing is inside matrix.c inside split_common -else ifeq ($(strip $(DEBOUNCE_ALGO)), manual) +ifeq ($(strip $(DEBOUNCE_ALGO)), manual) # Do nothing. do your debouncing in matrix.c else ifeq ($(strip $(DEBOUNCE_ALGO)), sym_g) - TMK_COMMON_SRC += $(DEBOUNCE)/debounce_sym_g.c + QUANTUM_SRC += $(DEBOUNCE)/debounce_sym_g.c else ifeq ($(strip $(DEBOUNCE_ALGO)), eager_pk) - TMK_COMMON_SRC += $(DEBOUNCE)/debounce_eager_pk.c + QUANTUM_SRC += $(DEBOUNCE)/debounce_eager_pk.c else ifeq ($(strip $(CUSTOM_MATRIX)), yes) # Do nothing. Custom matrix code. else # default algorithm - TMK_COMMON_SRC += $(DEBOUNCE)/debounce_sym_g.c + QUANTUM_SRC += $(DEBOUNCE)/debounce_sym_g.c endif ``` @@ -32,11 +30,10 @@ The following is for keyboards where ```SPLIT_KEYBOARD``` is **not** defined as | sym_g / eager_pk | Not defined | You are using the included matrix.c and debounce.c | Nothing. Chosen debounce method used. | | Not defined | YES | You have your own matrix.c, and your own debounce | Write the fully debounced matrix into matrix.c's matrix | | manual | YES | Same as above | same as above | -| sym_g/ eager_pk | YES | You are using your own matrix.c, but included debounce | Write the raw matrix values into matrix.c's matrix | +| sym_g / eager_pk | YES | You are using your own matrix.c, but included debounce | Write the raw matrix values into matrix.c's matrix | -**Note**: -If ```SPLIT_KEYBOARD = YES``` is defined, the algorithm inside split_common will be used. -A future pull request will fix this to use the debounce.c code. +**Regarding split keyboards**: +The debounce code is compatible with split keyboards. # Use your own debouncing code * Set ```DEBOUNCE_ALGO = manual```. diff --git a/keyboards/handwired/xealous/rules.mk b/keyboards/handwired/xealous/rules.mk index 07e1c875e6..37afdaff93 100644 --- a/keyboards/handwired/xealous/rules.mk +++ b/keyboards/handwired/xealous/rules.mk @@ -68,7 +68,7 @@ SUBPROJECT_rev1 = yes SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend CUSTOM_MATRIX = no -CUSTOM_DEBOUNCE = yes +DEBOUNCE_ALGO = manual LAYOUTS = split60 diff --git a/tmk_core/common.mk b/tmk_core/common.mk index 335a36cfe7..063115acb1 100644 --- a/tmk_core/common.mk +++ b/tmk_core/common.mk @@ -1,5 +1,4 @@ COMMON_DIR = common - ifeq ($(PLATFORM),AVR) PLATFORM_COMMON_DIR = $(COMMON_DIR)/avr else ifeq ($(PLATFORM),CHIBIOS) @@ -62,6 +61,7 @@ ifeq ($(PLATFORM),TEST) endif + # Option modules BOOTMAGIC_ENABLE ?= no VALID_MAGIC_TYPES := yes full lite diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index d223001160..25be28d02a 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -163,7 +163,7 @@ bool is_keyboard_master(void) { */ void keyboard_init(void) { timer_init(); - matrix_init(); + matrix_init(); #ifdef QWIIC_ENABLE qwiic_init(); #endif @@ -223,7 +223,7 @@ void keyboard_task(void) uint8_t keys_processed = 0; #endif - matrix_scan(); + matrix_scan(); if (is_keyboard_master()) { for (uint8_t r = 0; r < MATRIX_ROWS; r++) { @@ -231,7 +231,7 @@ void keyboard_task(void) matrix_change = matrix_row ^ matrix_prev[r]; if (matrix_change) { #ifdef MATRIX_HAS_GHOST - if (has_ghost_in_row(r, matrix_row)) continue; + if (has_ghost_in_row(r, matrix_row)) { continue; } #endif if (debug_matrix) matrix_print(); for (uint8_t c = 0; c < MATRIX_COLS; c++) { |