OK, building off of a post on SuperUser, here goes:
You can create AppleScripts to change to the various languages. If you make Services that take no input and just call this one script, they'll all live happily in the Services menu when you want them. Otherwise, use your AppleScript trigger method of choice.
To switch to, say, Greek, and bring up the keyboard viewer when you do, run this 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
To switch back to the U.S. layout, killing the viewer when you do, use this:
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
Substitute the names of whatever keyboard layouts you want in the changeKeyboardLayout("layout name")
command.
Best Answer
Cmd isn’t mormally used for making characters in macos -- instead it is employed for menu shortcuts and other purposes. You can use caps lock to switch to the US keyboard for character input if you set that option in system preferences/keyboard/input sources.
If you use the input source named "Hebrew" , then you should be able to get Latin characters by pressing caps lock (without actually switching to the US layout).
The input source named "Hebrew PC" will generate Latin characters when you hold down the Shift key, but only upper case.