Start with tests. Not sure how to handle this just yet, but we'll see what comes out.
First test for keyboard input dispatcher.
First test to see if proper callback is invoked should be about done now.
Initial implementation of keyboard dispatcher. Only dispatches keydown event so far. Test failing.
Need to take into account that sender is always supplied as part of callback. Test works this way.
Also testing for key up events.
Should dispatch keyup events, but test seems to be failing.
Problem was copy-paste error in test. Tests are passing again.
Tests for event to start movement.
First implementation of a game event.
Initial implementation of MovementEvent seems to be okay.
No need for additional callbacks, so removing the EventHandler aspect of input dispatch and replacing it with a simple mapping from input actions to game events. These are just new tests. Note that the approach will differ for other peripherals.
Now just needs lookup code and translation from input events to game events will be complete.
Corrected minor errors in the tests.
Should handle standard events okay now, but does assume a type attribute so one test is still failing.
Reworked test so that dummy input more closely matches an SDL event.
Working on documentation for input handling. Want this to build without warnings...
Three warnings about nonlocal images remain, but cannot truly be avoided.
Documented and refactored input code.
Linted everything related to game input. Ready to merge back into develop.