aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authoralex-ong <the.onga@gmail.com>2019-01-27 07:23:15 +1100
committeralex-ong <the.onga@gmail.com>2019-01-27 07:23:15 +1100
commit7d8c62993921383a35f9cd172fe0a1d2e893b2f3 (patch)
tree9d62d3bd3f51eec384b46478465a83e62c179b8e /docs
parent562c0d702a326488d79963969ef71f2a52664cdc (diff)
downloadqmk_firmware-7d8c62993921383a35f9cd172fe0a1d2e893b2f3.tar.gz
qmk_firmware-7d8c62993921383a35f9cd172fe0a1d2e893b2f3.zip
Stricter, leaner DEBOUNCE_TYPE section in common_features.mk. Cleanup debounce_type.mk
Diffstat (limited to 'docs')
-rw-r--r--docs/feature_debounce_type.md (renamed from docs/feature_debounce_algo.md)22
1 files changed, 12 insertions, 10 deletions
diff --git a/docs/feature_debounce_algo.md b/docs/feature_debounce_type.md
index c4ef86fc7..82b3d7de1 100644
--- a/docs/feature_debounce_algo.md
+++ b/docs/feature_debounce_type.md
@@ -7,14 +7,15 @@ The underlying debounce algorithm is determined by which matrix.c file you are u
7The logic for which debounce method called is below. It checks various defines that you have set in rules.mk 7The logic for which debounce method called is below. It checks various defines that you have set in rules.mk
8 8
9``` 9```
10ifeq ($(strip $(DEBOUNCE_ALGO)), manual) 10DEBOUNCE_TYPE?= sym_g
11 # Do nothing. do your debouncing in matrix.c 11VALID_DEBOUNCE_TYPES := sym_g eager_pk custom
12else ifeq ($(strip $(DEBOUNCE_ALGO)), sym_g) 12ifeq ($(filter $(DEBOUNCE_TYPE),$(VALID_DEBOUNCE_TYPES)),)
13 QUANTUM_SRC += $(DEBOUNCE)/debounce_sym_g.c 13 $(error DEBOUNCE_TYPE="$(DEBOUNCE_TYPE)" is not a valid debounce algorithm)
14else ifeq ($(strip $(DEBOUNCE_ALGO)), eager_pk) 14endif
15 QUANTUM_SRC += $(DEBOUNCE)/debounce_eager_pk.c 15ifeq ($(strip $(DEBOUNCE_TYPE)), sym_g)
16else # default algorithm 16 QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c
17 QUANTUM_SRC += $(DEBOUNCE)/debounce_sym_g.c 17else ifeq ($(strip $(DEBOUNCE_TYPE)), eager_pk)
18 QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_eager_pk.c
18endif 19endif
19``` 20```
20 21
@@ -23,17 +24,18 @@ endif
23| DEBOUNCE_ALGO | Description | What to do | 24| DEBOUNCE_ALGO | Description | What to do |
24| ------------- | --------------------------------------------------- | ----------------------------- | 25| ------------- | --------------------------------------------------- | ----------------------------- |
25| Not defined | You are using the included matrix.c and debounce.c | Nothing. Debounce_sym_g will be compiled, and used if necessary | 26| Not defined | You are using the included matrix.c and debounce.c | Nothing. Debounce_sym_g will be compiled, and used if necessary |
26| manual | Use your own debounce.c | ```SRC += debounce.c``` add your own debounce.c and implement necessary functions | 27| custom | Use your own debounce.c | ```SRC += debounce.c``` add your own debounce.c and implement necessary functions |
27| sym_g / eager_pk | You are using the included matrix.c and debounce.c | Use an alternative debounce algorithm | 28| sym_g / eager_pk | You are using the included matrix.c and debounce.c | Use an alternative debounce algorithm |
28 29
29**Regarding split keyboards**: 30**Regarding split keyboards**:
30The debounce code is compatible with split keyboards. 31The debounce code is compatible with split keyboards.
31 32
32# Use your own debouncing code 33# Use your own debouncing code
33* Set ```DEBOUNCE_ALGO = manual```. 34* Set ```DEBOUNCE_TYPE = custom ```.
34* Add ```SRC += debounce.c``` 35* Add ```SRC += debounce.c```
35* Add your own ```debounce.c```. Look at included ```debounce_sym_g.c```s for sample implementations. 36* Add your own ```debounce.c```. Look at included ```debounce_sym_g.c```s for sample implementations.
36* Debouncing occurs after every raw matrix scan. 37* Debouncing occurs after every raw matrix scan.
38* Use num_rows rather than MATRIX_ROWS, so that split keyboards are supported correctly.
37 39
38# Changing between included debouncing methods 40# Changing between included debouncing methods
39You can either use your own code, by including your own debounce.c, or switch to another included one. 41You can either use your own code, by including your own debounce.c, or switch to another included one.