События Key Up и Down являются рабочим расширением c, поэтому его следует использовать с осторожностью. Вы должны быть уверены, что приложение работает как настольное приложение, прежде чем пытаться использовать настольную версию canvas.
Как видите, сначала убедитесь, что оконный холст способен, а затем запросите уведомление о ключевые события рабочего стола.
if deskCanvas, ok := w.Canvas().(desktop.Canvas); ok {
deskCanvas.SetOnKeyDown(func(key *fyne.KeyEvent) {
log.Println("Desktop key down", key)
})
deskCanvas.SetOnKeyUp(func(key *fyne.KeyEvent) {
log.Println("Desktop key up", key)
})
}
При запуске на мобильном устройстве это просто игнорируется, поэтому убедитесь, что ваше приложение может работать без них для работы на мобильном телефоне.