Si realmente lo intentas, puedes presionar un botón por solo 10s de milisegundos. Sin embargo, eso es bastante extremo y requiere un intento deliberado.
En mi experiencia, 50 ms es un buen tiempo de rebote. Eso es sobre el límite
donde los humanos comienzan a notar el retraso si no lo están buscando específicamente. La mayoría de los interruptores dejan de rebotar en 10-20 ms, pero me he topado con unos pocos que rebotaron más tiempo que eso. Dado que los humanos no notan un retraso de 50 ms, es casi una tarea fácil de hacer una denuncia por al menos tanto tiempo, suponiendo que el interruptor sea operado por un humano.
Si el interruptor es un sensor mecánico, puede ser necesaria una respuesta más rápida dependiendo de su propósito exacto. En ese caso, puede ser apropiado un algoritmo diferente de rebote, como reaccionar inmediatamente al primer cambio de estado, pero luego bloquear los nuevos cambios de estado durante algún intervalo.
He utilizado la lógica de rebote básica de 50 ms en muchos productos, y nadie ha denunciado ni siquiera una vez que notó la demora. Para mí la respuesta es instantánea, aunque sé que no lo es. El procesador generalmente tiene una interrupción periódica de 1 ms para otros propósitos de temporización de todos modos. Para ser claros, el algoritmo de rebote es que el nuevo estado del conmutador solo se hace oficial si se ha visto de esa manera durante 50 muestras de 1 ms consecutivas. Esto es fácil de hacer y bastante sólido en mi experiencia.