Das liegt in erster Linie an den Bauteiletoleranzen (trotz der 1%er). Zusätzlich stört noch der "Dreck" der laufenden Motoren die Auswertung der Taster.

Etwas Feintuning kann man in der asuro.c betreiben. In der Funktion PollSwitch() wird dort am Ende der Wert so umgeformt das jeder Taster einem Bit im Rückgabewert entspricht. Meist hilft es den 60er-Wert in der Rechnung zu ändern. Die Tasten sollten die Werte 1,2,4,8,16 und 32 liefern. Dann kann man auch mehrere Taster gleichzeitig abfragen, PollSwitch() liefert dann immer die Summe aller gedrückter Taster. So ergibt z.B. der linke und der rechte Taster 33, drei seitliche 7 bzw. 56. Alle zusammen ergeben 63.

Gruß

mic