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)
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
```
| 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```.
*/
void keyboard_init(void) {
timer_init();
- matrix_init();
+ matrix_init();
#ifdef QWIIC_ENABLE
qwiic_init();
#endif
uint8_t keys_processed = 0;
#endif
- matrix_scan();
+ matrix_scan();
if (is_keyboard_master()) {
for (uint8_t r = 0; r < MATRIX_ROWS; r++) {
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++) {