diff options
author | BuildTools <paul.wachendorf@web.de> | 2015-12-09 23:31:14 +0300 |
---|---|---|
committer | BuildTools <paul.wachendorf@web.de> | 2015-12-09 23:31:14 +0300 |
commit | f5a25af5e9f635cc7db6b906090eb7c52f7a6790 (patch) | |
tree | 12776e601dd66711bc27514651c744eff7b0a844 /src | |
parent | 2342e9dc5c55c3c7b2e2909f39c7d31bf4eaf12c (diff) |
added callback fir stick movement
Diffstat (limited to 'src')
-rw-r--r-- | src/events.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/events.py b/src/events.py index e3552f7..14b06a5 100644 --- a/src/events.py +++ b/src/events.py @@ -111,6 +111,7 @@ class EventMapper(object): self._stick_lxs = None self._stick_bys = None self._stick_rxs = None + self._stick_axes_callback = None self._stick_pressed_callback = None self._trig_s = [None, None] @@ -389,6 +390,9 @@ class EventMapper(object): x, y = sci.lpad_x, sci.lpad_y x_p, y_p = sci_p.lpad_x, sci_p.lpad_y + if self._stick_axes_callback is not None and (x != x_p or y != y_p): + self._stick_axes_callback(self, x, y) + if self._stick_mode == StickModes.AXIS: revert = self._stick_rev (xmode, xev), (ymode, yev) = self._stick_evts # pylint: disable=E0632 @@ -398,6 +402,7 @@ class EventMapper(object): if y != y_p: syn.add(ymode) self._uip[ymode].axisEvent(yev, y if not revert else -y) + elif self._stick_mode == StickModes.BUTTON: tmode, tev = self._stick_evts[0] @@ -594,6 +599,16 @@ class EventMapper(object): (Modes.GAMEPAD, abs_y_event)] self._stick_rev = revert + def setStickAxesCallback(self, callback): + """ + Set Callback on StickAxes Movement + the function will be called with EventMapper, pos_x, pos_y + + @param function callback the callback function + """ + self._stick_axes_callback = callback + + def setStickButtons(self, key_events): """ Set stick as buttons |