it-swarm-es.com

¿Cómo funcionan las teclas Fn?

Me gusta saber como Fn Las teclas funcionan en mi laptop. Creo que existe un módulo de kernel que atrapa Fn tecla y llamar a algunos scripts para hacer algo. En mi laptop Fn+F2 Cambie el poder de inalámbrico y blue-tooth.

esta es la salida de acpi_listen, cuando presiono Fn+F2

hotkey ATKD 0000005d 00000019
hotkey ATKD 0000007e 00000009

y, el seguimiento es salida de xev para Fn+F2

keycode 238 press
keycode 238 release
keycode 237 press
keycode 237 release

Creo que cada vez que presiono Fn+F2 Se saltan dos eventos. Traté de encontrar qué acciones se ejecutan para estas claves. cualquier idea apreciada;)

26
soroosh

Synetech da una explicación muy legible sobre el Fn teclas aquí

Detalles técnicos

Cuando presiona una tecla en un teclado, el controlador del teclado (un pequeño chip IC dentro del teclado ) detecta el circuito eléctrico y lo procesa para decodificar qué tecla se presionó y luego envía el código de exploración a la placa base . El sistema operativo recibe el código de escaneo de BIOS y luego realiza cualquier acción que necesite para procesar esa pulsación de tecla.

Con la mayoría de las teclas, esto es lo suficientemente simple. Si presiona el A tecla, su controlador de teclado envía el código de escaneo a la placa base que luego lo pasa a OS que a su vez generalmente imprime 'A'. (Si el sistema operativo detecta que una de las teclas modificadoras está presionada, entonces puede hacer algo diferente. De hecho, puede configurarlo para que haga lo que quiera cuando el A la tecla se presiona con o sin modificadores).

Ahora el Fn La llave es especial. Cuando lo presiona solo, no sucede nada porque es exclusivamente una tecla modificadora y no (generalmente) está destinado a hacer nada por sí solo. Cuando lo sostiene y presiona otra tecla, el controlador del teclado lo detecta y mira en su tabla integrada para ver si es una combinación conocida. Si el combo no está en la tabla, simplemente lo ignora, pero si el combo está en la tabla, busca el código de escaneo asociado y lo envía.

¿Qué termina viendo el sistema operativo? Sí no ve el código de escaneo para el Fn clave y el código de escaneo para la otra clave. En cambio, ve un único código de escaneo asociado con cualquier función para la que se haya configurado el combo Fn. Por ejemplo, si el fabricante de la computadora portátil ha configurado Fn+Down Arrow combo para reducir el volumen, luego el sistema operativo ve el código de escaneo asociado con el Volume Down, que algunos teclados realmente tienen.

También tenga en cuenta que el Fn La tecla funciona independientemente del sistema operativo.

Además, este artículo puede ayudarlo a orientarse en la dirección correcta:

El núcleo tiene su propia tabla de mapeo scancode a keycode, por lo que asigna un cierto código de escaneo a un código clave. Puede consultar /usr/include/linux/input.h para ver qué usa su núcleo para el mapeo de código de escaneo a código clave: se llama keymap.


Postscript

Es posible que deba renegar de alguna manera en la afirmación anterior de que el Fn las teclas funcionan completamente independientemente del sistema operativo; sin entrar en más detalles técnicos aquí, el resultado parece ser que su sistema operativo podría no "admitir" todos o algunos de los teclados Fn teclas, ver, por ejemplo:

23
nutty about natty