Linuxeissa pystyy käytännössä säätämään, muuttamaan ja uudelleenohjaamaan mitä tahansa. Yksi sellainen on näppäimistö. Funktionäppäimille, eli Fn1-12, voi ohjata toimintoja. Ajatus ei tietenkään ole uusi ja sehän on alkuperäinen funktionäppäinten tarkoitus. Vasta Windows-maailma eräällä tavalla betonoi ajatuksen, että F5 on sama kuin päivitys, tiedostohakemistojen tai verkkosivujen, tai että F1 on helppi.
Bashissa on kohtuullisen helppo muokata funktionäppäinten toimintaa, mutta F1 kannattaa jättää rauhaan, koska ikkunat käyttävät sitä. Toki on mahdollista, että jokin käyttämäsi ohjelma tai toiminto hyödyntää omalla tavallaan funktionäppäimiä, mutta silloin vaan kokeilee, että hajosiko jokin ja jos kyllä, niin poistaa oman koodauksen.
Tämä ohje ei saa suoraan asioita tapahtumaan, vaan tulostaa vain tekstin. Toki teksti voi olla komento, jonka saa sitten ajettua pelkällä enterillä – eli eräällä tavalla kyse on aliaksen muunnoksesta.
Samaa voi käyttää aivan kaikkiin muihinkin näppäimiin ja näppäinyhdistelmiin. Joten aivan samalla tavalla määrittelisit mitä ctrl-alt-U tekisi.
Ensin on selvitettävä minkä koodin näppäin lähettää. Se onnistuu helposti pelkällä cat
komennolla ja sitten antaa haluamansa näppäinpainalluksen. Esimerkissä katsoin, mikä on F2 näppäimen koodi:
root@eksis:~# cat ^[[12~ ^C root@eksis:~#
- ctrl-C keskeyttää ja päästää takaisin komentokehoitteeseen.
Merkkipari ^[
tarkoittaa samaa kuin \e
ja tuo muunnos täytyykin tehdä. Perusteiltaan annetaan bind
-komento haluttuun näppäimeen ja kerrotaan mikä siihen on kytketty.
Joten jos haluan, että F2 tekisi järjestelmän päivityksen, niin komento olisi:
bind '"\e[12~":"apt update && apt dist-upgrade"'
- heitto- ja lainausmerkit täytyy olla
Tuo komento ei tallennu mihinkään ja häviää, kun suljet shellin. Joten ne kannattaa lisätä ~/.bashrc
tiedostoon. Kun komennat . ~/.bashrc
niin muutokset tulevat heti voimaan ilman tarvetta kirjautua sisään ja ulos.