La nota técnica de Apple TN2450 describe cómo reasignar las teclas. Ejecutar el siguiente comando reasignará Right Alt para que sea Right Control
hidutil property --set '{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x7000000e6,
"HIDKeyboardModifierMappingDst":0x7000000e4}]
}'
Tenga en cuenta que el comando anterior no está cambiando el control Alt derecho y Control derecho. Ambos serán Control Correcto. Si tiene una MacBook, no lo notará hasta que conecte un teclado externo. Si desea cambiar Alt derecho y Control derecho, debe agregar un segundo comando de cambio, como el siguiente.
hidutil property --set '{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x7000000e4,
"HIDKeyboardModifierMappingDst":0x7000000e6},
{"HIDKeyboardModifierMappingSrc":0x7000000e6,
"HIDKeyboardModifierMappingDst":0x7000000e4}]
}'
La tabla en la parte inferior de la Nota técnica tiene una lista de valores hexadecimales para cada clave. Para generalizar la respuesta anterior para cambiar cualquier tecla, debe or
junto con el valor hexadecimal de esa lista 0x700000000
. El siguiente código de Python demuestra una forma de hacer esto.
In [1]: def convert(val):
...: int_val = int(val, 16)
...: int_ref = 0x700000000
...:
...: return hex(int_ref | int_val)
...:
In [2]: r_alt = '0xE6'
In [3]: print(convert(r_alt))
0x7000000e6
Src
yDst
.\
en mi teclado es laShift+Option+7
que me gustaría reemplazar con algo más simple como elOption+.
que apenas uso. ¿Cómo puedo hacer eso? Gracias por tu ayuda.Un enfoque más general y fácil de usar es utilizar Karabiner-Elements , que es una versión de Karabiner que funciona en Sierra.
fuente
Esta es una adición a la respuesta de Steven C. Howell.
Tengo una nueva MacBook Pro con un teclado escandinavo. Este nuevo modelo ya no tiene una tecla Esc, lo cual es una desventaja importante para mí.
Descubrí que lo siguiente traducirá la tecla § (esquina superior izquierda, izquierda de la tecla 1 y superior), que no creo que haya usado para nada antes, para producir Esc.
En la documentación de Apple (vinculada desde la respuesta de Steven) esto está etiquetado como "Teclado no estadounidense \ y |" (0x64)
Varias de las teclas "no estadounidenses" son difíciles de descubrir porque normalmente se refieren a teclas que tienen una etiqueta diferente en el teclado que está utilizando. (También descubrí que "Acento grave y tilde" se refiere a la tecla entre desplazamiento a la izquierda y z, que produce en mi teclado
<
. No pude establecer qué tecla corresponde a "No estadounidense#
y~
" y no experimenté más una vez que encontré mi clave.) Si desea experimentar, intente ejecutar el script en el terminal hasta que encuentre la clave que necesita:Esto recorre los códigos clave y cambia de uno en uno, con la esperanza de que pueda encontrar mediante prueba y error una clave que no sea particularmente útil para usted. Intenta escribir algo cuando te lo pida; si obtienes uno en
g
lugar de lo que esperabas, has encontrado el código de clave correcto. (Cambie0x70000000a
a otra cosa sig
no es una opción conveniente para usted. ¿Quizás quiera reasignar lag
clave?) Cuando termine de escribir, simplemente presione Intro para pasar a la siguiente clave.Para lo que vale, el último comando dentro del bucle es cómo eliminar todas las
UserKeyMapping
configuraciones:Cuando se ejecuta inicialmente
hidutil property --get UserKeyMapping
producepero parece que no puede retroalimentar este valor para cambiar la configuración (o más bien, acepta pero ignora esta entrada).
(Si no está familiarizado con el terminal, simplemente copiar / pegar el asunto desde
for
hastadone
en subash$
pronta o similar).Según esta pregunta relacionada con el desbordamiento de pila , puede colocar el comando en un archivo de script en su directorio de inicio y agregarlo a su
launchd
configuración para que este cambio sea persistente.En caso de que algunos lectores no se sientan cómodos haciendo esto por su cuenta, aquí hay un script rápido que lo hace por usted. Nuevamente, solo copie / pegue esto en el indicador de Terminal.
Obviamente, si terminó con alguna otra clave de la
0x700000064
que necesita cambiar eso en el script, o en el archivo"$HOME"/bin/userkeymapping
, termina creando si ya ejecutó lo anterior.fuente
LoginHook
pero no estaba funcionando para mí, y en base a stackoverflow.com/a/22872222/874188 cambié a unlaunchd
enfoque en su lugar.Si todo lo que quieres hacer es reasignar una sola clave
Ejemplo: Cómo reasignar la tecla Escape en Mac
Vaya al menú Apple y elija "Preferencias del sistema" y luego vaya al panel de preferencias "Teclado" y elija la pestaña "Teclado"
Haga clic en el botón "Teclas modificadoras" en la esquina inferior derecha
referencia
fuente
En caso de que desee restaurar los valores predeterminados:
fuente