This patch adds is_repeat member to an event and an option for key-map items to handle repeat events.
The keymap author can choose if they want press events to activate when the key is held (this patch enables for text editing and frame changes, otherwise repeat events aren't acted on).
This resolves T40537: Holding down "R" causes rapid switching between rotate and trackball rotate.
Notes
- Not proposing this for 2.80.
- Currently only X11 is supported.
- Uses ghost to track of the last held key which has auto-repeat enabled (using XKB when supported).
- This isn't fool proof, once a non-blender window is active we can't tell the key state. Currently the held key is cleared when the window is activated.