If I did not miss something, the DOM-Events (Level 3) specification does not tell whether keydown event should be repeatedly fired when a key is pressed and not released for longer time.
Browsers (although they do not implement KeyboardEvent interface from DOM-Events-Level-3 specification) differ in their behaviour. Opera doesn't fire event repeatedly while the other do.
It is obvious that there are scenarious where page authors would need keydown event fired repeatedly as well as where they would want to be notified on keydown once. (Indeed script author can already solve that by implementing a flag set in keydown event and reset in keyup event, but this is clearly not efficient)
So I thought, maybe, since KeyboardEvent is a new interface defined in a specification that is a working draft, there is an option to lay these details down? The proposal is:
1) define keydown event to be dispatched repeatedly
2) extend KeyboardEvent interface with "detail" property (currently not in use, inherited from UIEvent interface) that would contain contextual information on how many times the input device repeated event
This would also align the behaviour of keyboard events with mouse events where detail property keeps count of clicks happened in a row.
Sergey Ilinsky/