Well, that was exactly what I was thinking even. I too was looking to design a simple class that's purpose is to keep track of how long each key has been pressed and if specific conditions are meet, flag the key as 'pressed' again so that anything monitoring specific key presses or generally, looking to get the last key pressed, would generally work out smoothly.
I figured there are a few things I need to keep track of. The users Repeat Delay and Repeat Rate (System settings or perhaps just fudge with local values), the time a key was pressed, the length of time it's been pressed, and the last time it was 'used'. This way, I can properly simulate a key press, allowing for a delay and then repeat action when appropriate.
Functioning like this might be best for situations like, navigating a 2D map, or handling text input. Say, the user entering a name or sending a text message to another player.
Seems to me, functionality like this would be somewhat nice and not that difficult to duplicate.
Sentack