From c8c01b9e4869fc8942c9479ae147167c85f0d4e2 Mon Sep 17 00:00:00 2001 From: Marc Riera Date: Sat, 1 Oct 2022 12:21:07 +0200 Subject: [PATCH] First test --- ddgo-converter.py | 148 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100755 ddgo-converter.py diff --git a/ddgo-converter.py b/ddgo-converter.py new file mode 100755 index 0000000..9e675dd --- /dev/null +++ b/ddgo-converter.py @@ -0,0 +1,148 @@ +#!/usr/bin/env python + +import pygame # install via pip install pygame +import threading +import queue +import os + +pygame.init() +clock = pygame.time.Clock() + +joysticks = [pygame.joystick.Joystick(x) for x in range(pygame.joystick.get_count())] +joystick_list = [] +joyid = "joyid" +joyname = "joyname" + +for i in range(pygame.joystick.get_count()): + jid = {joyid: i, joyname: pygame.joystick.Joystick(i).get_name()} + print(pygame.joystick.Joystick(i).get_guid()) + joystick_list.append(jid) +mascon_select = next((i for i, item in enumerate(joystick_list) if item["joyname"] == "Nintendo Switch Pro Controller"), + None) + +if mascon_select is None: + print("No Nintendo Switch Pro Controller found. Connect the correct controller and restart the script") + exit() + + +mascon_counter = 99 +pygame.event.clear() # Clear events to remove wrong inputs. + +while 1: + for event in pygame.event.get(): + if event.type == pygame.JOYAXISMOTION: + # Lever section + mascon_axis = (joysticks[mascon_select].get_axis(1)) + mascon_axis = (round(mascon_axis, 2)) + if mascon_axis == 0.8: + #print("P4") + qMascon.put(power_max) + mascon_counter = 1 + if mascon_axis == 0.62: + if mascon_counter == 3: + qMascon.put(power_inc) + mascon_counter = 2 + if mascon_counter == 1: + qMascon.put(power_dec) + mascon_counter = 2 + if mascon_axis == 0.44: + if mascon_counter == 4: + qMascon.put(power_inc) + mascon_counter = 3 + if mascon_counter == 2: + qMascon.put(power_dec) + mascon_counter = 3 + if mascon_axis == 0.25: + if mascon_counter == 5: + qMascon.put(power_inc) + mascon_counter = 4 + if mascon_counter == 3: + qMascon.put(power_dec) + mascon_counter = 4 + if mascon_axis == 0.0: + qMascon.put(neutral) + mascon_counter = 5 + if mascon_axis == -0.21: + if mascon_counter == 5: + qMascon.put(brake_inc) + mascon_counter = 6 + if mascon_counter == 7: + qMascon.put(brake_dec) + if notchfix: + qMascon.put(brake_dec) + mascon_counter = 6 + if mascon_axis == -0.32: + if mascon_counter == 6: + qMascon.put(brake_inc) + if notchfix: + qMascon.put(brake_inc) + mascon_counter = 7 + if mascon_counter == 8: + qMascon.put(brake_dec) + mascon_counter = 7 + if mascon_axis == -0.43: + if mascon_counter == 7: + qMascon.put(brake_inc) + mascon_counter = 8 + if mascon_counter == 9: + qMascon.put(brake_dec) + if notchfix: + qMascon.put(brake_dec) + mascon_counter = 8 + if mascon_axis == -0.53: + if mascon_counter == 8: + qMascon.put(brake_inc) + if notchfix: + qMascon.put(brake_inc) + mascon_counter = 9 + if mascon_counter == 10: + qMascon.put(brake_dec) + mascon_counter = 9 + if mascon_axis == -0.64: + if mascon_counter == 9: + qMascon.put(brake_inc) + mascon_counter = 10 + if mascon_counter == 11: + qMascon.put(brake_dec) + mascon_counter = 10 + if mascon_axis == -0.75: + if mascon_counter == 10: + qMascon.put(brake_inc) + if notchfix: + qMascon.put(brake_inc) + mascon_counter = 11 + if mascon_counter == 12: + qMascon.put(brake_dec) + mascon_counter = 11 + if mascon_axis == -0.85: + if mascon_counter == 11: + qMascon.put(brake_inc) + mascon_counter = 12 + if mascon_counter >= 13: + qMascon.put(brake_dec) + mascon_counter = 12 + if mascon_axis == -1.00: + qMascon.put(brake_eb) + mascon_counter = 14 + + # Button section + if event.type == pygame.JOYBUTTONDOWN and event.button == 0: + print("A") + if event.type == pygame.JOYBUTTONDOWN and event.button == 1: + print("B") + if event.type == pygame.JOYBUTTONDOWN and event.button == 2: + print("X") + if event.type == pygame.JOYBUTTONDOWN and event.button == 3: + print("Y") + if event.type == pygame.JOYBUTTONDOWN and event.button == 4: + print("MINUS") + if event.type == pygame.JOYBUTTONDOWN and event.button == 6: + print("PLUS") + if event.type == pygame.JOYBUTTONDOWN and event.button == 11: + print("UP") + if event.type == pygame.JOYBUTTONDOWN and event.button == 12: + print("DOWN") + if event.type == pygame.JOYBUTTONDOWN and event.button == 13: + print("LEFT") + if event.type == pygame.JOYBUTTONDOWN and event.button == 14: + print("RIGHT")