27 lines
676 B
Go
27 lines
676 B
Go
package input
|
|
|
|
import "symph/game"
|
|
|
|
// KeyMap is the default vim-style binding
|
|
var KeyMap = map[Key]game.Action{
|
|
KeyH: game.ActionMoveLeft,
|
|
KeyJ: game.ActionMoveDown,
|
|
KeyK: game.ActionMoveUp,
|
|
KeyL: game.ActionMoveRight,
|
|
KeySemicolon: game.ActionStubSemicolon,
|
|
KeyA: game.ActionStubA,
|
|
KeyS: game.ActionStubS,
|
|
KeyD: game.ActionStubD,
|
|
KeyF: game.ActionStubF,
|
|
KeySpace: game.ActionSpace,
|
|
KeyEnter: game.ActionConfirm,
|
|
}
|
|
|
|
// Translate resolves a Key to its bound Action, ActionNone if unbound
|
|
func Translate(k Key) game.Action {
|
|
if a, ok := KeyMap[k]; ok {
|
|
return a
|
|
}
|
|
return game.ActionNone
|
|
}
|