Анотація
Як зазначають інші, Fnключ є спеціальним випадком, який обробляється всередині країни. Я надам технічне пояснення.
Технічні деталі
Коли ви натискаєте клавішу на клавіатурі, контролер клавіатури (невеликий мікросхем всередині клавіатури) виявляє електричну ланцюг і обробляє її для розшифровки, яку клавішу було натиснуто, а потім відправляє код сканування на материнську плату. Операційна система отримує код сканування від BIOS, а потім виконує всі необхідні дії для обробки цього натискання клавіші.
З більшості клавіш це досить просто. Якщо натиснути Aклавішу, контролер клавіатури надсилає код сканування на материнську плату, після чого передає її в ОС, яка, в свою чергу, зазвичай друкує "A". (Якщо ОС виявить, що одна з клавіш модифікатора в даний час утримується, то вона може зробити щось інше. Насправді ви можете налаштувати її, щоб робити все, що завгодно, коли Aклавіша натискається з модифікаторами або без них.)
Тепер Fnключ особливий. Коли ви натискаєте його самостійно, нічого не відбувається, тому що це виключно модифікаційна клавіша і не (в цілому) не означає нічого робити самостійно. Коли ви утримуєте його і натискаєте іншу клавішу, контролер клавіатури виявляє це і дивиться у вбудовану таблицю, щоб побачити, чи це відома комбінація. Якщо комбо немає в таблиці, він просто ігнорує його, але якщо комбо знаходиться в таблиці, то він шукає пов'язаний код сканування і надсилає це.
Що в результаті бачить ОС? Він не бачить код сканування для Fnключа та код сканування для іншого ключа. Натомість він бачить єдиний код сканування, пов'язаний із будь-якою функцією, для якої було встановлено Fn-combo. Наприклад, якщо виробник ноутбука встановив Fn+ Down Arrowкомбо для зменшення гучності, тоді ОС бачить код сканування, пов’язаний із Volume Down, яким є деякі клавіатури.
Застосування
Тож як це пояснити, чому утримання Fnна ноутбуці та натискання клавіші на зовнішній клавіатурі не працює? Просте, тому що клавіатура в ноутбуці та зовнішня кожна мають свої контролери. Наскільки бачить контролер на ноутбуці, ви натиснули та відпустили Fnклавішу, і наскільки це бачить контролер у зовнішньому, ви натиснули та відпустили іншу клавішу. Що бачить ОС? Видно, що ви лише натиснули іншу клавішу без будь-яких модифікаторів.
Демонстрація
Ви можете бачити, що Fnкерування ключами є спеціальним за допомогою простого тесту. Підключіть дві зовнішні клавіатури до ноутбука (таким чином, ви отримаєте три клавіатури). Утримуйте Ctrlклавішу на одній клавіатурі, Shiftклавішу на іншій, а потім натисніть Escapeклавішу на третій. Менеджер завдань Windows повинен з’явитися. Чому? Оскільки Windows отримала коди сканування для всіх трьох клавіш, по одному від кожного з контролерів трьох клавіатур. (Це був приклад для Windows, але натискання комбінацій клавіш таким чином має працювати так само і в інших операційних системах. Наприклад, навіть у DOS, ви можете перезавантажити систему, натискаючи Ctrl+ Alt+ Deleteна різних клавіатурах.)
Примітка
Примітка. Інформація про те, як Fnспеціально обробляється та пов'язані з цим обмеження щодо її використання, є лише загальними та базуються на загальних реалізаціях. Ніщо не заважає виробнику ноутбука вирішити його реалізувати по-іншому, і дозволяють користувачеві перезавантажувати ключ до якоїсь іншої функції, надавати емульований Fnключ на зовнішніх клавіатурах через якийсь певний акорд тощо. Насправді навіть офіційного стандарту немає. для Fnключа; більшість виробників просто використовують ту саму реалізацію, яку використовували інші, тому що дешевше, а змінити те, до чого звикли користувачі, зазвичай не добре.