How to stop OS X from switching input method (keyboard layout) automatically?

After using the wireless keyboard that comes with the iMac, I have switched to a MS Ergo Natural 4000 one. Surprisingly I had to install extra software as OS X could not work out which keyboard I had.

After which I went into sys prefs and set the main input method to be "British - Microsoft" first and "Swiss German" second (what the wireless keyboard is), on the "input sources" tab:

enter image description here

However... OS X keeps resetting my input method back to Swiss German which is driving me bananas.

I have the flag thingy top right so I can see when this changes.

N.B. I have "input source options" set to "use the same one in all documents" which I am assuming means keep the language the same for anything running.

It also flips back on the login page.

Does anyone know how to fix this?


If the system is switching language without you asking to do so, it means that the current input source somehow becomes unavailable. This can happen if you are using a custom input source (put under ~/Library/Keyboard Layouts) and then lock your screen. The lock screen is owned by the system and thus does not have access to your custom layouts, only the system-wide ones. The current source being unavailable, it will automatically revert to another one.

To resolve this issue, ensure that your custom keyboard layout is put under /Library and not /Users/You/Libary. After moving the file, remove the input source from the list, reboot and then put it back again.


One possibility that I had in a similar case is that you are hitting the keyboard shortcut to switch input sources.

In Snow Leopard preferences, the default to select the previous input source is Command-Space. In your screen capture of the Language & Text preferences you can see that this shortcut is active (the other shortcut, to select the next input source, is inactive in that screen capture):

Input source shortcut

It's a bit odd that Command-Space is used, as that is also used for Spotlight. But if a shortcut is assigned multiple times, then Snow Leopard would show a warning, which your screen capture does not show. So, Command-Space won't activate Spotlight on your Mac:

Input source shortcut with warning

From Apple support: Command-Space: Show or hide the Spotlight search field (if multiple languages are installed, may rotate through enabled script systems)