Buscate un Sniffer de USB y comprubea cómo manda las tramas un teclado real. Creo recordar... tiro de memoria... que cuando se le envían las teclas pulsadas deben enviarsele un buffer de 6 las teclas pulsadas en ese momento en el orden en que fueron pulsadas por ejemplo a b 0 0 0 0 todo el rato hasta que dejen de ser pulsadas, si luego se pulsa tambien c pues a b c 0 0 0, si ahora dejas de pulsar b pues a c 0 0 0 0, si ahora vuelves a pulsar b pues a c b 0 0 0 Cuando una tecla deja de estar pulsadas debes de dejar de enviarla en ese buffer de teclas pulsadas. Si no hay niguna tecla pulsada deberas mandar el buffer a 0. Si se intercalan buffer a 0 y teclas se verán repetidas en pantalla.
Lo dicho busca un sniffer de usb y a estudiar e imitar.
Saludos