On Saturday, October 29, 2011, Antoine Levitt <email@example.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.