Question

I'm from Belgium, and on my own user account, the input source is set to a Belgian (actually French) keyboard. The input sources menu is enabled in the menu bar, so I can switch it to the Belgian keyboard before entering my password, but how can I permanently change the input source used for login? I'm the system admin, and I know how to get root access if necessary.

It worked perfectly in Mountain Lion.

Was it helpful?

Solution

I always got the french layout instead of canadian french at logon screen.
Here's the solution that worked for me:

  1. I found that Logon keyboard layout (i.e. french) correspond to:

    defaults read /Library/Preferences/com.apple.HIToolbox.plist

  2. The desired keyboard layout (i.e. canadian french) is saved here:

    defaults read ~/Library/Preferences/com.apple.HIToolbox.plist
    (Notice the ~ !)

  3. To resolve this I changed the logon keyboard to the desired one by overwriting the .plist file (after ensuring that the source plist doesn't contain any occurrence of the unwanted layout):

    • View the file with plutil -convert json ~/Library/Preferences/com.apple.HIToolbox.plist; vi ~/Library/Preferences/com.apple.HIToolbox.plist; plutil -convert binary1 ~/Library/Preferences/com.apple.HIToolbox.plist and ensure that there is no occurrence of the unwanted layout (even in the History).

    • sudo cp ~/Library/Preferences/com.apple.HIToolbox.plist /Library/Preferences/

    • sudo chmod 644 /Library/Preferences/com.apple.HIToolbox.plist

Log off and it's OK. :)

OTHER TIPS

Set it up how you want it in your account and then copy your user com.apple.HIToolbox.plist onto the system one, then reboot.

Run this in Terminal:

sudo cp ~/Library/Preferences/com.apple.HIToolbox.plist /Library/Preferences/

…then restart your computer without going to the login screen (choose restart from the Apple menu without logging out first)

You can change the input source by showing the Input menu in the login window, then selecting your alternative keyboard layout, then logging in to the root account.

  1. Open System PreferencesUsers & Groups.

  2. Unlock the preference pane and select Login Options.

  3. Select Show Input menu in login window.

  4. Immediately log in to the root account.

    The root account should maintain the same selection as the login window. If not, change the input source to match that of the login window, then log out. Both the login window and root account should have the same input source for it to stay permanent.

I'm running Catalina and none of the above answers worked for me. What did work for me ended up being quite simple. (All credit to Daniel Aleksandersen for this solution.)

  1. Go into System Preferences > Language & Region > General.
  2. Make sure your preferred language is set as primary
  3. Hit the gear icon below the list of languages and click "Apply to Login Window".
  4. Restart to check it worked.

enter image description here

For me that was it. If the gear icon doesn't show up for you, you may need to follow the full list of steps below:

  1. Start by going to System Preferences: Keyboard: Input Sources. Make sure the layout you want to have on the login window is at the top of the list of keyboard layouts.

  2. Go to System Preferences: Users and Groups: Login Options. Unlock the preference pane if needed.

  3. Toggle the “Show Input menu in login window” option off and on again. Or toggle it on if it wasn’t already on.

  4. Go to System Preferences: Language and Region: General: Preferred languages.

  5. Temporarily add a second language to the list using the Plus button. You’ll remove it later so just add any language.

  6. Drag the new language to the top of the list.

  7. Click the new Gear button that appeared on the bottom bar when you rearranged the language list, and choose Apply To Login Window. (As shown in the above screenshot.)

  8. Drag your preferred language to the top of the list again.

  9. Repeat step 7.

    1. Remove the language you temporary added to the list by selecting it and clicking on the Minus button. Reboot your Mac.

Just delete the /Library/Preferences/com.apple.HIToolbox.plist do the job for me.

I have simple hack solution. If you have enabled on login screen keyboard selection and default keyboard is wrong e.g. U.S. in my case change it BUT do not continue to login (do not enter password) but restart or shut down Mac using buttons at the bottom of login screen. This way keyboard will be remembered!

Why is everyone making it so complex. The easiest would be:

newton02:~ templahum$ sudo languagesetup

and then you get:

Password:

Entering password will show you this. Select your language and move hit Return. You are done!

 1. Use English for the main language
 2. Utiliser le français comme langue principale
 3. Deutsch als Standardsprache verwenden
 4. Some language
 5. Some other language
 6. Some some other language
 7. Usar español como idioma principal

 q) Quit? 1
 System Language set to: en
Licensed under: CC-BY-SA with attribution
Not affiliated with apple.stackexchange
scroll top