On Saturday, October 29, 2011, Antoine Levitt <email@example.com> wrote:
> 29/10/11 21:20, Benjamin Root
>> On Saturday, October 29, 2011, Antoine Levitt
>> <firstname.lastname@example.org> wrote:
>>> 29/10/11 19:39, Benjamin Root
>>>> I don't think there is a document for the default keymaps, and
>>>> has been some talk about redoing default keybindings, because they
>>>> 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
>>>> 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
>>>> 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
>>> there doesn't seem to be a way to tell matplotlib : "whenever a
>>> is created, associate this handler to this event".
>>> I think I'll just wait for the keybinding stuff to get refactored,
>>> 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
> The problem is that I don't usually invoke figure(), I just do
> plot(x,y), which will presumably call figure for me. So unless there's
> some kind of event that's run after figure is called, I can't have a
> generic way of adding my bindings.
Before any show() calls or after any particular plotting commands.