Documentation ¶
Index ¶
- Constants
- type Event
- type EventType
- type GamepadAxis
- type GamepadButton
- type InputState
- func (is *InputState) GetCursorPosition() (x, y int)
- func (is *InputState) IsButtonJustPressed(buttonCode MouseButton) bool
- func (is *InputState) IsButtonPressed(buttonCode MouseButton) bool
- func (is *InputState) IsKeyJustPressed(keyCode Key) bool
- func (is *InputState) IsKeyPressed(keyCode Key) bool
- func (is *InputState) PressButton(buttonCode MouseButton)
- func (is *InputState) PressKey(keyCode Key)
- func (is *InputState) ReleaseButton(buttonCode MouseButton)
- func (is *InputState) ReleaseKey(keyCode Key)
- func (is *InputState) ResetJustPressed()
- func (is *InputState) SetScrollCallback(cb func(x, y float64))
- type Key
- type ModifierKey
- type MouseButton
Constants ¶
const ( AxisLeftX = GamepadAxis(glfw.AxisLeftX) AxisLeftY = GamepadAxis(glfw.AxisLeftY) AxisRightX = GamepadAxis(glfw.AxisRightX) AxisRightY = GamepadAxis(glfw.AxisRightY) AxisLeftTrigger = GamepadAxis(glfw.AxisLeftTrigger) AxisRightTrigger = GamepadAxis(glfw.AxisRightTrigger) AxisLast = GamepadAxis(glfw.AxisLast) )
Gamepad axis IDs.
const ( ButtonA = GamepadButton(glfw.ButtonA) ButtonB = GamepadButton(glfw.ButtonB) ButtonX = GamepadButton(glfw.ButtonX) ButtonY = GamepadButton(glfw.ButtonY) ButtonLeftBumper = GamepadButton(glfw.ButtonLeftBumper) ButtonRightBumper = GamepadButton(glfw.ButtonRightBumper) ButtonBack = GamepadButton(glfw.ButtonBack) ButtonStart = GamepadButton(glfw.ButtonStart) ButtonGuide = GamepadButton(glfw.ButtonGuide) ButtonLeftThumb = GamepadButton(glfw.ButtonLeftThumb) ButtonRightThumb = GamepadButton(glfw.ButtonRightThumb) ButtonDpadUp = GamepadButton(glfw.ButtonDpadUp) ButtonDpadRight = GamepadButton(glfw.ButtonDpadRight) ButtonDpadDown = GamepadButton(glfw.ButtonDpadDown) ButtonDpadLeft = GamepadButton(glfw.ButtonDpadLeft) ButtonLast = GamepadButton(glfw.ButtonLast) ButtonCross = GamepadButton(glfw.ButtonCross) ButtonCircle = GamepadButton(glfw.ButtonCircle) ButtonSquare = GamepadButton(glfw.ButtonSquare) ButtonTriangle = GamepadButton(glfw.ButtonTriangle) )
Gamepad button IDs.
const ( KeyUnknown = Key(glfw.KeyUnknown) KeySpace = Key(glfw.KeySpace) KeyApostrophe = Key(glfw.KeyApostrophe) KeyComma = Key(glfw.KeyComma) KeyMinus = Key(glfw.KeyMinus) KeyPeriod = Key(glfw.KeyPeriod) KeySlash = Key(glfw.KeySlash) Key0 = Key(glfw.Key0) Key1 = Key(glfw.Key1) Key2 = Key(glfw.Key2) Key3 = Key(glfw.Key3) Key4 = Key(glfw.Key4) Key5 = Key(glfw.Key5) Key6 = Key(glfw.Key6) Key7 = Key(glfw.Key7) Key8 = Key(glfw.Key8) Key9 = Key(glfw.Key9) KeySemicolon = Key(glfw.KeySemicolon) KeyEqual = Key(glfw.KeyEqual) KeyA = Key(glfw.KeyA) KeyB = Key(glfw.KeyB) KeyC = Key(glfw.KeyC) KeyD = Key(glfw.KeyD) KeyE = Key(glfw.KeyE) KeyF = Key(glfw.KeyF) KeyG = Key(glfw.KeyG) KeyH = Key(glfw.KeyH) KeyI = Key(glfw.KeyI) KeyJ = Key(glfw.KeyJ) KeyK = Key(glfw.KeyK) KeyL = Key(glfw.KeyL) KeyM = Key(glfw.KeyM) KeyN = Key(glfw.KeyN) KeyO = Key(glfw.KeyO) KeyP = Key(glfw.KeyP) KeyQ = Key(glfw.KeyQ) KeyR = Key(glfw.KeyR) KeyS = Key(glfw.KeyS) KeyT = Key(glfw.KeyT) KeyU = Key(glfw.KeyU) KeyV = Key(glfw.KeyV) KeyW = Key(glfw.KeyW) KeyX = Key(glfw.KeyX) KeyY = Key(glfw.KeyY) KeyZ = Key(glfw.KeyZ) KeyLeftBracket = Key(glfw.KeyLeftBracket) KeyBackslash = Key(glfw.KeyBackslash) KeyRightBracket = Key(glfw.KeyRightBracket) KeyGraveAccent = Key(glfw.KeyGraveAccent) KeyWorld1 = Key(glfw.KeyWorld1) KeyWorld2 = Key(glfw.KeyWorld2) KeyEscape = Key(glfw.KeyEscape) KeyEnter = Key(glfw.KeyEnter) KeyTab = Key(glfw.KeyTab) KeyBackspace = Key(glfw.KeyBackspace) KeyInsert = Key(glfw.KeyInsert) KeyDelete = Key(glfw.KeyDelete) KeyRight = Key(glfw.KeyRight) KeyLeft = Key(glfw.KeyLeft) KeyDown = Key(glfw.KeyDown) KeyUp = Key(glfw.KeyUp) KeyPageUp = Key(glfw.KeyPageUp) KeyPageDown = Key(glfw.KeyPageDown) KeyHome = Key(glfw.KeyHome) KeyEnd = Key(glfw.KeyEnd) KeyCapsLock = Key(glfw.KeyCapsLock) KeyScrollLock = Key(glfw.KeyScrollLock) KeyNumLock = Key(glfw.KeyNumLock) KeyPrintScreen = Key(glfw.KeyPrintScreen) KeyPause = Key(glfw.KeyPause) KeyF1 = Key(glfw.KeyF1) KeyF2 = Key(glfw.KeyF2) KeyF3 = Key(glfw.KeyF3) KeyF4 = Key(glfw.KeyF4) KeyF5 = Key(glfw.KeyF5) KeyF6 = Key(glfw.KeyF6) KeyF7 = Key(glfw.KeyF7) KeyF8 = Key(glfw.KeyF8) KeyF9 = Key(glfw.KeyF9) KeyF10 = Key(glfw.KeyF10) KeyF11 = Key(glfw.KeyF11) KeyF12 = Key(glfw.KeyF12) KeyF13 = Key(glfw.KeyF13) KeyF14 = Key(glfw.KeyF14) KeyF15 = Key(glfw.KeyF15) KeyF16 = Key(glfw.KeyF16) KeyF17 = Key(glfw.KeyF17) KeyF18 = Key(glfw.KeyF18) KeyF19 = Key(glfw.KeyF19) KeyF20 = Key(glfw.KeyF20) KeyF21 = Key(glfw.KeyF21) KeyF22 = Key(glfw.KeyF22) KeyF23 = Key(glfw.KeyF23) KeyF24 = Key(glfw.KeyF24) KeyF25 = Key(glfw.KeyF25) KeyKP0 = Key(glfw.KeyKP0) KeyKP1 = Key(glfw.KeyKP1) KeyKP2 = Key(glfw.KeyKP2) KeyKP3 = Key(glfw.KeyKP3) KeyKP4 = Key(glfw.KeyKP4) KeyKP5 = Key(glfw.KeyKP5) KeyKP6 = Key(glfw.KeyKP6) KeyKP7 = Key(glfw.KeyKP7) KeyKP8 = Key(glfw.KeyKP8) KeyKP9 = Key(glfw.KeyKP9) KeyKPDecimal = Key(glfw.KeyKPDecimal) KeyKPDivide = Key(glfw.KeyKPDivide) KeyKPMultiply = Key(glfw.KeyKPMultiply) KeyKPSubtract = Key(glfw.KeyKPSubtract) KeyKPAdd = Key(glfw.KeyKPAdd) KeyKPEnter = Key(glfw.KeyKPEnter) KeyKPEqual = Key(glfw.KeyKPEqual) KeyLeftShift = Key(glfw.KeyLeftShift) KeyLeftControl = Key(glfw.KeyLeftControl) KeyLeftAlt = Key(glfw.KeyLeftAlt) KeyLeftSuper = Key(glfw.KeyLeftSuper) KeyRightShift = Key(glfw.KeyRightShift) KeyRightControl = Key(glfw.KeyRightControl) KeyRightAlt = Key(glfw.KeyRightAlt) KeyRightSuper = Key(glfw.KeyRightSuper) KeyMenu = Key(glfw.KeyMenu) KeyLast = Key(glfw.KeyLast) )
These key codes are inspired by the USB HID Usage Tables v1.12 (p. 53-60), but re-arranged to map to 7-bit ASCII for printable keys (function keys are put in the 256+ range).
const ( ModShift = ModifierKey(glfw.ModShift) ModControl = ModifierKey(glfw.ModControl) ModAlt = ModifierKey(glfw.ModAlt) ModSuper = ModifierKey(glfw.ModSuper) ModCapsLock = ModifierKey(glfw.ModCapsLock) ModNumLock = ModifierKey(glfw.ModNumLock) )
Modifier keys.
const ( MouseButton1 = MouseButton(glfw.MouseButton1) MouseButton2 = MouseButton(glfw.MouseButton2) MouseButton3 = MouseButton(glfw.MouseButton3) MouseButton4 = MouseButton(glfw.MouseButton4) MouseButton5 = MouseButton(glfw.MouseButton5) MouseButton6 = MouseButton(glfw.MouseButton6) MouseButton7 = MouseButton(glfw.MouseButton7) MouseButton8 = MouseButton(glfw.MouseButton8) MouseButtonLast = MouseButton(glfw.MouseButtonLast) MouseButtonLeft = MouseButton(glfw.MouseButtonLeft) MouseButtonRight = MouseButton(glfw.MouseButtonRight) MouseButtonMiddle = MouseButton(glfw.MouseButtonMiddle) )
Mouse buttons.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type InputState ¶
type InputState struct { KeyState map[Key]bool KeyJustPressed map[Key]bool ButtonState map[MouseButton]bool ButtonJustPressed map[MouseButton]bool CursorPosition struct{ X, Y int } ScrollCallback func(x, y float64) }
func NewInputState ¶
func NewInputState() *InputState
func (*InputState) GetCursorPosition ¶
func (is *InputState) GetCursorPosition() (x, y int)
GetCursorPosition returns the current cursor position
func (*InputState) IsButtonJustPressed ¶
func (is *InputState) IsButtonJustPressed(buttonCode MouseButton) bool
IsButtonJustPressed returns true if the specified mouse button was just pressed
func (*InputState) IsButtonPressed ¶
func (is *InputState) IsButtonPressed(buttonCode MouseButton) bool
IsButtonPressed returns true if the specified mouse button is currently pressed
func (*InputState) IsKeyJustPressed ¶
func (is *InputState) IsKeyJustPressed(keyCode Key) bool
IsKeyJustPressed returns true if the specified key was just pressed
func (*InputState) IsKeyPressed ¶
func (is *InputState) IsKeyPressed(keyCode Key) bool
IsKeyPressed returns true if the specified key is currently pressed
func (*InputState) PressButton ¶
func (is *InputState) PressButton(buttonCode MouseButton)
PressButton simulates a mouse button press
func (*InputState) PressKey ¶
func (is *InputState) PressKey(keyCode Key)
PressKey simulates a key press
func (*InputState) ReleaseButton ¶
func (is *InputState) ReleaseButton(buttonCode MouseButton)
ReleaseButton simulates a mouse button release
func (*InputState) ReleaseKey ¶
func (is *InputState) ReleaseKey(keyCode Key)
ReleaseKey simulates a key release
func (*InputState) ResetJustPressed ¶
func (is *InputState) ResetJustPressed()
ResetJustPressed resets the just pressed state at the end of a frame
func (*InputState) SetScrollCallback ¶
func (is *InputState) SetScrollCallback(cb func(x, y float64))
SetScrollCallback sets a callback function for scroll events