Nice USB receptacle setting!
Your problem is not bouncing. right?
I have not experienced the multiple key stroke problem. I tried AEKII, m0116 and some Macways, but it was not a long time use.
Unfortunately I have no IIgs to try. (It is one of keyboards I want to own!
Do you have other ADB keyboard than IIgs?
I want to know whether the problem is specific to IIgs or not.
Do you have iMate or other converter?
I want to know whether the problem is caused by my converter or not.
1.I have two "2 adb to usb" converters and there is no problems with these.
2.I have AEKII/IIgs/Design/Adjustable keyboards and all the same problem with converter.
3.I think there is a different in handling USB interrupt between OSX and Windows. Windows doesn't have problem.
4.If I set teensy( ++ 2.0) as low speed device, this multiple stroke problem is gone. There should be a timing mismatch between this firmware and OSX.
a. As I wrote before, if I insert delay in keyscan function, the occurrence of this multiple stroke reduced.
b. If I set as low speed device, USB interrupt/FIFO speed would go lower and this prevent our problem.
c. With low speed device setting, USB debugging has some problem. It it too low to print debug information on screen.
To set Teensy++ 2.0 as low speed device, you should modify some functions and headers.
UDCON = 0; --> UDCON = 0x04; (for Teensy++2.0, set LSM bit.)
#define DEBUG_TX_SIZE 32 --> 8 (All endpoint size should be 8byte)
#define KDB2_SIZE 16 --> 8 (the same with above)