There is a nice possibility to bind each keyboard layout to separate keys combination and switch between them.

So you can assign, for instance, shortcut Alt-Shift-0 to "Select English", Alt-Shift-1 to "Select German", Alt-Shift-2 to "Select Arabic".

How to make this on MacOS 10.7.4?

  • Keyboard layout? You mean Dvorak, qwerty, arabic and stuff? – duci9y Aug 19 '12 at 15:51
  • mm.. I mean U.S. English, Dvokar English, German, Arabic, etc. – klm123 Aug 19 '12 at 15:54
  • And I mean to switch between layouts – klm123 Aug 19 '12 at 15:55
  • @kim what do you mean by "add to sidebar" and can you explain the part with the 1st menu item etc.... Trying to set this up with Hebrew/English/Russian/Spanish all at once... – Jonathan A. Levi Aug 28 '14 at 12:45

Hurray! I found a way:

  1. Add layouts in side bar
  2. create an applescript

like this:

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("US Extended")

3.Save it in /Library/Scripts

4.Bind it to the keys combination using FastScript


I have improved this script

you could find your answer below

how to specify the keyboard layout or called input source with shortcut/

  1. Go to System Preferences > Language and Text > Input Sources.
  2. Select whatever layouts you want in the sidebar.
  3. You can switch between the layouts using the shortcut using command + [ or command + ].
  4. If you want to change the shortcut, go to the Keyboard preference pane > Keyboard Shortcuts > Keyboard and Text Input.
  5. Here you can change the shortcuts for “Select the next input source” and “Select the previous input source”.
  • 3
    This is not the answer to my question. My question not about shortcuts "Select next" and "Select previous". I'm asking how to create shortcuts "Select English", "Select German", "Select Arabic". – klm123 Aug 19 '12 at 16:09
  • Not possible. Nope. – duci9y Aug 19 '12 at 16:17
  • You are wrong :) – klm123 Aug 19 '12 at 17:29

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.