Controls axises are not responding

For me the problem has unforunately still not been solved even with the new patch.
My workaround currently is using the SimConnect interface via a python script.
The Buttons of the joystick peripherie works, only the axis are not responding.
Not ideal, but works. Configured to helicopter usage in a very basic manner.

Just dumping here the script for others to tryout as well.

import pygame
from SimConnect import *
from SimConnect import AircraftEvents
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import time

Initialize joystick and SimConnect data

joystick_data = {
“aileron”: 0.0, # X-axis (Roll)
“elevator”: 0.0, # Y-axis (Pitch)
“rudder”: 0.0, # Pedals
“throttle”: 0.0 # Collective/Throttle
}

def read_joystick(joystick):
“”“Read joystick inputs and update the global joystick_data dictionary.”“”
pygame.event.pump() # Process Pygame events

joystick_data["aileron"] = joystick[1].get_axis(0)  # Horizontal axis (roll)
joystick_data["elevator"] = joystick[1].get_axis(1)  # Vertical axis (invert for pitch realism)
joystick_data["throttle"] = max(-0.9,min(joystick[2].get_axis(0),0.9))   # Normalize to 0.0 - 1.0
joystick_data["rudder"] = max(-0.9,min(joystick[2].get_axis(1),0.9))   # Normalize to 0.0 - 1.0

def update_plot(frame, joystick, ac):
“”“Update the plots with live joystick data.”“”
# Read joystick input
read_joystick(joystick)

ac.cyclic_roll_event(int(joystick_data["aileron"]*16383))  # Example: Slightly Right

# Control cyclic pitch (elevator)
# EVENT_ELEVATOR_SET (-16383 = Full Down, 16383 = Full Up)
ac.cyclic_pitch_event(int(joystick_data["elevator"]*16383))  # Example: Slightly Down

# Control pedals (yaw/rudder)
# EVENT_RUDDER_SET (-16383 = Full Left, 16383 = Full Right)
ac.pedals_event(int(joystick_data["rudder"]*16383*0.75))  # Example: Slightly Left

# Control collective (throttle)
# EVENT_AXIS_THROTTLE_SET (-16383 = Idle, 16383 = Full Power)
ac.collective_event(int(joystick_data["throttle"]*16383*0.75))  # Example: 75% Power


# Update X-Y plot for pitch (elevator) and roll (aileron)
xy_plot.set_offsets([joystick_data["aileron"], joystick_data["elevator"]])

# Update bar plots
bar_pedals[0].set_height(joystick_data["rudder"])
bar_throttle[0].set_height(joystick_data["throttle"])

# Update plot titles for live feedback
ax_xy.set_title(f"Pitch: {joystick_data['elevator']:.2f}, Roll: {joystick_data['aileron']:.2f}")
ax_pedals.set_title(f"Pedals (Rudder): {joystick_data['rudder']:.2f}")
ax_throttle.set_title(f"Throttle: {joystick_data['throttle']:.2f}")

def main():
# Initialize Pygame and Joystick
pygame.init()
pygame.joystick.init()

try:
    # Connect to SimConnect
    sm = SimConnect()
    ac = AircraftEvents(sm)
    ac.cyclic_roll_event = ac.find("AILERON_SET")
    ac.cyclic_pitch_event = ac.find("ELEVATOR_SET")
    ac.pedals_event = ac.find("RUDDER_SET")
    ac.collective_event = ac.find("AXIS_THROTTLE_SET")

    print("Connected to Microsoft Flight Simulator 2024!")

    # Ensure a joystick is connected
    if pygame.joystick.get_count() == 0:
        print("No joystick connected. Please connect a joystick and try again.")
        return
    joystick = []

    for i in range(pygame.joystick.get_count()):
        joystick.append(pygame.joystick.Joystick(i))  # Use the first joystick
        joystick[i].init()
        print(f"Joystick detected: {joystick[i].get_name()}")

    # Set up Matplotlib plots
    global fig, ax_xy, ax_pedals, ax_throttle, xy_plot, bar_pedals, bar_throttle


    fig, (ax_xy, ax_pedals, ax_throttle) = plt.subplots(3, 1, figsize=(2.5, 6))
    #plt.subplots_adjust(hspace=0.5)

    # X-Y Plot for pitch (elevator) and roll (aileron)
    ax_xy.set_xlim(-1, 1)
    ax_xy.set_ylim(-1, 1)
    ax_xy.set_xlabel("Roll (Aileron)")
    ax_xy.set_ylabel("Pitch (Elevator)")
    ax_xy.grid(True)
    xy_plot = ax_xy.scatter(0, 0, c="red", s=100)

    # Bar plot for pedals (rudder)
    ax_pedals.set_xlim(0, 1)
    ax_pedals.set_ylim(-1, 1)
    ax_pedals.set_xticks([])
    ax_pedals.set_ylabel("Rudder")
    ax_pedals.grid(True)
    bar_pedals = ax_pedals.bar([0.5], [0], width=0.4, color="blue")

    # Bar plot for throttle
    ax_throttle.set_xlim(0, 1)
    ax_throttle.set_ylim(0, 1)
    ax_throttle.set_xticks([])
    ax_throttle.set_ylabel("Throttle")
    ax_throttle.grid(True)
    bar_throttle = ax_throttle.bar([0.5], [0], width=0.4, color="green")

    # Set up Matplotlib animation
    ani = FuncAnimation(fig, update_plot, fargs=(joystick, ac), interval=10)

    # Display plots
    print("Displaying live plots... (Close the window to exit)")
    plt.show()

except KeyboardInterrupt:
    print("\nExiting...")
except Exception as e:
    print(f"An error occurred: {e}")
finally:
    # Ensure clean disconnection

    pygame.quit()

if name == “main”:
main()