Thanks. :-)
Simpler statement of my point: compare the last keystroke to the current one. If they are different, pass the current one on to the USB system. If they are the same, check for timing, and if they are more than X ms apart, pass along the current character, if less than X ms, toss the second one and continue listening.
e.g.: I can type disparate characters MUCH faster than I can repeatedly type the same character--because subsequent keys can already be heading down as the previous ones are still rising back up. I can only get about 10-12 max. of the SAME character by repeatedly tapping, so that's just around 90ms per repeated character. Anything faster than, say, half, or 2/3, of that, would HAVE to be a bounce, so the controller should toss it out.
This is all theoretical. I haven't seen how the current system works, but we do have some insanely fast typists, so we probably do NOT want to ignore keystrokes just because they are coming really fast. ;-)