next up previous contents index
Next: Bind space Up: Mouse input Previous: Mouse input   Contents   Index


Bind

Syntax:
     bind {allwindows} [<key-sequence>] ["<gnuplot commands>"]
     bind <key-sequence> ""
     reset bind

The bind allows defining or redefining a hotkey, i.e. a sequence of gnuplot commands which will be executed when a certain key or key sequence is pressed while the driver's window has the input focus. Note that bind is only available if gnuplot was compiled with mouse support and it is used by all mouse-capable terminals. A user-specified binding supersedes any builtin bindings, except that 4#4space5#5 and 'q' cannot normally be rebound. For an exception, see bind space (p. [*]).

Mouse buttons cannot be rebound.

You get the list of all hotkeys by typing show bind or bind or by typing the hotkey 'h' in the graph window.

Key bindings are restored to their default state by reset bind.

Note that multikey-bindings with modifiers must be given in quotes.

Normally hotkeys are only recognized when the currently active plot window has focus. bind allwindows 4#4key5#5 ... (short form: bind all 4#4key5#5 ...) causes the binding for 4#4key5#5 to apply to all gnuplot plot windows, active or not. In this case gnuplot variable MOUSE_KEY_WINDOW is set to the ID of the originating window, and may be used by the bound command.

Examples:

- set bindings:


   bind a "replot"
   bind "ctrl-a" "plot x*x"
   bind "ctrl-alt-a" 'print "great"'
   bind Home "set view 60,30; replot"
   bind all Home 'print "This is window ",MOUSE_KEY_WINDOW'

- show bindings:

   bind "ctrl-a"          # shows the binding for ctrl-a
   bind                   # shows all bindings
   show bind              # show all bindings

- remove bindings:

   bind "ctrl-alt-a" ""   # removes binding for ctrl-alt-a
                            (note that builtins cannot be removed)
   reset bind             # installs default (builtin) bindings
   bind!                  # deprecated form of "reset bind"

- bind a key to toggle something:

 v=0
 bind "ctrl-r" "v=v+1;if(v%2)set term x11 noraise; else set term x11 raise"

Modifiers (ctrl / alt) are case insensitive, keys not:

   ctrl-alt-a == CtRl-alT-a
   ctrl-alt-a != ctrl-alt-A

List of modifiers (alt == meta):

   ctrl, alt

List of supported special keys:


  "BackSpace", "Tab", "Linefeed", "Clear", "Return", "Pause", "Scroll_Lock",
  "Sys_Req", "Escape", "Delete", "Home", "Left", "Up", "Right", "Down",
  "PageUp", "PageDown", "End", "Begin",


  "KP_Space", "KP_Tab", "KP_Enter", "KP_F1", "KP_F2", "KP_F3", "KP_F4",
  "KP_Home", "KP_Left", "KP_Up", "KP_Right", "KP_Down", "KP_PageUp",
  "KP_PageDown", "KP_End", "KP_Begin", "KP_Insert", "KP_Delete", "KP_Equal",
  "KP_Multiply", "KP_Add", "KP_Separator", "KP_Subtract", "KP_Decimal",
  "KP_Divide",


  "KP_1" - "KP_9", "F1" - "F12"

The following are window events rather than actual keys


  "Close"

See also help for mouse (p. [*]) and if (p. [*]).


Subsections
next up previous contents index
Next: Bind space Up: Mouse input Previous: Mouse input   Contents   Index
2011-06-14