This is a really interesting and complete writeup.
I have been helping someone who has little experience with Windows or Mac, but used DOS for years ( until pretty recently ) and I've set them up with a simple Debian Linux running XFCE4 as the desktop. I've found that I have to teach them and also document a lot of basic computer idioms -- Control-C / X / A / V to copy, cut, select all, paste; but also more basic things, like the fact there are two pointers on the screen -- one for the mouse and one for the keyboard -- if you slide the mouse pointer to a specific point and press a keyboard key, the new key will not appear where the arrow is, it will appear where the text cursor is.
A big one was tabs. I had to get a couple of manilla folders and show them the actual tabs, and hold it up next to the browser with several tabs, and suddenly it snapped with them what the interface was trying to represent.
Control-A will select all of a web page, unless you are in the text entry box of a form, then it selects just the things in that text entry box.
I started writing this up in a little manual, it got to a dozen pages fast, and I haven't put very much in it.
If anyone knows of a place where some portion of all of this is written down, post a link !
In the obscure ui choices department, I am that weirdo who uses openbsd as a desktop system, At one point not thinking I did ctrl+a in a firefox textentry and much to my surprise it did the right thing and moved the cursor to the beginning of the line.
I had no idea using unix vs windows cursor movement was even an option, because linux never picks the correct method, Still have no clue how it is set(a gtk option? but qt apps are set the same.) But salutes to whatever obsd porter picked it, really made my day.
I have it enabled but it can be very confusing: depending on whether you're in a text field or not, in say a browser, ^W will mean delete word or close tab. And sure enough closing a tab will sometimes but not always focus the URL box of the previous tab.
There used to be an obscure internal GTK setting to properly separate control plane from command plane like on (then named) Mac OS X but IIRC it's long gone / hardcoded to only GTK on macOS.
EDIT: Found it, GTK up to 3 had proper <Primary> vs <Control>. In what I would consider to be a fatal regression, GTK 4 just aliases <Control> and <Primary>, leaving the apps to do the work.
Ctrl+a to carriage return the cursor seems work universally everywhere on a Mac. It even works on Microsoft products, incredible coming from the company that poorly reinvents everything and completely disrespects the default behaviors.
I always find this curious, is readline implemented at the hardware level or something? There’s just no effing way that was a priority ticket on Microsoft Teams given all the obnoxious weirdness of their chat text field.
And bizarrely, ctrl+k, ctrl+w, and ctrl+e are more seldom. Maybe 50-50 chance for those. But trusty ctrl+a is always there.
I have been using Linux / GNOME as my primary environment for the last 20 years, but at my current job, that was not an option, so I'm on macOS.
I tried for a week to get used to the unfamiliar key bindings for text input, but then I gave up—I'm a vim user after all!—and found a system setting to use the bindings I am more familiar with. This was picked up by many applications, but notably _not_ by the Microsoft suite, which appears to have the default macOS bindings hard coded...
To me Ctrl+A was always "Select All", and it worked reliably on every system I had (except once when at my office I had a computer with unix bindings and the administrator told me he can't change them so I only used my laptop).
Another surprise was discovering that Ctrl-J adds a newline in Claude Code. I'm fairly certain this is a feature of the environment, not CC, but it works everywhere I've tried it. KDE Konsole on Debian.
macOS supports emacs-like bindings natively: Ctrl-A/Ctrl-E for line start/end, Ctrl-K to kill, Ctrl-Y to yank, Ctrl-F/Ctrl-B for forward/back, etc.
They are defined in /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict. You can create ~/Library/KeyBindings/DefaultKeyBinding.dict to augment or override those.
Anything built on AppKit that uses the standard text system (NSTextView, NSTextField, and the field editors that back them) supports those bindings “for free”.
For non-native apps, Karabiner Elements⁽¹⁾ is the answer, using a config like this⁽²⁾.
I don’t have any resources but this is fascinating to read about, thanks for sharing! So many things we just assume make sense which really don’t.
Their misunderstanding of not being able to hover their cursor over something and interact using the keyboard honestly has me wondering why I thought the real way was intuitive, their logic there makes sense
A friend of mine used to give computer courses back in the 90s (to people that had never used a computer before).
At one point he said "You need to move the mouse up" and one of the participants actually lifted the mouse physically from the desk - which was perfectly correct for someone not being used to computers.
I always remember this when I think "isn't this obvious?" with regards to usage patterns on computers.
I remember that a lot of older folks had trouble understanding when to use a single click and when a double click. Clicking twice rapidly was also difficult for them, and they would consistently jerk the mouse and drag things around. Having every part of the interface in earlier windows draggable and reactive made this even more frustrating, since for them things would just disappear from the desktop.
"which was perfectly correct for someone not being used to computers."
I disagree.
Even someone with no experience with computers understands, generally speaking, that the mouse is tracking the surface of the desk somehow. I have had this conversation many times (or did, back in the 1990s when mice were more novel for most people). Nobody picked it up.
The ones who do in these anecdotes are, IMO, examples of the sort of people who absolutely shut their brains off in protest when asked to work with new tech. I have been blessed in that I have only very, very rarely been asked to work with or even know such people.
During my M.Tech in Comp. Sci, I was requested to volunteer to be a lab assistant in a diploma course in programming in C for non-technical people. A Ph.D. in Philosophy was complaining that his program was not compiling. He wrote "exist(0)" instead of "exit(0)". I found this so interesting. Existentialism was on his mind, I guess. The program clearly exits by not existing any more? Can't argue with that!
I corrected him and went on my rounds. I remember that a bank manager was the best of the batch. By the time I circled back to my philosophy friend, he quietly changed "exit()" back to "exist()" and the program was not compiling again! This anecdote stayed in my mind.
Well, not really DOS, but company where I did migration (15+ years ago) from 4GL and AIX to Linux and Aubit 4GL did exactly that. They all used HyperTerminal (after me, putty) to connect and start all sorts of apps, think, SQL AND UI at the same time, terminal apps, with keyboard shortcuts that MUST be exactly the same, otherwise you would have mutiny.
They are sold a few years ago, new owner just needs a good (and huge) location in the city, if they continued, nothing would change for people working there. They saw Windows as something just for minesweeper and solitaire, nothing else.
> Who the heck has been using DOS (!?) until "pretty recently"? On what machine?
Not "DOS" in the classical sense, but a good corporate travel agent will probably spend the majority of their day in Amadeus or Sabre on a terminal emulator app - and be much, MUCH faster than clicking around in web portals.
Yes I don't disagree... Up to not long ago I knew employees at at least one bank still having one DOS app to navigate between customers' bank accounts (with all the family links / various accounts) and it was fast and quick.
But that's quite different from "someone using only DOS up to only 2026".
> if you slide the mouse pointer to a specific point and press a keyboard key, the new key will not appear where the arrow is, it will appear where the text cursor is.
Out of curiosity: were they unfamiliar with the mouse, or were there programs that used a single cursor for both the keyboard and mouse? (I am aware that many text mode programs used a block for both cursors, but haven't seen a program where the two functions were combined.)
> and Macs offer ⌘ Command, ⌥ Option, ⌃ Control, and ⇧ Shift
This is traumatizing for me. I tried to switch to a mac for home use and failed because of keyboard handling. Using Polish diacritics (made with right alt) wasn't obvious at first. I was able to switch keyboard settings to mimic Linux/Windows, but it's just not there. Control and Command confusion haunts me. I dropped the platform because of this and know a few people who stayed on iphones, but also dropped Macs because of keyboard.
I once tried to "find myself" on linkedin search bar on someone else's Mac. I though "I got this, I'm a mac user now!" and managed to close the browser tab and open some random programs...
I admire people who jump between those platforms. Even more for languages that don't have standardized alphabet mappings, like Bulgarian (it seems they don't have consensus there).
I had the same issue when I first started using a Mac decades ago (coming from being a Linux and Windows user), would get confused with Cmd and default to Ctrl, not understanding how to use diacritics, etc. A few weeks to a couple of months later and it was fine.
Nowadays I very much miss macOS diacritics shortcuts when using Windows, I only have a Windows PC for games with a Swedish/English keyboard but need to write in Portuguese sometimes, I have no idea how to use diacritics on Win11 while my keyboard is set to English, and much prefer the macOS way with Option + [N | E | I | C] (for ˜, ´, ˆ, ç) using any keyboard language, it just works. On Windows I need to change the whole keyboard language to be able to access diacritics easily, no shortcuts such as those.
It's definitely a matter of what you're familiar with. As a Linux user I'm able to use the "Compose Character" key (I map the right-hand Ctrl key to it) and then use that to write diacritics just as I used to in my university computer lab in the '90s on DEC VT220 terminals!
It's quite a good system: you press compose-character and then two letters to be combined. E.g. CC/o/" gives ö and CC/a/o gives å and so on. If you don't know the exact combination, you can usually guess within one or two attempts e.g. just now trying to get ç I guessed CC/c/s (š) and then CC/c/c (č) before getting it right with CC/c/,
Apropos of Swedish keyboards, though, when a Mac is inflicted on me, the horrible contortions necessary to get all the usual programming bracket symbols ({[]}) are infuriating. They're a lot less annoying on a Swedish PC keyboard.
I used a Mac for a long time, but since Polish uses diacritics heavily, the default position of Option was just terrible for touch typing. I have always simply swapped Option and Command because of that. That was always there in the system's keyboard settings, so no extra tools were needed.
It was only when I moved to overriding CapsLock that I installed Karabiner.
That's not too different from macOS's approach, instead of compose-character you learn the shortcuts for composing with the diacritics or special characters. After I learnt them it has always been quite efficient, I can write in Swedish or Portuguese without thinking.
Just curious why compose-character combo for å is a/o though, it would make more sense to me to be a/a.
> Apropos of Swedish keyboards, though, when a Mac is inflicted on me, the horrible contortions necessary to get all the usual programming bracket symbols ({[]}) are infuriating.
Absolutely agree, I never use the Swedish software layout even on keyboards which are physically using a Swedish layout, it's maddening finding the {[]}-_+=@ chars...
Yep, but I think it's intended to be a visual mnemonic. å looks like a tiny 'o' over the top of an 'a' even though that's not the letter combination it originated with.
> it's maddening finding the {[]}-_+=@ chars...
The series of RSI inducing vulcan neck pinches required to write C-like languages on a Nordic Mac layout drives me a bit mad, but I do have it in my body memory now when needs must!
I toy with the idea of designing my own 40%-ish keyboard just so I only have myself to blame for bad layout :)
I distinctly remember using Microsoft Keyboard Layout Creator way back to replicate Mac way of entering some typographically correct punctuation on top of Polish layout. You could make your own custom layout as well.
However, when I still used Windows 11, I remember there being a variant of US keyboard layout built into the system that included Mac-like way of entering international diacritics. I no longer have access to a machine with Windows, but a quick Google search suggests United States – International might be what you're looking for.
Yea, having trained my muscle memory for at least 10 years on macs, my daily driver desktop is finally a modern Linux distro, and I'm having the most trouble with un-learning the ⌘ shortcuts. On Linux, sometimes "copy/paste" is CTRL-C/V, sometimes it's SHIFT-CTRL-C/V (meaning I need to position my pinky AND ring finger like I'm playing guitar or something). In terminals it's never CTRL-C/V, and once in a while there is an application where it's something bonkers. I kind of miss the universal ⌘ shortcuts that the entire macOS system and all 3rd party apps followed.
That's not a developer friendly keyboard. For menu years I'm using Dejan Vesic's keyboard on PC where programming symbols are used as primary and you get ex-yu šć latin chars via AltGr. Works great if you're 90% coding, and occassionaly write something in native language. If you have to type more, you switch the keyboard to "non-programming" layout. I tried to bring this mapping to Mac, but with limited success - I could map AltGr to right "option" key, so not to the closest button to the space ("Command"). When I switch Mac/PC there's some time to readjust muscle memory.
In a similar boat. I quickly remapped the Mac keyboard to work as close as possible to a Win one, and it helped. But it's a leaky abstraction. And now, as some of the modifier keys are swapped, it's always confusing when I see a shortcut in a menu, never sure what to press. So I'm using fewer shortcuts than on a Win.
So, for those who are 100% transitioning to Mac, my suggestion is to bite the bullet and adopt the Mac way. But for those who still live in both worlds (like me), I don't have a good answer, just that it's a constant struggle even after few years.
I tried to keep the keys mostly the same but the one I could never get used to was command + c/v/f/etc. It's just too awkward a combo for fingers. Using pinky for control on the left was much better ergonomics. So I swapped control and command keys.
I’ve done the exact same thing. I remember switching to Mac 20 years ago and the very first time I contorted my hand to use the copy shortcut and thinking…lol nope.
I have been using Mac since 2018 daily on my day job and I still get confused by the symbols. I wish there was some system option to always display them as words or abbreviations (CMD etc) instead.
But I did get used to the navigation and basic shortcuts after a while. Using the terminal/keyboard/IDE shortcuts (which I can set up myself) for most of the work helps a lot.
Finder has its whole set of keyboard navigation shortcuts, like command + up arrow to go to parent, command + down arrow to open, ⌘3 for column view, ⌘⇧D for desktop, ⌘⇧H for home, ⌘⇧G for "go to"… I am very fond of the Finder’s navigation and as a long-time Mac user it still feels pretty clunky to try and get around on Windows. Both Windows and Mac are getting worse but it seems like Microsoft is making it worse faster, with OneDrive.
A lot of the Finder shortcuts work in the save / open dialogs in apps, although they broke some of the ergonomics of those dialogs years back.
They're written underneath the symbols on most (all?) Mac keyboards. At the very least, it's that way on my current MacBook, and my previous. I think they're also written on the magic keyboard I have as well.
Same experience for me. I've ended up using Karabiner-Elements. With less than 10 rules (half of which are only for the browser), you can replicate the Windows layout on your Mac, it makes everything much easier.
This is for a Macbook Neo, your mileage may vary: fn (globe) -> left_command gives you a Windows-like Ctrl key for most of your keyboard shortcuts. This works way better than changing it in the macOS settings.
You can then left_command -> right_option, then use that "right_option" key in Raycast (to get PowerToys Command Palette fonctionality) and in AltTab (Windows-like multitasking).
If you use Raycast, you can easily assign the Windows key+. to emojis and Windows key+V to the clipboard history, like on Windows. If you don't, you can also do it with the system tools in Karabiner.
Moving between words was probably the thing that frustrated me the most, because on Mac it uses Option instead of Command, for some reason. Cmd+Left/Right -> Option+Left/Right gives you Windows-like word jump. Cmd+Backspace -> Option+Backspace allows you to remove a word using the Ctrl+Backspace keys, like on Windows. Same thing with Cmd+DeleteForward -> Option+DeleteForward. Unlike DefaultKeyBinding.dict modifications, which people online tend to suggest, it works in all apps (including Electron ones).
In my Chromium browser (Edge), I like to remap Cmd+H -> Cmd+Y (history), Cmd+J -> Cmd+Option+L (downloads), and Cmd+Tab -> Ctrl+Tab (tab switching). I'm not sure why Chromium uses such vastly different shortcuts on the two platforms.
For the latter, that only apply when your browser is open, I suggest creating the "Complex Modifications" rules using AI, because formatting can be tricky.
Once set up, it's easy to transfer rules between computers by exporting your settings in Karabiner, so you only have to do it once.
I still think that, if you're switching permanently, it would be better to relearn everything, because these patches can make it confusing to learn new shortcuts. But it's been a lifesaver for me, since I switch between Windows and Mac every day.
Hate this. The Apple magic keyboard is my favourite keyboard (least amount of travel/force, for speed and to be easy on my hands/wrists), and I'm paying a yearly license for a software (magic utilities) to remap the keys properly on windows. On a Mac, forget about remapping them, it doesn't work.
This is exactly the kind of software you could consider vibe coding. I think there are also free apps like Karabiner-Elements, though maybe not as polished.
It took me about 1 month of pain to convert. But now I find cmd far more logical than ctrl. Ctrl asks you to give up a pinky, a home key finger, to execute common chords - far more critical than a thumb, which is already designated for space and chord/modifier keys anyway, on both Windows or Mac. As a result, Windows requires two hands or awkward movement to hit something like ctrl-a, ctrl-z, ctrl-q, etc. The equivalent on Mac can all be one-handed.
If you've ever made the jump from PC to Mac (or vice versa) at work or home, you're painfully aware that there are very real costs of switching platforms in terms of lost knowledge and productivity. In addition to flushing years of accumulated knowledge down the toilet — goodbye Outlook-Teams-OneDrive-SharePoint-Excel-Word-PowerPoint-VBA, hello GMail-Workspace-GDrive-Sheets-Docs-Slides — there's also the matter of a thousand UI and other "paper cuts" to contend with ("Why are you looking for a 'prt sc' key," condescendingly replies a Mac aficionado in response to a question from a former Windows user, "when Shift+Command+3 is so intuitive?").
I've used a Windows PC my entire life. 35 years of PC.
I use my MBP M2 Pro when I travel, and for about 6 weeks every summer, and it's like pouring lemon juice into a paper cut the entire time.
Specifically, my concerns are around this exact matter: I have such muscle memory attached to, say, slamming my pinky across L-Ctrl+L-Shift+left arrow in order to quickly select just the previous word from the cursor.
This is something I do... I don't know, at least once a paragraph, as I very very quickly type and then realize I've introduced some basic typo that I need to nuke the previous word to address.
Doing this on Mac keyboards is Shift + Option + Left Arrow and... it's hell. It's absolute hell. Mashing that extreme corner shortcut with my pinkie is so baked in that there's just... no reasonable way for me to reprogram my brain to do that on a Mac.
Similarly, I have a stroke every time I try to mentally remap what things use control and what uses command. And while I could potentially remap the fn key on an MBP keyboard, I tend to use my Logitech K800 on both systems, so instead try to remap control to ALSO be command to basically get me as close to muscle memory as possible for things that need the command + shift. Since control is relatively rarely used, I think I just remapped it to caps lock. Though boy does that screw me in tmux.
Either way, when I'm typing extremely fast, being able to reliably navigate the caret and jumping around words, whole lines, etc. is just something I simply cannot get anywhere close to on a Mac and I die a tiny death every time I try.
This is a bit exaggerated... It's not really painful. I worked in a newspaper. The whole designers department moved to PCs when OS10 (a.k.a. OSX) came out. This also coincided with moving from QuarkXPress to InDesign.
Some nice things had been lost, some nice things had been found. Maybe it's also because OSX was also somewhat of a downgrade from OS8/OS9 in terms of user experience. Especially, Finder became a lot worse. So, people didn't feel very motivated to upgrade, and it made the switch easier... But, overall, there was very little struggle, the time we'd spend setting up the newspaper / magazine for print didn't really change.
Well... now, when I think about it, most of us used PCs at home. So, maybe it's not a fair comparison. But, even people who had Macs as their home / personal computers didn't seem to have any issue with the switch.
I think, some people kept the keyboards that came with G3/G4 (the clear heavy plastic ones with black key caps). They could be used with PCs. People didn't keep them to preserve the Mac-style layout (it wouldn't work anyways iirc), they just liked the quality of the physical product and accepted that some keys won't work the same way they did on a Mac.
Even though you could connect Mac mouse to a PC, I don't think anyone used that.
> If you've ever made the jump from PC to Mac (or vice versa) at work or home
I make this "jump" about 20 times per day. I have iOS, MacOS and 2 windows machines at the moment. Very frequently I will RDP into the windows machines from the MacBook.
Linux for home. Mac for work. At least once a night I try to jump to the address bar in Firefox and accidentally lock the screen instead (win/cmd-L).
The Mac boosters here would be hilariously quaint if it wasn't so frustrating. Docker images that only work on macOS Docker and break on regular Linux. Quips like "Mac is so much more reliable, just use a Mac for Docker!" that I think are genuine opinion rather than a smug joke.
Between this, AI, and all the other brain rot trends, working in tech is so depressing these days.
The delete key thing comes from how Windows descends from DOS which always had the cursor ON a character (blinking box kind of thing) whereas the Mac had the cursor as a thin line BETWEEN characters.
Technically DOS could have had "backspace" (delete the character BEFORE the cursor), "delete" (delete the character on/under the cursor), and "forward delete" (delete the next character AFTER the cursor).
I love that on macOS all in-app shortcuts are consistently Command+Something, like Q for Quit, W to close a window, and Control is usually for system-wide shortcuts, and Shift/Alt/Option is exactly what it says on the tin: modifiers for alternative behavior. You usually won't see Alt/Option on its own for any shortcut..
..while Windows is all over the place. Like why the heck is Alt+F4 used for quitting an app?? What does 4 stand for here? Death in Japanese and Chinese!?
CUA is a union of Mac like mnemonic command keys on Ctrl plus another set (from IBM/Motif perhaps) that use shift+insert,delete etc.
Alt+F4 through Alt+F9 are for Window Menu operations, like minimize, max. etc. Some besides Alt+F4:Close still work on older window managers, I remember SGI supported all of them.
Newer ones tend to hide or even disable the whole menu!
Even Windows as it is further lobotomized.
> I love that on macOS all in-app shortcuts are consistently Command+Something, like Q for Quit, W to close a window
Yeah consistency is great, similarly cmd+t closes a tab, wait cmd+w closes a tab not a window. and cmd+w in vlc does not close vlc, cmd+w in finder does close the window.
Apple commands are not always Command+Something. Go ahead, try to reopen the last closed tab on anything you're using, with the keyboard. Whooops, you pressed three keys. Also try to take a partial screen shot or record the screen. Hey, buddy, what the heck? Why did you press 4 and 5? What do 4 and 5 even mean?
You really didn't have to create a new account to say all that
> not always Command+Something. Go ahead, try to reopen the last closed tab on anything you're using, with the keyboard. Whooops, you pressed three keys.
Not always JUST Command duh. It still includes Command champ; the rest are modifiers.
I mean just ask any AI to list out all the common shortcuts for macOS and for Windows, then see which is more consistent.
> partial screen shot or record the screen ... Why did you press 4 and 5? What do 4 and 5 even mean?
4 alludes to the 4 corners of a rectangle, and 5 includes the time dimension, of course :)
Same reason your main drive in Windows is "C:" - history.
The command-shift shortcuts (function keys as they were called) were added in the 80's as such:
Command-Shift-1: Eject internal floppy
Command-Shift-2: Eject external floppy
Command-Shift-3: Take screenshot
In the System 7 era in the mid-90's, Command-Shift-4 to select an area to take a screenshot of was added.
Back then you could also install FKEY code resources into the system file to add custom ones, there was a small ecosystem of freeware/shareware function keys with useful shortcuts people would install.
Mac equivalents to Windows Home and End are Cmd-ArrowUp and Cmd-ArrowDown. Fn-Left and Fn-Right are Mac-flavored Home/End, which don't move the text cursor, but scroll the text container, keeping cursor in its original place (although there's no distinction when viewing documents, e.g. in a web browser).
I'm not an Apple person at all, but this is one of the hills I die on. The "Enter" key is for entering data, submitting a field, etc. The "Return" key is for returning the carriage, i.e. starting a new line. Importantly, those two are different functions! The only keys that exist twice on the keyboard are modifier keys (Ctrl, Shift, sometimes Super and Alt). The Return or Enter keys do not need to exist twice. Clearly these are meant to be two different functions, because they are two different keys on the keyboard.
To my wife's annoyance, I teach my children the correct names for these keys.
The arrows on newer keyboards are gone. Now it's just text. I wonder if that changes anything because Enter doesn't really sit well with the arrow next to it as entering data need not necessarily cause a carriage return.
I know, and the Return key both returns the carriage and feeds the paper forward a line on teletypes. Hence the symbol ⏎, indicating "down and to the left" (for LTR languages.)
The symbol is a bit awkward in conjunction with the name "Carriage Return" though, because the Carriage returns to the right. (assuming left-to-right writing)
You know I have literally never noticed that, but you're right. The carriage slides over to the right, leaving the levels to hit the left side of the paper.
I have a delightful image in my mind of you explaining to the kids over breakfast the nuances of enter and return, and how Steven Jobs should burn in hell for confusing generations of Mac users.
> The only keys that exist twice on the keyboard are...
I wouldn't take "the standard 104 keyboard layout" as a respectable design.
- If the modifier keys exist twice, then why aren't they placed symmetrically?
- Most users use a mouse with the right hand; yet the numpad is placed on the right side of the keyboard (which means it's even further away). e.g. placing keyboard in front of you in the screen then means the mouse needs to be way off centre.
- That the letters remain asymmetrical shows adherence to tradition/familiarity over improving a good design.
- The spacebar doesn't need to be >6x the size of other keys.
- Caps Lock can be useful but isn't significant enough to be worth putting where it is.
I mean. I can agree with distinguishing "Return" and "Enter". But I wouldn't refer to the typical keyboard layout as if it's a well thought out design.
Asahi and GNOME teams, please take this as an guide to implement ”Mac input compatibility mode”!
Dual booting between a MacOS and Linux is a painful process of manual keyboard and shorcut overrides to get the linux side somewhat to the (better) mac way of doing this.
Omarchy does a pretty good job of this. Super+C, Super+V works everywhere, even the terminal in a consistent way. But there are exceptions to super acting like MacOS command, like if you want to select all, then copy you have to do the Ctrl+A, Super+C jujitsu.
What always trips me about the German QWERTZ layout.. I am used to Mac keyboards.
When I want to type an @ on a Windows machine, I accidentally press Windows-L and lock it. For Windows users, when they use a Mac, they might be tempted to press AltGr-Q, which quits the foreground application.
When I switched from Win to Mac 20+ years ago I immediately noticed how much more ergonomic cmd-C was versus ctrl-C… for the latter the thumb has to fold under the palm of hand.
Not even mentioning the general well thought out and more logical key-combinations.
The strangest key for the switch was return for file rename… I now miss it on every other system that hasn't mapped it like this.
I guess your ctrl-C experience depends on which fingers you use to press those buttons?
For me it's the other way around. cmd-C feels awkward to press and ctrl-c feels comfortable.
MacOS natively lets you remap the modifier keys, I have the Ctrl and Fn keys switched. It's input source dependent as well so I have it do this for the built-in keyboard only.
Interesting, that makes no sense to me. I assume you don't touch type.
If you touch type, you hold your 4 fingers on ASDF. If you want to press Ctrl+C, you move your pinky to Ctrl and press C with the index finger or middle finger.
On Macintosh, you have to hold your pinky much too close to the index finger to press Command+C which are very close.
If, instead, you use thumb and index that also puts the thumb in an awkward position because you have to cross the fingers (Command is to the left of C)
Prefer the positioning of cmd so much I flash all my keyboards firmwares on my windows and Linux machines to have ctrl beside space and super in the far corner.
Genuinely find it better ergonomically because it’s closer to where all the keys it’s pressed with are.
Far corner ctrl makes me use my pinky and splay my hand for it while beside space ctrl feels more natural for a thumb
190 comments
I have been helping someone who has little experience with Windows or Mac, but used DOS for years ( until pretty recently ) and I've set them up with a simple Debian Linux running XFCE4 as the desktop. I've found that I have to teach them and also document a lot of basic computer idioms -- Control-C / X / A / V to copy, cut, select all, paste; but also more basic things, like the fact there are two pointers on the screen -- one for the mouse and one for the keyboard -- if you slide the mouse pointer to a specific point and press a keyboard key, the new key will not appear where the arrow is, it will appear where the text cursor is.
A big one was tabs. I had to get a couple of manilla folders and show them the actual tabs, and hold it up next to the browser with several tabs, and suddenly it snapped with them what the interface was trying to represent.
Control-A will select all of a web page, unless you are in the text entry box of a form, then it selects just the things in that text entry box.
I started writing this up in a little manual, it got to a dozen pages fast, and I haven't put very much in it.
If anyone knows of a place where some portion of all of this is written down, post a link !
I had no idea using unix vs windows cursor movement was even an option, because linux never picks the correct method, Still have no clue how it is set(a gtk option? but qt apps are set the same.) But salutes to whatever obsd porter picked it, really made my day.
There used to be an obscure internal GTK setting to properly separate control plane from command plane like on (then named) Mac OS X but IIRC it's long gone / hardcoded to only GTK on macOS.
EDIT: Found it, GTK up to 3 had proper <Primary> vs <Control>. In what I would consider to be a fatal regression, GTK 4 just aliases <Control> and <Primary>, leaving the apps to do the work.
https://gaphor.org/2022/12/10/gtk4-macos-keybindings/
I always find this curious, is readline implemented at the hardware level or something? There’s just no effing way that was a priority ticket on Microsoft Teams given all the obnoxious weirdness of their chat text field.
And bizarrely, ctrl+k, ctrl+w, and ctrl+e are more seldom. Maybe 50-50 chance for those. But trusty ctrl+a is always there.
I tried for a week to get used to the unfamiliar key bindings for text input, but then I gave up—I'm a vim user after all!—and found a system setting to use the bindings I am more familiar with. This was picked up by many applications, but notably _not_ by the Microsoft suite, which appears to have the default macOS bindings hard coded...
They are defined in /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict. You can create ~/Library/KeyBindings/DefaultKeyBinding.dict to augment or override those.
Anything built on AppKit that uses the standard text system (NSTextView, NSTextField, and the field editors that back them) supports those bindings “for free”.
For non-native apps, Karabiner Elements⁽¹⁾ is the answer, using a config like this⁽²⁾.
⁽¹⁾ https://karabiner-elements.pqrs.org/
⁽²⁾ https://github.com/pdelfino/karabiner-config
Their misunderstanding of not being able to hover their cursor over something and interact using the keyboard honestly has me wondering why I thought the real way was intuitive, their logic there makes sense
At one point he said "You need to move the mouse up" and one of the participants actually lifted the mouse physically from the desk - which was perfectly correct for someone not being used to computers.
I always remember this when I think "isn't this obvious?" with regards to usage patterns on computers.
I disagree.
Even someone with no experience with computers understands, generally speaking, that the mouse is tracking the surface of the desk somehow. I have had this conversation many times (or did, back in the 1990s when mice were more novel for most people). Nobody picked it up.
The ones who do in these anecdotes are, IMO, examples of the sort of people who absolutely shut their brains off in protest when asked to work with new tech. I have been blessed in that I have only very, very rarely been asked to work with or even know such people.
I corrected him and went on my rounds. I remember that a bank manager was the best of the batch. By the time I circled back to my philosophy friend, he quietly changed "exit()" back to "exist()" and the program was not compiling again! This anecdote stayed in my mind.
Some used a photocopier.
The year is 2026. Who the heck has been using DOS (!?) until "pretty recently"? On what machine?
This is perhaps an indirect confirmation that The Winds of Winter is back on track.
They are sold a few years ago, new owner just needs a good (and huge) location in the city, if they continued, nothing would change for people working there. They saw Windows as something just for minesweeper and solitaire, nothing else.
Not "DOS" in the classical sense, but a good corporate travel agent will probably spend the majority of their day in Amadeus or Sabre on a terminal emulator app - and be much, MUCH faster than clicking around in web portals.
But that's quite different from "someone using only DOS up to only 2026".
Out of curiosity: were they unfamiliar with the mouse, or were there programs that used a single cursor for both the keyboard and mouse? (I am aware that many text mode programs used a block for both cursors, but haven't seen a program where the two functions were combined.)
This is traumatizing for me. I tried to switch to a mac for home use and failed because of keyboard handling. Using Polish diacritics (made with right alt) wasn't obvious at first. I was able to switch keyboard settings to mimic Linux/Windows, but it's just not there. Control and Command confusion haunts me. I dropped the platform because of this and know a few people who stayed on iphones, but also dropped Macs because of keyboard.
I once tried to "find myself" on linkedin search bar on someone else's Mac. I though "I got this, I'm a mac user now!" and managed to close the browser tab and open some random programs...
I admire people who jump between those platforms. Even more for languages that don't have standardized alphabet mappings, like Bulgarian (it seems they don't have consensus there).
I had the same issue when I first started using a Mac decades ago (coming from being a Linux and Windows user), would get confused with Cmd and default to Ctrl, not understanding how to use diacritics, etc. A few weeks to a couple of months later and it was fine.
Nowadays I very much miss macOS diacritics shortcuts when using Windows, I only have a Windows PC for games with a Swedish/English keyboard but need to write in Portuguese sometimes, I have no idea how to use diacritics on Win11 while my keyboard is set to English, and much prefer the macOS way with Option + [N | E | I | C] (for ˜, ´, ˆ, ç) using any keyboard language, it just works. On Windows I need to change the whole keyboard language to be able to access diacritics easily, no shortcuts such as those.
It's quite a good system: you press compose-character and then two letters to be combined. E.g. CC/o/" gives ö and CC/a/o gives å and so on. If you don't know the exact combination, you can usually guess within one or two attempts e.g. just now trying to get ç I guessed CC/c/s (š) and then CC/c/c (č) before getting it right with CC/c/,
Apropos of Swedish keyboards, though, when a Mac is inflicted on me, the horrible contortions necessary to get all the usual programming bracket symbols ({[]}) are infuriating. They're a lot less annoying on a Swedish PC keyboard.
It was only when I moved to overriding CapsLock that I installed Karabiner.
Just curious why compose-character combo for å is a/o though, it would make more sense to me to be a/a.
> Apropos of Swedish keyboards, though, when a Mac is inflicted on me, the horrible contortions necessary to get all the usual programming bracket symbols ({[]}) are infuriating.
Absolutely agree, I never use the Swedish software layout even on keyboards which are physically using a Swedish layout, it's maddening finding the {[]}-_+=@ chars...
Yep, but I think it's intended to be a visual mnemonic. å looks like a tiny 'o' over the top of an 'a' even though that's not the letter combination it originated with.
> it's maddening finding the {[]}-_+=@ chars...
The series of RSI inducing vulcan neck pinches required to write C-like languages on a Nordic Mac layout drives me a bit mad, but I do have it in my body memory now when needs must!
I toy with the idea of designing my own 40%-ish keyboard just so I only have myself to blame for bad layout :)
However, when I still used Windows 11, I remember there being a variant of US keyboard layout built into the system that included Mac-like way of entering international diacritics. I no longer have access to a machine with Windows, but a quick Google search suggests United States – International might be what you're looking for.
https://github.com/ivancuric/mac-hr-sane-layout
But I did get used to the navigation and basic shortcuts after a while. Using the terminal/keyboard/IDE shortcuts (which I can set up myself) for most of the work helps a lot.
Finder is still terrible though.
A lot of the Finder shortcuts work in the save / open dialogs in apps, although they broke some of the ergonomics of those dialogs years back.
You can then left_command -> right_option, then use that "right_option" key in Raycast (to get PowerToys Command Palette fonctionality) and in AltTab (Windows-like multitasking).
If you use Raycast, you can easily assign the Windows key+. to emojis and Windows key+V to the clipboard history, like on Windows. If you don't, you can also do it with the system tools in Karabiner.
Moving between words was probably the thing that frustrated me the most, because on Mac it uses Option instead of Command, for some reason. Cmd+Left/Right -> Option+Left/Right gives you Windows-like word jump. Cmd+Backspace -> Option+Backspace allows you to remove a word using the Ctrl+Backspace keys, like on Windows. Same thing with Cmd+DeleteForward -> Option+DeleteForward. Unlike DefaultKeyBinding.dict modifications, which people online tend to suggest, it works in all apps (including Electron ones).
In my Chromium browser (Edge), I like to remap Cmd+H -> Cmd+Y (history), Cmd+J -> Cmd+Option+L (downloads), and Cmd+Tab -> Ctrl+Tab (tab switching). I'm not sure why Chromium uses such vastly different shortcuts on the two platforms.
For the latter, that only apply when your browser is open, I suggest creating the "Complex Modifications" rules using AI, because formatting can be tricky.
Once set up, it's easy to transfer rules between computers by exporting your settings in Karabiner, so you only have to do it once.
I still think that, if you're switching permanently, it would be better to relearn everything, because these patches can make it confusing to learn new shortcuts. But it's been a lifesaver for me, since I switch between Windows and Mac every day.
If you've ever made the jump from PC to Mac (or vice versa) at work or home, you're painfully aware that there are very real costs of switching platforms in terms of lost knowledge and productivity. In addition to flushing years of accumulated knowledge down the toilet — goodbye Outlook-Teams-OneDrive-SharePoint-Excel-Word-PowerPoint-VBA, hello GMail-Workspace-GDrive-Sheets-Docs-Slides — there's also the matter of a thousand UI and other "paper cuts" to contend with ("Why are you looking for a 'prt sc' key," condescendingly replies a Mac aficionado in response to a question from a former Windows user, "when Shift+Command+3 is so intuitive?").
I've used a Windows PC my entire life. 35 years of PC.
I use my MBP M2 Pro when I travel, and for about 6 weeks every summer, and it's like pouring lemon juice into a paper cut the entire time.
Specifically, my concerns are around this exact matter: I have such muscle memory attached to, say, slamming my pinky across L-Ctrl+L-Shift+left arrow in order to quickly select just the previous word from the cursor.
This is something I do... I don't know, at least once a paragraph, as I very very quickly type and then realize I've introduced some basic typo that I need to nuke the previous word to address.
Doing this on Mac keyboards is Shift + Option + Left Arrow and... it's hell. It's absolute hell. Mashing that extreme corner shortcut with my pinkie is so baked in that there's just... no reasonable way for me to reprogram my brain to do that on a Mac.
Similarly, I have a stroke every time I try to mentally remap what things use control and what uses command. And while I could potentially remap the fn key on an MBP keyboard, I tend to use my Logitech K800 on both systems, so instead try to remap control to ALSO be command to basically get me as close to muscle memory as possible for things that need the command + shift. Since control is relatively rarely used, I think I just remapped it to caps lock. Though boy does that screw me in tmux.
Either way, when I'm typing extremely fast, being able to reliably navigate the caret and jumping around words, whole lines, etc. is just something I simply cannot get anywhere close to on a Mac and I die a tiny death every time I try.
Some nice things had been lost, some nice things had been found. Maybe it's also because OSX was also somewhat of a downgrade from OS8/OS9 in terms of user experience. Especially, Finder became a lot worse. So, people didn't feel very motivated to upgrade, and it made the switch easier... But, overall, there was very little struggle, the time we'd spend setting up the newspaper / magazine for print didn't really change.
Well... now, when I think about it, most of us used PCs at home. So, maybe it's not a fair comparison. But, even people who had Macs as their home / personal computers didn't seem to have any issue with the switch.
I think, some people kept the keyboards that came with G3/G4 (the clear heavy plastic ones with black key caps). They could be used with PCs. People didn't keep them to preserve the Mac-style layout (it wouldn't work anyways iirc), they just liked the quality of the physical product and accepted that some keys won't work the same way they did on a Mac.
Even though you could connect Mac mouse to a PC, I don't think anyone used that.
I make this "jump" about 20 times per day. I have iOS, MacOS and 2 windows machines at the moment. Very frequently I will RDP into the windows machines from the MacBook.
> goodbye Outlook-Teams-OneDrive-SharePoint-Excel-Word-PowerPoint-VBA
https://www.microsoft.com/en-us/microsoft-365/mac/microsoft-...
Maybe it used to be hard to do this and I just got used to it. I have made zero attempts to normalize anything.
Beginners have to learn every system from scratch, in the limited time they spend on the computer.
The Mac boosters here would be hilariously quaint if it wasn't so frustrating. Docker images that only work on macOS Docker and break on regular Linux. Quips like "Mac is so much more reliable, just use a Mac for Docker!" that I think are genuine opinion rather than a smug joke.
Between this, AI, and all the other brain rot trends, working in tech is so depressing these days.
Technically DOS could have had "backspace" (delete the character BEFORE the cursor), "delete" (delete the character on/under the cursor), and "forward delete" (delete the next character AFTER the cursor).
..while Windows is all over the place. Like why the heck is Alt+F4 used for quitting an app?? What does 4 stand for here? Death in Japanese and Chinese!?
Alt+F4 through Alt+F9 are for Window Menu operations, like minimize, max. etc. Some besides Alt+F4:Close still work on older window managers, I remember SGI supported all of them.
Newer ones tend to hide or even disable the whole menu! Even Windows as it is further lobotomized.
The shift+insert,delete etc. are from MSDOS as far as I used them – they might have been copied from a previous OS.
Yeah consistency is great, similarly cmd+t closes a tab, wait cmd+w closes a tab not a window. and cmd+w in vlc does not close vlc, cmd+w in finder does close the window.
> similarly cmd+t closes a tab, wait cmd+w closes a tab not a window.
Because tabs are windows, and most multi-window-capable apps have the option to use tabs instead.
> and cmd+w in vlc does not close vlc
Again, in multi-window apps, closing the last window does not necessarily quit the app, but it's optional.
⌘R Reload in Safari; reply in Mail; reveal an alias's original in Finder
⌘L Address bar in browsers; message filter in Mail; clear to previous mark in Terminal.
⌘I File info in Finder; italics in text; inspector in Terminal.
I can keep going. This is not to say windows/osx is worse or better, just that claims of consistency are not suitable on either
What kind of consistency did you expect across Mail App and Safari? How do you "Reply" in browsers?
Apple commands are not always Command+Something. Go ahead, try to reopen the last closed tab on anything you're using, with the keyboard. Whooops, you pressed three keys. Also try to take a partial screen shot or record the screen. Hey, buddy, what the heck? Why did you press 4 and 5? What do 4 and 5 even mean?
> not always Command+Something. Go ahead, try to reopen the last closed tab on anything you're using, with the keyboard. Whooops, you pressed three keys.
Not always JUST Command duh. It still includes Command champ; the rest are modifiers.
I mean just ask any AI to list out all the common shortcuts for macOS and for Windows, then see which is more consistent.
> partial screen shot or record the screen ... Why did you press 4 and 5? What do 4 and 5 even mean?
4 alludes to the 4 corners of a rectangle, and 5 includes the time dimension, of course :)
The command-shift shortcuts (function keys as they were called) were added in the 80's as such:
Command-Shift-1: Eject internal floppy
Command-Shift-2: Eject external floppy
Command-Shift-3: Take screenshot
In the System 7 era in the mid-90's, Command-Shift-4 to select an area to take a screenshot of was added.
Back then you could also install FKEY code resources into the system file to add custom ones, there was a small ecosystem of freeware/shareware function keys with useful shortcuts people would install.
Also Option and the right and left arrows to move from one word to the next. I don't really use this one much though
I'm not an Apple person at all, but this is one of the hills I die on. The "Enter" key is for entering data, submitting a field, etc. The "Return" key is for returning the carriage, i.e. starting a new line. Importantly, those two are different functions! The only keys that exist twice on the keyboard are modifier keys (Ctrl, Shift, sometimes Super and Alt). The Return or Enter keys do not need to exist twice. Clearly these are meant to be two different functions, because they are two different keys on the keyboard.
To my wife's annoyance, I teach my children the correct names for these keys.
Line feed is the command that is incrementing to the new line.
Those two commands almost always run together so it quickly became possible to invoke with a single CRLF command (in ancient computer times)
> The Return or Enter keys do not need to exist twice
I use the doubled enter key much more than i have ever used the secondary modifier keys.
It is very convenient for quickly entering numeric only data with one hand, especially as it is the hand that would naturally use the big enter key.
I wouldn't take "the standard 104 keyboard layout" as a respectable design.
- If the modifier keys exist twice, then why aren't they placed symmetrically?
- Most users use a mouse with the right hand; yet the numpad is placed on the right side of the keyboard (which means it's even further away). e.g. placing keyboard in front of you in the screen then means the mouse needs to be way off centre.
- That the letters remain asymmetrical shows adherence to tradition/familiarity over improving a good design.
- The spacebar doesn't need to be >6x the size of other keys.
- Caps Lock can be useful but isn't significant enough to be worth putting where it is.
I mean. I can agree with distinguishing "Return" and "Enter". But I wouldn't refer to the typical keyboard layout as if it's a well thought out design.
Dual booting between a MacOS and Linux is a painful process of manual keyboard and shorcut overrides to get the linux side somewhat to the (better) mac way of doing this.
When I want to type an @ on a Windows machine, I accidentally press Windows-L and lock it. For Windows users, when they use a Mac, they might be tempted to press AltGr-Q, which quits the foreground application.
Not even mentioning the general well thought out and more logical key-combinations.
The strangest key for the switch was return for file rename… I now miss it on every other system that hasn't mapped it like this.
Also Pinky finger to crouch in Medal of Honor, etc :-)
Control has always been in the bottom left corner (until certain laptops started putting Fn there)
If you touch type, you hold your 4 fingers on ASDF. If you want to press Ctrl+C, you move your pinky to Ctrl and press C with the index finger or middle finger.
On Macintosh, you have to hold your pinky much too close to the index finger to press Command+C which are very close.
If, instead, you use thumb and index that also puts the thumb in an awkward position because you have to cross the fingers (Command is to the left of C)
What fingers do you use?
Genuinely find it better ergonomically because it’s closer to where all the keys it’s pressed with are.
Far corner ctrl makes me use my pinky and splay my hand for it while beside space ctrl feels more natural for a thumb
The cmd key was a thin key of full width below the space bar. https://deskthority.net/viewtopic.php?t=12260
Although having the Help key where ⌘ is now was not that useful.