-
Notifications
You must be signed in to change notification settings - Fork 55
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_keyis the most recommended one unless your firmware causes an "Out of Memory" error -
:per_rowwill not work well with:directscan mode while it's the default one. Use:per_keyinstead. See Keyscan matrix abount scan modes - If you are confident your switches never bounce mechanically and you are a PC game enthusiast, use
:nonewhich 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_rowdebouncer will be used by default - When you'll call
set_debounce_threshold, you should callset_debouncein advance even if you use the default:per_rowalgorithm
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