Il layout della tastiera continua a tornare dopo l'aggiornamento a High Sierra

3

Ho un layout di tastiera personalizzato che uso da molti anni su OS X (in alternativa al layout francese ).

Da quando mi sono aggiornato a High Sierra oggi mi trovo ad affrontare questi problemi:

  • il layout continua a tornare al valore predefinito (francese), ad es. quando apro una nuova applicazione
  • a volte non riesco a tornare al mio layout personalizzato
  • quando riavvio, devo aggiungere nuovamente il layout personalizzato nelle Preferenze

Ho provato a resettare la NVRAM ma nessuna modifica. Cosa posso fare?

    
posta Matthieu Napoli 01.10.2017 - 19:12
fonte

3 risposte

3

Ho avuto lo stesso problema. La mia tastiera personalizzata si trovava in /Library/Keyboard Layouts . Ho sentito che ci sono alcuni problemi relativi ai file quando si utilizza Ukulele, quindi ho spostato la mia tastiera personalizzata su ~/Library/Keyboard Layout :

cd ~/"Libaray/Keyboard Layouts"
mv "/Library/Keyboard Layouts"/*

Inoltre, ho cambiato il proprietario del file, il gruppo e alcuni diritti per i file in quella posizione:

sudo chown <your username> *
sudo chgrp staff *
sudo chmod u+rwx *

Quindi, rimuovi la tua tastiera personalizzata da Preferenze di Sistema, riavvia, aggiungi di nuovo e riavvia di nuovo.

    
risposta data 23.10.2017 - 21:14
fonte
5

Ho avuto esattamente lo stesso problema: un layout di tastiera personalizzato che aveva funzionato bene su macOS 10.12 Sierra si è improvvisamente rifiutato di lavorare con applicazioni e applicazioni predefinite installate da App Store dopo l'aggiornamento a macOS 10.13 High Sierra. Il sistema operativo ripristina sempre il layout di tastiera predefinito della mia regione (in finlandese). Questo mi ha fatto riflettere e sono riuscito a sistemare il layout che utilizzo in modo che ora funzioni con tutte le app, non solo quelle installate da homebrew.

Il trucco è modificare il layout personalizzato in modo che sia impostato sulla regione corrente. Puoi farlo modificando il pacchetto manualmente o usando Ukelele.

1. Modifica del layout con Ukelele

Scarica e installa Ukelele da homebrew ad esempio. Quando apri l'app, apri il tuo layout personalizzato dal file o, se lo hai attualmente attivo, puoi creare un nuovo pacchetto basato su di esso scegliendo 'File' → 'Nuovo dalla sorgente di input corrente'. Dopo averlo aperto, devi impostare la lingua corretta (e possibilmente la regione) per la lingua da Impostazioni "Lingua ..." dalla scheda "Layout tastiera". La lingua non deve corrispondere alla lingua del sistema operativo e non so se la regione abbia qualcosa a che fare con questo problema (Ukelele dice che è facoltativo) ma impostarlo sulla tua regione non può ferire.

Dopo aver impostato la lingua dalla scheda 'Keyboard layouts' è necessario impostare la localizzazione dalla scheda 'Localisations'. Se esiste già una linea locale nell'elenco è possibile modificarla facendo doppio clic su di essa e impostando la lingua (non è ancora necessario abbinare la lingua del sistema operativo), in caso contrario è possibile aggiungerne una nuova con il pulsante con un '+' firmarci sopra. L'impostazione della regione è facoltativa anche qui, ma è meglio prevenire che curare. Dopodiché puoi salvare il pacchetto e passare all'installazione e all'abilitazione del layout.

2. Modifica manuale del layout

I pacchetti di layout di tastiera sono in realtà solo directory con una determinata struttura, quindi puoi anche modificarli manualmente dalla riga di comando. Quello che devi fare è inserire cd in Your.bundle/Contents e modificare Info.plist aggiungendo KLInfo_<your-layout-name> dict. Ecco un esempio di Info.plist dal layout che sto utilizzando:

<?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>CFBundleIdentifier</key>
        <string>com.apple.keyboardlayout.arkkudvorak</string>
        <key>CFBundleName</key>
        <string>ArkkuDvorak</string>
        <key>CFBundleVersion</key>
        <string>1.0</string>
        <key>KLInfo_ArkkuDvorak</key>
        <dict>
                <key>TISInputSourceID</key>
                <string>com.apple.keyboardlayout.arkkudvorak.arkkudvorak</string>
                <key>TISIntendedLanguage</key>
                <string>fi-FI</string>
        </dict>
</dict>
</plist>

La cosa principale qui è includere le abbreviazioni della lingua e della regione come valore stringa per TISIntendedLanguage . Immagino che TISInputSourceID possa essere qualsiasi cosa purché sia prefissato da CFBundleIdentifier .

Dopo aver impostato la lingua e l'area geografica puoi salvare e chiudere il file Info.plist . Hai comunque bisogno di modificare lo struture della directory un po '. cd in Your.bundle/Contents/Resources e rinominare <something>.lproj in <language>_<REGION>.lproj , nel mio caso fi_FI.lproj . Dopo aver fatto ciò hai finito con le modifiche.

3. Installazione e attivazione del layout

Dopo aver corretto le impostazioni di lingua, regione e localizzazione e salvato il pacchetto, spostalo su /Library/Keyboard Layouts/ se non lo hai modificato direttamente da lì. Riavvia il computer, aggiungi nuovamente il layout da "Preferenze di Sistema" → "Tastiera" → "Origini di input" e ora dovrebbe funzionare con tutte le app.

L'ho fatto per me, fammi sapere se ha funzionato per te.

Dichiarazione di non responsabilità: non sono l'autore del pacchetto ArkkuDvorak, lo uso solo.

    
risposta data 19.10.2017 - 11:36
fonte
3

Non una nuova risposta, ma un commento (servono 50 punti rep)! per il problema sollevato da @Miikka.

Assicurati di disabilitare "Passa automaticamente alla fonte di input di un documento". Quando lo fai, la mia selezione della sorgente di input è rimasta con quella desiderata.

    
risposta data 20.10.2017 - 23:14
fonte

Leggi altre domande sui tag