go-sdl2 icon indicating copy to clipboard operation
go-sdl2 copied to clipboard

No way to get enter key event when using sdl.WaitEvent()

Open Mariownyou opened this issue 11 months ago • 1 comments

Go version: Go-SDL2 version: SDL2 version: OS: mac Architecture: m1


for running {
	sdl.WaitEvent()
	// DrawMultilineText(text, surface, popup)

	RenderText(text, surface)
	window.UpdateSurface()

	for event := sdl.PollEvent(); event != nil; event = sdl.PollEvent() {
		switch event := event.(type) {
		case *sdl.KeyboardEvent:
			fmt.Println("Keyboard event") // does not work when waiting for events
			if event.Type == sdl.KEYDOWN {
				fmt.Println("Key pressed:", event.Keysym.Sym, text)
			}
		case *sdl.TextInputEvent:
			fmt.Println("Text input event", event.GetText()) // does not work when I don't wait for events but works when after sdl.WaitEvent()
		case *sdl.QuitEvent:
			running = false
		default:
			fmt.Println("Event type: ", event.GetType(), event) // does not work on Enter, when waiting for events
		}
	}

	sdl.Delay(delay)
}


Keyboard events such as Enter or Escape works fine when I don't wait for event. But if i use wait event, I can catch only text input events. moreover, text input events does not appear when I don't use wait for event. @veeableful

Mariownyou avatar Jul 30 '23 01:07 Mariownyou