Pertanyaan Bagaimana cara kerja tombol Fn?


Saya suka tahu caranya Fn kunci berfungsi di laptop saya. Saya pikir modul kernel ada yang menangkap Fn kunci dan panggil beberapa skrip untuk melakukan sesuatu. Di laptop saya, Fn+F2 beralih kekuatan nirkabel dan gigi biru.

ini adalah output dari acpi_listen, ketika saya menekan Fn+F2

hotkey ATKD 0000005d 00000019
hotkey ATKD 0000007e 00000009

dan, folloing adalah output dari xev untuk Fn+F2

keycode 238 press
keycode 238 release
keycode 237 press
keycode 237 release

Saya kira setiap kali saya ditekan Fn+F2 dua peristiwa dilompati. Saya mencoba mencari tindakan apa yang dijalankan untuk kunci ini. setiap ide dihargai;)


22
2018-03-20 13:48


asal




Jawaban:


Synetech memberikan penjelasan yang sangat mudah dibaca tentang Fn kunci sini

Detail Teknis

Ketika Anda menekan tombol pada keyboard, keyboard controller (kecil    Chip IC  dalam keyboard) mendeteksi sirkuit listrik dan   memprosesnya untuk memecahkan kode kunci 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 kunci, ini cukup sederhana. Jika Anda menekan tombol SEBUAH   kunci, pengendali keyboard mengirim scancode ke motherboard   yang kemudian diteruskan ke OS yang pada gilirannya biasanya mencetak 'A'. (Jika   OS mendeteksi bahwa salah satu tombol pengubah saat ini ditekan,   Maka mungkin melakukan sesuatu yang berbeda. Bahkan, Anda bisa mengkonfigurasinya   lakukan apa pun yang Anda inginkan saat itu SEBUAH kunci ditekan dengan atau   tanpa pengubah.)

Sekarang Fn kuncinya istimewa. Saat Anda menekannya sendiri,   tidak ada yang terjadi karena itu khusus kunci pengubah dan tidak   (umumnya) dimaksudkan untuk melakukan apa saja sendiri. Ketika Anda memegangnya dan   tekan tombol lain, pengendali keyboard mendeteksi itu dan melihat ke dalam   built-in table untuk melihat apakah ini adalah kombinasi yang dikenal. Jika kombo   tidak ada di dalam tabel, maka itu hanya mengabaikannya, tetapi jika kombo ada di dalamnya   tabel, kemudian mencari scancode terkait dan mengirimkannya.

Apa yang OS akhirnya lihat? Itu benar tidak lihat scancode untuk   itu Fn kunci dan scancode untuk kunci lainnya. Sebaliknya, itu   melihat scancode tunggal yang terkait dengan fungsi apa pun Fn-combo   telah diatur untuk. Misalnya, jika pabrikan laptop telah mengatur    Fn+Panah Bawah combo untuk mengurangi volume, lalu   OS melihat scancode yang terkait dengan Volume Turun,   yang beberapa keyboard sebenarnya miliki.

Juga perhatikan bahwa Fn kunci bekerja secara mandiri dari sistem operasi.

Bahkan, artikel ini dapat membantu mengarahkan Anda ke arah yang benar:

Kernel memiliki sendiri scancode untuk    keycode tabel pemetaan, sehingga memetakan scancode tertentu ke a   kata kunci. Anda dapat melihat ke /usr/include/linux/input.h untuk melihat apa yang Anda miliki   kernel digunakan untuk scancode ke pemetaan keycode - ini disebut a    keymap.


Nota bene

Saya mungkin perlu sedikit mengingkari klaim sebelumnya bahwa Fn kunci bekerja sepenuhnya secara mandiri dari OS; tanpa masuk ke rincian teknis lebih lanjut di sini, hasilnya sepertinya OS Anda mungkin tidak "mendukung" semua atau sebagian dari keyboard Anda Fn kunci, lihat, misalnya:


21
2018-03-20 14:24



Terima kasih, informasi menarik tentang kunci Fn, Sebenarnya saya ingin mencari bagian pegangan OS scancode terkait dengan, misalnya, "keycode 238". - soroosh
Mungkin artikel ini dapat membantu mengarahkan Anda ke arah yang benar? "Kernel itu sendiri scancode untuk keycode tabel pemetaan, sehingga memetakan scancode tertentu ke kode kunci. Anda dapat melihat ke /usr/include/linux/input.h untuk melihat apa yang digunakan kernel Anda untuk scancode ke pemetaan keycode - ini disebut keymap. " - nutty about natty
Artikel itu sempurna, Ini yang saya cari - soroosh