Zitat:
wurde der Schalter beim vorherigen Aufruf der Funktion gedrückt
Falsch. Es heißt "seit".
MSB = True -> wird jetzt gedrückt
MSB = False -> wird jetzt nicht gedrückt
LSB = True -> wurde seit dem letzten Aufruf gedrückt (wurde zwischen dem letzten und diesem Aufruf gedrückt)
LSB = False -> wurde seit dem letzten Aufruf nicht gedrückt
Und jetzt kann man das Beides kombinieren.
MSB False und LSB True, dann war es gedrückt und jetzt nicht mehr.
PS:
MSB = GetAsyncKeyState() < 0 // Wert als Integer
LSB = Ord(GetAsyncKeyState()) <> 0
Und "gedrückt" bedeutet nicht "jetzt runterdrücken" sondern "ist (jetzt) gedrückt".