Esta es mi ballena blanca. No puedo usar Emacs sin que la tecla control esté a la izquierda. Hace poco me compré un MacBook nuevo, así que tuve la oportunidad de hacer esto sin Karabiner.
Esto es lo que funcionó para mí para volver a vincular la tecla de función de control (para el teclado incorporado sólo ), en MacOS 10.15.6.
hidutil property --matching '{ "ProductID": 0x027e }' --set '{
"UserKeyMapping": [
{
"HIDKeyboardModifierMappingDst": 30064771300,
"HIDKeyboardModifierMappingSrc": 1095216660483
},
{
"HIDKeyboardModifierMappingDst": 30064771296,
"HIDKeyboardModifierMappingSrc": 280379760050179
}
]
}'
Verifíquelo con hidutil property --matching '{ "ProductID": 0x027e }' --get "UserKeyMapping"
.
Cómo encontré estos códigos
Ambos he visto la opción de cambiar el Function (fn) Key
y no visto la opción de cambiar el Function (fn) Key
en el mismo ordenador, utilizando la misma versión de MacOS. Tómelo con un grano de sal, pero puedo obtener consistentemente la variante con el Function (fn) Key
opción de aparecer si yo:
- Tener un teclado externo adjunta, a través de un Concentrador USB tipo C
- Abra el
Keyboard Keyboard Modifier Keys
- Bloquear la pantalla con el teclado externo
- Aléjese durante algún tiempo (espere a que el ordenador duerma)
- Despierte el ordenador pulsando una tecla del teclado externo y utilice Touch ID para iniciar sesión.
- Ahora la preferencia Teclas modificadoras tiene el
Function (fn) Key
opción. Mientras está en este estado, cambie el comportamiento de la tecla de función utilizando la lista desplegable (yo elegí ^ Control
)
- Copia
~/Library/Preferences/ByHost/.GlobalPreferences.${__UUID__}.plist
(descrito aquí ) en otro lugar temporalmente
- Convierte el PList binario a XML:
plutil -convert xml1 .GlobalPreferences.${__UUID__}.plist
El contenido de ese archivo es:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.keyboard.modifiermapping.1452-638-0</key>
<array>
<dict>
<key>HIDKeyboardModifierMappingDst</key>
<integer>30064771300</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>1095216660483</integer>
</dict>
<dict>
<key>HIDKeyboardModifierMappingDst</key>
<real>30064771296</real>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>280379760050179</integer>
</dict>
</array>
</dict>
</plist>
Esta página aparece si busca estos HIDKeyboardModifierMappingSrc
y dice que 1095216660483
es para la tecla de función izquierda, 280379760050179
es para la derecha.
Pensé que me estaba volviendo loco, así que hice algunas capturas de pantalla como prueba:
Panel de preferencias de teclas modificadoras sin el botón Function (fn) Key
opción
Panel de preferencias de teclas modificadoras con el botón Function (fn) Key
opción
Acerca de ProductID
Puede encontrar el ID de producto asociado a su teclado utilizando la función System Report
botón: Apple menu System Report Hardware USB
.
Si utiliza el --matching
a hidutil
utilizando un ID de producto específico, los cambios sólo afectarán a esa pieza de hardware. Por ejemplo, quizá quieras cambiar la distribución del teclado integrado, pero no de uno externo.
11 votos
¿Alguien sabe por qué demonios ha decidido Apple hacer esto?
0 votos
¿Es posible asignar la tecla fn sólo para combinaciones de teclas alfanuméricas? Me gustaría que la tecla fn se comportara como tecla de control sólo cuando se pulsa con las combinaciones fn+a, fn+b..., fn+z, fn+1...fn+0. Me gustaría que fn+F1, fn+F2... funcionaran como vienen de fábrica.