File tree Expand file tree Collapse file tree 1 file changed +18
-13
lines changed Expand file tree Collapse file tree 1 file changed +18
-13
lines changed Original file line number Diff line number Diff line change 11import board
2- import digitalio
3- import gamepad
42import stage
53import supervisor
64import time
5+ import keypad
76
87
98K_X = 0x01
1413K_O = 0x20
1514K_START = 0x40
1615K_Z = 0x40
17- K_SELECT = 0x00
16+ K_SELECT = 0x80
1817
1918
2019class _Buttons :
2120 def __init__ (self ):
22- self .buttons = gamepad .GamePad (
23- digitalio .DigitalInOut (board .BUTTON_X ),
24- digitalio .DigitalInOut (board .BUTTON_DOWN ),
25- digitalio .DigitalInOut (board .BUTTON_LEFT ),
26- digitalio .DigitalInOut (board .BUTTON_RIGHT ),
27- digitalio .DigitalInOut (board .BUTTON_UP ),
28- digitalio .DigitalInOut (board .BUTTON_O ),
29- digitalio .DigitalInOut (board .BUTTON_Z ),
30- )
21+ self .keys = keypad .Keys ((board .BUTTON_X , board .BUTTON_DOWN ,
22+ board .BUTTON_LEFT , board .BUTTON_RIGHT , board .BUTTON_UP ,
23+ board .BUTTON_O , board .BUTTON_Z ), value_when_pressed = False ,
24+ interval = 0.05 )
25+ self .last_state = 0
26+ self .event = keypad .Event (0 , False )
3127 self .last_z_press = None
3228
3329 def get_pressed (self ):
34- buttons = self .buttons .get_pressed ()
30+ buttons = self .last_state
31+ events = self .keys .events
32+ while events :
33+ if events .get_into (self .event ):
34+ bit = 1 << self .event .key_number
35+ if self .event .pressed :
36+ buttons |= bit
37+ self .last_state |= bit
38+ else :
39+ self .last_state &= ~ bit
3540 if buttons & K_Z :
3641 now = time .monotonic ()
3742 if self .last_z_press :
You can’t perform that action at this time.
0 commit comments