Fn tuşları nasıl çalışır?


26

FnAnahtarların dizüstü bilgisayarımda nasıl çalıştığını bilmek istiyorum. Bence bir Fnanahtar yapmak için bazı komut dosyaları çağıran bir anahtar modülü var . Dizüstü bilgisayarımda Fn+ F2kablosuz ve mavi dişin gücünü değiştir.

Bu çıkışı olan acpi_listenI basın, Fn+F2

hotkey ATKD 0000005d 00000019
hotkey ATKD 0000007e 00000009

ve, folloing + xeviçin çıktıdırFnF2

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

İ bastırdı zaman sanırım Fn+ F2iki olay dışarı atladı edilir. Bu tuşlar için hangi işlemlerin yapıldığını bulmaya çalıştım. takdir herhangi bir fikir;)

Yanıtlar:


26

Synetech ilgili çok okunabilir açıklama veriyor Fntuşları burada

Teknik detaylar

Klavyedeki bir tuşa bastığınızda, klavye denetleyicisi (klavyenin içindeki küçük bir IC yongası ) elektrik devresini algılar ve hangi tuşa basıldığını kodlamak için işler ve ardından tarama kodunu ana karta gönderir . İşletim sistemi BIOS'tan tarama kodu alır ve ardından bu tuşa basılması için ne gibi bir işlem gerçekleştirirse gerçekleştirsin.

Çoğu tuşla bu yeterince basittir. Eğer basarsanız A anahtarı, klavyesi denetleyicisi sonra geçirir anakart için scancode gönderir OS sırayla genellikle Baskı 'A'. (İşletim sistemi, değiştirici tuşlarından birinin şu anda basılı tutulduğunu algılarsa, farklı bir şey yapabilir. Aslında, Atuşa değiştiricilerle veya değiştiricilerle basıldığında ne istersen yapması için yapılandırabilirsin .)

Şimdi Fnanahtar özeldir. Kendi başına bastığınızda, hiçbir şey olmuyor, çünkü bu yalnızca bir değiştirici anahtardır ve (genellikle) kendi başına bir şey yapmak anlamına gelmez. Basılı tutup başka bir tuşa bastığınızda, klavye denetleyicisi bunu algılar ve bilinen bir kombinasyon olup olmadığını görmek için yerleşik tablosuna bakar. Kombo tabloda değilse, sadece onu yok sayar, ancak kombo masada ise, o zaman ilişkili tarama kodunu arar ve gönderir.

İşletim sistemi neyi görüyor? O mu değil için scancode bkz Fnanahtar ve diğer anahtar için scancode. Bunun yerine, Fn-combo'nun ayarlandığı işlevle ilişkili tek bir tarama kodu görür. Örneğin, dizüstü bilgisayar üreticisi ses seviyesini azaltmak için Fn+ Down Arrowcombo'yu ayarladıysa , işletim sistemi Volume Downbazı klavyelerin gerçekte sahip olduğu ile ilişkili tarama kodunu görür .

Ayrıca, Fnanahtarın işletim sisteminden bağımsız olarak çalıştığını unutmayın .

Ayrıca, bu makale size doğru yöne işaret etmenize yardımcı olabilir:

Çekirdek kendi vardır scancodeiçin keycodeeşleme tablosunun, bu yüzden bir tuş kodunu belirli bir scancode eşler. Çekirdeğinizin anahtar kod eşlemesinde tarama kodunda ne kullandığını görmek için /usr/include/linux/input.h dosyasına bakabilirsiniz - buna a denir keymap.


dipnot

FnAnahtarların işletim sisteminden tamamen bağımsız olarak çalıştığını iddia etmek için önceki iddiamdan biraz vazgeçmem gerekebilir ; Burada daha fazla teknik ayrıntıya girmeden, ekran görüntüsü, işletim sisteminizin klavyenizin Fntuşlarının tümünü veya bir kısmını "desteklemeyebileceğini" gösteriyor , örneğin:


1
Teşekkürler, Fn tuşlarıyla ilgili ilginç bilgiler, Aslında işletim sistemi işlemcisinin hangi kısmının scancodeörneğin "tuş kodu 238" ile ilişkili olduğunu bulmak istiyorum .
37'de soroosh

3
Belki de bu makale size doğru yöne işaret etmenize yardımcı olabilir? "Çekirdek kendi vardır scancodeiçin keycodebir keycode'lu belirli bir scancode eşler böylece, eşleme tablosunun Ne tuş kodu eşleştirme scancode için çekirdek kullandığı görmek için /usr/include/linux/input.h içine bakabilirsiniz -. Bir denir keymap."
natty

1
Bu makale mükemmel, Aradığım şey bu
soroosh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.