Skip to content

ludus::input::InputSystem

Ludus Wiki · API overview · Browse API

Class

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

#include <ludus/input/keyboard.h>
class ludus::input::InputSystem final

Methods

InputSystem

ludus::input::InputSystem::InputSystem() noexcept

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

~InputSystem

ludus::input::InputSystem::~InputSystem() noexcept

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

InputSystem

ludus::input::InputSystem::InputSystem(const InputSystem &)=delete

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

operator=

InputSystem & ludus::input::InputSystem::operator=(const InputSystem &)=delete

Related types: InputSystem

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

InputSystem

ludus::input::InputSystem::InputSystem(InputSystem &&)=delete

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

operator=

InputSystem & ludus::input::InputSystem::operator=(InputSystem &&)=delete

Related types: InputSystem

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

Ingest

AdmissionStatus ludus::input::InputSystem::Ingest(const KeyboardRecord &record) noexcept
Validate, update live state, and append an owned transition.
Repeats and duplicate down/up are Ignored without creating edges. Invalid keys and records for an unfocused window are RejectedInvalid. Overflow returns RecoveredWithLoss. noexcept, no allocation, no lock.

Related types: AdmissionStatus · KeyboardRecord

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

GetLiveDown

bool ludus::input::InputSystem::GetLiveDown(Key key) const noexcept
Current physical held state only (diagnostics, not simulation edges).

Related types: Key

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

ConsumeStep

StepStatus ludus::input::InputSystem::ConsumeStep(uint64 stepId) noexcept
stepId must be strictly increasing.
Clears previous step edges, applies a pending reset (if any) then all queued transitions in order, evaluates actions, and publishes the snapshot and step-event view.

Related types: uint64 · StepStatus

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

GetKeyboardSnapshot

const KeyboardSnapshot & ludus::input::InputSystem::GetKeyboardSnapshot() const noexcept

Related types: KeyboardSnapshot

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

GetStepEvents

std::span< const StepEvent > ludus::input::InputSystem::GetStepEvents() const noexcept
Ordered records consumed for the current step (borrowed until next step).

Related types: StepEvent

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

GetAction

ActionStatus ludus::input::InputSystem::GetAction(ActionId id, ActionState &out) const noexcept

Related types: ActionId · ActionStatus · ActionState

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

ReplaceBindings

BindingStatus ludus::input::InputSystem::ReplaceBindings(const BindingMap &map) noexcept
Validate transactionally and commit only on success.
On success a reset is queued (MapReplaced) so old actions cancel and held keys are suppressed on the next step. On failure the active map is untouched. Must not be called from a callback or mid- consumption.

Related types: BindingStatus · BindingMap

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

GetMapVersion

uint32 ludus::input::InputSystem::GetMapVersion() const noexcept

Related types: uint32

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

RequestReset

void ludus::input::InputSystem::RequestReset(ResetReason reason, const FocusBaseline &baseline) noexcept
Queue a reset/baseline synchronization.
FocusEntered/ExplicitLive install the supplied held set as a suppressed baseline; the cancellation reasons install an empty unfocused baseline. Coalesces with any pending reset into the latest baseline while retaining reason accounting. Never needs queue room.

Related types: ResetReason · FocusBaseline

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

GetCounters

const InputCounters & ludus::input::InputSystem::GetCounters() const noexcept

Related types: InputCounters

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

SetDebugTrace

void ludus::input::InputSystem::SetDebugTrace(InputDebugTrace *trace) noexcept
Attach/detach an opt-in bounded trace.
Attaching does not transfer ownership; the trace must outlive the attachment. Null detaches.

Related types: InputDebugTrace

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

IsValid

bool ludus::input::InputSystem::IsValid() const noexcept
True when construction allocated its fixed storage.
If false, every operation degrades to a safe no-op/neutral result; the caller should treat construction as failed. Setup failure is reported explicitly here rather than through an exception (engine code is -fno-exceptions).

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