# Game input devices and event timing

## What to know

Find every place the game reads controls. It may poll a key table during a frame, handle window
messages as they arrive, or read a joystick through a timed hardware loop. Record the value the
game sees and the frame or command where it sees it.

Host clicks and keys are only a way to drive the original. They may be lost when the window is
not foreground, held for too little time, or mapped to the wrong game coordinates. For a port,
put the values the game reads into one input record and send them through the same code path on
every run.

The input guide lists read sites for keyboards, mice, joysticks, clocks, files and messages. The
linked cases cover DirectInput focus, held keys, cursor timing and Wine input.
