.. Ich habe eine IR Fernbedienung mit einem Empfängermodul für Arduino, 38 kHz, mit 17 Tasten ..
Du, fredyxx, ich bin auch recht begeistert von dem Gerät und von Deinen Lösungsdetails. Alle Achtung - und Gratulation.

Fernsteuerung per IR. Die hatte ich das erste mal benutzt, als ich meine kleine Coladose laufen liess - später auch meinen WALL-R und schließlich den Archie. Damit hatte ich die Möglichkeit verschiedene Tasks zu fahren - ähnlich wie Du es mit Deinem Mäuseklavier wohl auch machst. Und das bequem aus der Ferne. Als Fernsteuerung diente (m)eine alte TV-Steuerung (mit RC-5-Code) - die ich vor der Entsorgung bewahrte und die noch heute ihren Dienst tut, sieh hier in dem alten Video. Detail z.B. hier.

Ziemlich gute Details über die ganze Geschichte findest Du bei San Bergmanns, der neben vielen anderen IR-Fernbedienungscodes auch das RC-5-Protokoll erklärt.

Und wie läuft das dann bei mir? Ich taste im 50-µs-Raster (ISR) einen Eingang ab. Wenn dort ein Pegelwechsel von 0 auf 1 erkannt wird, weiß ich dass ein IR-Burst einläuft (einlaufen könnte). Die Pegelwechsel werden abgewartet - und so nebenher noch decodiert, bis ich sicher bin, dass ein entsprechendes, 14bittiges Telegramm eingelaufen ist (es ist schrecklich schräg programmiert, läuft aber ganz ok). Der resultierende Code - sechs Bits, also Werte bis 63 - nutze ich als Steuertags. Eine zusätzliche Routine läuft, wenn ein Zifferncode entdeckt wird; dann sammle ich drei Ziffern (die Programmwahl am Fernseher lässt grüßen) und habe so eine bequeme Steuerbarkeit von 100 bis 999 (die ein- und zweiziffrigen Werte werden nicht benutzt, führende Nullen sind also für die Katz). Zur bequemen Handhabung sind verschiedene Taskfamilien (z.B. Kopf-Augenbewegung oder ArmLinks bzw. ArmRechts etc) verschiedenen Hundertergruppen zugeordnet. ALLERDINGS ist das völlig ohne arduino - weder Hardware noch IDE. Sprache ist C (soweit ich C kann . . .).