1package shikaku23import (4 "charm.land/bubbles/v2/key"5 "github.com/FelineStateMachine/puzzletea/game"6)78type KeyMap struct {9 game.CursorKeyMap10 ShrinkUp key.Binding11 ShrinkDown key.Binding12 ShrinkLeft key.Binding13 ShrinkRight key.Binding14 Select key.Binding15 Delete key.Binding16}1718var DefaultKeyMap = KeyMap{19 CursorKeyMap: game.DefaultCursorKeyMap,20 ShrinkUp: key.NewBinding(21 key.WithKeys("shift+up", "K", "W"),22 key.WithHelp("shift+↑", "Shrink up"),23 ),24 ShrinkDown: key.NewBinding(25 key.WithKeys("shift+down", "J", "S"),26 key.WithHelp("shift+↓", "Shrink down"),27 ),28 ShrinkLeft: key.NewBinding(29 key.WithKeys("shift+left", "H", "A"),30 key.WithHelp("shift+←", "Shrink left"),31 ),32 ShrinkRight: key.NewBinding(33 key.WithKeys("shift+right", "L", "D"),34 key.WithHelp("shift+→", "Shrink right"),35 ),36 Select: key.NewBinding(37 key.WithKeys("enter", "space"),38 key.WithHelp("enter/space", "Select/Confirm"),39 ),40 Delete: key.NewBinding(41 key.WithKeys("backspace"),42 key.WithHelp("bkspc", "Cancel/Delete"),43 ),44}4546func (m Model) GetFullHelp() [][]key.Binding {47 return [][]key.Binding{48 {m.keys.Up, m.keys.Down, m.keys.Left, m.keys.Right},49 {m.keys.ShrinkUp, m.keys.ShrinkDown, m.keys.ShrinkLeft, m.keys.ShrinkRight},50 {m.keys.Select, m.keys.Delete},51 }52}