Hallo Hardest,

Erstmall, was mir auffällt ist das du in jeder If-schleife testet ob die zeit schön passiert ist (... && zeit < (startzeit+lang)... ). Das is nicht nötig weil das schön beim eintrit die while-schleife sicher ist. Dieser test wird immer die selbe antwort geben im selben durchlauf. Fur deine asuro ist das nur sinlose arbeit. Und persönlich wurde ich die zeit = Gettime(); am ende die while-schleife platzen, sondern nützt die while-schleife (testen fur einer neue eintrit) eine veralterte zeit. Das werde dein program nicht besser laufen lassen (ich meine dein taster problem auflösen) sondern wurde es etwas netter machen.

Deine taster-testen problem liegt vielleicht an t1 & 0x38. 38=32+4+2. Also ich bin nicht ganz sicher welcher bestimmte taster das sind aber ich denke taster 6, 3 und 2. Das sind taster an die linker (6?) und rechter seite (3,2?). Versuche mall mit 0x46 (=32+16+8, oder taster 6, 5 und 4 wenn ich ´s recht habe). 0x07 stimmt wenn es taster 1,2 und 3 meinen söllte. Wenn 's nicht (besser) geht wechsel dieser zahlen mal fur die linke und rechter fahrt.