From ec8162d3a73dba674d9fe5a429a708457906c7c3 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Thu, 2 May 2019 19:11:29 +0200 Subject: [PATCH] Add "were_pressed" property to cpx --- adafruit_circuitplayground/express.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/adafruit_circuitplayground/express.py b/adafruit_circuitplayground/express.py index f9eeaaf..98ccd40 100755 --- a/adafruit_circuitplayground/express.py +++ b/adafruit_circuitplayground/express.py @@ -56,6 +56,8 @@ import digitalio import neopixel import touchio +import gamepad + __version__ = "0.0.0-auto.0" __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground.git" @@ -86,6 +88,7 @@ def __init__(self): self._a.switch_to_input(pull=digitalio.Pull.DOWN) self._b = digitalio.DigitalInOut(board.BUTTON_B) self._b.switch_to_input(pull=digitalio.Pull.DOWN) + self.gamepad = gamepad.GamePad(self._a, self._b) # Define switch: self._switch = digitalio.DigitalInOut(board.SLIDE_SWITCH) @@ -475,6 +478,15 @@ def button_b(self): """ return self._b.value + @property + def were_pressed(self): + ret = set() + pressed = self.gamepad.get_pressed() + for button, mask in (('A', 0x01), ('B', 0x02)): + if mask & pressed: + ret.add(button) + return ret + @property def switch(self): """