xbindkeys  1.8.7
About: XBindKeys associates keys to shell commands under X.
  Fossies Dox: xbindkeys-1.8.7.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

xbindkeys Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies xbindkeys-1.8.7.tar.gz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).

This program grab keys in X and start the corresponding shell command.



to compile from source:
    The X11 include files and libraries. (Not the X server development packages)

configure --help
configure (and any options you want to set)
make install

The configuration of specific clients is taken care of in the file called 

You can have a default file with the --defaults option:

	xbindkeys --defaults

The pound(#) symbol may be used anywhere for comments. 

A command is formated like this:

"Command to start &"
  modifier+modifier+ key

Where modifier are:

	Control, Shift, Alt or Mod1, Mod2 (numlock), Mod3, Mod4, Mod5

	(modifiers are not case sensitive).

By defaults, xbindkeys does not pay attention with the modifiers
NumLock, CapsLock and ScrollLock.
Add the lines above in the config file, if you want to pay attention to them.

	keystate_numlock = enable
	keystate_capslock = enable
	keystate_scrolllock= enable

use 'xev' or 'xbindkeys --key' or 'xbindkeys --multikey' to know modifier 
and keycode or keysym.


        # control+alt+mod2 + d (it's a comment)
          "xterm &"
          control+alt+mod2 + d

        # control+alt+mod2 + f (it's a comment)
           "rxvt &"
           m:0x1c + c:41

  Here, pushing control+alt+mod2 (numlock enabled) and d starts  an xterm.
And pushing control+alt+mod2 and f starts rxvt.

  Please, don't forget the '&' at the end of the command,
if not xbindkeys will launch only one command at the same time

In version 1.7.0 and later, you can use a scheme/guile style in configuration
file (the default is ~/.xbindkeysrc.scm).
Try xbindkeys --defaults-guile for more details.

In version 1.8.0 and later, you have a full access to the xbindkeys internal  
from guile scheme. This allow some more complicated configuration file and 
prevent the need of a shell script (like double click, timed double click or
keys combinations).
See xbindkeysrc.scm or xbindkeysrc-combo.scm in the source directory for some
Note: The guile configuration file is the prefered way when there is a need for
a non trivial configuration. (I think) there is no need to hack the xbindkeys
source code. All can be done with the guile file.
For more details, please see here:


Use the -h or --help option for all available options.

                use an alternative xbindkeysrc (defaults is $HOME/.xbindkeysrc)

                help for xbindkeys.

                Verbose mode. Print more information when
                the program is running.
                use XServer at a specified display in standard X form.
                using this mode allows for multiple displays.

                Show a default rc file. You can use it to create the file
                $HOME/.xbindkeysrc like this:

                      'xbindkeys --defaults > $HOME/.xbindkeysrc'

                Identify key pressed. This option is usefull to fill
                $HOME/.xbindkeysrc. You have just to press a key to
                know what to put in the config file.

                Identify key pressed like with --key option, but you can 
		press modifier and key, and you can make multi tries.
		You have just to press a key to know what to put in the 
		config file.

                Set size and position of the window open with the 
		--key / --multikey options.

                Don't start as daemon. By default, xbindkeys starts in
                background, this option prevents this feature.

If guile support have not been disabled:

                Print a default guile configuration file

                Use an alternative guile configuration file

xbindkeys &

if you want, you can start it with X:

    Edit your .xsession or .XClients or .xinitrc (if any) and 
    add a line like this:


			     Contact Info
			     """"""" """"
			  Philippe Brochard