Search code examples
keyboardshortcutoxyplot

Which keyboard shortcut functions are already implemented in oxyplot?


I'm looking for a list of all shortcuts functions which oxyplot already implemented!

Like A == reset Ctrl + Left Mouse button ...etc.


Solution

  • I guess this documentation is what you are looking for, but it's currently marked with "TODO", so probably not complete: docs oxyplot.

    So I did some digging in the PlotController.cs:

    • Pan*:
      Right mouse button,
      Alt+Left mouse button,
      Up/Down/Left/Right arrow key, Ctrl+Arrow key for fine pan

    • Pan-Zoom:
      Touch (don't know the details on that)

    • Zoom*:
      Mouse wheel,
      Ctrl+Mouse wheel for fine zoom

    • Zoom in*:
      Mouse extra button 1,
      'Add', 'PageUp', Ctrl+'Add'/'PageUp' for fine

    • Zoom out*:
      Mouse extra button 2,
      'Subtract', 'PageDown', Ctrl+'Subtract'/'PageDown' for fine

    • Zoom by rectangle:
      Ctrl+Right mouse button,
      Middle mouse button,
      Ctrl+Alt+Left mouse button

    • Reset*:
      Ctrl+Right mouse button double-click,
      Middle mouse button double-click,
      Ctrl+Alt+Left mouse button double-click

    • Reset axes:
      A, Home,
      Shake-Gesture (I guess on a mobile device)

    • Copy bitmap:
      Ctrl+C

    • Copy code:
      Ctrl+Alt+C

    • Copy properties:
      Ctrl+Alt+R

    • Tracker:
      Left mouse button,
      Shift+Left mouse button for points only tracker,
      Ctrl+Left mouse button for free tracker (show mouse coordinates basically),
      Touch-Down (while touching I guess)

    *You can zoom/pan/reset a single axis by positioning the mouse cursor over the axis before starting the zoom/pan.

    I guess I could learn some formatting skills for StackExchange to get this list a bit nicer. And after doing this research I should maybe go and try to update that documentation page.

    That's all there is in the PlotController at the moment, though maybe my list is a bit simplified as there is should be a difference with "ZoomInAt" and just "ZoomIn", which is probably referring to the position of the mouse cursor.