Follow By Email

Tuesday, November 29, 2022

[New post] An A to Z of keys and keyboards: Startup and login

Site logo image hoakley posted: "The moment you press the Power button, Intel and Apple silicon Macs are different. What happens next on an Intel Mac is governed by its (U)EFI firmware, and any keys you might be holding at the time, whereas an Apple silicon Mac runs its own firmware and " The Eclectic Light Company

An A to Z of keys and keyboards: Startup and login

hoakley

Nov 30

The moment you press the Power button, Intel and Apple silicon Macs are different. What happens next on an Intel Mac is governed by its (U)EFI firmware, and any keys you might be holding at the time, whereas an Apple silicon Mac runs its own firmware and checks what you've done with the Power button alone.

Intel startup controls

For Intel Macs, the mode to be used at startup is almost entirely determined by any keys held down during the startup process, and the (U)EFI firmware installed. Early during the boot process, the firmware checks which, if any, keys are being held, which determine how it proceeds. Although these often work using Bluetooth, some Macs with certain firmware versions don't read the keyboard status reliably. It may prove best to connect any wireless keyboard using its charging cable, or to use a USB keyboard instead.

IntelMacBootModes2

Here's a tear-out PDF version: IntelMacBootModes2

Information from Apple reveals important details about how current firmware handles Recovery and Diagnostics modes. Local versions of those modes load disk images containing the required software; prior to their loading, their integrity is checked. If the disk image can't be found or fails its integrity check, the Mac should automatically switch to using Internet Recovery or Diagnostics. In that, the appropriate disk image is downloaded from Apple's servers via HTTP (not HTTPS) and undergoes the same integrity check. If that fails, the download process is repeated up to 11 times before abandoning the attempt.

Internet versions of Recovery and Diagnostics work the same, except that they don't perform any local search for the disk image, and proceed straight to download. If you're having problems getting your Mac to boot in local or Internet Recovery or Diagnostics, be sure to give it plenty of time before concluding that the attempt has failed, as your Mac may be still trying to download the software for that mode, even if you have tried to start it up in a local and not Internet mode.

This chart doesn't include resetting the SMC, which isn't a startup mode as such, and varies by model.

Further details about choosing startup modes for Intel Macs is in this article, which has links to more detailed accounts.

Apple silicon startup

The primary control of startup on Apple silicon Macs is the Power button alone.

When pressed briefly, it starts the Mac up in normal macOS mode; when pressed and held until the Mac reports that it's loading Recovery Options, it engages Recovery mode, where you navigate startup and other options using buttons and menus. These invariably work fully with Apple's wireless keyboards and mice/trackpads, so there's no need to connect them with their charging leads.

There's also a Fallback Recovery Mode engaged by pressing the Power button twice in rapid succession, and on the second press, instead of releasing the button, hold it pressed until recovery options are reported as loading. This provides all the features of regular Recovery Mode, with the exception of Startup Security Utility, which isn't available.

From Monterey onwards, regular Recovery is run from the paired Recovery volume in the current boot volume group, while Fallback Recovery uses a previous version of Recovery installed on a dedicated hidden Recovery container on the internal SSD.

Holding Intel startup keys when starting up an Apple silicon Mac does nothing, as its firmware doesn't even notice them. In particular, you can't hold the Option key to select the boot volume group to be used to start that Mac up. To perform any of the functions supported by startup key combinations on an Intel Mac, you must hold the Power button in and load Options for Recovery. A fully illustrated guide is available here.

Startup keyboard

During normal startup, before you have logged in as a user, your Mac doesn't use the custom keyboard set for a specific user, and in older versions of macOS should use that stored in /Library/Preferences/com.apple.HIToolbox.plist, which may be quite different from any set in a user's ~/Library/Preferences/com.apple.HIToolbox.plist file. This doesn't appear to be true for Ventura, where the pre-login settings are now hidden.

