1package fillomino23import (4 "charm.land/bubbles/v2/key"5 "github.com/FelineStateMachine/puzzletea/game"6)78type KeyMap struct {9 game.CursorKeyMap10 Clear key.Binding11}1213var DefaultKeyMap = KeyMap{14 CursorKeyMap: game.DefaultCursorKeyMap,15 Clear: key.NewBinding(16 key.WithKeys("backspace", "delete"),17 key.WithHelp("bkspc", "Clear"),18 ),19}2021func (m *Model) updateKeyBindings() {22 m.keys.Up.SetEnabled(m.cursor.Y > 0)23 m.keys.Down.SetEnabled(m.cursor.Y < m.height-1)24 m.keys.Left.SetEnabled(m.cursor.X > 0)25 m.keys.Right.SetEnabled(m.cursor.X < m.width-1)2627 locked := m.provided[m.cursor.Y][m.cursor.X]28 enabled := !locked && !m.solved29 m.keys.Clear.SetEnabled(enabled)30}3132func (m Model) GetFullHelp() [][]key.Binding {33 return [][]key.Binding{34 {m.keys.Up, m.keys.Down, m.keys.Left, m.keys.Right},35 {m.keys.Clear},36 }37}