I asked Seth from CNET about this, and he replied me this article (Managing input methods in OS X, I'm reading it, wish it will help us!! I use Sougou Input, Chinese Traditional, English and Deutsch, this whole changing game makes me crazy!!
You can use Automator to create a service for this. Open Automator and click “New Document,” then choose the Service template:
Next, click on the “Service receives selected text” dropdown and choose “no input:”
Next, add a “Run AppleScript” action:
- Click “Actions” in the sidebar
- Ensure the “Library” row in the first column is selected
- Search for “AppleScript”
- Double-click the “Run AppleScript” row in the search results
In the action on the right side of the window, paste this AppleScript into the text box:
on run {input, parameters}
tell application "System Events"
repeat 2 times
keystroke tab
end repeat
keystroke (ASCII character 31) -- down arrow
keystroke "s"
repeat 2 times
keystroke return
end repeat
end tell
return input
end run
Next, click the “compile” () button to verify that the code was pasted correctly:
Choose File → Save (or ⌘ + S), and type in a name you’ll remember. Next, open System Preferences ( → System Preferences…) and click “Keyboard.” Under the “Shortcuts” tab, select “Services” in the left list. Scroll to the bottom of the main list, under the “General” section, and select the service you just created. Click the “Add Shortcut” button and type the keyboard shortcut you’d like to use.
The shortcut should now work.
Based on the other answer
Best Answer
It seems that modifier keys like cmd, ctrl, option, shift cannot be used alone and have to be combined with other keys as shortcuts. Alternatively you may also try using option + space as the shortcut to toggle input sources.