Perché il tasto Fn sul mio laptop non funziona se utilizzato con una tastiera esterna?


10

Sul mio Dell Latitude E6400, i tasti freccia su e giù vengono utilizzati per modificare la luminosità dello schermo quando utilizzato con il Fntasto.

Ho collegato una tastiera esterna tramite USB e ho cercato di aumentare la luminosità mentre premevo il Fntasto dalla tastiera del laptop e la freccia su dalla tastiera esterna.

Non ha funzionato. Shift, CtrlE Altopera correttamente quando usato in questo modo con una tastiera esterna.

Perché no Fn?

Risposte:


15

Astratto

Come altri hanno indicato, la Fnchiave è un caso speciale gestito internamente. Fornirò la spiegazione tecnica.

Dettagli tecnici

Quando si preme un tasto su una tastiera, il controller della tastiera (un piccolo chip IC all'interno della tastiera) rileva il circuito elettrico e lo elabora per decodificare quale tasto è stato premuto, quindi invia lo scancode alla scheda madre. Il sistema operativo riceve scancode dal BIOS e quindi esegue qualsiasi azione necessaria per elaborare quel tasto premuto.

Con la maggior parte dei tasti, questo è abbastanza semplice. Se si preme il Atasto, il controller della tastiera invia lo scancode alla scheda madre, che poi lo passa al sistema operativo che a sua volta di solito stampa 'A'. (Se il sistema operativo rileva che uno dei tasti modificatori è attualmente tenuto premuto, è possibile che faccia qualcosa di diverso. In effetti, è possibile configurarlo per fare quello che si desidera quando Asi preme il tasto con o senza modificatori.)

Ora la Fnchiave è speciale. Quando lo premi da solo, non succede nulla perché è esclusivamente un tasto modificatore e non è (generalmente) destinato a fare nulla da solo. Quando lo tieni premuto e premi un altro tasto, il controller della tastiera lo rileva e cerca nella sua tabella incorporata per vedere se è una combinazione nota. Se la combo non è nella tabella, la ignora e basta, ma se la combo è nella tabella, cerca lo scancode associato e lo invia.

Cosa finisce per vedere il sistema operativo? Essa non vedere lo scancode per la Fnchiave e la scancode per l'altra chiave. Invece, vede un singolo scancode associato a qualunque funzione sia stata impostata la combo Fn. Ad esempio, se il produttore del laptop ha impostato la combo Fn+ Down Arrowper ridurre il volume, il sistema operativo vede lo scancode associato al Volume Down, che alcune tastiere hanno effettivamente.

Applicazione

Quindi come spiega perché tenere premuto Fnil portatile e premere un tasto su una tastiera esterna non funziona? Semplice, perché la tastiera del laptop e quella esterna hanno i propri controller. Per quanto riguarda il controller nel laptop, hai premuto e rilasciato il Fntasto e per quanto riguarda il controller in quello esterno, hai premuto e rilasciato l'altro tasto. Cosa vede il sistema operativo? Vede che hai premuto solo l'altro tasto senza alcun modificatore.

Dimostrazione

Puoi vedere che la Fngestione delle chiavi è speciale con un semplice test. Collega due tastiere esterne a un laptop (dandoti così tre tastiere). Tenere premuto il Ctrltasto su una tastiera, il Shifttasto su un'altra, quindi premere il Escapetasto sulla terza. Dovrebbe apparire il Task Manager di Windows. Perché? Perché Windows ha ricevuto gli scancodes per tutti e tre i tasti, uno da ciascuno dei tre controller delle tastiere. (Questo è stato un esempio di Windows, ma premendo le combinazioni di tasti in questo modo dovrebbe funzionare lo stesso in altri sistemi operativi. Ad esempio, anche in DOS, è possibile riavviare il sistema premendo Ctrl+ Alt+ Deletesu tastiere diverse.)

Nota

Nota: le informazioni su come Fnviene appositamente elaborato e le limitazioni risultanti sul suo utilizzo sono solo generali, basate su implementazioni comuni. Non c'è nulla che impedisca a un produttore di laptop di decidere di implementarlo in modo diverso e consentire all'utente di rimappare la chiave ad un'altra funzione, fornire una Fnchiave emulata su tastiere esterne tramite un accordo specifico, ecc. In realtà, non esiste nemmeno uno standard ufficiale per la Fnchiave; la maggior parte dei produttori usa solo la stessa implementazione che altri hanno usato perché è più economica e cambiare ciò a cui gli utenti sono abituati di solito non è buono.


5

Fnle combinazioni di tasti di solito fanno sì che l'interfaccia della tastiera emetta segnali diversi. Poiché il Fntasto non è interpretato dal sistema operativo, probabilmente non esiste un modo semplice per usarlo con i tasti su una tastiera diversa e avere lo stesso risultato poiché l'interfaccia della tastiera non sta ascoltando l'altra tastiera.


1

Direi che Shift , Ctrl e Alt agiscono allo stesso modo su tutti i computer. Queste sono le chiavi standard.

Le funzioni Fn sono specifiche del laptop - alcuni hanno bisogno di alcuni driver sul laptop per funzionare correttamente, quindi il laptop probabilmente ascolta la funzione Fn e i tasti freccia del laptop per eseguire un'azione, al contrario di una tastiera esterna che è appena trattata come i normali tasti "su e giù", indipendentemente dal tasto Fn.


ma la freccia su è comune e sto usando il tasto funzione dalla tastiera del laptop ..
Lazer

Ma voglio dire che il tasto Fn e la freccia su devono essere premuti entrambi sul laptop per poter avviare la funzione mentre il driver / software sul laptop ascolta questi tasti. Probabilmente la tastiera USB non invia lo stesso 'segnale' quando si preme un tasto freccia, quindi per quanto riguarda il laptop si preme solo il tasto Fn in quanto non esiste un "collegamento" tra i due.
Muffinbubble

0

Penso (non l'ho provato da solo) che la tastiera esterna non contenga la programmazione della tastiera del laptop. Immagino che se hai accesso al tasto FN sulla tastiera del laptop, hai anche accesso ai tasti su / giù sulla tastiera del laptop, basta usare quelli se funziona con la tastiera esterna collegata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.