-
Notifications
You must be signed in to change notification settings - Fork 53
Debounce
HASUMI Hitoshi edited this page Apr 13, 2022
·
2 revisions
0.9.13+
Type | Default | Algorithm | RAM usage | w/ Matrix scan | w/ Direct scan |
---|---|---|---|---|---|
:per_row | Yes | Symmetric eager debounce per row | Small | ✔ | 🙅 |
:per_key | No | Symmetric eager debounce per key | Big | ✔ | ✔ |
:none | No | No debounce | Almost zero | ✔ | ✔ |
-
:per_key
is the most recommended one unless your firmware causes an "Out of Memory" error -
:per_row
will not work well with:direct
scan mode while it's the default one. Use:per_key
instead. See Keyscan matrix abount scan modes - If you are confident your switches never bounce mechanically and you are a PC game enthusiast, use
:none
which doesn't cancel any bounce and performs maximum
kbd = Keyboard.new
kbd.set_debounce(:per_key)
kbd.set_debounce_threshold(70) # Optional. 40(ms) by default
- If you didn't call
set_debounce
,:per_row
debouncer will be used by default - When you'll call
set_debounce_threshold
, you should callset_debounce
in advance even if you use the default:per_row
algorithm
See QMK's document: https://docs.qmk.fm/#/feature_debounce_type
- Getting started
- Keyboard features
- Keycodes (ja)
- Mouse (ja)
- Layers and mode key (ja)
- Debounce
- Composite key
- Split-type keyboard
- Keyscan matrix
- Num Lock, Caps Lock and Scroll Lock
- Useful methods that make you free
- BIOS mode
- Other features
- Examples
- Development
- Contribute to the Wiki
- FAQ