input

package
v0.0.0-...-2c3a8a6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 6, 2022 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AnyGameController

func AnyGameController() (*sdl.GameController, error)

Types

type Action

type Action uint8
const (
	NoAction Action = iota
	ActionMoveForwards
	ActionMoveBackwards
	ActionTurnLeft
	ActionTurnRight
	ActionStrafeLeft
	ActionStrafeRight
	ActionJump
	ActionDuck
	ActionShootPrimary
	ActionShootSecundary
	ActionCustom
)

type KeyActionState

type KeyActionState struct {
	Pressed  bool
	Released bool
	// contains filtered or unexported fields
}

type KeyInput

type KeyInput struct {
	Code sdl.Keycode
	Mod  sdl.Keymod
}

func KeyInputFromEvent

func KeyInputFromEvent(e *sdl.KeyboardEvent) KeyInput

type KeyMap

type KeyMap map[KeyInput]Action

type KeyboardState

type KeyboardState struct {
	// contains filtered or unexported fields
}

func NewKeyboardState

func NewKeyboardState(keyMap KeyMap) *KeyboardState

func (*KeyboardState) HandleKeyboardEvent

func (ks *KeyboardState) HandleKeyboardEvent(e *sdl.KeyboardEvent) error

func (*KeyboardState) KeyActionState

func (ks *KeyboardState) KeyActionState(action Action) KeyActionState

type MouseBtnState

type MouseBtnState struct {
	X, Y     float64
	Pressed  bool
	Released bool
	Clicks   uint8
	// contains filtered or unexported fields
}

func (*MouseBtnState) GetX

func (btn *MouseBtnState) GetX() float64

func (*MouseBtnState) GetY

func (btn *MouseBtnState) GetY() float64

func (*MouseBtnState) HandleMouseButtonEvent

func (btn *MouseBtnState) HandleMouseButtonEvent(e *sdl.MouseButtonEvent) error

func (*MouseBtnState) Locker

func (btn *MouseBtnState) Locker() *sync.RWMutex

type MouseState

type MouseState struct {
	X, Y float64
	BtnLeft,
	BtnRight,
	BtnMiddle,
	BtnX1,
	BtnX2 *MouseBtnState
	// contains filtered or unexported fields
}

func NewMouseState

func NewMouseState(trackBtns TrackMouseBtnState) *MouseState

func (*MouseState) GetX

func (ms *MouseState) GetX() float64

func (*MouseState) GetY

func (ms *MouseState) GetY() float64

func (*MouseState) HandleMouseButtonEvent

func (ms *MouseState) HandleMouseButtonEvent(e *sdl.MouseButtonEvent) error

func (*MouseState) HandleMouseMotionEvent

func (ms *MouseState) HandleMouseMotionEvent(e *sdl.MouseMotionEvent) error

func (*MouseState) Locker

func (ms *MouseState) Locker() *sync.RWMutex

type TrackMouseBtnState

type TrackMouseBtnState uint8
const (
	TrackMouseBtnLeft TrackMouseBtnState = 1 << iota
	TrackMouseBtnRight
	TrackMouseBtnMiddle
	TrackMouseBtnX1
	TrackMouseBtnX2

	TrackAllMouseButtons = TrackMouseBtnLeft | TrackMouseBtnRight | TrackMouseBtnMiddle | TrackMouseBtnX1 | TrackMouseBtnX2
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL