Keyameleon e Keychange risolvono lo stesso problema. macOS ha una sola sorgente di input per tutte le tastiere, quindi passare dalla tastiera di un MacBook US a una tastiera esterna tedesca significa cambiare layout a mano. Sono entrambe app gratuite e open source per la barra dei menu che lo cambiano per te quando inizi a scrivere su un’altra tastiera. Si differenziano per i Mac su cui funzionano, per come trattano il primo tasto che premi e per quanto accesso a ciò che digiti richiedono.
A colpo d’occhio
| Keyameleon | Keychange | |
|---|---|---|
| Cambia in base a | La tastiera su cui scrivi | La tastiera su cui scrivi |
| Prezzo e licenza | Gratuito, MIT | Gratuito, MIT |
| macOS | 26 o successivi | 14 o successivi |
| Permessi | Monitoraggio input | Monitoraggio input, più Accessibilità per “Before key press” |
| Primo tasto su una tastiera appena usata | Usa la sorgente di input precedente | Usa la sorgente di input precedente, a meno che “Before key press” non sia attivo |
| Accesso a ciò che digiti | Solo ascolto: non può ritardare, modificare o inserire la pressione di un tasto | Solo ascolto di default; “Before key press” intercetta ogni tasto premuto |
| Configurazione | Finestra di configurazione guidata, poi una finestra delle impostazioni | Un menu a comparsa per ogni tastiera nel popover della barra dei menu |
| Installazione | DMG o brew install --cask mastro993/tap/keyameleon | DMG o brew install dennistimmermann/tap/keychange |
Cosa hanno in comune
- A ogni tastiera assegni una sorgente di input una volta sola, e l’app la seleziona quando premi un tasto su quella tastiera, in ogni app.
- Le tastiere vengono riconosciute dalla loro identità hardware, quindi le assegnazioni restano anche se le scolleghi e ricolleghi.
- I dispositivi che si presentano come tastiere ma non lo sono, come un mouse con tasti per le scorciatoie, possono essere nascosti così non cambiano mai nulla.
- Entrambe richiedono il permesso Monitoraggio input per distinguere le tastiere, e nessuna delle due registra o invia ciò che digiti.
- Entrambe si aprono al login, se vuoi, e si aggiornano tramite Sparkle. Keyameleon controlla al massimo una volta al giorno e installa solo gli aggiornamenti che approvi; Keychange propone di installare le nuove release su GitHub.
Il primo tasto che premi
Un’app che osserva quale tastiera usi viene a sapere di un tasto premuto solo dopo che macOS lo ha ricevuto. Quando cambia layout, quel tasto di solito è già in viaggio verso l’app in primo piano, digitato con il vecchio layout. Entrambe le app partono da qui. Le loro strade si separano su cosa fare al riguardo.
Keychange ha una modalità Before key press. Intercetta ogni tasto premuto in ogni app (campi password esclusi), cambia layout e ritraduce il carattere con il nuovo layout, oppure trattiene brevemente il tasto per alcuni metodi di input. Il primo carattere esce giusto. Richiede il permesso Accessibilità e mette Keychange tra la tua tastiera e ogni app.
Keyameleon non si mette mai in quel percorso. Osserva le tastiere tramite il framework CoreHID di Apple in modalità di solo ascolto, che non può ritardare, modificare o inserire input, e cambia layout solo tramite il sistema di immissione testo di macOS. Il prezzo è quello indicato nelle sue FAQ: il tasto che fa scattare il cambio, e quelli digitati prima che macOS completi il cambio, possono ancora usare la sorgente di input precedente.
Se passi spesso da una tastiera all’altra a metà parola, la modalità di Keychange è la vera differenza. Se preferisci che nessuna app possa mai alterare un tasto premuto, Keyameleon è costruito attorno a questa regola.
Quando qualcos’altro cambia la sorgente di input
Potresti scegliere un’altra sorgente di input dalla barra dei menu, oppure potrebbe cambiarla un’altra app. Keychange ti lascia scegliere cosa succede dopo: disattivarsi, mettersi in pausa finché la sorgente di input non corrisponde di nuovo alla tastiera, lasciare la tua scelta finché non cambi tastiera, oppure lasciarla fino al tasto successivo.
Keyameleon ha un solo comportamento e nessuna impostazione. Prende nota del cambio, mostra la discrepanza nel suo menu e non si oppone. Il prossimo tasto che premi su una tastiera con un’assegnazione seleziona di nuovo la sorgente di input di quella tastiera.
Cosa fa solo Keyameleon
- Configurazione guidata. Un’unica finestra ti accompagna nel concedere Monitoraggio input, assegna un layout a ogni tastiera e conferma che è tutto pronto prima che l’app passi alla barra dei menu.
- Cambi verificati. Dopo aver chiesto a macOS una sorgente di input, Keyameleon la rilegge. Se il cambio non è avvenuto, il menu mostra un avviso con Retry Now.
- Nessuna sostituzione silenziosa. Se una sorgente di input assegnata viene rimossa da macOS, l’assegnazione resta, non viene scelto nulla al suo posto e il menu lo segnala finché non torna.
- Nomi personalizzati per le tastiere, e un menu che elenca ogni tastiera assegnata con il codice del Paese del suo layout.
- Pausa e ripresa con ⌘ P dal menu.
Cosa fa solo Keychange
- Funziona su macOS 14 Sonoma e 15 Sequoia. Keyameleon richiede macOS 26.
- Modalità Before key press, descritta sopra.
- Un badge nella barra dei menu che mostra la sorgente di input attiva a colpo d’occhio.
- Quattro strategie per i cambi di sorgente di input fatti da qualcos’altro.
- ID fornitore e prodotto facendo clic con Opzione, per distinguere tastiere con nomi simili.
Quale scegliere?
- Il tuo Mac ha macOS 14 o 15: Keychange. Keyameleon non funziona lì.
- Il primo carattere deve essere sempre giusto: Keychange con Before key press, se ti va bene concedere Accessibilità e lasciargli intercettare ogni tasto premuto.
- Vuoi un’app che possa solo osservare, mai toccare, ciò che digiti, con configurazione guidata e avvisi chiari quando qualcosa non va: Keyameleon.
Sono entrambe gratuite, quindi provarle tutte e due non costa nulla. Usane però una alla volta: modificano la stessa impostazione di sistema.
Il problema ti è nuovo? Inizia da come usare un layout diverso per una tastiera esterna. Keychange cita autokbisw come fonte d’ispirazione; quel confronto copre l’opzione da riga di comando.