Jump to content
xisto Community
Sign in to follow this  
intrepid

Hotkeys / Keyboard Quick Launch Keys In Linux

Recommended Posts

I first submitted this tutorial a couple of months ago over at http://forums.xisto.com/no_longer_exists/ as user adpsimpson.

Having spent ages wishing the hotkeys on my laptop would work, I spent most of an afternoon looking into it. Since no site I found explained it satisfactorily, here's my method...

The first step is to find out which of the keys are registered by the kernel, and what their keycodes are (the unique event number that they cause). To do this you need a program called xev, (in Mandrake this is part of X11R6-contrib, is installed by default in Slack, and should be easy to find for other distros). From the terminal, in a graphical interface, type xev to launch it, move the mouse over the new window and press the hotkeys. What appears in the terminal is something like

KeyPress event, serial 28, synthetic NO, window 0x2c00001,    root 0xb5, subw 0x2c00002, time 3593153, (55,38), root:(730,82),    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,    XLookupString gives 0 bytes:  ""


The "keycode" (in this case 64) is the important part. The next is to make the keycode actually do something when X registers it. For this you need to run xmodmap to modify the keyboard map. A small script in the ~/.kde/Autostart folder (or similar for other desktops) means this will be done each time KDE is stated. I wanted key 176 to increase the system volume, and 174 to decrease it, so the script reads
xmodmap -e 'keycode 174=F21' #voldownxmodmap -e 'keycode 176=F22' #volup

Don't forget to make this executable. Run this script, re-run xev and you should now see, for example, F22 or F21 in the even notification.

The final step is to make F21 or F22 (or whatever you called your keys) actually do something useful. You can do this using the existing shortcut options (if you wish it to start an application), or you can use the program xbindkeys, here - http://hocwp.free.fr/xbindkeys/xbindkeys.html . This program links key events to bash commands, very easily.

The script in the KDE Autostart folder can then be modified to launch xbindkeys when KDE is launched, and the file ~/.xbindkeysrc modified to link the key events to the desired bash commands. I used dcop (the inter-program communication process) to tell kmix (the default KDE mixer) to increase/decrease the master volume (channel 0) whenever the relevant keys were pressed. Below is the complete file ~/.kde/Autostart/keycodes (MUST be executable):
#!/bin/sh#file to map special keys.#File location: ~/.kde/Autostart#File Name:keycodesxmodmap -e 'keycode 174=F21' #voldownxmodmap -e 'keycode 176=F22' #volup#Open kmix to allow xbindkeys to work:kmix#Open xbindkeys to link keys to applications:xbindkeysand the few lines I had to add to ~/.xbindkeysrc:Code:#Volume decrease"dcop kmix Mixer0 decreaseVolume 0"  F21#Volume increase"dcop kmix Mixer0 increaseVolume 0"  F22


Hopefully this will help people make their keyboards more useful. If anyone has any further suggestions, or knows of obvious or important differences between desktop environments, please post them below. However it should be relatively distro/desktop independent.

Share this post


Link to post
Share on other sites

Rally good, I've been looking for something like this. I hate exit from full screen mode just to increase the volume. -reply by physlord

Share this post


Link to post
Share on other sites

A better hotkey system (or different at least)

Hotkeys / Keyboard Quick Launch Keys In Linux

 

Is it possible to listen to those keystrokes, keep them in a buffer, and setup hotkeys, then have a "fire" key that actually launches programs? Ideally then if you type in the say "ff[tab]" firefox would open, etc.

 

 

 

-reply by joseph

Share this post


Link to post
Share on other sites
KDE4 quick updateHotkeys / Keyboard Quick Launch Keys In Linux

In KDE4, at least under OpenSuSE 11.2, the directory for autostart is actually ~/.Kde4/Autostart

-reply by Jessica Tanenhaus

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.