¿Se puede reasignar o deshabilitar la tecla Fn?
Profundizando en la reasignación de combinaciones Fn a través de un programa como AutoHotKey, o profundizando en los códigos de escaneo del teclado para Windows, uno puede reasignar las combinaciones de teclas ofensivas (Fn + Key). (ver más abajo esta respuesta).
Como la tecla Fn está usualmente en el nivel de hardware, no podría editar o deshabilitar esto en este nivel.
[Fn] Esta suele ser una clave de hardware que no genera un código separado.
Fuente: Valores de código de evento de teclado de eventos de IU - Recomendación del candidato del W3C, 2017
En una clave similar, el F-Lock, Jason Tsang, Microsoft MVP, dice lo siguiente:
La tecla F Lock es un interruptor de hardware en el teclado. Su estado no puede controlarse mediante programación. Su condición predeterminada es "apagado". Como resultado, cada vez que se reinicia el teclado o pierde energía, la tecla de bloqueo F siempre estará en un estado "apagado". Tenga en cuenta que con los teclados de Microsoft lanzados después de septiembre de 2004, el teclado conservará el estado de bloqueo F mediante un reinicio.
Fuente: Teclados de Microsoft - Tecla de bloqueo F
¿Qué es la tecla Fn? Algunos detalles más:
Fn no es una tecla de teclado normal, como los modificadores Ctrl, Shift y AltGr. Para una tecla modificadora estándar, el microcontrolador dentro del teclado envía un código de escaneo para el propio modificador, que luego es interpretado por el sistema operativo y combinado con otras pulsaciones simultáneas de teclas. La tecla Fn es una forma de tecla de metamodificador, ya que hace que el sistema operativo vea códigos de exploración alterados cuando se presionan otras teclas en el teclado. Esto permite que el teclado emule directamente un teclado de tamaño completo, por lo que el sistema operativo puede usar mapas de teclas estándar diseñados para un teclado de tamaño completo. Sin embargo, debido a que el sistema operativo no tiene noción de la tecla Fn, la tecla normalmente no se puede reasignar en el software, a diferencia de todas las otras teclas de teclado estándar.
Fuentes: A) publicación en el foro de Highrez probablemente basada en B) publicación en Wikipedia
¿Por qué a menudo parece imposible mapear la tecla Fn?
De hecho, el teclado funciona de la siguiente manera (los valores son solo ejemplos, el comportamiento se simplifica):
- Claves normales: enviar byte 0x00 + clave de escaneo de bytes de código
- Modificadores (alt / option, control, windows / command y fn): envía el byte del código de escaneo del modificador + el byte del código de escaneo
- Teclas especiales (como las G15): envíe códigos de escaneo estándar (como las teclas de volumen) o personalizados (según el fabricante)
La mayoría de los teclados "fn" (manzana incluida) solo procesan la combinación de teclas antes de enviar datos, por lo que presionar y soltar la tecla fn no hará nada en absoluto. Por ejemplo:
- Al presionar F1 -> Scancode 0x1A -> el sistema operativo reconoce como tecla F1
- Al presionar FN y F1 -> Scancode 0x9A -> el sistema operativo reconoce como tecla de aumento de volumen
- Al presionar FN -> el microcontrolador del teclado espera otra tecla antes de enviar cualquier dato
Fuente: Foro AutoHotKey
Un póster en AutoHotKey comienza con preguntas retóricas
I don't get any response when I press the Fn key.
No se supone que la tecla fn envíe ninguna señal. Lo que hace es cambiar la señal que se envía cuando presiona otra tecla ...
Entonces, el verdadero problema de Fn-key es que simplemente no existe en el sistema operativo, por lo que no se puede "reasignar" en el sistema operativo. Todo lo que puede hacer es reasignar la función secundaria de alguna tecla al reasignar una tecla para enviar la señal única modificada con fn ...
Entonces, básicamente, automatizar fn-key no es factible. ¡Sin embargo, automatizar su resultado final no es problema! ...
Así que desafortunadamente no será posible la automatización en el nivel del sistema operativo: tendrías que bajar al nivel de hardware / controlador y eso no es posible a través de AutoHotKey.
Fuente: AutoHotKeyForum Post
Algunas personas han tenido éxito al reasignar funciones Fn a través de Autohotkey, y algunas incluso han tenido éxito al ver la tecla Fn.
... es posible que aún pueda convertirlo en una tecla de acceso rápido mediante los siguientes pasos:
- Asegúrese de que se esté ejecutando al menos un script que esté utilizando el gancho del teclado. Puede saber si un script tiene el enlace del teclado abriendo su ventana principal y seleccionando "Ver-> Historial de teclas" en la barra de menú.
- Haga doble clic en el icono de la bandeja de ese script para abrir su ventana principal.
- Presione una de las "teclas misteriosas" en su teclado.
- Seleccione el elemento del menú "Ver-> Historial de claves" Desplácese hacia abajo hasta la parte inferior de la página.
- En algún lugar cerca de la parte inferior se encuentran los eventos key-down y key-up para su clave.
- NOTA: Algunas claves no generan eventos y, por lo tanto, no serán visibles aquí. Si este es el caso, no puede convertir directamente esa
tecla en particular en una tecla de acceso rápido porque su controlador de teclado o hardware la maneja a un nivel demasiado bajo para que AutoHotkey acceda. Para posibles soluciones, ver
más abajo. Si su clave es detectable, tome nota del
valor hexadecimal de 3 dígitos en la segunda columna de la lista (por ejemplo, 159). Para
definir esta tecla como una tecla de acceso rápido, siga este ejemplo:
SC159:: ; Replace 159 with your key's value.
MsgBox, %A_ThisHotkey% was pressed.
return
Dirección inversa: para reasignar alguna otra clave para convertirse en una "clave misteriosa", siga este ejemplo:
; 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.
Fuente: autohotkey.com/docs/KeyList.htm
Uso de AutoHotKey para reasignar a través de DLL
AutoHotkey es una utilidad de creación de macros de código abierto para Windows, y una de sus muchas características es la creación de teclas de acceso rápido. Micha, uno de los miembros de los foros de AHK, creó un archivo DLL para agregar soporte a AHK para dispositivos de interfaz humana. Usando este archivo DLL, es posible leer las claves de prácticamente todos los HID; teclados, ratones, controles remotos, etc.
Esto es lo que dice el Creador de procesos de DLL en un artículo antiguo:
En primer lugar, alguna información sobre el funcionamiento del teclado y la tecla Fn en particular. Cada tecla tiene su propio código único, un código de escaneo, mediante el cual la computadora a la que está conectada puede averiguar si se presiona una tecla determinada y cuándo se suelta. La tecla Fn funciona un poco diferente. Cuando mantiene presionada la tecla Fn, cambiará los códigos de escaneo de (algunas de) las otras teclas del teclado, de modo que una sola tecla pueda enviar diferentes códigos de escaneo a la computadora, cada uno conectado a una función diferente. Es por eso que la tecla Fn a menudo se usa en computadoras portátiles, teclados más pequeños o teclados con muchas teclas multimedia. De esa manera, puede agregar muchas funciones a una cantidad relativamente pequeña de teclas.
El problema es que la tecla Fn generalmente no tiene su propio código de escaneo. Dependiendo del teclado y la computadora a la que está conectado, es posible que la tecla Fn no modifique los códigos de escaneo de las otras teclas y, por lo tanto, no funcione. Debido a que tampoco envía un código de escaneo propio, no hay forma de que la computadora sepa que incluso hay una tecla Fn, y mucho menos qué hacer cuando se presiona en combinación con otra tecla. Las herramientas de reasignación tampoco pueden ayudarlo, porque también se basan en el uso de códigos de escaneo.
Ejemplo de registro del valor clave de Fn basado en instrucciones:
Una vez que se esté ejecutando, presione su tecla Fn u otra tecla especial y escriba el valor correspondiente.
; Filter bit 5 (Fn key) Transform, FnValue, BitAnd, 16, KeyStatus
Código de muestra para reasignar la función Fn
;
; Fn + Backspace = Delete
;
$Backspace::hotkeyBS()
hotkeyBS() {
global fnPressed
if (fnPressed = 1) {
Send {Delete}
} else {
Send {Backspace}
}
}
Return
Fuente: Siga las instrucciones completas aquí
SharpKeys
Aquí descarga ; Hay un artículo aquí .
SharpKeys es una utilidad que administra una clave del Registro que permite a Windows reasignar una clave a cualquier otra clave. La aplicación incluye una lista de teclas de teclado comunes y una función de tecla de tipo para reconocer automáticamente la mayoría de las teclas del teclado. Originalmente se desarrolló en C # usando .NET v2, pero se ha actualizado para admitir .NET 4.0 Client Profile.
También KeyTweak
KeyTweak es una sencilla utilidad que permite a los usuarios redefinir sus señales de entrada de teclado. La funcionalidad es posible gracias a un valor de registro documentado por primera vez en Windows 2000, pero también presente en Windows NT 4.0. e incluido en XP, Vista y Windows 7. Esta sección enumera algunas de las características y razones de KeyTweak por las que puede que desee usar KeyTweak.
Archivo: manual e instalador aquí
Otra información:
Documentación y enlaces de Microsoft
Enlaces originalmente de SU Respuesta
¿Qué hace el modo de tecla de acción a través de Bios?
Esta configuración cambia el comportamiento predeterminado de los botones superiores en el teclado del portátil. Qué significa eso?
Si el "Modo de teclas de acción" está configurado como "Activado", para usar funciones adicionales que se muestran como iconos en la fila superior del teclado, no es necesario mantener presionada la tecla Fn. Debe sujetarse para que los botones superiores funcionen como F1..F12.
En el caso de que el "Modo de teclas de acción" esté en la posición "Desactivado", como suele ser el valor predeterminado, los botones superiores funcionarán como F1 ... F12 estándar, y para usar sus funciones avanzadas, representadas como iconos, debe adicionalmente abrazadera Fn.
Fuente: Traducción del artículo ruso HelpAdmins.ru
Otras lecturas