I recently completed an action based Input system for my own engine that allows me to create named actions which support the GamePad, Keyboard and Mouse. The system uses events to notify the game of changes in input state, which makes it really easy to use, and the system supports XML serialisation so key assignments … Read more