Synetech memberikan penjelasan yang sangat mudah dibaca tentang Fnkunci - kunci di sini
Detail Teknis
Ketika Anda menekan tombol pada keyboard, pengontrol keyboard (sebuah chip IC kecil
di dalam keyboard) mendeteksi sirkuit listrik dan memprosesnya untuk memecahkan kode tombol mana yang ditekan dan kemudian mengirim
scancode ke motherboard . Sistem operasi menerima scancode dari BIOS dan kemudian melakukan tindakan apa pun yang diperlukan untuk memproses penekanan tombol itu.
Dengan sebagian besar tombol, ini cukup sederhana. Jika Anda menekan A
tombol, pengontrol keyboardnya mengirimkan scancode ke motherboard yang kemudian meneruskannya ke OS yang pada gilirannya biasanya mencetak 'A'. (Jika OS mendeteksi bahwa salah satu tombol pengubah saat ini ditekan, maka itu dapat melakukan sesuatu yang berbeda. Bahkan, Anda dapat mengonfigurasinya untuk melakukan apa pun yang Anda inginkan ketika Atombol ditekan dengan atau tanpa pengubah.)
Sekarang Fnkuncinya spesial. Ketika Anda menekannya dengan sendirinya, tidak ada yang terjadi karena itu adalah kunci pengubah secara eksklusif dan (umumnya) tidak dimaksudkan untuk melakukan apa pun dengan sendirinya. Saat Anda memegangnya dan menekan tombol lain, pengontrol keyboard mendeteksi dan melihat di tabel bawaannya untuk melihat apakah itu merupakan kombinasi yang diketahui. Jika kombo tidak ada dalam tabel, maka itu hanya mengabaikannya, tetapi jika kombo ada di dalam tabel, maka itu akan mencari scancode yang terkait dan mengirimkannya.
Apa yang akhirnya dilihat OS? Itu tidak melihat scancode untuk Fnkunci dan scancode untuk kunci lainnya. Sebagai gantinya, ia melihat satu scancode yang terkait dengan fungsi apa pun yang telah diatur oleh Fn-combo. Sebagai contoh, jika pabrikan laptop telah mengatur
Fn+ Down Arrowcombo untuk mengurangi volume, maka OS akan melihat scancode yang terkait dengan Volume Down, yang sebenarnya dimiliki oleh beberapa keyboard.
Perhatikan juga bahwa Fnkunci tersebut bekerja secara independen dari sistem operasi.
Selain itu, artikel ini dapat membantu mengarahkan Anda ke arah yang benar:
Kernel memiliki sendiri scancode
ke
keycode
meja pemetaan, sehingga memetakan sebuah scancode tertentu untuk keycode a. Anda dapat melihat /usr/include/linux/input.h untuk melihat apa yang digunakan oleh kernel Anda untuk pemetaan kode kunci ke kode kunci - disebut a
keymap
.
Nota bene
Saya mungkin perlu agak mengingkari klaim sebelumnya bahwa Fnkunci bekerja sepenuhnya terlepas dari OS; tanpa masuk ke rincian teknis lebih lanjut di sini, hasilnya tampaknya OS Anda mungkin tidak "mendukung" semua atau beberapa Fntombol keyboard Anda , lihat, misalnya:
scancode
terkait dengan, misalnya, "kode kunci 238".