func Axis(name string) AxisID {
	if internal.Running {
		setErr(errors.New("input axis declaration: declarations must happen before starting the framework"))
		return noAxis
	}
	_, ok := actions.name[name]
	if ok {
		setErr(errors.New("input axis declaration: name already taken by another action"))
		return noAxis
	}
	a := len(axes.name)
	if a >= maxID {
		setErr(errors.New("input axis declaration: too many axis actions"))
		return noAxis
	}
	actions.name[name] = AxisID(a)
	actions.list = append(actions.list, AxisID(a))
	axes.name = append(axes.name, name)
	return AxisID(a)
}
//////////////////////////////////////////////////////////////////////////////
Axis declares a new bipolar action, and returns its ID.
package input
import (
	"errors"
	"github.com/cozely/cozely/internal"
)
type AxisID uint32
const noAxis = AxisID(maxID)
var axes struct {
	name []string
}
type axis struct {
	value    float32
	previous float32
}