Il tasto Fn può essere rimappato o disabilitato?
Scavando in rimappare combinazioni Fn tramite un programma come AutoHotKey o scavando in scancodes tastiera per Windows, si potrebbe essere in grado di rimappare le combinazioni di tasti offensive (Fn + Tasto). (vedi più in basso questa risposta).
Poiché il tasto Fn si trova generalmente a livello hardware, non sarebbe in grado di modificarlo o disabilitarlo facendolo a questo livello.
[Fn] Questa è in genere una chiave hardware che non genera un codice separato.
Fonte: UI Events KeyboardEvent Code Values - W3C Candidate Advice, 2017
Su una chiave simile, F-Lock, Jason Tsang, Microsoft MVP, afferma quanto segue:
Il tasto Blocco F è un interruttore hardware nella tastiera. Il suo stato non può essere controllato a livello di codice. La sua condizione predefinita è "off". Di conseguenza, ogni volta che la tastiera viene ripristinata o perde energia, il tasto Blocco F sarà sempre in uno stato "off". Si noti che con le tastiere Microsoft rilasciate dopo settembre 2004, la tastiera manterrà lo stato Blocco F durante il riavvio.
Fonte: Tastiere Microsoft - Tasto Blocco F
Cos'è la chiave Fn? Qualche dettaglio in più:
Fn non è un normale tasto della tastiera, come i modificatori Ctrl, Shift e AltGr. Per un tasto modificatore standard, il microcontrollore all'interno della tastiera invia uno scancode per il modificatore stesso, che viene quindi interpretato dal sistema operativo e combinato con altre pressioni simultanee di tasti. Il tasto Fn è una forma di tasto meta-modificatore, in quanto fa sì che il sistema operativo veda scancodes alterati quando vengono premuti altri tasti sulla tastiera. Ciò consente alla tastiera di emulare direttamente una tastiera di dimensioni standard, in modo che il sistema operativo possa utilizzare le mappe di tasti standard progettate per una tastiera di dimensioni standard. Tuttavia, poiché il sistema operativo non ha alcuna nozione del tasto Fn, il tasto non può normalmente essere rimappato nel software, a differenza di tutti gli altri tasti della tastiera standard.
Fonti - A) post sul forum di highrez probabilmente basato su B) post di Wikipedia
Perché è spesso impossibile mappare la chiave Fn?
In effetti, la tastiera funziona come segue (i valori sono solo esempi, il comportamento è semplificato):
- Tasti normali: invia byte 0x00 + chiave codice scansione byte
- Modificatori (alt / opzione, controllo, windows / comando e fn): invia il byte scancode del modificatore + il byte del codice di scansione della chiave
- Tasti speciali (come quelli G15): inviano scancodes standard (come i tasti del volume) o personalizzati (in base al produttore)
La maggior parte delle tastiere "fn" (inclusa Apple) elabora semplicemente la combinazione di tasti prima di inviare i dati, quindi premere e rilasciare il tasto fn non farà nulla. Per esempio:
- Premendo F1 -> Scancode 0x1A -> il sistema operativo viene riconosciuto come tasto F1
- Premendo FN e F1 -> Scancode 0x9A -> il sistema operativo viene riconosciuto come tasto VolumeUp
- Premendo FN -> il microcontrollore da tastiera attende un altro tasto prima di inviare qualsiasi dato
Fonte: Forum AutoHotKey
Un poster su AutoHotKey inizia con domande retoriche
I don't get any response when I press the Fn key.
Il tasto fn non dovrebbe inviare alcun segnale. Quello che fa è cambiare il segnale che viene inviato quando si preme un altro tasto ...
Quindi il vero affare di Fn-key è che semplicemente non esiste nel sistema operativo, quindi non è possibile "rimappare" effettivamente nel sistema operativo. Tutto quello che puoi fare è rimappare la funzione secondaria di alcuni tasti rimappando un tasto per inviare il segnale singolo modificato da fn ...
Quindi in pratica l'automazione di fn-key non è fattibile. Tuttavia automatizzare il risultato finale non è un problema! ...
Quindi sfortunatamente nessuna automazione sarà fattibile a livello di sistema operativo: dovresti scendere a livello di hardware / driver e ciò non è fattibile tramite AutoHotKey.
Fonte: AutoHotKeyForum Post
Alcune persone hanno avuto successo rimappando le funzioni Fn tramite Autohotkey, e pochi hanno persino avuto successo nel vedere il tasto Fn.
... potresti essere ancora in grado di renderlo un tasto di scelta rapida utilizzando i seguenti passaggi:
- Assicurarsi che sia in esecuzione almeno uno script che utilizza il gancio della tastiera. Puoi sapere se uno script ha il gancio della tastiera aprendo la sua finestra principale e selezionando "Visualizza-> Cronologia chiavi" dalla barra dei menu.
- Fare doppio clic sull'icona nella barra degli strumenti di quello script per aprire la finestra principale.
- Premi uno dei "tasti misteriosi" sulla tastiera.
- Seleziona la voce di menu "Visualizza-> Cronologia chiavi" Scorri verso il basso fino alla fine della pagina.
- Da qualche parte vicino al fondo sono gli eventi key-down e key-up per la tua chiave.
- NOTA: alcune chiavi non generano eventi e quindi non saranno visibili qui. In questo caso, non è possibile rendere direttamente quel
tasto particolare un tasto di scelta rapida poiché il driver della tastiera o l'hardware lo gestisce a un livello troppo basso per consentire l'accesso a Tasto di scelta rapida. Per possibili soluzioni, vedere
più avanti. Se la chiave è rilevabile, annotare il
valore esadecimale di 3 cifre nella seconda colonna dell'elenco (ad esempio 159). Per
definire questo tasto come tasto di scelta rapida, seguire questo esempio:
SC159:: ; Replace 159 with your key's value.
MsgBox, %A_ThisHotkey% was pressed.
return
Direzione inversa: per rimappare qualche altra chiave per diventare una "chiave misteriosa", segui questo esempio:
; Replace 159 with the value discovered above. Replace FF (if needed) with the
; key's virtual key, which can be discovered in the first column of the Key History screen.
#c::Send {vkFFsc159} ; See Send {vkXXscYYY} for more details.
Fonte: autohotkey.com/docs/KeyList.htm
Utilizzo di AutoHotKey per la rimappatura tramite DLL
AutoHotkey è un'utilità di creazione di macro open source per Windows e una delle sue numerose funzionalità è la creazione di tasti di scelta rapida. Micha, uno dei membri dei forum AHK, ha creato un file DLL per aggiungere supporto ad AHK per Human Interface Devices. Utilizzando questo file DLL, è possibile leggere le chiavi praticamente di ogni HID; tastiere, mouse, telecomandi, ecc.
Ecco cosa dice l'autore del processo DLL in un vecchio articolo:
Prima di tutto, alcune informazioni sul funzionamento della tastiera e sul tasto Fn in particolare. Ogni tasto ha il suo codice univoco, un codice di scansione, con cui il computer a cui è collegato può scoprire se viene premuto un determinato tasto e quando viene rilasciato. Il tasto Fn funziona in modo leggermente diverso. Quando si tiene premuto il tasto Fn, i codici di scansione di (alcuni) degli altri tasti sulla tastiera cambieranno, in modo che un singolo tasto possa inviare al computer codici di scansione diversi, ognuno collegato a una diversa funzione. Ecco perché il tasto Fn viene spesso utilizzato su notebook, tastiere più piccole o tastiere con molti tasti multimediali. In questo modo è possibile aggiungere molte funzioni a una quantità relativamente piccola di tasti.
Il problema è che il tasto Fn di solito non ha un proprio codice di scansione. A seconda della tastiera e del computer a cui si connette, è possibile che il tasto Fn non modifichi i codici di scansione degli altri tasti e quindi non funzioni. Poiché inoltre non invia un proprio codice di scansione, non c'è modo per il computer di sapere che esiste anche un tasto Fn, figuriamoci cosa fare quando viene premuto in combinazione con un altro tasto. Neanche gli strumenti di rimappatura possono aiutarti, perché si basano anche sull'uso dei codici di scansione.
Esempio di registrazione del valore chiave Fn in base alle istruzioni:
Una volta in esecuzione, premere il tasto Fn o un altro tasto speciale e annotare il valore corrispondente.
; Filter bit 5 (Fn key) Transform, FnValue, BitAnd, 16, KeyStatus
Codice di esempio per rimappare la funzione Fn
;
; Fn + Backspace = Delete
;
$Backspace::hotkeyBS()
hotkeyBS() {
global fnPressed
if (fnPressed = 1) {
Send {Delete}
} else {
Send {Backspace}
}
}
Return
Fonte: seguire le istruzioni complete qui
SharpKeys
Scarica qui ; c'è un articolo qui .
SharpKeys è un'utilità che gestisce una chiave del Registro di sistema che consente a Windows di rimappare una chiave a qualsiasi altra chiave. Nell'applicazione è incluso un elenco di tasti della tastiera comuni e una funzione Tipo di tasto per riconoscere automaticamente la maggior parte dei tasti della tastiera. È stato originariamente sviluppato in C # utilizzando .NET v2 ma è stato aggiornato per supportare il profilo client .NET 4.0.
Anche KeyTweak
KeyTweak è una semplice utility che consente agli utenti di ridefinire i segnali di input della tastiera. La funzionalità è resa possibile da un valore di registro documentato per la prima volta in Windows 2000, ma presente anche in Windows NT 4.0. e incluso in XP, Vista e Windows 7. Questa sezione elenca alcune delle funzionalità e dei motivi di KeyTweak che potresti voler utilizzare KeyTweak.
Archivio: Manuale e programma di installazione qui
Altre informazioni:
Documentazione e collegamenti Microsoft
Collegamenti originariamente dalla risposta SU
Cosa fa la modalità chiave di azione tramite BIOS?
Questa impostazione modifica il comportamento predefinito dei pulsanti in alto sulla tastiera del laptop. Cosa significa?
Se “Modalità tasti azione” è impostato su “Abilitato”, quindi per utilizzare funzioni aggiuntive visualizzate come icone nella riga superiore della tastiera, non è necessario tenere premuto il tasto Fn. Deve essere bloccato in modo che i pulsanti superiori funzionino come F1..F12.
Nel caso in cui "Modalità tasti azione" sia in posizione "Disabilitato", come spesso è l'impostazione predefinita, i pulsanti superiori funzioneranno come standard F1 ... F12 e per utilizzare le loro funzioni avanzate, rappresentate come icone, è necessario bloccare inoltre Fn.
Fonte: traduzione dell'articolo russo HelpAdmins.ru
Ulteriori letture