In general pushbuttons and keys on a keyboard are loosely related. A good typist can sustainably type 120 words per minute, which is a new key (button) every 100 milliseconds. A knowledge of bounce times for both make and break has implications for being able to reliably catch every key without a miss. It is a classic sampled data system where the sampling frequency and the number of samples to detect both a make and a release are critical. Some keys are also "repeat keys" which count as an additional make contact without a release. Cursor keys are a good example of this. It does take a bit of time and effort to successfully debug a set of robust keyboard algorithms.