hckrnws
I don't know Apple's endgame for the Fn/Globe key–or if Apple does
by tambourine_man
Twenty-seven years since Microsoft did so, Apple too wanted a Windows-style key that only they could control.
i always thought that was the command key, it even used to have an apple logo on it. and i thought it was microsoft that created the windows key because it wanted its own key like apple had.
wouldn't you also map the windows key to command when you used such a keyboard on a mac?
That’s all in the article. The author goes into the confusion that it had the Apple logo on it.
Win was conceived as a modifier reserved for the OS (not to be used by applications), while command never was. Command is for commands. If you come to the Mac from Win or Linux it often helps to think of command as what ctrl does on those systems. Ctrl on the Mac started as Terminal-Emulator specific modifier— Which to this day is great, because your universal copy shortcut (cmd-c) and interrupt (ctrl-c) are different things.
Indeed one would map win to command, but only because you need another key for a modifier that‘s not ctrl or opt/alt, conceptually they are different
> Ctrl on the Mac started as Terminal-Emulator specific modifier
It did, but when starting history with the first Mac, it started as being absent. The Mac initially had shift, command, and option modifiers.
Apple introduced control keys (separate left and right ones) because companies writing terminal emulators needed it.
Is this where I can complain about command+q? All day every day I use command+tab/tilde/w/a/s, and smack in the middle of that is command q. It's like if automobile manufacturers decided to put a third pedal between the accelerator and the brake that immediately shuts off your car in the middle of the highway. And you can't disable it, instead you can map it to such helpful things like... invert colors.
For me it’s Ctrl + C / V. I will frequently hit Ctrl + C when I want to paste, and some software helpfully copies a blank line to the clipboard if nothing is selected, thus erasing whatever I copied.
Get a clipboard manager. Being able to access my last 20 copies instead of only 1 is definitely something I wish I set up a decade before I did.
Not only useful for mistakes but also just if you jeed to eg copy someone's bank info to separate fields without doing 4 switches from invoice to bank app
It’s builtin the OS now, via Spotlight.
It's buggy, had to go back to third party application.
Ha? Never had an issue personally. I’m not a heavy user of this feature anyways, so that does not mean much…
I miss shift-insert/shift-delete.
From the days when both hands were on the keyboard.
Not only can disable it, but with the right tools like Karabiner elements you can turn it into something useful - double tap cmd+Q to quit: no accidental activations, but retains muscle memory
The fact that there is an entire _industry_ of tools to patch every little shortcoming speaks volumes of Apple's usability.
I’d say it says more about the flexibility of the Mac as a general purpose computing platform. It’s a sign of the health of the platform.
Isn't this literally linux?
With Linux systems, if there wasn't a configuration option to override something, you'd be able to create a fork and still do it. So low level layers in Linux have become flexible enough that you do not need to do it, even if there are opinionated UIs on top.
There's no need, standard settings allow to change a lot.
Not perfect, but this exists https://commandqapp.com
In System Settings > Keyboard Shortcuts > App Shortcuts, add the shortcut: app Safari, name "Quit Safari", command-option-Q. This will leave command-Q doing nothing, yet still allow you to quit. Repeat for other apps.
That's a lot of work to do it per app! And remember to do for every new app
FWIW you can do it for “all apps” in one go — I set one up for printing to PDF and it works great
You can't do that because the design of the whole system is dumb - instead of matching by unique (within the app) universal (=across apps) menu item id like "quit" that's hardcoded into the framework, you must match by menu item displayed name "quit Safari", which is different for every "quit MyNewShinyApp"
PS: and sometimes the name string is also dynamic "Navigate to the latest folder named XYZ", so you can't match at all!
Nah, I installed karabiner and set up command+q to require a three-second holddown to activate.
Wow. 55 images, all carefully prepared and placed, not a single AI-generated. I love the quality of this post. Not to mention, I learned something new and new perspectives.
Apple just seems to be in a rush to launch half-baked features then keeps them in a weird state of stasis for years. The globe/FN key changes the keyboard layout when tapped, which is very useful since I type in multiple languages, but after a few dozen uses it simply... stops functioning. It's been broken for years. The only way I've found to fix it is to open the command line and killall Dock and killall Finder. But then language switching fails again a few more switches later. Not fixing a feature that has a whole key dedicated to it just shows how careless they've become.
If you're using multiple layouts, CapsLock is a great option for the switch key.
but then how would you press escape?
Add to this that the Apple IIe had two keys with the Apple logo on them. One just an outline ‘open Apple’ and one a silhouette ‘closed Apple’. These two keys did different things to each other!
The open and closed apple keys first appeared on the Apple ///, initially next to each other on the left of the spacebar. On the Apple /// plus, the closed apple then moved to the right of the keyboard, which is what the Apple IIe inherited.
The closed apple key then appeared on the Lisa keyboard alongside an option key (both on the left of the spacebar), but the Lisa's closed Apple key acted like and is what became the Mac's command key.
https://www.nightfallcrew.com/09/12/2014/apple-iii-apple/
https://mirrors.apple2.org.za/Apple%20II%20Documentation%20P...
https://vintagecomputer.net/apple/lisa/apple_lisa_A6S0200_ke...
Great info!
Comment was deleted :(
The button is now the shortcut for voice dictation.
At the moment, apps like Wisprflow or OpenWhispr are using it as their main shortcut, and I’m sure it’s just a matter of time before Apple integrates it as the default for Siri.
Agreed, but my biggest problem with this, is that most external keyboards don't really have an equivalent (at least in the some location). So while I have Fn mapped to my speech to text tool (Hex), I have to figure out something else when I'm at my desktop keyboard.
Karabiner is the only way I managed to sync window tiling shortcuts between native Macbook and Logitech keyboard, and even that took a lot of effort due to fn/globe key special treatment.
As a forced mac user at work (always used windows or Linux) the number of modifier keys is really confusing. On pc you use control almost for anything, alt for very special cases (when usually control is already taken) and the windows/meta key for os-related things. On mac a lot of shortcuts use command, but some use control, and there are a bunch that use option without a real reason why, my memory really suffers from this.
The only common thing between the two is that the fn key is only used for the special modifiers under F1-F12.
I was given a magic keyboard, and my plan was to replace it with a standard one, but then I found about the keys mapping from Karabiner, and the fn key is exactly at the control position...so I started remapping.
Now, I can do almost everything with fn+key. Fn+c=command+c, fn+s=control+s and so on.
This article covered many historical aspects I was never aware of.
> Suddenly, the globe key on the iPad and the hybrid globe/Fn key on the Mac were equipped with a million Windows-like tasks
It seems like Apple has been in a bind to make the iPad a better Mac and the Mac a better iPad while at the same time insisting that the iPad is its own device with its own purpose and that the Mac is its own device with its own purpose. IIRC, it took a long time to bring a keyboard and mouse to the iPad. Despite Apple’s repeated claims that it doesn’t see value in a touchscreen Mac, rumors point to one being launched next year (albeit with limitations).
Apple used to be good at cannibalizing its own product lines. But now it seems stuck with the desire to sell more iPads and more Macs without one cannibalizing or destroying another.
> Apple used to be good at cannibalizing its own product lines.
Arguably only iPhone from iPod.
Lisa to Mac wasn't an organization being "good" so much as corporate infighting ("after Steve Jobs was forced out of the Lisa project by Apple's board of directors, he appropriated the Macintosh project from Jef Raskin") [0].
Low End Mac's "Road Apple" features [1] list out many Apple products that were hobbled in one way or another to prevent a "consumer" product from cannibalizing higher margin "pro" products.
After 2012 Apple's pro desktops did encourage cannibalization by being rarely updated corporate vanity/art projects, which like Lisa to Mac isn't an example of being "good" at managing product transitions.
A more daring Apple would have freed the Watch from the iPhone in the same way they freed the iPhone from iTunes sync.
0. https://en.wikipedia.org/wiki/Apple_Lisa
1. https://lowendmac.com/2014/road-apples-second-class-macs/
Looking at this IBM pc keyboard image in this article, where all the function keys are on the left, it makes sense that Alt+F4 and other similar shortcut on Windows made sense at that time, but these days function keys being at top row make such keyboard shortcuts unergonomic.
Ignorant backwards compatibility cult in a nutshell: instead of retaining the same muscle memory or, if the keys moved, having a similarly ergonomic combo, the nominal labels are preserved, defeating the original design purpose. Same with ⌃ being a pinky not retained when ⇪ replaced it
> Same with ⌃ being a pinky not retained when ⇪ replaced it
Any time I get a new computer, one of the very first things that I do is remap Caps Lock to Ctrl for exactly this reason. I literally never use Caps Lock, but my pinky hits it all the time.
I was born in the Mac era, but when they still printed the Apple glyph on the Command key. Therefore, I still call it the "Apple key."
I also took inspiration from ChromeOS's replacement of Caps with Search (and a popular article from that era about the history of the hyper key), and rebound Caps to be Escape. I hardly ever use the actual escape key (which is handy on a 60 key board, because they that's just the `/~ key).
Escape (Caps) by itself is Escape. Esc+A is opens the search (goto file/line/etc. in a text editor). Esc+S is the Command Palette in apps that have one.
Very handy to be able to chord keys right next to each other!
> Most importantly for our conversation, the Fn key was resolved internally inside the keyboard
That's the worst part about Fn, limiting user customization and wasting keyboard space. Good that this was partially dialed back, but bad that Apple added another exclusivity barrier breaking external keyboards.
> What if Apple at some point decides that Esc means something, and you already used it for something else?
You continue to use it for something else? How is it different from any other default shortcut you don't like and change?
> It’s just a modifier key.
That should be the end game! No lock in, no weird limitations like "cannot map Mission Control to ↑"
There is no hope for Apple to make anything good out of it (⌃⌘X is their peak ergonomic design), but at least you'd be able to freely use the key yourself
> You continue to use it for something else? How is it different from any other default shortcut you don't line and change?
The author points out that Apple defaults often don't allow you to reuse them. They talk pretty far in the article about how that can't map globe+H to a different function. So, this theoretical is about them not being able to continue using their combination for what they want at Apple's whims.
Blocking keybinds is from a different section of the article
> You continue to use it for something else? How is it different from any other default shortcut you don't like and change?
It’s different because “you” in this context is the keyboard manufacturer, not the user.
Oh, that makes more sense, thanks
Comment was deleted :(
> Most crucially, both keyboards introduced a new tenant: Control (⌃). This was modifier key number four, and to this day, I don’t fully understand why ⌘ wasn’t repurposed here
Because then we would have ended up with the same mess that is Windows (and Linux for that matter) when it comes to ^C being ambiguous...
The article states:
> The Control key is used with terminal-emulation programs for control-key sequences. For all other applications, it is reserved for end-user-defined shortcut key sequences using a macro-key facility.
I find that a good reason. It's prioritizing the experience of terminal emulation programs. Control-C means SIGINT. And also in Cocoa text controls, many Emacs keybindings with Control are available: C-a, C-e, C-k, C-b, C-f, etc. (And it's very easy to add Emacs keybindings with the Meta key too: it's a somewhat obscure functionality but Apple never broke it. I have configured my computer with M-f and M-b for example.)
In the Classic Mac days, control really was just used for custom shortcuts.
It may have just been lack of user education, but I don't think the ctrl-a/e/etc commands to move the cursor came until they rebased onto UNIX/NeXT.
Comment was deleted :(
Why is Control-C ambiguous? Oh wait, you guys use Control-C for copy, but you have forgotten that both Windows and Linux support Control-Insert for copy. That's what I use.
That would not be a good approach on Macs where most users are using reduced/laptop keyboards that have no Insert key.
In this respect, Apple got pretty lucky. Most users were not using reduced keyboards in 1987 when they originally decided to add the Control key separate from Command. Plus, Mac OS didn't even have a native terminal at the time; I assume there were terminal emulators for networking/serial use but I can't imagine that was top-of-mind for Apple either.
Regardless, Cmd-C is definitely a more convenient shortcut than Control-Insert, even if you do have the keys for the latter.
> Mac OS didn't even have a native terminal at the time; I assume there were terminal emulators for networking/serial use but I can't imagine that was top-of-mind for Apple either.
I think it was in their mind. The manual for the keyboard (yes, keyboards had manuals back then) says the keyboard has “special keys that work in applications running in alternative operating systems” (https://www.cvxmelody.net/Apple%20Extended%20Keyboard%20II%2...)
Not using the combination for one of its ambiguous purposes does not strip it of ambiguity, you've just trained yourself to avoid those circumstances.
That, of course, is one of the pain points that the article addresses: Training yourself to do so is additional cognitive load that never should have been necessary in the first place.
I flip between macOS and Linux and, occasionally, Windows. On one of my laptops, insert is also a Fn switch away, so I have to either remember that this machine needs Ctrl-Fn-F11 specifically when I'm copying from terminal.
On another keyboard I have the same problem, but insert is mapped to a different key entirely, so it is ctrl-fn-equals, and fn is on the opposite side of the keyboard from ctrl.
Contort my fingers in which way on which keyboard? Mental load and annoyance I don't need.
At least it's the same on all applications across the entire OS. I'd rather have it be ambiguous than change randomly
It doesn't change randomly. There are zero apps where Apple+C becomes Ctrl+C, for example. Same keys across the whole OS for cut, copy, paste; select, find; undo/redo; fullscreen, zoom; print… the list goes on.
Yeah my least favorite key since the globe was added. Randomly opens emoji keyboard on me
I love this key, I use it to switch languages and its a godsend!
For the Linux crowd what's your custom mapping?
For me its capslock as ctrl, super (windows key) for window management, altgr for layers, right side ctrl as compose key.
I have caps as control on Linux and Windows (on macOS it's command instead), rest is good choices.
I never noticed the Globe before, and now I know why the emoji keyboard sometimes pops up.
I'm jealous. I have to press that key about 15 times for varying durations if I want the emoji picker to show.
Huge enabler for the mini keyboards for me: Fn + L/R for Home/End, Fn + U/D for PgUp/PgDn.
Comment was deleted :(
I love my Fn/Globe key. It fires up Aqua Voice and begins transcribing. My fingers appreciate the break from typing.
Any Mac with the globe on the key is Apple Silicon.
I'm so fucking tired of trying to do a super spock pinch with my keyboard. I've always thought composition of typing various keys in sequence is better than trying to press 4 keys at once, particularly if your left handed or right handed, say.
There were "compose" keys that let you type characters to combine other characters -- (not ai) but they weren't forcing the person to super spock pinch the keyboard to get the character they wanted. It was "compose" then "c" then "s" to get the "ç" character.
I honestly would like to be able to do the same thing with ctrl-alt-x, eg. where ctrl alt and x are separate key presses.
It feels like i18n/l10n status on desktop OS is on a decline. I guess the effect of that is more profound on macOS than on Windows.
I came across this[1][2] the other day; the "bug" is that macOS Japanese input prioritize visually similar but unintended characters over ones matching in pronunciation being entered - it's hard to describe, but it's as if keyboard was autocorrecting word to "enterprising" over "entrepreneur" for entry "antreprenewer", just because the former is considered more common than the latter, or something like that. This apparently has been bugging Japanese users for YEARS, with no improvements or recognition.
I'm not saying who should prioritize what for whom, just that, I think non-English experience in modern computing environment is rapidly degrading lately, for some reason, unbeknownst to American English speakers.
The "compose" key on Linux is one of my favorite things about the Linux keyboard system. You can pick which key is your "compose" key, choosing from about a dozen options. Then just as you describe, you type it in sequence (though on Linux, compose then c then s produces š, because compose then c is the shorthand for the "caron" diacritic: compose, c, g is ǧ, compose, c, h is ȟ, and so on).
Isn't this what sticky keys does? https://support.apple.com/guide/mac-help/change-keyboard-set...
[dead]
Keyboard shortcuts are truly a mess on mac os. Windows does it much better and with more consistency. That results in third party apps also having sensible shortcuts. Example: Ctrl+G is widely used in code editors for "Goto line". On Windows it makes perfect sense to use because Ctrl+ shortcuts are used for text editing everywhere. But on macos it is out of place, because there Cmd+ is the standard for text editing. But Cmd+G is used for some obscure find feature. So editors fall back to Ctrl+G which is out of place.
The "goto line" feature on most Mac text editors is Cmd+L. And it's consistent.
On the Mac the Control shortcuts are used for text manipulation everywhere and they come from Emacs: C-a, C-e, C-f, C-b, C-k, etc. The Cmd key is not the standard for text editing; it is the standard for all app-specific commands. For example Cmd+I usually makes text italic in a word processor, but in a non-word processor app italic makes no sense, so for example in Finder it means bring up the inspector.
> Cmd+G is used for some obscure find feature
How is find next 'obscure'?
I don’t know why this comment is downvoted, but I don’t agree with this either because the OS (historical) conventions are different, and there may be unintuitive shortcuts on all OSes. What matters is consistency across applications on the same OS.
One point on macOS is that it’s very weak on keyboard based navigation and shortcuts for apps by default (compared to Windows). Even Apple doesn’t bother with keyboard based navigation in its own apps. One look at any app “ported” from iOS is enough. Apple hasn’t even spent time to check what the Tab key does in these apps. It’s a shame.
Comment was deleted :(
ctrl+G may also mean "find next" on Windows (e.g. in Chrome), so it's not particularly obscure.
At least in VS Code, ctrl+G on Mac is the shortcut for "goto line" (but yes, cmd+G is "find next")
While this is a problem for the default user experience, I think if you're an enthusiast there's less of a problem because you can get an external keyboard you like.
Laptop keyboards will always be disliked by someone: the standard keyboard layout is awful, and dealing with this either involves trying to stick to the conventional design (wherein different people will dislike different changes); whereas a good keyboard design is going to be so far from the standard keyboard that laptops aren't going to do that.
(People will quibble about where to put the arrow keys or however many modifier keys there are or that caps lock is badly placed.. but the most glaring issue is that the spacebar doesn't need to be over 6x the size of other keys).
It's a problem if the OS is inconsistent/unclear about what scan codes are required to do things.
> the OS is inconsistent/unclear about what scan codes are required to do things.
Both that, and there's an internal list that allows only Apple's (plus a few makers' like Logitech and Keychron) keyboard to _send_ the modifier keycode. Others are simply ignored. Sorry enthusiasts, Apple don't want to favor you.
My Mac has no keyboard, it's just a metal box that sits on your desk - so an external keyboard is the only option. Nobody told me I had to get any specific type in particular!
It looks like you can still use hidutil to remap some other key. This invocation seems to remap the Application key to the fn key:
sudo hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000065,"HIDKeyboardModifierMappingDst":0xFF00000003}]}'
On my keyboard, metakeywise, I then have 2 x Shift, 2 x Ctrl, 2 x Option (marked Alt), 2 x Command (marked Start), 1 x undetectable-to-macOS (marked Fn), and 1 x Fn (got that little Windows context menu logo on it).Yep, this is what I have in my Bash config, for the external Microsoft Natural Keyboard attached to my Mac:
# note: works for e.g. Fn-F (fullscreen), but not Fn-F{1..12} (brightness etc.)
alias app2fn+=$'hidutil property --set \'{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000065,"HIDKeyboardModifierMappingDst":0xFF00000003}]}\''
alias app2fn-=$'hidutil property --set \'{"UserKeyMapping":[]}\''
alias app2fn?=$'hidutil property --get "UserKeyMapping"'I have an external keyboard and I keep accidentally hitting the fn key when I mean to hit backspace. And that toggles the keyboard layout if you have more than one.
Crafted by Rajat
Source Code