Abstrakcyjny
Jak wskazali inni, Fnkluczem jest specjalny przypadek obsługiwany wewnętrznie. Przedstawię wyjaśnienie techniczne.
Szczegóły techniczne
Po naciśnięciu klawisza na klawiaturze kontroler klawiatury (mały układ scalony wewnątrz klawiatury) wykrywa obwód elektryczny i przetwarza go w celu zdekodowania, który klawisz został naciśnięty, a następnie wysyła skancode na płytę główną. System operacyjny otrzymuje scancode z BIOS-u, a następnie wykonuje wszelkie niezbędne działania, aby przetworzyć to naciśnięcie klawisza.
W przypadku większości kluczy jest to dość proste. Po naciśnięciu Aklawisza kontroler klawiatury wysyła scancode na płytę główną, która następnie przekazuje go do systemu operacyjnego, który z kolei zwykle drukuje „A”. (Jeśli system operacyjny wykryje, że jeden z klawiszy modyfikujących jest aktualnie wciśnięty, może zrobić coś innego. W rzeczywistości możesz go skonfigurować tak, aby robił co chcesz, gdy Aklawisz jest wciśnięty z modyfikatorami lub bez).
Teraz Fnklucz jest wyjątkowy. Gdy go naciśniesz sam, nic się nie dzieje, ponieważ jest to wyłącznie klawisz modyfikujący i nie jest (ogólnie) przeznaczony do robienia czegokolwiek samodzielnie. Po przytrzymaniu go i naciśnięciu innego klawisza kontroler klawiatury wykrywa to i przegląda wbudowaną tabelę, aby sprawdzić, czy jest to znana kombinacja. Jeśli kombinacji nie ma w tabeli, to po prostu ją ignoruje, ale jeśli ta kombinacja znajduje się w tabeli, wówczas wyszukuje skojarzony scancode i wysyła ją.
Co widzi system operacyjny? To nie nie patrz skanowego na Fnklucz i scancode dla drugiego klucza. Zamiast tego widzi pojedynczy scancode związany z jakąkolwiek funkcją, na którą ustawiono kombinację Fn. Na przykład, jeśli producent laptopów ustawił kombinację Fn+, Down Arrowaby zmniejszyć głośność, wówczas system operacyjny widzi scancode powiązany z tym Volume Down, który faktycznie mają niektóre klawiatury.
Podanie
Jak to wyjaśnia, dlaczego trzymanie Fnlaptopa i naciśnięcie klawisza na zewnętrznej klawiaturze nie działa? Proste, ponieważ klawiatura w laptopie i zewnętrzna mają własne kontrolery. O ile kontroler w laptopie widzi, naciskałeś i zwalniałeś Fnklawisz, io ile kontroler w zewnętrznym widział, naciskałeś i zwalniałeś drugi klawisz. Co widzi system operacyjny? Widzisz, że nacisnąłeś tylko drugi klawisz bez żadnych modyfikatorów.
Demonstracja
Widać, że Fnobsługa klucza jest wyjątkowa dzięki prostemu testowi. Podłącz dwie zewnętrzne klawiatury do laptopa (w ten sposób otrzymasz trzy klawiatury). Przytrzymaj Ctrlklawisz na jednej klawiaturze, Shiftklawisz na innej, a następnie naciśnij Escapeklawisz na trzeciej. Menedżer zadań systemu Windows powinien się wyświetlić. Dlaczego? Ponieważ system Windows otrzymał skancody dla wszystkich trzech kluczy, po jednym z każdego kontrolera trzech klawiatur. (To był przykład systemu Windows, ale naciśnięcie kombinacji klawiszy w ten sposób powinno działać tak samo w innych systemach operacyjnych. Na przykład nawet w systemie DOS można ponownie uruchomić system, naciskając Ctrl+ Alt+ Deletena różnych klawiaturach).
Uwaga
Uwaga: informacje o tym, w jaki sposób Fnjest specjalnie przetwarzany i wynikające z tego ograniczenia jego użycia są jedynie ogólne i oparte na typowych implementacjach. Nic nie stoi na przeszkodzie, aby producent laptopów zdecydował się na wdrożenie go w inny sposób i pozwala użytkownikowi ponownie przypisać klucz do innej funkcji, udostępnić emulowany Fnklucz na klawiaturze zewnętrznej za pomocą określonego akordu itp. W rzeczywistości nie ma nawet oficjalnego standardu na Fnklucz; większość producentów po prostu korzysta z tej samej implementacji, z której korzystali inni, ponieważ jest to tańsze, a zmiana tego, do czego użytkownicy są przyzwyczajeni, zwykle nie jest dobra.