Special keys adalah kekunci atau kombinasi kekunci keyboard yang digunakan untuk mengarahkan sesuatu fungsi.
Contohnya jika kita menekan kekunci ctrl + m akan membuka media player.
Sebelum kita dapat mengarahkan kekunci untuk melakukan sebarang tugas, kita perlu mengenal keycodes kekunci tersebut. Cara paling mudah ialah dengan menggunakan tools xev.
Jalankan arahan xev pada terminal dan kemudian tekan kekunci pada keyboard. Keycode untuk kekunci tersebut akan dipaparkan.
Di bawah adalah contoh keycode extra button vol + dan vol - pada sesetengah notebook acer yang tidak disokong oleh kernel.
vol +
KeyPress event, serial 39, synthetic NO, window 0x800001,
root 0x112, subw 0x0, time 15529537, (-419,235), root:(425,528),
state 0x10, keycode 123 (keysym 0xffca, F13), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: FalseKeycode untuk vol + adalah : keycode 123
vol -
KeyPress event, serial 36, synthetic NO, window 0x800001,
root 0x112, subw 0x0, time 15655711, (-146,103), root:(698,396),
state 0x10, keycode 122 (keysym 0xffcb, F14), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: FalseKeycode untuk vol - adalah : keycode 122
Setelah mendapat keycode kekunci tersebut, boleh la anda berikan nama untuknya. File yang digunakan ialah ~/.xmodmaprc.
Contoh:
keycode 123 = F13
keycode 122 = F14
Kemudian kita gunakan arahan berikut supaya keymaps kekunci tersebut di kemaskini:
xmodmap dan xev datang dengan package x11-xserver-utils dan x11-utils.
Langkah seterusnya ialah untuk "bind" arahan kepada nama keycodes yang telah diberikan. Untuk tujuan ini, kita gunakan xbindkeys. Untuk lebih memudahkan, kita gunakan gui xbindkeys-config .
Untuk install:
apt-get install xbindkeys xbindkeys-config
Run arahan xbindkeys-config dan tetapkan arahan untuk nama keycode tadi.

Klik new untuk membina key dengan arahan baru.
Dalam contoh di atas, kita gunakan arahan:
aumix -v +4 dan aumix -v -4 untuk meningkatkan volume atau menurunkan volume. ia bermaksud setiap kali butang volume di tekan, ia akan meningkatkan atau menurunkan volume sebanyak 4%.
Perhatikan bahawa "Name" boleh anda berikan sebarang nama.
Bahagian teerpenting ialah "Key". Nama "Key" tersebut datangnya dari nama yang telah anda berikan pada keycode dalam ~./xmodmaprc.
Apabila selesai, klik Save&Apply&Exit. File .xbindkeysrc akan dibina pada Home anda. File tersebut akan kelihatan begini:
###########################
# xbindkeys configuration #
###########################
#
# Version: 0.1.3
#
# If you edit this, do not forget to uncomment any lines that you change.
# The pound(#) symbol may be used anywhere for comments.
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier (on my keyboard):
# Control, Shift, Mod1 (Alt), Mod2 (NumLock),
# Mod3 (CapsLock), Mod4, Mod5 (Scroll).
#
# Another way to specifie a key is to use 'xev' and set the
# keycode with c:nnn or the modifier with m:nnn where nnn is
# the keycode or the state returned by xev
#
# This file is created by xbindkey_config
# The structure is :
# # Remark
# "command"
# m:xxx + c:xxx
# Shift+...
#keystate_numlock = enable
#keystate_scrolllock = enable
#keystate_capslock = enable
#Volumeup
"aumix -v +4"
F13
#Volumedown
"aumix -v -4"
F14
#
# End of xbindkeys configuration
Run arahan xbindkeys -f ~/.xbindkeysrc dan uji butang yang telah di map. Volume akan berubah setiap kali butang ditekan.
Bagaimanapun arahan xmodmap dan xbindkeys perlu anda run setiap kali anda login ke desktop.
Untuk memudahkan, anda bolehlah membina script mudah supaya ia berjalan secara automatik setiap kali login.
Anda tidak boleh menggunakan rc script kerana ia perlukan user dan bukan root untuk berfungsi.
Cara termudah ialah masukkan script berikut pada startup script desktop:
# xmodmap and xbindkeys - mambang
if [ -f $HOME/.xmodmaprc ]; then
/usr/bin/xmodmap $HOME/.xmodmaprc
fi
if [ -f $HOME/.xbindkeysrc ]; then
/usr/bin/xbindkeys -f $HOME/.xbindkeysrc
fiJika anda menggunakan LXDE, anda boleh masukkan ke /usr/bin/startlxde sebelum baris "exec /usr/bin/lxsession -s LXDE".
Bagi gnome dan kde, anda boleh masukkan ke session startup.