Next: , Previous: mouse_input, Up: mouse_input


1.17.1 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 <space> and 'q' cannot normally be rebound. For an exception, see `bind space`.

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 <key> ...` (short form: `bind all <key> ...`) causes the binding for <key> 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` and if.