I work with non-ASCII alphabets like Hebrew and Greek just a little bit, so I have the appropriate keyboard layouts available in the language and text menu in the top panel. However, I don't quite know all the characters yet, so I have to bring up the keyboard viewer when I want to type in those languages so that I can hunt for the characters I want. Is there a way to automatically bring up the keyboard viewer when certain keyboard layouts are selected and then make it go away when I switch back to normal?
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:
To switch back to the U.S. layout, killing the viewer when you do, use this:
Substitute the names of whatever keyboard layouts you want in the