def init(self):
     num = joystickapi.joyGetNumDevs()
     ret, caps, startinfo = False, None, None
     for id in range(num):
         ret, caps = joystickapi.joyGetDevCaps(id)
         if ret:
             print("joystick detected: " + caps.szPname)
             ret, startinfo = joystickapi.joyGetPosEx(id)
             break
     else:
         print("no joystick detected")
     self.id = id
     self.caps = caps
     time.sleep(0.1)
     _, self.startinfo = joystickapi.joyGetPosEx(self.id)
     self.attach_timer(0.1)
        signalsMode = state["signals"]
        if (signalsMode != "right"):
            carStateService.root.set_state("signals", "right")
        elif (signalsMode == "right"):
            carStateService.root.set_state("signals", "off")


print("start")

carStateService = rpyc.connect("192.168.1.243", 18861)
print("connected to car service")

num = joystickapi.joyGetNumDevs()
ret, caps, startinfo = False, None, None
for id in range(num):
    ret, caps = joystickapi.joyGetDevCaps(id)
    if ret:
        print("gamepad detected: " + caps.szPname)
        ret, startinfo = joystickapi.joyGetPosEx(id)
        break
else:
    print("no gamepad detected")

run = ret
while run:
    time.sleep(0.1)
    if msvcrt.kbhit() and msvcrt.getch() == chr(27).encode(): # detect ESC
        run = False

    ret, info = joystickapi.joyGetPosEx(id)
    if ret: