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

32,837

Solution 1

The MS layout for the keyboard on OSX sucks

Use this layout instead http://liyang.hu/osx-british.xhtml

Seems to work

Solution 2

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.

Solution 3

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)

Share:
32,837

Related videos on Youtube

adolf garlic
Author by

adolf garlic

Enjoying the view

Updated on September 17, 2022

Comments

  • adolf garlic
    adolf garlic over 1 year

    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?

    • adolf garlic
      adolf garlic over 14 years
      Have also just noticed that for some applications, it is not even possible to select "British - Microsoft" e.g. Preview, QuickTimeplayer. Other applications like firefox and itunes work fine (although they do still keep switching back to swiss german)
  • Arjan
    Arjan over 14 years
    My 10.6 has a disabled (default) of Command-Space (rather than Option-Space) for "Select the previous input source". I don't know why it's that, because Command-Space has been Spotlight for ages. I also don't know what disabled it. But: maybe some installations still have that Command-Space shortcut assigned twice? That would show a warning in the keyboard preferences though.
  • adolf garlic
    adolf garlic about 14 years
    When I switch to an app that does not support the "British - Microsoft" setting i.e. automatically assumes "Swiss German", it appears to switch it for ALL applications. I don't understand why not all applications support 'another' language and I also don't understand why this forces the other applications to pick up the change.
  • mmmmmm
    mmmmmm about 14 years
    It is a global setting for the keyboard and thus for all apps.
  • mmmmmm
    mmmmmm about 14 years
    Sorry it is not - each app remembers what was used last - see mac.finerthingsin.com/2010/01/18/…
  • adolf garlic
    adolf garlic about 14 years
    Actually it appears to have both. Single global setting and setting per app. The problem lies in the fact that once you set it to a language which is not supported by all apps, then it will switch to the other one. It sucks, seriously.
  • Daniel J. Pritchett
    Daniel J. Pritchett over 10 years
    Thanks for this! I had my layouts in ~/Library and my app-store-installed apps couldn't see them and I had no idea why.
  • jmagnusson
    jmagnusson over 9 years
    Thanks this worked great. This has been such a huge annoyance! It always happened when a Authorize prompt opened up and after log out.
  • György Balássy
    György Balássy about 5 years
    This works, thank you very much for this! Put the .layout file to "/Library/Keyboard Layouts" and then do a full OS reboot.
  • ruohola
    ruohola about 5 years
    Thank you so much! This should be the accepted answer for sure.
  • eebbesen
    eebbesen about 4 years
    For Catalina, find this at Keyboard -> Shortcuts -> Input Sources
  • a.s.t.r.o
    a.s.t.r.o almost 4 years
    This doesn’t work as of 10.15, as soon as I open the AppStore, it switches back to default.
  • Charles Rezk
    Charles Rezk over 2 years
    This doesn't work for me either. My custom keyboard layout is in /Library, but the OS switches away from it whenever I lock the screen.
  • WestCoastProjects
    WestCoastProjects over 2 years
    This does not actually answer your own question!