InputBuffer struct

Public functions

void PushKey(SDL_Scancode key, bool down)
void AddMouseDelta(SimFloat dx, SimFloat dy)
void PushMouseButton(uint8_t button, bool down)
void InjectState(const uint8_t* keyData, SimFloat mouseDX, SimFloat mouseDY, uint8_t mouseButtons = 0)
Replace the entire key state + mouse delta + mouse buttons for the current write slot.
void Swap()
auto ReadEvent() -> InputData
auto GetEventCount() const -> uint16_t
auto IsKeyDown(SDL_Scancode key) const -> bool
auto IsMouseButtonDown(uint8_t button) const -> bool
auto IsActionDown(Action action) const -> bool
auto GetMouseDX() const -> SimFloat
auto GetMouseDY() const -> SimFloat
void SnapshotKeyState(uint8_t* dst, size_t size) const
auto GetMouseButtonMask() const -> uint8_t

Public variables

InputData Events
uint16_t EventCount
uint8_t KeyState
SimFloat MouseDX
SimFloat MouseDY
uint8_t MouseButtons
uint64_t SwapTimeUS
std::atomic<uint8_t> WriteSlot
uint8_t ReadSlot
uint16_t ReadCursor