“Oh non, il va encore parler de trucs que personne ne comprend… ”

O.k aujourd’hui je vais vous parler du réglage du debounce rate sur le Bane. Grosso modo quand vous appuyez sur une touche, deux pattes en métal dans le switch se mettent en contact.

Sauf que cette mise en contact n’est pas parfaite. Typiquement, les pattes en métal vont vibrer et se toucher plusieurs fois avant de se stabiliser.

Le clavier va détecter ce signal :

Problème, si le clavier détecte plusieurs contacts, même brefs, il va détecter plusieurs frappes. Vous appuyez une fois sur la lettre A et vous avez 3 frappes détectés… Génial hein?

Solution : le debounce. ” Si tu détectes un courant, attends 5/10/15/20 ms (suivant les réglages d’usine) puis re-vérifie si le signal est stable. Si oui, enregistre une frappe, sinon, c’était une fausse alerte. ” 🙃

Exemple avec un debounce de 5 ms.

Problème bis : cette fonctionnalité ajoute une latence équivalente au temps de debounce. Par exemple, dans le cas dessus, la frappe n’est pas détecté au premier contact mais bien après 5ms d’attente. Dans certains cas, notamment les claviers mécaniques entrés de gamme, les switches utilisés sont de mauvaises qualité et nécessitent un debounce de 25/30 ms… Donc pour la réactivité, on repassera.

“Bah t’as qu’à réduire le temps de debounce!”

Oui, on pourrait régler le temps de debounce sur une valeur plus faible que 5ms, mais voilà ce qui se passerait :

Vous l’avez compris, si vous réglez le debounce trop bas, le clavier risque de détecter des doubles frappes.

D’un autres côté, si vous réglez un temps de debounce très long, disons 30 ms et que vous avez le temps d’appuyer puis de relâcher la touche durant ce laps de temps, votre frappe ne sera pas détecté. En plus de vous coller un input lag de 30 ms…

“Et du coup, moi je règle la valeur sur combien? “

Sur le CSB01, il existe 4 valeurs possible. 5 ms, 10 ms, 15 ms et 20ms. Typiquement un switch neuf et de bonne qualité, un debounce de 5ms est suffisant. Cependant au fur et à mesure que vous allez l’utiliser et l’user, le signal sera de plus en plus instable car les contacts en métal auront tendance à s’éroder. Il se peut que vous ayez à le régler sur 10/15 ms dans le temps.

Vous pourrez bien entendu remplacer les interrupteurs usés.

Suivant le switch que vous allez installer dessus, vous devrez faire vos propres expériences et trouver par vous même une valeur qui ne produit pas de faux positifs.

Par défaut, le réglage d’usine est de 15 ms. Vous pourrez monter jusqu’à 20ms si l’envie vous prend d’installer des switches de basse qualité dessus et vous pourrez descendre le temps de debounce jusqu’à 5 ms si vous installez des switches haut de gamme.

Un commentaire sur “Qu’est ce que le debounce rate?

  1. Pingback: Un nouvel algorithme de debounce - Designed by GG

Laisser un commentaire