Definición de atajos de teclado que involucran la tecla Fn

17

Estoy acostumbrado a presionar Fn+ Leftpara simular la Hometecla y Fn+ Rightpara End.

En un teclado con teclas físicas Homey End, el uso de estos Fnmétodos abreviados de teclado no funciona.

¿Cómo puedo asignar Fnmétodos abreviados de teclado personalizados en Ubuntu Linux?

mox
fuente
1
posible duplicado de teclas multimedia Bind . Quizás no sea un duplicado exacto en la descripción del problema, pero se resuelve mediante el mismo proceso subyacente.
Daniel Andersson
¿Alguien está usando computadoras portátiles modernas (2018) como HP Spectre x360 (aunque tiene teclas PgUp separadas, etc.) y Dell XPS si la tecla Función se detecta como las otras teclas?
MycrofD
1
Estoy usando Lenovo Thinkpad X1 Carbon con Fnclave, que se detecta como código clave 151 por xev. Mientras Fnse presiona Lefty las Rightteclas no producen eventos. Fn+F2no produce eventos, pero funciona como se espera, reduce el volumen.
Suor

Respuestas:

16

A diferencia de modificadores como Alt y Ctrl, presionar la tecla Fn nunca se comunica al sistema operativo. La tecla simplemente modifica los códigos de exploración de otras teclas, por lo que presionar Fn+ Rightemularía una tecla Finalizar, aunque puede que no exista físicamente, pero el sistema operativo no las puede distinguir. Este comportamiento está controlado exclusivamente por la electrónica del teclado y, por lo tanto, no se puede modificar sin alterar los circuitos o el microcontrolador.

Thomas Thomas
fuente
2
Hay un sistema operativo y una computadora que definitivamente es una excepción a esta regla y son las computadoras portátiles mac. Puede modificar esta clave utilizando Karabiner en realidad. Además, los thinkpads envían esta clave al sistema operativo, pero no es una clave modificadora como en las Mac.
William
2
Esto no es verdad. xevmuestra Fnpulsaciones de teclas.
Suor
1
Bueno, en mi máquina Dell con un Debian 10, xevno muestra nada cuando se presiona la tecla Fn.
Pierre
12

En la mayoría de los sistemas no es posible detectar la Fnclave en sí, pero podría intentar usar:

$ xev | grep --line-buffered keysym

para averiguar qué llaves Fn-Lefty Fn-Rightenviar. (El grepsolo reduce el ruido).

Si tiene suerte, esas pulsaciones de teclas enviarán pulsaciones de teclas sin importancia a la máquina, que luego puede reasignar.

Por ejemplo, en mi sistema, xevmuestra que mi Fn-Leftpulsación de tecla realmente envía un XF86AudioPrevevento:

state 0x0, keycode 173 (keysym 0x1008ff16, XF86AudioPrev), same_screen YES,

Puedo reasignar esto fácilmente para traducirlo en un Homeevento clave:

$ xmodmap -e 'keysym XF86AudioPrev = Home'

Esperemos que pueda hacer lo mismo para End, PageUp y PageDown.

Desafortunadamente, si xev no recibe nada único cuando presiona, Fn-Leftentonces no tiene suerte.

Es una verdadera lástima que las Fnpulsaciones de teclas no se envíen directamente como las otras teclas modificadoras. Si lo fueran, tendríamos mucho más poder para configurar su significado a través del software.

joeytwiddle
fuente
Desafortunadamente, fn en mi computadora portátil no se registra con los eventos de tecla arriba y tecla abajo de la misma manera que otras teclas allí, evitando que esto funcione correctamente para una tecla modificadora. Sin embargo, puede reasignarlo a otra tecla.
William
5

Abrí xeven una terminal. Detecta cuando pulso el Shift, Ctrl, Alt, y Win( Super), pero cuando he pulsado la Fntecla que no lo detecta.

Entonces el software no tiene nada que ver con la Fnclave; depende del hardware decidir qué clave se envía al software (por ejemplo, la tecla Homeo End).

Entonces su teclado ya debe tenerlo para poder hacer esto.

biggles5107
fuente