diff --git a/mini.cpp b/mini.cpp index 768179c..896c501 100644 --- a/mini.cpp +++ b/mini.cpp @@ -903,11 +903,19 @@ int wbtnp() { } bool btnp(uint8_t i) { - return key_just_pressed == i; + if (key_just_pressed == i) { + key_just_pressed=0; + return true; + } else { + return false; + } } bool anykey() { - return key_just_pressed != 0; + const bool something_pressed = (key_just_pressed != 0) || (pad_just_pressed != -1); + key_just_pressed=0; + pad_just_pressed=-1; + return something_pressed; } bool pad(int8_t i) { @@ -916,7 +924,12 @@ bool pad(int8_t i) { } bool padp(int8_t i) { - return pad_just_pressed == i; + if (pad_just_pressed == i) { + pad_just_pressed=-1; + return true; + } else { + return false; + } } int wpad() {