11 votos

Hidutil dejó de funcionar en la actualización de macOS 14.2

Tengo el siguiente comando para ejecutar en cada inicio de macOS:

hidutil property --set '{"UserKeyMapping": [{"HIDKeyboardModifierMappingSrc": 0x700000064, "HIDKeyboardModifierMappingDst": 0x700000035}]}'

Siempre vuelve a asignar una tecla (non_us_backslash a grave_accent_and_tilde) en mi teclado Apple Magic internacional a una conveniente para que coincida con mi portátil con teclado estadounidense.

Inmediatamente después de instalar la versión 14.2, este comando dejó de funcionar. No arroja ningún error, el comando hidutil property --get UserKeyMapping imprime una salida válida como la siguiente, pero el comportamiento de la tecla no se actualiza después de ejecutar el comando como parecía antes de la actualización. Además, no estoy seguro de que en el pasado la salida del argumento --get se imprimiera como Decimal en lugar de hexadecimal. Pero así es como está ahora.

La salida del comando:

(
        {
        HIDKeyboardModifierMappingDst = 30064771125;
        HIDKeyboardModifierMappingSrc = 30064771172;
    }
)

ACTUALIZACIÓN 2024.01.17:

He recibido la respuesta de Apple sobre mi problema al respecto.

Dijeron que el problema está solucionado.

Intenté reproducirlo en mi portátil y persiste, aunque con menor gravedad, ya que ahora (como se mencionó en algún lugar arriba) la asignación comienza a funcionar pero después de volver a enchufar el dispositivo. Puedo agregar que esto es cierto también para dispositivos inalámbricos. Mi asignación comenzó a funcionar después de que volví a habilitar Bluetooth. Esta solución funcionó para mí varias veces seguidas, por lo que lo considero persistente.

Sin embargo, he objetado la afirmación de Apple de que el problema ha sido resuelto. Así que veamos qué sucede a continuación.

3voto

mPrinC Puntos 131

Hay algunos informes y rastreadores sobre el problema (como este: hidutil stopped working on macOS 14.2, pero aún no ha surgido nada.

tuve que regresar a Karabiner como una solución alternativa, que funciona en Sonoma.

Hay algunas peculiaridades al iniciarlo, ver Driver alert keeps showing up

Además, necesitas agregar karabiner_observer (en mi caso: /Library/Application Support/org.pqrs/Karabiner-Elements/bin/karabiner_observer) a Preferencias del Sistema > Seguridad y Privacidad > Privacidad > Monitoreo de Entrada

3voto

dudzio Puntos 6

Aquí tienes una guía paso a paso.

  1. Asegúrate de haber actualizado tu Mac a 14.3+
  2. Ejecuta el siguiente comando para crear un nuevo archivo de lista, que se ejecutará como un Daemon: sudo vi /Library/LaunchDaemons/com.hidutilKeyMapping.tilde.plist
  3. Pega las siguientes líneas y guarda el archivo para mapear la tecla § a la tecla `.

        Label
        com.hidutilKeyMapping
        ProgramArguments
    
          /usr/bin/sudo
          /usr/bin/hidutil
          property
          --set
          {
            "UserKeyMapping": [
                {
                  "HIDKeyboardModifierMappingSrc": 0x700000064,
                  "HIDKeyboardModifierMappingDst": 0x700000035
                }
            ]
          }
    
        RunAtLoad
    
        KeepAlive

Para configuraciones de teclas diferentes, puedes usar hidutil-generator.

  1. Ejecuta este comando para dar permisos de ejecución: sudo chmod 755 /Library/LaunchDaemons/com.hidutilKeyMapping.tilde.plist

  2. Como último paso, ejecuta esto para instalar tu demonio hidutil para que se ejecute al iniciar: sudo launchctl load /Library/LaunchDaemons/com.hidutilKeyMapping.tilde.plist Si ves un error, intenta primero desactivando mediante sudo launchctl unload /Library/LaunchDaemons/com.hidutilKeyMapping.tilde.plist

  3. ¡Reinicia tu Mac y listo!

2voto

faccenda Puntos 21

Estaba cansado de esperar a que Apple lo arreglara, y pensé que Hammerspoon era un poco más fácil de configurar que Karabiner, así que creé lo siguiente para hacer aún más fácil lograr los mismos resultados:

https://gist.github.com/maurofaccenda/aca92d695220e545c5e7ffd28dc365c4

2voto

Serhii Khachko Puntos 26

En cuanto a MacOS 14.3 donde hidutil ya está arreglado. Necesitas ejecutar hidutil como sudo como se mencionó anteriormente, por lo tanto, si lo inicias como un agente, debes colocar tu lanzamiento *.plist en /Library/LaunchDaemons/ con permisos de root y luego ejecutar sudo launchctl load -w /Library/LaunchDaemons/com.apple.hidutil.plist

0voto

zfigz Puntos 1

Actualizado a la versión 14.3, el problema ya no persiste siempre y cuando hayas ejecutado hidutil como root (por ejemplo, sudo) según:

pd asegúrate de estar usando el ProductID / VendorID correcto... noté que el mío había cambiado con la actualización.

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