OK, a partire da un post su SuperUser , ecco qui:
È possibile creare AppleScript per passare alle varie lingue. Se crei servizi che non accettano nulla e chiamano solo questo script, vivranno tutti felici nel menu Servizi quando li desideri. Altrimenti, usa il metodo di attivazione di AppleScript.
Per passare a, diciamo, in greco e visualizzare il visualizzatore tastiera quando lo fai, esegui questo script:
tell application "System Events"
if exists process "Keyboard Viewer" then
display alert "running"
try
tell application "KeyboardViewer" to quit
end try
end if
end tell
tell application "Finder"
open item "System:Library:Input Methods:KeyboardViewer.app" of the startup disk
end tell
changeKeyboardLayout("Greek")
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
Per tornare al layout degli Stati Uniti, uccidi il visualizzatore quando lo fai, usa questo:
tell application "System Events"
if exists process "Keyboard Viewer" then
display alert "running"
try
tell application "KeyboardViewer" to quit
end try
end if
end tell
changeKeyboardLayout("U.S.")
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
Sostituisci i nomi dei layout di tastiera che desideri nel comando changeKeyboardLayout("layout name")
.