Hallo,
wo hängt es denn?

Hab es auch noch nicht probiert, würde es aber so versuchen:
Einen IR-Empfänger wie zB. TSOP17236 oder SFH506 an den ICP Pin eines AVR anschließen.
Bei Empfang eines IR Signals wird der ICP nach low gezogen und der ICP Interrupt ausgelöst. Den Timerwert in der ISR zwischenspeichern und den Triggerlevel des ICP umschalten.
Wechselt der ICP wieder nach high, Triggerlevel umschalten, den Wert sichern und mit dem ersten verrechnen. Ergebnis ist die Zeit, des ersten Impulses. Den errechneten in einem Array abspeichern. Und so weiter. Timeout für die ganzen Impulse einer Taste bedenken.

Beim Senden, können dann die Werte aus dem Array abgerufen und entsprechend low und high rausgepulsed werden.

Gruß
Searcher