27
27
28
28
from collections import namedtuple
29
29
import board
30
- import digitalio
31
30
import 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
34
33
35
34
__version__ = "0.0.0-auto.0"
36
35
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_PyBadger.git"
@@ -47,16 +46,22 @@ class PewPewM4(PyBadgerBase):
47
46
def __init__ (self ):
48
47
super ().__init__ ()
49
48
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 ,
58
61
)
59
62
63
+ self ._buttons = KeyStates (self ._keys )
64
+
60
65
@property
61
66
def button (self ):
62
67
"""The buttons on the board.
@@ -73,20 +78,18 @@ def button(self):
73
78
elif pybadger.button.o:
74
79
print("Button O")
75
80
"""
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
+ )
77
85
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 ],
90
93
)
91
94
92
95
@property
0 commit comments