diff --git a/python_payload/st3m/input.py b/python_payload/st3m/input.py
index a1fdbbc5e5d62547bce3a1c826d061cfe1d267f3..4a0fd0ff870646fb41d91507ead21b809d006e91 100644
--- a/python_payload/st3m/input.py
+++ b/python_payload/st3m/input.py
@@ -249,14 +249,18 @@ class Pressable:
         """
         True if the button is held down, after first being pressed.
         """
-        return self.state == self.DOWN
+        return (
+            (self.state == self.DOWN)
+            or (self.state == self.PRESSED)
+            or (self.state == self.REPEATED)
+        )
 
     @property
     def up(self) -> bool:
         """
         True if the button is currently not being held down.
         """
-        return self.state == self.UP
+        return not self.down
 
     def _ignore_pressed(self) -> None:
         """