Come rimappare un singolo tasto della tastiera Mac
Il Dicembre 31, 2021 da adminCome rimappare un tasto della tastiera Mac OS X all’altro senza usare strumenti esterni? E’ possibile farlo senza essere uno sviluppatore Mac? Risulta essere abbastanza semplice nel nuovo macOS X 10.12 Sierra usando un piccolo util di nome hidutil
.
Problema
Non ti piace il layout della tastiera Mac, o peggio devi lavorare con un layout diverso al lavoro da quello che hai a casa.In entrambi i casi è possibile installare qualche strumento esterno che farà la rimappatura per voi, ma forse non vi piace avere un’applicazione aggiuntiva solo per rimappare un singolo tasto? Il mio problema era legato all’avere la tastiera britannica a casa e quella americana al lavoro.Mentre non è IMO un problema abituarsi a nessuna di queste passando da una all’altra su base giornaliera è fastidioso.C’era un tasto in particolare che rende le cose un po’ difficili dal punto di vista dello sviluppatore.Era un tasto tilde `.Tilde è posto accanto al 1/! sulla tastiera americana e sostituito da un tasto § di segno di sezione su quella britannica.
Soluzione
Come si è scoperto per macOS X 10.12 Sierra non è necessario fare altro che eseguire un breve pezzo di codice per fare la rimappatura richiesta.
Ecco un semplice esempio per il problema che stavo affrontando che era la rimappatura del tasto §/£ a `/~.
hidutil property --set '{"UserKeyMapping": }'
Come potete vedere dovete mettere valori appropriati (ID di utilizzo) per HIDKeyboardModifierMappingSrc
e HIDKeyboardModifierMappingDst
che dovrete trovare in una tabella nella documentazione ufficiale.Inoltre, per ogni “ID d’uso (esadecimale)” dovrai calcolare l'”OR” bitwise con 0x700000000
che è molto facile nella maggior parte dei casi, ma se hai qualche difficoltà con questo puoi anche usare il seguente comando Bash:
printf '%X\n' "$(( 0x700000000 | 0x64 ))"
dove 0x64
dovrebbe essere sostituito con un valore dalla colonna “ID d’uso (esadecimale)”.
Per controllare le mappature attuali/effettive puoi eseguire:
hidutil property --get "UserKeyMapping"
E infine. Per resettare tutto quello che avete impostato finora basta eseguire:
hidutil property --set '{"UserKeyMapping": }'
NOTE
Tutte le modifiche fatte con
hidutil
sono immediate, quindi non dovete riavviare nulla.
Imposta automaticamente la mappatura dei tasti personalizzata dopo ogni riavvio
Crea il file plist, ad esempio /Library/LaunchDaemons/org.custom.keyboard-remap.plist:
<?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>Label</key> <string>org.custom.keyboard-remap</string> <key>ProgramArguments</key> <array> <string>/usr/bin/hidutil</string> <string>property</string> <string>--set</string> <string>{"UserKeyMapping": }</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> </dict></plist>
Poi caricalo con sudo launchctl load -w /Library/LaunchDaemons/org.custom.keyboard-remap.plist
così sarà caricato ad ogni riavvio del sistema.
Se vuoi controllare se il tuo file plist è stato caricato con successo puoi usare sudo launchctl list | grep org.custom.keyboard-remap.plist
.
NOTAPer scaricare il file plist dall’autostart del sistema usa
sudo launchctl unload /Library/LaunchDaemons/org.custom.keyboard-remap.plist
Problemi
Ho solo un problema con questo problema che era trovare un appropriato “Usage ID (hex)” per la chiave § del segno della sezione.Per scoprirlo ho usato un approccio per tentativi ed errori, quindi niente di eclatante.Se ti imbatti in un modo migliore di trovare i codici “Usage ID (hex)” per favore condividilo.
Nel caso in cui stai ricevendo il messaggio di errore Invalid property list
dopo aver caricato il file plist probabilmente stai cercando di usare la vecchia sintassi per il file plist con <key>Program</key>
invece del citato <key>ProgramArguments</key>
.
Fonti
- https://developer.apple.com/library/archive/technotes/tn2450/_index.html – Nota tecnica di Apple riguardante la rimappatura dei tasti in macOS X Sierra
- https://apple.stackexchange.com/questions/283252/how-do-i-remap-a-key-in-macos-sierra-e-g-right-alt-to-right-control – argomento di Stack Overflow su questo
- https://en.wikipedia.org/wiki/British_and_American_keyboards – possibili layout di tastiera
- https://apple.stackexchange.com/questions/329085/tilde-and-plus-minus-%C2%B1-in-wrong-place-on-keyboard – stesso esatto argomento trovato dopo aver scritto quel post
Lascia un commento