Structs
Keeps track of the current input state like pressed keys and mouse movement. Does not provide functions for keys pressed this frame as layers may run at different intervals, and thus the concept of frame is ambiguos. A fixed update may for example run twice for each window event frame. This will cause a press for this frame to persists across multiple physics frames.
An input vector is a collection of InputAxis
for each cardinal direction
Key modifiers (e.g., Shift, Control, Alt, Super)