In some cases, this can prevent passwords from being entered correctly, and can readily confuse. When there's only a single admin user, macOS should keep settings in sync, but when there are multiple users with different keyboard settings, they can become confused. Starting up with the wrong keyboard can make it incredibly difficult to type your password in. If you're keying in what you think is the letter Q but your Mac is using a traditional French keyboard and thinks that's an A, that's not going to help you enter your password correctly.

Like all preference files, they are now maintained by a service which means that editing them directly is unlikely to do a great deal: the service will happily overwrite the files with what it thinks they should be.

Before Ventura's System Settings, Apple recommended that the most reliable way to set the language and keyboard to be used at startup, when there's only a single admin user, was to use the Language & Region pane. If the language that you want isn't in that list, click on the + tool to add it. Then drag it to be the top of the list, so it's designated as Primary.

keyboard01

There are two different places you should visit in Ventura's System Settings. The direct equivalent of the previous control is the list of Preferred Languages at the top of System Settings > General > Language & Region.

keyboards01

But the list of available keyboards is controlled in System Settings > Keyboard > Text Input, Input Sources, Edit button.

keyboards02

Selecting the keyboard is most easily accomplished in the Input menu, enabled in the Input Sources tab of the Keyboard pane, or the Input Sources dialog in System Settings. Whichever keyboard is set at the time that you shut down or restart should be used when you start up again.

Multiple user keyboards

This all gets more complicated when your Mac has more than one user, and the users don't all have the same keyboard selected. You may also encounter situations where the primary language and keyboard for a single admin user may not get properly synchronised with those used prior to logging in. If keyboard and/or language settings are confused or inconsistent, or they are different across two or more user accounts, you can use the command line once you have set the individual users up correctly. The command you need is languagesetup, and if you want to change the system settings, you'll need to run it as root using sudo.

The command that you need runs something like
sudo languagesetup -langspec [lang]
where [lang] is a recognised name like "English", or an ISO-639 language code such as "ko" - either should be entered inside standard double-quotes like that. You'll then need to authenticate with your admin user's password.

You can get further information about this command using man languagesetup or languagesetup -h. ISO-639-1 codes can be found here.

Thankfully, Ventura now ensures access to the Input menu on the login screen, making it simple to select the correct keyboard before trying to type your password in. Older versions of macOS required that this was set in advance in System Preferences: open the Users & Groups pane, unlock it, click Login Options, and there tick the box labelled Show Input menu in login window.

In the next article, I'll look in more detail at keyboard layouts and how you can create your own.

Comment
Like
Tip icon image You can also reply to this email to leave a comment.

Unsubscribe to no longer receive posts from The Eclectic Light Company.
Change your email settings at manage subscriptions.

Trouble clicking? Copy and paste this URL into your browser:
http://eclecticlight.co/2022/11/30/an-a-to-z-of-keys-and-keyboards-startup-and-login/

Powered by WordPress.com
Download on the App Store Get it on Google Play
at November 29, 2022
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

No comments:

Post a Comment

Newer Post Older Post Home
Subscribe to: Post Comments (Atom)

[New post] Godzilla Library Edition by James Stokoe, John Layman, Chris Mowry, Alberto Ponticelli, Dean Haspiel

...

  • [New post] Godzilla Library Edition by James Stokoe, John Layman, Chris Mowry, Alberto Ponticelli, Dean Haspiel
    ...
  • Chocolate Chip M&M Cookies + AUGUST BAKING CHALLENGE
    The universe wants you to make cookies, just sayin'  ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ...
  • Your Guide to Winter Squash
    ...

Search This Blog

  • Home

About Me

PH News Net
View my complete profile

Report Abuse

