summaryrefslogtreecommitdiff
path: root/shared-bindings/gamepad/GamePad.c
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-05-13 10:04:19 -0500
committerJeff Epler <jepler@gmail.com>2020-05-13 10:14:37 -0500
commitfbf052bb2755b2a3afb85b94ea9625ab29da4ab0 (patch)
treeb5ab1cb70e2656d575bb80b6c78275804cd1544e /shared-bindings/gamepad/GamePad.c
parent75f9969860870a4ae636c74ae210275413b13c2f (diff)
Gamepad & GamepadShift: Enable ticks while object exists
Otherwise, button presses might not be noticed.
Diffstat (limited to 'shared-bindings/gamepad/GamePad.c')
-rw-r--r--shared-bindings/gamepad/GamePad.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/shared-bindings/gamepad/GamePad.c b/shared-bindings/gamepad/GamePad.c
index d3c29019a..88f072f3e 100644
--- a/shared-bindings/gamepad/GamePad.c
+++ b/shared-bindings/gamepad/GamePad.c
@@ -33,6 +33,7 @@
#include "shared-bindings/gamepad/__init__.h"
#include "shared-bindings/digitalio/DigitalInOut.h"
#include "supervisor/shared/translate.h"
+#include "supervisor/shared/tick.h"
//| .. currentmodule:: gamepad
@@ -108,6 +109,9 @@ STATIC mp_obj_t gamepad_make_new(const mp_obj_type_t *type, size_t n_args,
gamepad_singleton = m_new_obj(gamepad_obj_t);
gamepad_singleton->base.type = &gamepad_type;
gamepad_singleton = gc_make_long_lived(gamepad_singleton);
+ if (!MP_STATE_VM(gamepad_singleton)) {
+ supervisor_enable_tick();
+ }
MP_STATE_VM(gamepad_singleton) = gamepad_singleton;
}
common_hal_gamepad_gamepad_init(gamepad_singleton, args, n_args);