This huge crufty input chain could be cleaned up using a `static const` mapping of Win32 input message types to `Input::Key` types, and then doing a single lookup in that table for each `WM_KEYUP` and `WM_KEYDOWN` message.