Labels

  • 【ANDROID STUDIO】Data Binding
  • 【ANDROID STUDIO】Data Binding Show or Hide Progressbar
  • 【ANDROID STUDIO】Data Binding with object
  • 【ANDROID STUDIO】Live Data
  • 【ANDROID STUDIO】Live Data with Data Binding
  • 【ANDROID STUDIO】View Model
  • 【ANDROID STUDIO】ViewModel Data Binding
  • 【ANDROID STUDIO】ViewModel Data Binding Factory
  • 【FLUTTER ANDROID STUDIO and IOS】Common Weight and Mass Conversions
  • 【FLUTTER ANDROID STUDIO and IOS】custom lite rolling switch
  • 【FLUTTER ANDROID STUDIO and IOS】Managing State
  • 【FLUTTER ANDROID STUDIO and IOS】Simple Stopwatch
  • 【FLUTTER ANDROID STUDIO and IOS】Specify Height and Width in Percent with respect to the screen
  • 【FLUTTER ANDROID STUDIO and IOS】tab key or shift focus to next text field
  • 【FLUTTER ANDROID STUDIO and IOS】Weight Convert
  • 【GAMEMAKER】Display
  • 【GAMEMAKER】Draw Name
  • 【GAMEMAKER】enemy fire continously
  • 【GAMEMAKER】Energy
  • 【GAMEMAKER】Explosion
  • 【GAMEMAKER】Health Bar
  • 【GAMEMAKER】Hearts
  • 【GAMEMAKER】Highscore
  • 【GAMEMAKER】Horizontal Shooter
  • 【GAMEMAKER】Inventory
  • 【GAMEMAKER】keep the player facing the mouse pointer
  • 【GAMEMAKER】one way to do a fog of war
  • 【JAVASCRIPT】implements draggable progress bar
  • 【JAVASCRIPT】Math Quiz GAME export CSV
  • 【LARAVEL】PHPWord pass dynamic values when export to ms docx and download using PHPWord
  • 【PYTHON OPENCV】Image classification in Keras using several models for image classification with weights trained on ImageNet
  • 【PYTHON PYTORCH】metric classification accuracy
  • 【PYTHON PYTORCH】metric classification report
  • 【PYTHON】algorithm compare all classification models
  • 【PYTHON】algorithm evaluation k fold cross validation
  • 【PYTHON】leave one out cross validation
  • 【PYTHON】metric confusion
  • 【PYTHON】metric regression mae
  • 【VISUAL Csharp】Enumerate network resources
  • 【VISUAL Csharp】File Properties
  • 【Visual Studio VB NET】Clear Saved Passwords
  • 【Visual Studio VB NET】Swap mouse button
  • 【Visual Studio VB NET】System Properties Remote
  • 【Visual Studio Visual Csharp】Get computer name
  • 【Visual Studio Visual Csharp】Get Disk Free Space
  • 【Visual Studio Visual Csharp】Get processor type
  • 【Visual Studio Visual Csharp】IP Address
  • 【VISUAL VB NET】Delete Form Data
  • 【VISUAL VB NET】Delete History
  • 【VISUAL VB NET】Hibernate
  • 【VISUAL VB NET】Keyboard Properties
  • 【VISUAL VB NET】Sound
  • 【VISUAL VB NET】Tray Icon
  • 【VISUAL VB NET】Web Browser
  • 【Vuejs】 table implements adding and deleting
  • 【VUEJS】seamless carousel effect Marquee using transition

Blog Archive

  • October 2023 (25)
  • September 2023 (1209)
  • August 2023 (1224)
  • July 2023 (1259)
  • June 2023 (1245)
  • May 2023 (1194)
  • April 2023 (1137)
  • March 2023 (1163)
  • February 2023 (1107)
  • January 2023 (1313)
  • December 2022 (1358)
  • November 2022 (1353)
  • October 2022 (1300)
  • September 2022 (1208)
  • August 2022 (1279)
  • July 2022 (1228)
  • June 2022 (1164)
  • May 2022 (1176)
  • April 2022 (1184)
  • March 2022 (1337)
  • February 2022 (1232)
  • January 2022 (1321)
  • December 2021 (1932)
  • November 2021 (3065)
  • October 2021 (3186)
  • September 2021 (3078)
  • August 2021 (3175)
  • July 2021 (3198)
  • June 2021 (3136)
  • May 2021 (1856)
Powered by Blogger.