avyos.dev/pkg/graphics/input
package input
Package Overview
No package-level documentation is provided.
| Export Group | Count |
|---|---|
| Constants | 0 |
| Variables | 0 |
| Functions | 0 |
| Types | 7 |
Types
Backend
type Backend interface {
Open() error
Close() error
Size() (width, height int)
Buffer() *core.Buffer
Flush() error
FlushRect(core.Rect) error
Info() string
HasSystemCursor() bool
}Backend is the display backend interface. Implementations include framebuffer (Linux /dev/fb0) and Wayland.
Event
type Event struct {
Type EventType
// Mouse events
X, Y int
MouseButton MouseButton
// Keyboard events
Key Key
Rune rune
Modifiers Modifiers
// Shortcut events
ShortcutID uint32
WindowID uint32
Scope uint32
}Event represents an input event.
Methods
func (e Event) HasMod(mod Modifiers) boolHasMod returns true if the modifier is set.
func (e Event) IsAlt() boolIsAlt returns true if alt is held.
func (e Event) IsCtrl() boolIsCtrl returns true if ctrl is held.
func (e Event) IsShift() boolIsShift returns true if shift is held.
EventType
type EventType intEventType represents the type of an event.
Constants
const (
EventNone EventType = iota
EventMouseMove
EventMouseButtonPress
EventMouseButtonRelease
EventKeyPress
EventKeyRelease
EventFocusIn
EventFocusOut
EventQuit
EventResize
EventShortcut
)InputHandler
type InputHandler interface {
Open() error
Start()
Close() error
Poll() *Event
MousePosition() (x, y int)
SetScreenSize(width, height int)
}InputHandler is the input handler interface. Implementations include evdev (Linux raw input) and Wayland seat.
Key
type Key intKey represents a keyboard key.
Constants
const (
KeyNone Key = iota
KeyEscape
KeyBackspace
KeyTab
KeyEnter
KeySpace
KeyLeft
KeyRight
KeyUp
KeyDown
KeyHome
KeyEnd
KeyPageUp
KeyPageDown
KeyInsert
KeyDelete
KeyF1
KeyF2
KeyF3
KeyF4
KeyF5
KeyF6
KeyF7
KeyF8
KeyF9
KeyF10
KeyF11
KeyF12
KeyLeftShift
KeyRightShift
KeyLeftCtrl
KeyRightCtrl
KeyLeftAlt
KeyRightAlt
KeyCapsLock
KeyNumLock
KeyScrollLock
)Modifiers
type Modifiers uint8Modifiers represents keyboard modifiers.
Constants
const (
ModShift Modifiers = 1 << iota
ModCtrl
ModAlt
ModCapsLock
)MouseButton
type MouseButton intMouseButton represents a mouse button.
Constants
const (
MouseButtonNone MouseButton = iota
MouseButtonLeft
MouseButtonMiddle
MouseButtonRight
MouseButtonWheelUp
MouseButtonWheelDown
MouseButtonWheelLeft
MouseButtonWheelRight
)