¿Cómo puedo volver a asignar una clave en macOS Sierra, por ejemplo, Alt Alt a Control Derecha?

24

Solía usar Karabiner para volver a asignar el Control de Alt a Derecha (como usuario de Emacs, uso Control MUCHO más que Alt ) pero actualizando a Sierra rompí esto. La degradación no es una opción.

¿Cómo reasigno manualmente las claves en Sierra? Específicamente, me gustaría volver a asignar la tecla derecha a la derecha.

    
pregunta Steven C. Howell 10.05.2017 - 19:30

2 respuestas

19

La nota técnica de Apple TN2450 describe cómo volver a asignar las claves. Al ejecutar el siguiente comando, se volverá a asignar Right Alt a Right Control.

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

Tenga en cuenta que el comando anterior no está cambiando los controles Alt y Derecha. Ambos serán Control Correcto. Si tiene un MacBook, no lo notará hasta que conecte un teclado externo. Si desea cambiar a la derecha y a la derecha, 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 clave, debe or el valor hexadecimal de esa lista junto con 0x700000000 . El siguiente código de Python demuestra una forma de hacer esto.

In [1]: def convert(val):
   ...:     int_val = int(val, 16)
   ...:     ref = '0x700000000'
   ...:     int_ref = int(ref, 16)
   ...:
   ...:     return hex(int_ref | int_val)
   ...:

In [2]: r_alt = '0xE6'

In [3]: print(convert(r_alt))
0x7000000e6
    
respondido por el Steven C. Howell 10.05.2017 - 19:30
6

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.

    
respondido por el mikaraento 13.05.2017 - 20:07

Lea otras preguntas en las etiquetas