2727
2828from collections import namedtuple
2929import board
30- import digitalio
3130import audioio
32- from gamepad import GamePad
33- from adafruit_pybadger .pybadger_base import PyBadgerBase
31+ import keypad
32+ from adafruit_pybadger .pybadger_base import PyBadgerBase , KeyStates
3433
3534__version__ = "0.0.0-auto.0"
3635__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_PyBadger.git"
@@ -47,16 +46,22 @@ class PewPewM4(PyBadgerBase):
4746 def __init__ (self ):
4847 super ().__init__ ()
4948
50- self ._buttons = GamePad (
51- digitalio .DigitalInOut (board .BUTTON_O ),
52- digitalio .DigitalInOut (board .BUTTON_X ),
53- digitalio .DigitalInOut (board .BUTTON_Z ),
54- digitalio .DigitalInOut (board .BUTTON_RIGHT ),
55- digitalio .DigitalInOut (board .BUTTON_DOWN ),
56- digitalio .DigitalInOut (board .BUTTON_UP ),
57- digitalio .DigitalInOut (board .BUTTON_LEFT ),
49+ self ._keys = keypad .Keys (
50+ [
51+ board .BUTTON_O ,
52+ board .BUTTON_X ,
53+ board .BUTTON_Z ,
54+ board .BUTTON_RIGHT ,
55+ board .BUTTON_DOWN ,
56+ board .BUTTON_UP ,
57+ board .BUTTON_LEFT ,
58+ ],
59+ value_when_pressed = False ,
60+ pull = True ,
5861 )
5962
63+ self ._buttons = KeyStates (self ._keys )
64+
6065 @property
6166 def button (self ):
6267 """The buttons on the board.
@@ -73,20 +78,18 @@ def button(self):
7378 elif pybadger.button.o:
7479 print("Button O")
7580 """
76- button_values = self ._buttons .get_pressed ()
81+ self ._buttons .update ()
82+ button_values = tuple (
83+ self ._buttons .was_pressed (i ) for i in range (self ._keys .key_count )
84+ )
7785 return Buttons (
78- * [
79- button_values & button
80- for button in (
81- PyBadgerBase .BUTTON_B ,
82- PyBadgerBase .BUTTON_A ,
83- PyBadgerBase .BUTTON_START ,
84- PyBadgerBase .BUTTON_SELECT ,
85- PyBadgerBase .BUTTON_RIGHT ,
86- PyBadgerBase .BUTTON_DOWN ,
87- PyBadgerBase .BUTTON_UP ,
88- )
89- ]
86+ button_values [0 ],
87+ button_values [1 ],
88+ button_values [2 ],
89+ button_values [3 ],
90+ button_values [4 ],
91+ button_values [5 ],
92+ button_values [6 ],
9093 )
9194
9295 @property
0 commit comments