def init(): """ Initialize gamepad support. """ if not renpy.game.preferences.pad_enabled: return pygame_sdl2.controller.init() try: with renpy.loader.load("gamecontrollerdb.txt") as f: pygame_sdl2.controller.add_mappings(f) except: pass try: with open( os.path.join(renpy.config.renpy_base, "gamecontrollerdb.txt"), "rb") as f: pygame_sdl2.controller.add_mappings(f) except: pass for i in range(pygame_sdl2.controller.get_count()): c = Controller(i) renpy.exports.write_log( "controller: %r %r %r" % (c.get_guid_string(), c.get_name(), c.is_controller()))
def init(): """ Initialize gamepad support. """ if not renpy.game.preferences.pad_enabled: return pygame_sdl2.controller.init() try: with renpy.loader.load("gamecontrollerdb.txt") as f: pygame_sdl2.controller.add_mappings(f) except: pass try: with open(os.path.join(renpy.config.renpy_base, "gamecontrollerdb.txt"), "rb") as f: pygame_sdl2.controller.add_mappings(f) except: pass for i in range(pygame_sdl2.controller.get_count()): c = Controller(i) renpy.exports.write_log("controller: %r %r %r" % (c.get_guid_string(), c.get_name(), c.is_controller()))
def start(index): """ Starts the controller at index. """ quit(index) c = Controller(index) if not c.is_controller(): return renpy.exports.write_log("controller: %r %r %r" % (c.get_guid_string(), c.get_name(), c.is_controller())) if renpy.game.preferences.pad_enabled != "all": for prefix in renpy.config.controller_blocklist: if c.get_guid_string().startswith(prefix): renpy.exports.write_log("Controller found in blocklist, not using.") return try: c.init() controllers[index] = c except Exception: renpy.display.log.exception() renpy.exports.restart_interaction()
def init(): """ Initialize gamepad support. """ if not renpy.game.preferences.pad_enabled: return pygame_sdl2.controller.init() load_mappings() for i in range(pygame_sdl2.controller.get_count()): c = Controller(i) renpy.exports.write_log("controller: %r %r %r" % (c.get_guid_string(), c.get_name(), c.is_controller()))
def init(): """ Initialize gamepad support. """ if not renpy.game.preferences.pad_enabled: return pygame_sdl2.controller.init() load_mappings() for i in range(pygame_sdl2.controller.get_count()): c = Controller(i) renpy.exports.write_log( "controller: %r %r %r" % (c.get_guid_string(), c.get_name(), c.is_controller()))
def start(index): """ Starts the controller at index. """ quit(index) controllers[index] = c = Controller(index) c.init()
def start(index): """ Starts the controller at index. """ quit(index) controllers[index] = c = Controller(index) c.init() renpy.exports.restart_interaction()
def event(ev): """ Processes an event and returns the same event, a new event, or None if the event has been processed and should be ignored. """ if ev.type == CONTROLLERDEVICEADDED: if ev.which not in controllers: controllers[ev.which] = c = Controller(ev.which) c.init() return None elif ev.type == CONTROLLERDEVICEREMOVED: if ev.which in controllers: c = controllers.pop(ev.which) c.quit() return None elif ev.type == CONTROLLERAXISMOTION: if ev.value > THRESHOLD: pos = "pos" elif ev.value < -THRESHOLD: pos = "neg" else: pos = None old_pos = axis_positions.get((ev.which, ev.axis), None) if pos == old_pos: return None axis_positions[(ev.which, ev.axis)] = pos if pos is None: return None name = "pad_{}_{}".format(get_string_for_axis(ev.axis), pos) ev = make_event(name) elif ev.type in (CONTROLLERBUTTONDOWN, CONTROLLERBUTTONUP): if ev.type == CONTROLLERBUTTONDOWN: pr = "press" else: pr = "release" name = "pad_{}_{}".format(get_string_for_button(ev.button), pr) ev = make_event(name) elif ev.type in ( pygame.JOYAXISMOTION, pygame.JOYHATMOTION, pygame.JOYBALLMOTION, pygame.JOYBUTTONDOWN, pygame.JOYBUTTONUP, pygame.JOYDEVICEADDED, pygame.JOYDEVICEREMOVED, ): return None return ev