|
|
|
@ -68,7 +68,7 @@ class GameWindow: |
|
|
|
self.white_flash_opacity = 255 |
|
|
|
self.white_flash_opacity = 255 |
|
|
|
|
|
|
|
|
|
|
|
# Input handling |
|
|
|
# Input handling |
|
|
|
self.key_down, self.key_up, self.axis_scroll = key_callback |
|
|
|
self.trigger = key_callback |
|
|
|
self.button_cursor = [0, 0] |
|
|
|
self.button_cursor = [0, 0] |
|
|
|
self.buttons = {} |
|
|
|
self.buttons = {} |
|
|
|
|
|
|
|
|
|
|
|
@ -379,27 +379,29 @@ class GameWindow: |
|
|
|
for event in events: |
|
|
|
for event in events: |
|
|
|
if event.type == sdl2.SDL_QUIT: |
|
|
|
if event.type == sdl2.SDL_QUIT: |
|
|
|
self.running = False |
|
|
|
self.running = False |
|
|
|
elif event.type == sdl2.SDL_KEYDOWN and self.key_down: |
|
|
|
elif event.type == sdl2.SDL_KEYDOWN: |
|
|
|
# print in file keycode |
|
|
|
# print in file keycode |
|
|
|
keycode = event.key.keysym.sym |
|
|
|
keycode = event.key.keysym.sym |
|
|
|
open("keycode.txt", "a").write(f"{keycode}\n") |
|
|
|
|
|
|
|
key = sdl2.SDL_GetKeyName(event.key.keysym.sym).decode('utf-8') |
|
|
|
key = sdl2.SDL_GetKeyName(event.key.keysym.sym).decode('utf-8') |
|
|
|
# Check for Right Ctrl key to trigger white flash |
|
|
|
# Check for Right Ctrl key to trigger white flash |
|
|
|
if event.key.keysym.sym == sdl2.SDLK_RCTRL: |
|
|
|
self.trigger(f"keydown_{key}") |
|
|
|
self.trigger_white_flash() |
|
|
|
elif event.type == sdl2.SDL_KEYUP: |
|
|
|
else: |
|
|
|
|
|
|
|
self.key_down(key) |
|
|
|
|
|
|
|
elif event.type == sdl2.SDL_KEYUP and self.key_up: |
|
|
|
|
|
|
|
key = sdl2.SDL_GetKeyName(event.key.keysym.sym).decode('utf-8') |
|
|
|
key = sdl2.SDL_GetKeyName(event.key.keysym.sym).decode('utf-8') |
|
|
|
self.key_up(key) |
|
|
|
self.trigger(f"keyup_{key}") |
|
|
|
elif event.type == sdl2.SDL_MOUSEMOTION: |
|
|
|
elif event.type == sdl2.SDL_MOUSEMOTION: |
|
|
|
self.key_down("mouse", coords=(event.motion.x, event.motion.y)) |
|
|
|
self.trigger(f"mousemove_{event.motion.x}, {event.motion.y}") |
|
|
|
elif event.type == sdl2.SDL_JOYBUTTONDOWN: |
|
|
|
elif event.type == sdl2.SDL_JOYBUTTONDOWN: |
|
|
|
key = event.jbutton.button |
|
|
|
key = event.jbutton.button |
|
|
|
self.key_down(key) |
|
|
|
self.trigger(f"joybuttondown_{key}") |
|
|
|
elif event.type == sdl2.SDL_JOYBUTTONUP: |
|
|
|
elif event.type == sdl2.SDL_JOYBUTTONUP: |
|
|
|
key = event.jbutton.button |
|
|
|
key = event.jbutton.button |
|
|
|
self.key_up(key) |
|
|
|
self.trigger(f"joybuttonup_{key}") |
|
|
|
|
|
|
|
elif event.type == sdl2.SDL_JOYHATMOTION: |
|
|
|
|
|
|
|
hat = event.jhat.hat |
|
|
|
|
|
|
|
value = event.jhat.value |
|
|
|
|
|
|
|
self.trigger(f"joyhatmotion_{hat}_{value}") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Present the rendered frame |
|
|
|
# Present the rendered frame |
|
|
|
self.renderer.present() |
|
|
|
self.renderer.present() |
|
|
|
|