From efbee96caa1452486a007eeeabb5073aa9025dae Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Sat, 22 May 2021 23:07:17 +0200 Subject: Update mouse control code to use key taps instead of press --- src/common.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/common.h') diff --git a/src/common.h b/src/common.h index e293770..08736ea 100644 --- a/src/common.h +++ b/src/common.h @@ -301,14 +301,26 @@ poll_keys(void) { // function will return `true` only on the frame where the key initially // activated. static inline u32 -key_pressed(u32 key) { +key_tap(u32 key) { return (key_curr & key) & ~(key_prev & key); } +// Check if a given key is currently pressed. +static inline u32 +key_pressed(u32 key) { + return (key_curr & key); +} + +// Check if a given key was just released. +static inline u32 +key_released(u32 key) { + return ~(key_curr & key) & (key_prev & key); +} + // Check if the given key is pressed and has been since at least one frame. static inline u32 key_hold(u32 key) { - return (key_curr & key) & key_prev & key; + return key_curr & key_prev & key; } // Check if the given key/button is currently pressed. -- cgit v1.2.1