@@ -2306,24 +2306,32 @@ def stop_event_loop(self):
23062306 self ._looping = False
23072307
23082308
2309- def key_press_handler (event , canvas , toolbar = None ):
2309+ def key_press_handler (event , canvas = None , toolbar = None ):
23102310 """
23112311 Implement the default Matplotlib key bindings for the canvas and toolbar
23122312 described at :ref:`key-event-handling`.
23132313
23142314 Parameters
23152315 ----------
23162316 event : `KeyEvent`
2317- a key press/release event
2318- canvas : `FigureCanvasBase`
2319- the backend-specific canvas instance
2320- toolbar : `NavigationToolbar2`
2321- the navigation cursor toolbar
2317+ A key press/release event.
2318+ canvas : `FigureCanvasBase`, optional, default: ``event.canvas``
2319+ The backend-specific canvas instance. This parameter is kept for
2320+ back-compatibility, but, if set, should always be equal to
2321+ ``event.canvas``.
2322+ toolbar : `NavigationToolbar2`, optional, default: ``event.canvas.toolbar``
2323+ The navigation cursor toolbar. This parameter is kept for
2324+ back-compatibility, but, if set, should always be equal to
2325+ ``event.canvas.toolbar``.
23222326 """
23232327 # these bindings happen whether you are over an axes or not
23242328
23252329 if event .key is None :
23262330 return
2331+ if canvas is None :
2332+ canvas = event .canvas
2333+ if toolbar is None :
2334+ toolbar = canvas .toolbar
23272335
23282336 # Load key-mappings from rcParams.
23292337 fullscreen_keys = rcParams ['keymap.fullscreen' ]
@@ -2483,10 +2491,17 @@ def _get_uniform_gridstate(ticks):
24832491 a .set_navigate (i == n )
24842492
24852493
2486- def button_press_handler (event , canvas , toolbar = None ):
2494+ def button_press_handler (event , canvas = None , toolbar = None ):
24872495 """
24882496 The default Matplotlib button actions for extra mouse buttons.
2497+
2498+ Parameters are as for `key_press_handler`, except that *event* is a
2499+ `MouseEvent`.
24892500 """
2501+ if canvas is None :
2502+ canvas = event .canvas
2503+ if toolbar is None :
2504+ toolbar = canvas .toolbar
24902505 if toolbar is not None :
24912506 button_name = str (MouseButton (event .button ))
24922507 if button_name in rcParams ['keymap.back' ]:
@@ -2610,12 +2625,12 @@ def key_press(self, event):
26102625 :ref:`key-event-handling`.
26112626 """
26122627 if rcParams ['toolbar' ] != 'toolmanager' :
2613- key_press_handler (event , self . canvas , self . canvas . toolbar )
2628+ key_press_handler (event )
26142629
26152630 def button_press (self , event ):
26162631 """The default Matplotlib button actions for extra mouse buttons."""
26172632 if rcParams ['toolbar' ] != 'toolmanager' :
2618- button_press_handler (event , self . canvas , self . canvas . toolbar )
2633+ button_press_handler (event )
26192634
26202635 def get_window_title (self ):
26212636 """
0 commit comments