One note, I believe modifier keys aren't supported in a
> natural way right now, so to catch "ctrl+s" for example
> could be a pain. Just pressing "ctrl" would generate an
> event. All the modifiers states would have to be
> maintained manually, I believe.
Good point. The first thing to be done is to add support for this in
the key event itself, by modifying FigureCanvasBase to track the state
of the modifier keys and add a modifier attr to the KeyEvent, so one
could do, eg
if event.key=='left' and event.modifier=='alt':
Basically, you would want to add some state vars (_inalt, _inctrl,
_inshift) to FigureCanvasBase, and monitor event.key in
FigureCanvasBase.key_release_event. I would add a new kwarg to
KeyEvent like modifier=None that would be overrridden depending on the
Any takers on this one?