Чому клавіша Fn на моєму ноутбуці не працює при використанні зовнішньої клавіатури?


10

У моєму Dell Latitude E6400 клавіші зі стрілками вгору та вниз використовуються для зміни яскравості екрана при використанні Fnклавіші.

Я підключив зовнішню клавіатуру через USB і намагався збільшити яскравість, натискаючи Fnклавішу з клавіатури ноутбука та стрілку вгору від зовнішньої клавіатури.

Це не спрацювало. Shift, CtrlІ Altкоректно працювати при використанні цього способу з зовнішньої клавіатурою.

Чому ні Fn?

Відповіді:


15

Анотація

Як зазначають інші, 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ключа; більшість виробників просто використовують ту саму реалізацію, яку використовували інші, тому що дешевше, а змінити те, до чого звикли користувачі, зазвичай не добре.


5

FnКомбінації клавіш зазвичай викликають інтерфейс клавіатури випромінювати різні сигнали. Оскільки Fnключ не інтерпретується ОС, мабуть, не існує простого способу використовувати його з клавішами на іншій клавіатурі і мати такий же результат, оскільки інтерфейс клавіатури не слухає іншу клавіатуру.


1

Я б сказав, оскільки дії Shift , Ctrl та Alt однакові на всіх комп'ютерах. Це стандартні ключі.

Функції Fn характерні лише для ноутбука - деяким потрібні певні драйвери на ноутбуці, щоб вони нормально функціонували, тому ноутбук, ймовірно, слухає функцію Fn і клавіші зі стрілкою ноутбука, щоб виконати дію, на відміну від зовнішньої клавіатури, яка щойно обробляється як звичайні клавіші "вгору і вниз", незалежно від клавіші Fn.


але стрілка вгору звичайна, і я використовую функціональну клавішу з клавіатури ноутбука ..
Lazer

Але я маю на увазі, що клавішу Fn та стрілку вгору потрібно натиснути як на ноутбуці, щоб функція почала виконуватись, коли драйвер / програмне забезпечення на ноутбуці слухає ці клавіші. Клавіатура USB, ймовірно, не надсилає той самий "сигнал" при натисканні клавіші зі стрілкою, тому що стосується ноутбука, натискається лише клавіша Fn, оскільки між ними немає "зв'язку".
Muffinbubble

0

Я думаю (я ще не пробував цього), що зовнішня клавіатура не містить програмування, яке робить клавіатура ноутбука. Я здогадуюсь, що якщо у вас є доступ до клавіші FN на клавіатурі ноутбука, ви також маєте доступ до клавіш вгору / вниз на клавіатурі ноутбука, просто використовуйте ті, якщо вона працює з підключеною зовнішньою клавіатурою.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.