diff --git a/keyboard.cpp b/keyboard.cpp index de1423f..0fb2dab 100644 --- a/keyboard.cpp +++ b/keyboard.cpp @@ -128,6 +128,18 @@ void stop_keyboard() } } +bool peek_key(char *k) +{ + if(strobe) + *k = last_key; + return strobe; +} + +void clear_strobe() +{ + strobe = false; +} + void poll_keyboard() { int i; diff --git a/keyboard.h b/keyboard.h index 1356569..3aca6b9 100644 --- a/keyboard.h +++ b/keyboard.h @@ -16,4 +16,10 @@ unsigned char get_keyboard_data_and_strobe(); // Clears the strobe and pretends that no keys are down. unsigned char get_any_key_down_and_clear_strobe(); +// Peek at the current key +bool peek_key(char *k); + +// Peek at the current key +void clear_strobe(); + #endif /* _KEYBOARD_H_ */