Create function keys based shortcut to speeding up work at Linux command line part # 2

in Categories News last updated August 31, 2005

Under MS-Windows we all used hot function keys. Can we define hot keys under Linux? For example when I hit F1 key it should start top command or when I press F2 it should show the list of logged in users etc.
Linux comes with loadkeys utiluitity – its main purpose is to load the kernel keymap for the console. Using this utility you can modify the behavior of keys. For example when you hit F1 it will show you top command i.e. re-define keyboard action.

(A) Dump keyboard translation tables (get existing key combination on screen)
# dumpkeys

Better store it to file so that it can be modified and reloaded with loadkeys:
# dumpkeys /root/mykeys

(B) Forcing F1 key to run top command:

i) Open the file mykeys (as saved above by dumplkeys) in vi text editor:
# vi /root/mykeys

ii)Look for line string F1 = “33[[A” change it
string F1 = “33[[A”
string F1 = “top\n”

iii)Save the file

iv)Load the new keyboard translation tables :
# looadkeys /root/mykeys

v) Hit F1 key to see top command in action.

This way you can customize all your special key to automate task and speed up your work. You can even load custom shell script. See Speeding up work at Linux command line # part 1. Read man pages of
* loadkeys
* dumpkeys
* showkey ( displays to standard output (screen) either the scan codes, the keycode, or the character of each key pressed/released under Linux)

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 4 comments/add one below):

4 comment

  1. Extra handy tip – thank you!

    My webserver lives in our kitchen, and I wanted to find a way that my family could press a button and play an on-line radio station – this does it perfectly!

  2. Hi – this worked for my on the virtual ttys (non graphic Linux console), but I can’t get it to work on Gnome Terminal – is there any other way ?

  3. After years of looking for a solution to remap function keys so that my F10 key sends CTRL-D escape command to a warehouse ERP solution in telnet your article helped me figure out how to use dumpkeys / loadkeys / showkey to remap my function keys. Now I have a viable solution to replace Windows 10 / propietary paid ssh app and $3000CAD handhelds, and mobile phone with handheld scanners (which don’t work) with a Raspberry Pi and handscanner solution. Unfortunately, my work probably won’t go the Linux route. But I did it, thanks to your help.

    Have a question? Post it on our forum!