Bypass keyboard navigation

Thanks so much guys!

This finally worked!

f=gcf()
for i in f.canvas.callbacks.callbacks:
    if i=='key_press_event':
        f.canvas.mpl_disconnect(f.canvas.callbacks.callbacks[i].keys()[0])

Thanks!
-David

Aha! I thought you were using 1.0. For 1.0, these things are rc settings; I had no idea they even existed back in 0.99.0. I only tripped over "f" very recently.

The key bindings are coded in the key_press() method of FigureManagerBase. The callback is connected to the canvas in the __init__ method. The trick is to disconnect the callback:

fig = figure()
fig.canvas.mpl_disconnect(3)
plot([1,2,3])

Now key presses have no effect in that figure. The bad thing here is that I used the cid 3, a seemingly random number. I suspect, though, that once you find out what it is in your version of mpl (and it may still be 3), you will be able to rely on it for your purposes. To find it, print out fig.canvas.callbacks.callbacks and look for key_press_event. You could have your program use this dictionary to look it up.

Eric