SliTaz GNU/Linux official and community documentation wiki.
.png
Translations of this page:

This is an old revision of the document!



Xbindkeys

Table of contents

  • Introduction
  • Installing
  • Configuration and detecting key codes
  • Examples and tips
  • References

Introduction

Xbindkeys is a program that allows you to launch shell commands with your keyboard or your mouse under X Window. It links commands to keys or mouse buttons, using a configuration file. It's independant of the window manager and can capture all keyboard keys (ex: Power, Wake…).

It is useful to make “dead keys” of a multimedia keyboard work. (ex: play, pause, browser homepage…)


Installing

Use tazpkg to quickly install xbindkeys package. Open a terminal as root and type:

# tazpkg get-install xbindkeys

—-

Configuration and detecting key codes

Xbindkeys uses a configuration file to link a command to a key on your keyboard. Usually this file is : $HOME/.xbindkeyrc

You can have a default one created by using :

$ xbindkeys --defaults > $HOME/.xbindkeysrc

Start the program using:

$ xbindkeys

To add a custom keyboard shortcut, first you have to detect the key code. To do this, use:

$ xbindkeys -k

When a small white window shows up on screen, just press the desired key. Terminal will show you the 3-line code of the pressed key. Example:

"(Scheme function)"
m:0x10 + c:180
Mod2 + XF86HomePage

Now, close xbindkeys application to make changes on configuration file:

$ killall xbindkeys

Open .xbindkeysrc file on Leafpad (or on your favorite text editor) and copy the 3-line code above to the end of the file. We need to change the first code line to link the key code to a desired function. For example, if we want opening Midori when XF86Homepage key is pressed, we must change the first line to:

"midori"
m:0x10 + c:180
Mod2 + XF86HomePage

Save and close the .xbindkeysrc file. Restart xbindkeys program and your new shortcut is already working! To add other shortcuts, repeat the proceeding above.

If you want to detect a multi-key shortcut code, like CTRL+F, use:

$ xbindkeys -mk

Summary

Summary of commands:

# tazpkg get-install xbindkeys
$ xbindkeys --defaults > $HOME/.xbindkeysrc
$ xbindkeys
$ xbindkeys -k
$ killall xbindkeys
$ leafpad HOME/.xbindkeysrc
$ xbindkeys

Adding xbindkeys in autostarted applications

In the PCManFM in your home folder search for hidden folder .config, open it, next open openbox folder, and open autostart.sh in your text editor. Add these lines at the end of your file:

# Fn Keys
xbindkeys &

Save and quit text editor. All custom shortcuts will stay after you reboot or switch off/on your machine.

Examples and tips

This section shows you many command codes ready to use. Key codes (last two of 3-line key code) may vary from keyboard to keyboard, so it's up to you to catch them using xbindkeys.

Volume control (Alsa mixer)

#Muter/UnMute
"amixer set "Master" toggle"
m:0x00 + c:121
XF86AudioMute
#Volume up
"amixer set "Master" 5%+"
m:0x0 + c:123
XF86AudioRaiseVolume
#Volume down
"amixer set "Master" 5%-"
m:0x0 + c:122
XF86AudioLowerVolume

Alsaplayer

#stop alsaplayer
"alsaplayer --pause"
m:0x0 + c:172
XF86AudioPlay
#next alsaplayer
"alsaplayer --next"
m:0x0 + c:171
XF86AudioNext
#previous alsaplayer"
"alsaplayer --prev"
m:0x0 + c:173
XF86AudioPrev

Midori Browser

#Open Midori at Homepage
"midori --execute Homepage"
m:0x10 + c:180
Mod2 + XF86HomePage
#Back for previous page
"midori --execute Back"
m:0x10 + c:166
Mod2 + XF86Back
#Forward to next page
"midori --execute Forward"
m:0x10 + c:167
Mod2 + XF86Forward
#Stop loading current page
"midori --execute Stop"
m:0x10 + c:136
Mod2 + Cancel
#Reload/Refresh current page
"midori --execute Reload"
m:0x10 + c:181
Mod2 + XF86Reload

NOTES: If you use Firefox or Google Chrome, there's no need to modify xbindkeysrc file: these browsers automatically recognize the multimedia keys. Also, if you change from Midori to Firefox or Chrome, you must comment (#) or delete the shortcuts above. If you don't do this, it will open a Midori window when you press a navigation button.

Power management

#suspend to ram
"sudo pm-suspend"
m:0x0 + c:150
XF86Sleep

NOTE: this one (suspend to ram) works if you install pm-utils.

#power off button
"poweroff"
m:0x0 + c:124
XF86PowerOff

Screenshots

#screenshot
"mtpaint -s"
m:0x0 + c:107
Print

References

 
en/guides/xbindkeys.1403312067.txt.gz · Last modified: 2014/06/21 02:54 by sidini