1package lightsout23import (4 "charm.land/bubbles/v2/key"5 "github.com/FelineStateMachine/puzzletea/game"6)78type KeyMap struct {9 game.CursorKeyMap10 Toggle key.Binding11}1213var DefaultKeyMap = KeyMap{14 CursorKeyMap: game.DefaultCursorKeyMap,1516 Toggle: key.NewBinding(17 key.WithKeys("enter", "space"),18 key.WithHelp("enter/space", "Toggle"),19 ),20}2122func (m *Model) updateKeyBindings() {23 m.keys.Up.SetEnabled(m.cursor.Y > 0)24 m.keys.Down.SetEnabled(m.cursor.Y < m.height-1)25 m.keys.Left.SetEnabled(m.cursor.X > 0)26 m.keys.Right.SetEnabled(m.cursor.X < m.width-1)27 m.keys.Toggle.SetEnabled(!m.IsSolved())28}2930func (m Model) GetFullHelp() [][]key.Binding {31 return [][]key.Binding{32 {m.keys.Up, m.keys.Down, m.keys.Left, m.keys.Right},33 {m.keys.Toggle},34 }35}