- 
                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