Come rimappare una chiave in macOS Sierra, ad es., da destra a destra?

26

Ho usato Karabiner per rimappare il controllo da destra a destra (come utente di Emacs, io uso Control MUCH più che ALT ) ma l'aggiornamento a Sierra ha rotto questo. Il downgrade non è un'opzione.

Come faccio a rimappare manualmente le chiavi in Sierra? Mi piacerebbe in particolare rimappare Right Alt a Right Control.

    
posta Steven C. Howell 10.05.2017 - 19:30
fonte

2 risposte

20

Nota tecnica di Apple TN2450 descrive come rimappare le chiavi. L'esecuzione del seguente comando rimapperà Right Alt per essere Right Control.

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

Si noti che il comando sopra non sta commutando il controllo Alt destra e destra. Saranno entrambi il controllo giusto. Se hai un MacBook, non lo noterai fino a quando non inserirai una tastiera esterna. Se vuoi switch Right Alt e Right Control, devi aggiungere un secondo comando switch, come il seguente.

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

La tabella in fondo alla nota tecnica contiene un elenco di valori esadecimali per ogni chiave. Per generalizzare la risposta di cui sopra per passare qualsiasi chiave, devi or del valore esadecimale da quella lista insieme a 0x700000000 . Il seguente codice Python mostra un modo per farlo.

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
    
risposta data 10.05.2017 - 19:30
fonte
7

Un approccio più generale e user-friendly consiste nell'utilizzare Elementi di Karabiner , che è una versione di Karabiner che funziona su Sierra.

    
risposta data 13.05.2017 - 20:07
fonte

Leggi altre domande sui tag