Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a way to bind alt shift to switch keyboard layouts on OS X?

share|improve this question
up vote 13 down vote accepted

By default in OS X, spinning through keyboard layouts is defined as ctrl+space. This mapping is turned off in favor of the trigger for Spotlight.

To modify this default mapping, you need to go to System Preferences->Hardware->Keyboard & Mouse->Keyboard Shortcuts. There you will find a list item for Input Menu. Select the checkbox and it will become enabled. From there, double click on the predefined shortcut on the right side of the list. Once the existing shortcut is selected and editable, you can type your preferred shortcut sequence.

Unfortunately, alt+shift by themselves are not allowed as a shortcut. You need to have a non-control key in the mix. The closest you can come is to use alt+z (using 'z', which is next to shift on the left side of the keyboard). You also have the option of setting the shortcut for the reverse order of the spin. alt+shift+z is a natural option for this.

share|improve this answer
I enable it and hit restore default. Mac resolved the conflict. Since I'm new to mac, I probably will not be using trigger for Spotlight. I'm not sure what that means. +1 for an explanation. – Moshe Jan 6 '10 at 5:09
You really should learn what spotlight is and does, and you will want a trigger for it... but you can move that to command-space if you want. – Andrew McGregor Jan 6 '10 at 7:43
I understand now. I don't use spotlight much yet, although if I buy a Mac I probably will . I'm on a loaner now. – Moshe Jan 7 '10 at 8:34
Note that alt + shift + z is a popular keyboard shortcut in use by many applications for undoing an undo (alt + z). Therefore, it may be a better idea to find another shortcut. How about cmd + e? – Elad Nava Jan 1 at 14:54

The Karabiner keyboard customizer for OS X can map alt-shift (or ctrl-shift) to switch languages

share|improve this answer
What System Preferences add-on? System Preferences on my Mac don't accept alt+shift. Is there some additional "add-on" that enables it? – yair Mar 2 '14 at 13:17

Use Karabiner (originally KeyRemap4MacBook). Search for option shift pc. Ticking the first checkbox should let you remap to the PC behavior.

setting pc style switch language in Karabiner alt+shift

share|improve this answer
However, see the note: "Except in ... Emacs, Terminal, ...". – nickie Feb 15 '15 at 1:14

In some locales command-space and option-command-space change input sources by default. You can enable or change the keyboard shortcuts from System Preferences:

The shortcut recorders don't allow entering shortcuts like option-shift though. If you really want to use option-shift, you can map it to a key combination like option-command-space with KeyRemap4MacBook. This is triggered when you release shift:

<autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_L, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, ModifierFlag::OPTION_L, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_R, ModifierFlag::OPTION_R | ModifierFlag::SHIFT_R | ModifierFlag::NONE, KeyCode::SHIFT_R, ModifierFlag::OPTION_R, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>

This is triggered when you press shift, but it requires pressing shift before option for shortcuts like option-shift-[:

<autogen>__KeyToKey__ KeyCode::SHIFT_L | ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L | ModifierFlag::NONE, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ KeyCode::SHIFT_R | ModifierFlag::SHIFT_R | ModifierFlag::OPTION_R | ModifierFlag::NONE, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>

This requires pressing option and shift simultaneously:

<autogen>__SimultaneousKeyPresses__ KeyCode::OPTION_L, KeyCode::SHIFT_L, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__SimultaneousKeyPresses__ KeyCode::OPTION_R, KeyCode::SHIFT_R, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
share|improve this answer

i changed mine to -\ which is almost alt-shift, just shifted one key to the right (works with my macbookpro international keyboard, the us keyboard has longer left shift and the \ key is above the key)

share|improve this answer

Also if you are looking for Cmd+Shift, Punto Switcher (after disabling language autoswitching) can bind language toggle to Cmd+Shift.

share|improve this answer
Please see this link about how to recommend software in an answer:…. Also, this doesn't answer the question that was asked. – fixer1234 Feb 25 '15 at 1:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .