Skip to content

ludus::input

Ludus Wiki ยท API overview ยท Browse API

Namespace

Declared in modules/input/include/ludus/input/actions.h

Enumerations

ActionKind

enum class ActionKind : uint8

Related types: uint8

Button

Button

Axis1D

Axis1D

Declared in modules/input/include/ludus/input/actions.h

AxisDirection

enum class AxisDirection : uint8
For an Axis1D binding, which side the key contributes to. Ignored for Button.

Related types: uint8

Positive

Positive

Negative

Negative

Declared in modules/input/include/ludus/input/actions.h

BindingStatus

enum class BindingStatus : uint8
Status returned when installing a new binding map (K09).

Related types: uint8

Ok

Ok

InvalidAction

InvalidAction

InvalidKey

InvalidKey

CapacityExceeded

CapacityExceeded

ConflictingType

ConflictingType

DuplicateBinding

DuplicateBinding

Declared in modules/input/include/ludus/input/actions.h

ActionStatus

enum class ActionStatus : uint8
Status for an action query (K08).

Related types: uint8

Ok

Ok

InvalidAction

InvalidAction

Declared in modules/input/include/ludus/input/actions.h

TraceKind

enum class TraceKind : uint8
What a trace entry captured.

Related types: uint8

Transition

Transition

IgnoredTransition

IgnoredTransition

ResetBoundary

ResetBoundary

Overflow

Overflow

Declared in modules/input/include/ludus/input/input_debug.h

Key

enum class Key : uint16

Related types: uint16

Unknown

Unknown = 0

KeyA

KeyA

KeyB

KeyB

KeyC

KeyC

KeyD

KeyD

KeyE

KeyE

KeyF

KeyF

KeyG

KeyG

KeyH

KeyH

KeyI

KeyI

KeyJ

KeyJ

KeyK

KeyK

KeyL

KeyL

KeyM

KeyM

KeyN

KeyN

KeyO

KeyO

KeyP

KeyP

KeyQ

KeyQ

KeyR

KeyR

KeyS

KeyS

KeyT

KeyT

KeyU

KeyU

KeyV

KeyV

KeyW

KeyW

KeyX

KeyX

KeyY

KeyY

KeyZ

KeyZ

Digit0

Digit0

Digit1

Digit1

Digit2

Digit2

Digit3

Digit3

Digit4

Digit4

Digit5

Digit5

Digit6

Digit6

Digit7

Digit7

Digit8

Digit8

Digit9

Digit9

Minus

Minus

Equal

Equal

BracketLeft

BracketLeft

BracketRight

BracketRight

Backslash

Backslash

Semicolon

Semicolon

Quote

Quote

Backquote

Backquote

Comma

Comma

Period

Period

Slash

Slash

Space

Space

Enter

Enter

Tab

Tab

Backspace

Backspace

Escape

Escape

Insert

Insert

Delete

Delete

Home

Home

End

End

PageUp

PageUp

PageDown

PageDown

ArrowLeft

ArrowLeft

ArrowRight

ArrowRight

ArrowUp

ArrowUp

ArrowDown

ArrowDown

CapsLock

CapsLock

PrintScreen

PrintScreen

ScrollLock

ScrollLock

Pause

Pause

F1

F1

F2

F2

F3

F3

F4

F4

F5

F5

F6

F6

F7

F7

F8

F8

F9

F9

F10

F10

F11

F11

F12

F12

F13

F13

F14

F14

F15

F15

F16

F16

F17

F17

F18

F18

F19

F19

F20

F20

F21

F21

F22

F22

F23

F23

F24

F24

NumLock

NumLock

KeypadDivide

KeypadDivide

KeypadMultiply

KeypadMultiply

KeypadSubtract

KeypadSubtract

KeypadAdd

KeypadAdd

KeypadEnter

KeypadEnter

KeypadDecimal

KeypadDecimal

Keypad0

Keypad0

Keypad1

Keypad1

Keypad2

Keypad2

Keypad3

Keypad3

Keypad4

Keypad4

Keypad5

Keypad5

Keypad6

Keypad6

Keypad7

Keypad7

Keypad8

Keypad8

Keypad9

Keypad9

ShiftLeft

ShiftLeft

ShiftRight

ShiftRight

ControlLeft

ControlLeft

ControlRight

ControlRight

AltLeft

AltLeft

AltRight

AltRight

SuperLeft

SuperLeft

SuperRight

SuperRight

Menu

Menu

Count

Count

Declared in modules/input/include/ludus/input/key.h

AdmissionStatus

enum class AdmissionStatus : uint8
Admission result for a single Ingest (K02, K07).

Related types: uint8

Accepted

Accepted

Ignored

Ignored

RejectedInvalid

RejectedInvalid

RecoveredWithLoss

RecoveredWithLoss

Declared in modules/input/include/ludus/input/keyboard.h

StepStatus

enum class StepStatus : uint8
Step-advance result (K03). A repeated or decreasing id changes nothing.

Related types: uint8

Ok

Ok

InvalidStep

InvalidStep

SequenceExhausted

SequenceExhausted

Declared in modules/input/include/ludus/input/keyboard.h

RecordSource

enum class RecordSource : uint8
Where a record came from.
Captured in the trace so a wrapped/partial replay is never mistaken for an exact capture.

Related types: uint8

Native

Native

Synthetic

Synthetic

Replay

Replay

Declared in modules/input/include/ludus/input/keyboard_event.h

KeyTransition

enum class KeyTransition : uint8
Physical transition carried by a key record.

Related types: uint8

Down

Down

Up

Up

Declared in modules/input/include/ludus/input/keyboard_event.h

ResetReason

enum class ResetReason : uint8
Reason a reset/baseline synchronization was requested.
Distinguishes a focus enter (synchronize held set, no edges) from the various cancellation paths and the two explicit modes. ExplicitLive keeps the current physical baseline focused; ExplicitNeutral installs an empty, unfocused baseline.

Related types: uint8

None

None = 0

FocusLost

FocusLost

FocusEntered

FocusEntered

WindowClosed

WindowClosed

CapabilityLost

CapabilityLost

SeatRemoved

SeatRemoved

BackendDisconnected

BackendDisconnected

Overflow

Overflow

MapReplaced

MapReplaced

ExplicitNeutral

ExplicitNeutral

ExplicitLive

ExplicitLive

Declared in modules/input/include/ludus/input/keyboard_event.h

Aliases

ActionId

using ludus::input::ActionId = uint16
Stable, caller-assigned action identity. The valid domain is [0, capacity).

Related types: uint16

Declared in modules/input/include/ludus/input/actions.h

float32

using ludus::foundation::core::float32 = float
IEEE binary32 scalar; does not select rounding, trap or denormal policy.

Declared in modules/input/include/ludus/input/actions.h

uint16

using ludus::foundation::core::uint16 = std::uint16_t
Exact 16-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/actions.h

uint8

using ludus::foundation::core::uint8 = std::uint8_t
Exact 8-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/actions.h

uint32

using ludus::foundation::core::uint32 = std::uint32_t
Exact 32-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/input_debug.h

uint64

using ludus::foundation::core::uint64 = std::uint64_t
Exact 64-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/input_debug.h

uint8

using ludus::foundation::core::uint8 = std::uint8_t
Exact 8-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/input_debug.h

usize

using ludus::foundation::core::usize = std::size_t
Native unsigned size/index type; matches sizeof and container sizes, not a wire format.

Declared in modules/input/include/ludus/input/input_debug.h

uint16

using ludus::foundation::core::uint16 = std::uint16_t
Exact 16-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/key.h

usize

using ludus::foundation::core::usize = std::size_t
Native unsigned size/index type; matches sizeof and container sizes, not a wire format.

Declared in modules/input/include/ludus/input/key.h

uint32

using ludus::foundation::core::uint32 = std::uint32_t
Exact 32-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/keyboard.h

uint64

using ludus::foundation::core::uint64 = std::uint64_t
Exact 64-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/keyboard.h

uint8

using ludus::foundation::core::uint8 = std::uint8_t
Exact 8-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/keyboard.h

usize

using ludus::foundation::core::usize = std::size_t
Native unsigned size/index type; matches sizeof and container sizes, not a wire format.

Declared in modules/input/include/ludus/input/keyboard.h

uint32

using ludus::foundation::core::uint32 = std::uint32_t
Exact 32-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/keyboard_event.h

uint64

using ludus::foundation::core::uint64 = std::uint64_t
Exact 64-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/keyboard_event.h

uint8

using ludus::foundation::core::uint8 = std::uint8_t
Exact 8-bit unsigned integer for explicit-width values.

Declared in modules/input/include/ludus/input/keyboard_event.h

Constants and variables

TRACE_CAPACITY

constexpr usize ludus::input::TRACE_CAPACITY = 256

Related types: usize

Declared in modules/input/include/ludus/input/input_debug.h

KEY_COUNT

constexpr usize ludus::input::KEY_COUNT = static_cast<usize>(Key::Count)
Number of dense key slots, including the reserved Unknown slot at index 0.

Related types: usize

Declared in modules/input/include/ludus/input/key.h

PENDING_CAPACITY

constexpr usize ludus::input::PENDING_CAPACITY = 256
Fixed capacities (frozen in M0).
Pending transitions queued between steps, the output step-event buffer, and the action/binding domains. Overflow of the pending ring is a bounded, observable loss event, never growth or a crash.

Related types: usize

Declared in modules/input/include/ludus/input/keyboard.h

ACTION_CAPACITY

constexpr usize ludus::input::ACTION_CAPACITY = 64

Related types: usize

Declared in modules/input/include/ludus/input/keyboard.h

BINDING_CAPACITY

constexpr usize ludus::input::BINDING_CAPACITY = 256

Related types: usize

Declared in modules/input/include/ludus/input/keyboard.h

Functions

IsValidKey

constexpr bool ludus::input::IsValidKey(Key key) noexcept
True when key is a real, in-range key that may index key storage.
Unknown is deliberately NOT valid for indexing gameplay state: it is a sink value. This rejects fabricated enum values above Count as well as Unknown.

Related types: Key

Declared in modules/input/include/ludus/input/key.h

KeyIndex

constexpr usize ludus::input::KeyIndex(Key key) noexcept
Dense index for a validated key. The caller MUST have checked IsValidKey.

Related types: usize ยท Key

Declared in modules/input/include/ludus/input/key.h

DebugLabel

const char * ludus::input::DebugLabel(Key key) noexcept
Stable physical debug label (e.g. "KeyW", "ShiftLeft").
Never a layout- or locale-dependent character. Returns "Unknown" for Unknown or any value that is not a real key. Intended for diagnostics/trace, not gameplay.

Related types: Key

Declared in modules/input/include/ludus/input/key.h