ITADN

Help capturing keyboard inputs

#1041Openjasmeer 创建于 2025-10-24
J
jasmeercommented
Hi I want to capture key strokes only when canvas is clicked/active. I tried this and does't work. ``` var texture *g.Texture var text = "Hello, Gopher!" var canvasClicked bool func loop() { g.SingleWindow().Layout( g.Label("Canvas demo"), g.Custom(func() { canvasClicked = g.IsItemClicked(g.MouseButtonLeft) canvas := g.GetCanvas() pos := g.GetCursorScreenPos() p1 := image.Point{X: pos.X + 0, Y: pos.Y + 0} p2 := image.Point{X: pos.X + 600, Y: pos.Y + 100} canvas.AddRectFilled(p1, p2, color.RGBA{R: 200, G: 200, B: 200, A: 255}, 0.2, g.DrawFlagsNone) g.SetCursorScreenPos(image.Point{X: pos.X, Y: pos.Y + 100}) }), g.InputTextMultiline(&text).Size(-1, 100), ) } func main() { wnd := g.NewMasterWindow("Canvas", 600, 600, g.MasterWindowFlagsNotResizable) img, _ := g.LoadImage("gopher.png") g.EnqueueNewTextureFromRgba(img, func(tex *g.Texture) { texture = tex }) wnd.SetAdditionalInputHandlerCallback(func(key g.Key, mod g.Modifier, act g.Action) { if canvasClicked { fmt.Println(key, mod, act) } }) wnd.Run(loop) } ``` Thanks Jasmeer
2 条评论