On Saturday, October 29, 2011, Antoine Levitt <antoine.levitt@gmail.com> wrote:
> 29/10/11 19:39, Benjamin Root
>> I don't think there is a document for the default keymaps, and there
>> has been some talk about redoing default keybindings, because they are
>> so hidden and varies from backend to backend.
>>
>> In the meantime, I would suggest checking out the "event handeling"
>> section of the examples page. You can have a function that you attach
>> to the "key_press_event", which takes an "event" object as an
>> argument.  That event object has the key that was pressed.  You can
>> then have an if...elif...else statement for all the keys and actions,
>> or have a dictionary of key-action pairs.
>>
>> Hope that helps!
>> Ben Root
>
> That's pretty cool! However, I have to do it for every figure I create,
> there doesn't seem to be a way to tell matplotlib : "whenever a figure
> is created, associate this handler to this event".
>
> I think I'll just wait for the keybinding stuff to get refactored, which
> would definitely be a good idea (I only found out via very indirect
> means, and had to change backend to get them working). It seems
> worthwhile to have a "q" default binding to exit the plot.
>

The basic event handling isn't going to be refactored.  I was merely speaking of how the default keymaps are set.  Yes, you will need to mpl_connect for each figure object.  This is standard for any GUI control system.  What you can do is make a function that produces a figure for you as well as perform any event connections for you.

Ben Root