Enhance joystick handling in KeyLogger by adding button release and axis motion events

This commit is contained in:
2025-08-19 16:30:52 +02:00
parent 3fa678507c
commit 302d454783
2 changed files with 10 additions and 3 deletions
+3 -3
View File
@@ -39,7 +39,7 @@ class GameWindow:
# Window and renderer setup # Window and renderer setup
self.window = sdl2.ext.Window(title=title, size=self.target_size) self.window = sdl2.ext.Window(title=title, size=self.target_size)
self.window.show() # self.window.show()
self.renderer = sdl2.ext.Renderer(self.window, flags=sdl2.SDL_RENDERER_ACCELERATED) self.renderer = sdl2.ext.Renderer(self.window, flags=sdl2.SDL_RENDERER_ACCELERATED)
self.factory = sdl2.ext.SpriteFactory(renderer=self.renderer) self.factory = sdl2.ext.SpriteFactory(renderer=self.renderer)
@@ -47,8 +47,8 @@ class GameWindow:
self.fonts = self.generate_fonts("assets/decterm.ttf") self.fonts = self.generate_fonts("assets/decterm.ttf")
# Initial loading dialog # Initial loading dialog
self.dialog("Loading assets...") # self.dialog("Loading assets...")
self.renderer.present() # self.renderer.present()
# Game state # Game state
self.running = True self.running = True
+7
View File
@@ -41,6 +41,13 @@ class KeyLogger:
self.message = f"Joystick button {button} pressed" self.message = f"Joystick button {button} pressed"
if button == 9: # Assuming button 0 is the right trigger if button == 9: # Assuming button 0 is the right trigger
self.running = False self.running = False
elif event.type == sdl2.SDL_JOYBUTTONUP:
button = event.jbutton.button
self.message = f"Joystick button {button} released"
elif event.type == sdl2.SDL_JOYAXISMOTION:
axis = event.jaxis.axis
value = event.jaxis.value
self.message = f"Joystick axis {axis} moved to {value}"
elif event.type == sdl2.SDL_QUIT: elif event.type == sdl2.SDL_QUIT:
self.running = False self.running = False