Abstrakt
Wie andere angegeben haben, handelt es sich bei dem FnSchlüssel um einen Sonderfall, der intern behandelt wird. Ich werde die technische Erklärung geben.
Technische Details
Wenn Sie eine Taste auf einer Tastatur drücken, erkennt der Tastaturcontroller (ein kleiner IC-Chip in der Tastatur) den Stromkreis und verarbeitet ihn, um zu dekodieren, welche Taste gedrückt wurde, und sendet dann den Scancode an das Motherboard. Das Betriebssystem empfängt Scancode vom BIOS und führt dann alle erforderlichen Aktionen aus, um diesen Tastendruck zu verarbeiten.
Bei den meisten Schlüsseln ist dies einfach genug. Wenn Sie die ATaste drücken, sendet der Tastaturcontroller den Scancode an das Motherboard, das ihn dann an das Betriebssystem weiterleitet, das normalerweise "A" druckt. (Wenn das Betriebssystem feststellt, dass eine der Modifizierertasten derzeit Agedrückt gehalten wird, kann dies etwas anderes bewirken. Sie können sie sogar so konfigurieren, dass sie beim Drücken der Taste mit oder ohne Modifikatoren beliebig funktioniert .)
Jetzt ist der FnSchlüssel etwas Besonderes. Wenn Sie es selbst drücken, geschieht nichts, da es sich ausschließlich um eine Modifizierertaste handelt und (im Allgemeinen) nicht dazu gedacht ist, etwas alleine zu tun. Wenn Sie die Taste gedrückt halten und eine andere Taste drücken, erkennt der Tastaturcontroller dies und prüft in der integrierten Tabelle, ob es sich um eine bekannte Kombination handelt. Wenn sich die Combo nicht in der Tabelle befindet, wird sie einfach ignoriert. Wenn sich die Combo jedoch in der Tabelle befindet, wird der zugehörige Scancode nachgeschlagen und gesendet.
Was sieht das Betriebssystem am Ende? Es ist nicht zu sehen , den Scancode für den FnSchlüssel und der Scancode für die andere Taste. Stattdessen wird ein einzelner Scancode angezeigt, der der Funktion zugeordnet ist, auf die die Fn-Combo eingestellt wurde. Wenn der Laptop-Hersteller beispielsweise die Kombination Fn+ eingestellt hat Down Arrow, um die Lautstärke zu verringern, sieht das Betriebssystem den mit dem verknüpften Scancode Volume Down, den einige Tastaturen tatsächlich haben.
Anwendung
Wie erklärt sich das, warum das Festhalten Fnam Laptop und das Drücken einer Taste auf einer externen Tastatur nicht funktioniert? Einfach, da die Tastatur im Laptop und die externe jeweils eigene Controller haben. Soweit der Controller im Laptop sieht, haben Sie die FnTaste gedrückt und losgelassen, und soweit der Controller im externen Bildschirm sieht, haben Sie die andere Taste gedrückt und losgelassen. Was sieht das Betriebssystem? Es wird angezeigt, dass Sie nur die andere Taste ohne Modifikatoren gedrückt haben.
Demonstration
FnMit einem einfachen Test können Sie sehen, dass die Schlüsselhandhabung etwas Besonderes ist. Schließen Sie zwei externe Tastaturen an einen Laptop an (so erhalten Sie drei Tastaturen). Halten Sie die CtrlTaste auf einer Tastatur und die ShiftTaste auf einer anderen Tastatur gedrückt und drücken Sie dann die EscapeTaste auf der dritten. Der Windows Task-Manager sollte angezeigt werden. Warum? Da Windows die Scancodes für alle drei Tasten erhalten hat, jeweils eine von den Controllern der drei Tastaturen. (Dies war ein Windows-Beispiel, aber das Drücken von Tastenkombinationen auf diese Weise sollte unter anderen Betriebssystemen gleich funktionieren. Selbst unter DOS können Sie das System beispielsweise durch Drücken von Ctrl+ Alt+ Deleteauf verschiedenen Tastaturen neu starten.)
Hinweis
Hinweis: Die Informationen darüber, wie das Fnspeziell verarbeitet wird, und die daraus resultierenden Einschränkungen bei seiner Verwendung sind nur allgemein und basieren auf allgemeinen Implementierungen. Nichts hindert einen Laptop-Hersteller daran, sich für eine andere Implementierung zu entscheiden und dem Benutzer zu ermöglichen, die Taste einer anderen Funktion zuzuordnen, eine emulierte FnTaste auf externen Tastaturen über einen bestimmten Akkord bereitzustellen usw. Tatsächlich gibt es nicht einmal einen offiziellen Standard für den FnSchlüssel; Die meisten Hersteller verwenden nur die gleiche Implementierung wie andere, weil sie billiger ist und es normalerweise nicht gut ist, die gewohnten Benutzer zu ändern.