Implement the default mpl key bindings for the canvas and toolbar described at :ref:`key-event-handling` Parameters ---------- event : :class:`KeyEvent` a key press/release event canvas : :class:`FigureCanvasBase` the backend-specific canvas instance too
(event, canvas, toolbar=None)
| 2262 | |
| 2263 | |
| 2264 | def key_press_handler(event, canvas, toolbar=None): |
| 2265 | """ |
| 2266 | Implement the default mpl key bindings for the canvas and toolbar |
| 2267 | described at :ref:`key-event-handling` |
| 2268 | |
| 2269 | Parameters |
| 2270 | ---------- |
| 2271 | event : :class:`KeyEvent` |
| 2272 | a key press/release event |
| 2273 | canvas : :class:`FigureCanvasBase` |
| 2274 | the backend-specific canvas instance |
| 2275 | toolbar : :class:`NavigationToolbar2` |
| 2276 | the navigation cursor toolbar |
| 2277 | |
| 2278 | """ |
| 2279 | # these bindings happen whether you are over an axes or not |
| 2280 | |
| 2281 | if event.key is None: |
| 2282 | return |
| 2283 | |
| 2284 | # Load key-mappings from rcParams. |
| 2285 | fullscreen_keys = rcParams['keymap.fullscreen'] |
| 2286 | home_keys = rcParams['keymap.home'] |
| 2287 | back_keys = rcParams['keymap.back'] |
| 2288 | forward_keys = rcParams['keymap.forward'] |
| 2289 | pan_keys = rcParams['keymap.pan'] |
| 2290 | zoom_keys = rcParams['keymap.zoom'] |
| 2291 | save_keys = rcParams['keymap.save'] |
| 2292 | quit_keys = rcParams['keymap.quit'] |
| 2293 | grid_keys = rcParams['keymap.grid'] |
| 2294 | grid_minor_keys = rcParams['keymap.grid_minor'] |
| 2295 | toggle_yscale_keys = rcParams['keymap.yscale'] |
| 2296 | toggle_xscale_keys = rcParams['keymap.xscale'] |
| 2297 | all_keys = rcParams['keymap.all_axes'] |
| 2298 | |
| 2299 | # toggle fullscreen mode ('f', 'ctrl + f') |
| 2300 | if event.key in fullscreen_keys: |
| 2301 | try: |
| 2302 | canvas.manager.full_screen_toggle() |
| 2303 | except AttributeError: |
| 2304 | pass |
| 2305 | |
| 2306 | # quit the figure (default key 'ctrl+w') |
| 2307 | if event.key in quit_keys: |
| 2308 | Gcf.destroy_fig(canvas.figure) |
| 2309 | |
| 2310 | if toolbar is not None: |
| 2311 | # home or reset mnemonic (default key 'h', 'home' and 'r') |
| 2312 | if event.key in home_keys: |
| 2313 | toolbar.home() |
| 2314 | # forward / backward keys to enable left handed quick navigation |
| 2315 | # (default key for backward: 'left', 'backspace' and 'c') |
| 2316 | elif event.key in back_keys: |
| 2317 | toolbar.back() |
| 2318 | # (default key for forward: 'right' and 'v') |
| 2319 | elif event.key in forward_keys: |
| 2320 | toolbar.forward() |
| 2321 | # pan mnemonic (default key 'p') |
no test coverage detected