From 7ad39f891de16aa70280f052ce1386fd517b08c1 Mon Sep 17 00:00:00 2001 From: Brad Grantham Date: Mon, 7 Nov 2016 21:22:49 -0800 Subject: [PATCH] Modified for interactivity Added peek_key and clear_strobe so that an interrupt key can be probed by main loop --- keyboard.cpp | 12 ++++++++++++ keyboard.h | 6 ++++++ 2 files changed, 18 insertions(+) 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_ */