3 votos

¿Cómo puedo acceder a las teclas de función superiores (F16 en particular) en un MacBook Pro?

Estoy jugando con DOSBox en modo de depuración y parece que para entrar en el modo de depuración mientras se ejecuta tengo que ejecutar Alt-Pausa que en el Mac es Alt + F16 (véase DOSBoxWiki: Teclas Especiales ). Sin embargo, no hay F16 en un MacBook Pro; si mantiene pulsada la tecla Fn sólo obtendrá F1 - F12 .

¿Hay alguna forma de reasignar una tecla de función o de tener acceso a las teclas de función superiores? Incluso usando el teclado de Accesibilidad, no parece tener acceso obvio a estas teclas.

5voto

Douglas Puntos 10417

Para reasignar una tecla, puede utilizar la función hidutil mando. En este ejemplo, estoy remapeando F16 a la Option en el derecha lado (probablemente no se utiliza mucho, si es que se utiliza).

MacBook keyboard layout; Opt/Alt Highlighted1

hidutil property --set '{"UserKeyMapping": \
[{\"HIDKeyboardModifierMappingSrc":0x7000000E6, \
"HIDKeyboardModifierMappingDst":0x70000006A}]}}

Las barras invertidas (\) permiten un comando multilínea para facilitar una mejor legibilidad. El comando puede copiarse/pegarse tal cual o eliminar las barras invertidas y las nuevas líneas para convertirlo en una sola línea.

Cuando escribas el comando, ten esto en cuenta:

  • Src = la tecla que desea pulsar
  • Dst = lo que quieres que haga

He proporcionado una parte de los valores hexadecimales de las teclas de función ampliadas definidas en Apple Nota técnica TN240 que describe cómo utilizar hidutil .

Clave

Código hexadecimal

Clave

Código hexadecimal

Teclado F13

0x68

Teclado F19

0x6E

Teclado F14

0x69

Teclado F20

0x6F

Teclado F15

0x6A

Teclado F21

0x70

Teclado F16

0x6B

Teclado F22

0x71

Teclado F17

0x6C

Teclado F23

0x72

Teclado F18

0x6D

Teclado F24

0x73

Mejorar con un script...

Para facilitar el trabajo con este complejo comando, he creado un sencillo Bash script (más abajo) que te permitirá especificar las claves de origen y destino como variables.

He utilizado una función, mdCMDStr , para "hacer la cadena de comandos" y poder replicar fácilmente comandos adicionales con el mínimo esfuerzo. Simplemente, reasigne el SOURCE y DEST y llamar a las variables mkCMDStr y hidutil tantas veces como sea necesario.

#! /bin/bash

function mkCMDStr () {
# Creates the command string

    SETKEY_CMD={\"UserKeyMapping\":[{\"HIDKeyboardModifierMappingSrc\":${1},\"HIDKeyboardModifierMappingDst\":${2}}]}

}

SOURCE=0x7000000E6      #Keyboard Right Option/Alt              
DEST=0x70000006A        #Keyboard F16

mkCMDStr $SOURCE $DEST
hidutil property --set "${SETKEY_CMD}"

exit

Descargar el script

De este modo no persisten a través de reinicios. Puede hacer que esto sea "permanente" poniendo este script en Elementos de inicio de sesión o creando un archivo LaunchAgent .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X