Controller-Fix: Joystick-Objekte wurden nach dem Namens-Auslesen freigegeben, dadurch lieferte SDL keine Events mehr. Jetzt offen halten + Hotplug. Neu: tools/controller_check.py zur Diagnose, Tests fuer Tastenbelegung (62).

This commit is contained in:
Project Bridge committed 2026-11-01 13:10:43 +00:00
1 parent a088c23a09
commit 5237b0a39c
7 files changed
+343 -17

No files matched your search

+15 -1
View File
@@ -28,7 +28,14 @@ from loader_game import config
from loader_game.assets import Assets
from loader_game.difficulty import DEFAULT_DIFFICULTY, Difficulty
from loader_game.game import Game, HandleResult, State
from loader_game.input_map import Action, actions_from_event, controller_hint_lines
from loader_game.input_map import (
Action,
actions_from_event,
controller_hint_lines,
describe_controller_setup,
is_device_event,
open_controllers,
)
from loader_game.intro import StartSequence, Tutorial
from loader_game.menu import DifficultyMenu
from loader_game.sequences import load_sequences
@@ -98,6 +105,9 @@ def main(argv: list[str] | None = None) -> int:
pygame.display.set_caption(config.WINDOW_TITLE)
screen = create_screen(fullscreen=args.fullscreen)
# Controller öffnen und offen halten – sonst liefert SDL keine Events.
open_controllers()
assets = Assets()
assets.load()
@@ -216,6 +226,10 @@ def main(argv: list[str] | None = None) -> int:
if event.type == pygame.KEYDOWN and event.key == pygame.K_F11:
pygame.display.toggle_fullscreen()
continue
if is_device_event(event):
print(describe_controller_setup())
open_controllers()
continue
for action in actions_from_event(event):
if not apply_action(action):
running = False