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:
1 parent
a088c23a09
commit
5237b0a39c
7 files changed
+343
-17
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user