È possibile passare a un layout di tastiera specifico tramite 'default', * .plist o simile?

4

Ho trovato uno script di shell utilizzabile con osascript (AppleScript) per passare automaticamente al layout di tastiera USA quando MacVim si attiva (attivato da Keyboard Maestro) e il layout svedese quando si disattiva:

osascript > /dev/null 2>&1 <<-RAW
on changeKeyboardLayout(layoutName)
    tell application "System Events" to tell process "SystemUIServer"
        tell (1st menu bar item of menu bar 1 whose description is "text input") to {click, click (menu 1's menu item layoutName)}
    end tell
end changeKeyboardLayout

changeKeyboardLayout("Svensk - Pro")
RAW
exit $?

Tuttavia, AppleScript è veramente lento e inoltre preferisco non vedere il menu di inserimento del testo nella barra di stato da lampeggiare quando si passa avanti e indietro.

Domanda:

C'è un'alternativa al mio approccio AppleScript al layout di istantaneo ?

... immagino qualcosa di simile a un comando defaults o alterando qualsiasi file .plist come potenziali candidati per il lavoro, solo che non conosco specifiche.

Due cose relative alla / e risposta / i che sto cercando:

  1. Sono ansioso di far propagare la modifica all'istante, più veloce della lenta esecuzione di AppleScript.

  2. Preferisco non installare nuovi demoni software per ottenere ciò. (Tuttavia, i suggerimenti sono sempre benvenuti, ma probabilmente le app di terze parti non si qualificano come risposta accettata.)

posta Henrik 07.02.2012 - 21:45
fonte

2 risposte

2

~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist ha una chiave AppleSelectedInputSources , ma modificarla direttamente non sembra in realtà modificare il layout.

La maggior parte delle soluzioni pubblicate su MacScripter usano solo lo scripting dell'interfaccia utente .

C'è una piccola utility Objective-C chiamata changeInput anche se questo dovrebbe cambiare il layout quasi istantaneamente.

    
risposta data 08.02.2012 - 02:39
fonte
2

Scrivo un piccolo programma su object-c lo copro in un Alfred Workflow e puoi provarlo: link E ora compila binario per cli 64 bit: link su entra aspetta un argomento come "com.apple.keylayout.US" Con BTT funziona più velocemente.

    
risposta data 18.06.2014 - 06:15
fonte

Leggi altre domande sui tag