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 !
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.
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.
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
> 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.
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.
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!?
> 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.
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.
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.
That's how it is by default but doesn't approximately everyone, when they first plug a non-Mac external keyboard into their Mac, immediately go to System Settings -> Keyboard -> Modifier keys and switch Command with Option?
Otherwise it would be really confusing when you switch from your external keyboard to the laptop keyboard.
Most newer keyboards I know have a toggle so the CMD and ALT switch in software. I had to switch from Mac to Win and Linux so often that I simply kept my CMD key where Super or Win is located and got used to it. Still sometimes weird when I use an actual Mac keyboard.
I do this as well as swap command/option on the built in keyboards. It works great for me switching between my own computers/OSes but always a second of re-calibration when I touch someone else's Macbook.
Logitech in particular do this. Their keyboards adapt to the OS so the keys are in the right place, not sure if this needs their drivers or not though.
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?").
> 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.
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.
Does anyone else have problem scrolling diagonally on a page that's a bit zoomed in(like on HN, you zoom in a little to read the threads)? It just doesn't move smoothly and instead does a staircase shape traversal.
This used to occur on all browsers before upgrading to Tahoe, now it's mostly fixed but still persists on Safari.
Personally the biggest problem (outside the Ctrl/cmd c/v conflict) is that as a UK ISO user, Macs botched the key on the top left, next to the 1.
I subsequently have to set my Mac keyboard layout to PC to fix backticks and remove that key that is never used, and rely on my touch typing.
It does also mean that no one will ever try to type on my laptop.
This irks me also, more than I'd normally admit. A couple of solutions I discovered over the years; one is to use `hidutil property --set` from the command line for UserKeymappings to overwrite the non us backslash to the backtick (I can't remember the specific codes for the keys, but you can find them online), however, this was cumbersome when occasionally using an external keyboard (I prefer ISO over ANSI) or if you restart the machine.
Eventually I settled on Karabiner Elements, an app that lets you create a simple modification specifically to target the Mac internal keyboard where you can map `non_us_backslash` (that strange unused key) to `grave_accent_and_tilde` which fixes this.
I do the same. The British PC layout is relatively recent as well, since when I had a Mac in 2013 it didn't exist, and the keyboard layout was the main factor why I ditched it.
Back on Mac now with British PC and it's much less frustrating to use the keyboard. Plenty of other frustrations instead. I'd prefer to be on Linux but the hardware is just too good.
One thing I never see mentioned, probably because it’s not very common, is that on some languages the Mac has a completely different position for symbol keys! This makes using a Mac keyboard on Windows (or vice-versa) extremely annoying (Linux tends to support the Mac layout as well so it’s fine).
For instance, in Portuguese, the Mac keyboard [1] has the
+ key two keys to the right of 0, and you use shift to input *. Meanwhile, on Windows [2], this key is one row below next to P, with the place it is on Mac occupied by «/». Most of the AltGr keys are also in different spots (particularly { and }), which makes this a major pain if you consistently switch between Windows and Mac.
Frankly I prefer the Mac layout, in part due to the Cmd/Ctrl split, but also because I believe it assigns more meaningful symbols to keys (I have literally never used «/», the internet will tell you that’s how quotations are done in Portuguese but everyone, books included, uses “/”).
I never saw any explanation as to why these differ. Does anyone know of any other languages where this happens? It doesn’t seem to be very common!
Another difference I remembered, this time a Microsoft-only idiocy: core Windows and Microsoft (Office) apps TRANSLATE shortcuts! Ctrl+A (“All”) becomes Ctrl+T (“Tudo”) in Notepad if the computer is in Portuguese. Ctrl+S also stops saving and is replaced by Ctrl+G (“Guardar”).
I can see why Microsoft thought this was a good idea, but the problem is that ONLY Microsoft apps do this, so you have two sets of shortcuts to remember. I don’t know a single person who likes this.
Didn't know backspace is called delete on Apple products. Explains why one commercial vibecoded project management product used it to delete the whole item I was working on when I missed a text box.
OS-specific abstractions should not leak to web apps under any circumstances.
I've been using Macs for close to a decade and I still constantly forget this little fact. I am reading this very comment I am replying to on a Mac and I still had to do a double take to confirm for myself that it's indeed called 'delete'
Over the years, I've grown so accustomed to using Mac keyboards on Windows that I swap the positions of the left Alt and Windows keys when using PC keyboards.
speaking of mac keyboard, I have macbook pro m1 with touch bar and the touch bar blinks like hell and it is been like this for years and it seems like a software bug because when you put flash light on the screen dimming sensor it goes away or atleast blinks less. I reported the bug many times, I checked apple forum lots people has the same issue but no fix yet.
is there anyone who has a solution for this? I dont want update my mac just because of this.
Tapping modifiers keys is something you might want to do.
I know many people on smaller keyboards map a single Control tap as ESC.
The only thing special about windows, is that the OS gets to own the Win key completely, which is something not too crazy and I sort of like the idea of ensuring their global shortcuts are always available.
It is crazy because it's a huge waste of relatively ergonomic real estate (win key has a better position than control as you can use your thumb), and the OS isn't competent enough to utilize the whole layer better than what a user/app could do (they couldn't even do window management with Win key good), so its global shortcuts shouldn't always be available
I tried it but this double duty doesn’t work for me. I’m pretty sure I also tried the Caps Lock as Esc but also as Ctrl. Well the main problem was just using the pinky on it so much. I’d rather do a left-up smack on the Esc key with the ring finger.
The crux of the matter is that I want to change my minds and/or not have to think about pressing a key and then bailing out. If it’s just a modifier key then no problem. What’s annoying is the specification “Windows-key”, and Windows OS-ification of it; that the single-key press causes an overwrought compositor animation where you get some gallery of the open applications. That’s even worse.
> The ⌘ symbol (the "looped square") was chosen by Susan Kare after Steve Jobs decided that the use of the Apple logo in the menu system (where the keyboard shortcuts are displayed) would be an over-use of the logo. Apple's adaptation of the symbol—encoded in Unicode at U+2318—was derived in part from its use in Nordic countries as an indicator of cultural locations and places of interest.
I still call it the Apple key ("omppu" in Finnish, colloquial form of "omena") even though the symbol hasn't matched for a long time. I use it when thinking about shortcuts as well, like a screenshot being shift-omppu-4.
I recently got a Linux desktop after being Mac-only for a long time and using Linux only as a deploy target, and holy shit: the modifier key situation on PCs is so bad.
Control specifically is just a terrible modifier key for common things like edit commands. First, it sits near your pinky instead of your thumb, making chording it with Z, X, C, V, etc., really difficult.
But then... who decided that ctrl-c should be used for both copy and abort??? That's diabolical levels of messed up. In a terminal app ctrl-c aborts, so you need to use shift-ctrl-c to copy, and now you have two shortcuts for the same operation you need to remember based on context, except that in a web-based terminal in Chrome shift-ctrl-c opens "Inspect Element Mode" and now you have no way to copy!
Am I the only one who finds this astoundingly frustrating?
On PC the "original" (Windows 3.0 and earlier) shortcuts for cut/copy/paste were Ctrl-Del, Ctrl-Ins, and Shift-Ins respectively. I believe these were inherited from some older IBM user access standards. And for the most part they still work in Windows, especially in command lines.
Ctrl-X/C/V were originally Macintosh (and maybe Xerox before that?) and then were adopted by Windows in the 3.1 era so Word for Windows would match up better with Word for Mac. But PC not having a Command key, and the Windows key not being a thing yet, they were applied to Control instead. Which of course overlapped with the other major use of Ctrl-C as "interrupt" starting back into early UNIX machines (and adopted by DOS) but... being a graphical environment they apparently didn't consider that important at the time.
Historically, of course, copy and paste on a Unix machine was a mouse thing and followed X11 conventions. You selected text with the left mouse button — automatically be saved to the primary clipboard just by virtue of being selected, no key press needed — and the middle mouse button pasted it at the location you clicked.
This is somewhat different to having the two part motion/action of select/control-C and click/control-V. It’s boiled down to just select and middle-click. Separately, you can often use shift-Insert to paste the primary buffer.
I only recently learned that when using the MacOS trackpad with the terminal, you can simulate a middle button click to paste: Highlight some text anywhere in the console, drag it a little and let go. As you pull the text, a little green arrow will pop up and when you let go of the drag (anywhere) it'll paste the text into the prompt, just like middle click does.
Maybe everyone has known this forever and I'm the last to find out, but I thought I'd share as it was a revelation. I middle click all the time when using a mouse, so it was nice to finally discover a replacement while using the trackpad.
Actually, in many cases the opposite. If you have a classical Corner control, it can be used with a part of your palm with less movement, and you finger doesn't contort
"far more natural" would be if you moved pinky up or down. Sideways movements are only natural for your thumb
You're right, but it's fixable: remap Ctrl and Alt permanently with sharpkeys then do a few rebinding fixes in something lik. Autohotkey. Your main modifier should indeed be a thumbs key just like on a Mac
Ctrl-C dumb double function can also be fixed, use it to copy everywhere universally (use a better terminal with an override) and rebind cancel
> who decided that ctrl-c should be used for both copy and abort???
As usual in most of these cases, there wasn't really a single decision, just some historical artifact no one had the care to think about and fix, so it lingers in defaults
That would require moving your right hand (potentially on your mouse) and anyway too far away and not even present on laptop keyboards...
Maybe you could use thumb+Escape for Ctrl+C?
Or thumb+X is simpler - you can't cut anything in the terminal, so "cutting" the current process is a convenient combo and even has some mnemonic potential
You could also have +C copy when text is selected and break otherwise, though that modality can be a bit confusing / error-prone for some
I use keyboards with two ctrl and two alt keys. Thinkpads and some Dell laptops have them, and of course there are external keyboards with those keys too.
> First, it sits near your pinky instead of your thumb
It's not bad if you have a keyboard (e.g. topre) with control in the caps-lock position (or remap it, which I usually do).
And I also agree that the Lisa/Mac-style command-[zxcv] works really well (particularly if you use a mouse with your right hand.)
MacOS has no problem with both control-c (break) and command-c (copy) - why isn't this common in Linux as well (at least for keyboards with a command or windows key, which seems to be many, many keyboards.)
Nope, it is a crying shame the early Linux/Unix desktop environments copied the Windows/IBM CUA shortcuts and now we have to fight every app and every different method there is for setting keyboard shortcuts to fix it. The Ctrl key was already claimed for use in the terminal for signals and line navigation.
Of (home,end,pgup,pgdown,delete,backspace) the mac has just backspace. And they have just a single control key and such. Clearly the mac keyboard is designed by people that have no idea how to type. There's no "standard windows keyboard" anymore, but even the worst is still worlds better than whatever apple puts out.
I significantly prefer the Mac way of chording Option or Command with arrow keys to achieve those functions. One of the main reasons I can't get used to Linux desktops is that I can't use Opt-arrow to navigate by word and Cmd-arrow to navigate by line. Cmd-arrow makes much more sense than a dedicated Home and End button imho.
I entirely agree. At $NEWJOB, I had a Linux laptop for a bit while a Mac was on backorder.
Not being able to cut/paste easily because every tool used the Control key for something different, especially in the terminal, was infuriating.
Having the command key handle these kinds of GUI-focused interactions, and Control for most of the terminal-centric and text manipulation (Ctrl-A/E for beginning/end of line, from Emacs) makes the system great to work with.
I didn't mind anything else about my foray into Linux as a desktop OS. If we could get a Linux GUI distro that all it did was match the Mac command key paradigm, I think it would make a lot of people happy.
Shift+Insert will let you paste anywhere. It's an IBM thing historically, I believe, and it works pretty much anywhere. Also useful for websites that try to block normal ctrl+v.
Control-c meant cancel for decades before some idiot decided that it ought to mean copy instead.
As for your pinky, just type the chords correctly and you won’t hurt yourself. This means typing the modifier key(s) with the opposite hand instead of the same hand that is typing the letter. So for control-z you are going to type the “z” with your left hand, so use your right hand to type “control”. That’s why the keyboard has every modifier key on both sides.
As a sibling comment notes, Caps Lock as Control helps a lot but it's still not as nice as Command-based shortcuts, both in hand positioning and in terms of shortcut overlap.
> Am I the only one who finds this astoundingly frustrating?
No, you’re not. That’s why I tend to use the archaic shift-Ins and control-Ins shortcuts for copy and paste on Windows. I feel like a dinosaur every time.
The most [1] annoying difference to me is the Alt/Cmd vs Win/Alt key swaps. In this case, Mac has precedence, and Microsoft decided they would place their new Windows key to the left of Alt.
Also, 10 whippings for whomever at Apple decided to put the Fn/Globe key to the bottom left of laptop keyboards, and move Ctrl over. It's the first thing I swap on a Mac (used to use Karabiner, until macOS finally, years later, decided to implement the setting), and I always trip when using a colleague's laptop. These kids don't respect no traditions!
.. that rant over, I must recognize that Ctrl isn't used as much in GUI apps which prefer Cmd, and only us relatively few terminal junkies care.
[1] second most, perhaps, after swapping Delete & Backspace.
On some Windows layouts (those with the right alt = ctrl+alt trick), right alt is literally mapped to ctrl+alt. Right alt cannot be used to open the menu bar like the left alt can. This is only the case on those keyboards, on other keyboards, the right alt does move focus to the menu bar.
Mac uses cmd+arrows like Windows uses home, end, ctrl+home, ctrl+end. It uses option+arrows to move by word instead of control. (I doubt that what it considers a "word" is identical to Windows either, though many editors do override this anyway.
On some layouts (Polish is one I know of, though there are probably more), shift+backtick is a dead key on Windows and can be used to enter diacritics. Shift+accent followed by c inserts "ć". This is very painful to C++ (and Elixir) programmers, doubly so if you use the cFooManager systems Hungarian notation for class names. This is not the case on the Mac.
Option+letters are semi-dead (zombie?) keys on some layouts. For example, option+u inserts the ¨ accent, but option+u followed by another u combines them, so it inserts an ü. If you follow such a zombie key by a space, the space is swallowed and only the accent is inserted. Polish stupidly copied Option assignments from the US layout, replaced some with Polish diacritics, but never gave us replacements for the removed accents. So, we can now type symbols as useless as Ī or Ŕ, but "el niño" or "résumé" require the key hold and pop-up.
MacOS relies on menu options for things like copy and paste, as well as "Quit" and "Close Window". You should implement them by using the storyboard xCode gives you by default (or meticulously re-creating its included menu bar programmatically if your toolkit of choice doesn't let you do that), and then handle the appropriate selectors in your app if you need to. You should never handle these keyboard shortcuts yourself. MacOS is usually smart enough to figure out when these menu items should be dimmed and when they shouldn't. This doesn't work for custom UI frameworks, but if you use those, you ask for that kind of pain.
On both platforms, IMEs exist. Speakers of Chinese and Japanese want to type too.. Let them type. This involves painful OS integration that a lot of frameworks aren't doing.
On Mac, Option+backspace deletes to the beginning of the current word, but it keeps the space. On Windows (I think???) ctrl+backspace deletes the space.
On Windows, the shortcut to delete something (as in, an item in a list) is the delete key. Shift+delete is "irreversible delete" / "erase", AKA bypassing the recycle bin. On Mac, that's Cmd+Delete (which would be CMd+Backspace from a PC user's perspective).
On Mac, function keys are disabled by default (and perform the work of media keys). You need to combine them with fn to get the original behavior. Some older Macs (including older M-series macs) don't even have function keys at all, they instead have a touch bar. Don't rely on function keys for complex shortcuts.
On Mac, ctrl+arrows and command+space, while not being "reserved" in the traditional sense of the word, are often taken over by system functionality and never given to the app in the first place.
I wish i had mac hardware with a fully supported Linux OS. There are some options but most have bad hardware. I kind of wish Apple would just "unlock" its hardware for other options like Linux.
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 !
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 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/
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
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.
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)
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!?
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.
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.
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.
The "Start" or Windows key is the same as the "Command" key
"Alt" is the same key as "Option"
This is how every keyboard I've ever used has worked. This is usually how they work when you plug a PC keyboard into a Mac or vice-versa.
Otherwise it would be really confusing when you switch from your external keyboard to the laptop keyboard.
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 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.
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.
Does anyone else have problem scrolling diagonally on a page that's a bit zoomed in(like on HN, you zoom in a little to read the threads)? It just doesn't move smoothly and instead does a staircase shape traversal.
This used to occur on all browsers before upgrading to Tahoe, now it's mostly fixed but still persists on Safari.
For reference: https://www.reddit.com/r/MacOS/comments/1hh5yjo/diagonal_tra...
I subsequently have to set my Mac keyboard layout to PC to fix backticks and remove that key that is never used, and rely on my touch typing. It does also mean that no one will ever try to type on my laptop.
Eventually I settled on Karabiner Elements, an app that lets you create a simple modification specifically to target the Mac internal keyboard where you can map `non_us_backslash` (that strange unused key) to `grave_accent_and_tilde` which fixes this.
Back on Mac now with British PC and it's much less frustrating to use the keyboard. Plenty of other frustrations instead. I'd prefer to be on Linux but the hardware is just too good.
For instance, in Portuguese, the Mac keyboard [1] has the + key two keys to the right of 0, and you use shift to input *. Meanwhile, on Windows [2], this key is one row below next to P, with the place it is on Mac occupied by «/». Most of the AltGr keys are also in different spots (particularly { and }), which makes this a major pain if you consistently switch between Windows and Mac.
Frankly I prefer the Mac layout, in part due to the Cmd/Ctrl split, but also because I believe it assigns more meaningful symbols to keys (I have literally never used «/», the internet will tell you that’s how quotations are done in Portuguese but everyone, books included, uses “/”).
I never saw any explanation as to why these differ. Does anyone know of any other languages where this happens? It doesn’t seem to be very common!
[1]: https://store.storeimages.cdn-apple.com/1/as-images.apple.co... [2]: https://upload.wikimedia.org/wikipedia/commons/2/2c/KB_Portu...
I can see why Microsoft thought this was a good idea, but the problem is that ONLY Microsoft apps do this, so you have two sets of shortcuts to remember. I don’t know a single person who likes this.
Those shortcuts come from Emacs and shells adopted them.
Shift inset is handy when ssh-ing intobabtemoyr machine with Python windows.
OS-specific abstractions should not leak to web apps under any circumstances.
That's me! readline everywhere by default is fantastic and should be immediately copied by every Linux DE!
I know many people on smaller keyboards map a single Control tap as ESC.
The only thing special about windows, is that the OS gets to own the Win key completely, which is something not too crazy and I sort of like the idea of ensuring their global shortcuts are always available.
That’s great. Now, why aren’t cut, copy, and paste one of these global shortcuts that are always available?
The crux of the matter is that I want to change my minds and/or not have to think about pressing a key and then bailing out. If it’s just a modifier key then no problem. What’s annoying is the specification “Windows-key”, and Windows OS-ification of it; that the single-key press causes an overwrought compositor animation where you get some gallery of the open applications. That’s even worse.
https://en.wikipedia.org/wiki/Command_key
> The ⌘ symbol (the "looped square") was chosen by Susan Kare after Steve Jobs decided that the use of the Apple logo in the menu system (where the keyboard shortcuts are displayed) would be an over-use of the logo. Apple's adaptation of the symbol—encoded in Unicode at U+2318—was derived in part from its use in Nordic countries as an indicator of cultural locations and places of interest.
More here: https://www.core77.com/posts/97914/Debunking-a-Myth-Apples-C...
Control specifically is just a terrible modifier key for common things like edit commands. First, it sits near your pinky instead of your thumb, making chording it with Z, X, C, V, etc., really difficult.
But then... who decided that ctrl-c should be used for both copy and abort??? That's diabolical levels of messed up. In a terminal app ctrl-c aborts, so you need to use shift-ctrl-c to copy, and now you have two shortcuts for the same operation you need to remember based on context, except that in a web-based terminal in Chrome shift-ctrl-c opens "Inspect Element Mode" and now you have no way to copy!
Am I the only one who finds this astoundingly frustrating?
Ctrl-X/C/V were originally Macintosh (and maybe Xerox before that?) and then were adopted by Windows in the 3.1 era so Word for Windows would match up better with Word for Mac. But PC not having a Command key, and the Windows key not being a thing yet, they were applied to Control instead. Which of course overlapped with the other major use of Ctrl-C as "interrupt" starting back into early UNIX machines (and adopted by DOS) but... being a graphical environment they apparently didn't consider that important at the time.
Historically, of course, copy and paste on a Unix machine was a mouse thing and followed X11 conventions. You selected text with the left mouse button — automatically be saved to the primary clipboard just by virtue of being selected, no key press needed — and the middle mouse button pasted it at the location you clicked.
This is somewhat different to having the two part motion/action of select/control-C and click/control-V. It’s boiled down to just select and middle-click. Separately, you can often use shift-Insert to paste the primary buffer.
Maybe everyone has known this forever and I'm the last to find out, but I thought I'd share as it was a revelation. I middle click all the time when using a mouse, so it was nice to finally discover a replacement while using the trackpad.
Ctrl-C doing different things come from different os/software lineages
"far more natural" would be if you moved pinky up or down. Sideways movements are only natural for your thumb
Ctrl-C dumb double function can also be fixed, use it to copy everywhere universally (use a better terminal with an override) and rebind cancel
> who decided that ctrl-c should be used for both copy and abort???
As usual in most of these cases, there wasn't really a single decision, just some historical artifact no one had the care to think about and fix, so it lingers in defaults
Maybe you could use thumb+Escape for Ctrl+C?
Or thumb+X is simpler - you can't cut anything in the terminal, so "cutting" the current process is a convenient combo and even has some mnemonic potential
You could also have +C copy when text is selected and break otherwise, though that modality can be a bit confusing / error-prone for some
It's not bad if you have a keyboard (e.g. topre) with control in the caps-lock position (or remap it, which I usually do).
And I also agree that the Lisa/Mac-style command-[zxcv] works really well (particularly if you use a mouse with your right hand.)
MacOS has no problem with both control-c (break) and command-c (copy) - why isn't this common in Linux as well (at least for keyboards with a command or windows key, which seems to be many, many keyboards.)
Toshy can help but it's still not a perfect fix.
First claim has no priority over better claim. Designs can and should improve
https://www.apple.com/shop/product/mxcj3ll/a/magic-keyboard-...
I see on that Apple keyboard:
• two control keys
• two option keys
• two command keys
• delete (aka backspace)
• forward delete (aka delete)
• home
• end
• page up
• page down
Not being able to cut/paste easily because every tool used the Control key for something different, especially in the terminal, was infuriating.
Having the command key handle these kinds of GUI-focused interactions, and Control for most of the terminal-centric and text manipulation (Ctrl-A/E for beginning/end of line, from Emacs) makes the system great to work with.
I didn't mind anything else about my foray into Linux as a desktop OS. If we could get a Linux GUI distro that all it did was match the Mac command key paradigm, I think it would make a lot of people happy.
As for your pinky, just type the chords correctly and you won’t hurt yourself. This means typing the modifier key(s) with the opposite hand instead of the same hand that is typing the letter. So for control-z you are going to type the “z” with your left hand, so use your right hand to type “control”. That’s why the keyboard has every modifier key on both sides.
Gee thanks.
I like to have my right hand on a mouse or trackpad, so two handed chords are much less convenient.
Macs manage to make one-handed chords for copy and paste ergonomic, but on a PC it's user error?
As a sibling comment notes, Caps Lock as Control helps a lot but it's still not as nice as Command-based shortcuts, both in hand positioning and in terms of shortcut overlap.
No, you’re not. That’s why I tend to use the archaic shift-Ins and control-Ins shortcuts for copy and paste on Windows. I feel like a dinosaur every time.
On Linux I just deal with it and curse a lot.
Also, 10 whippings for whomever at Apple decided to put the Fn/Globe key to the bottom left of laptop keyboards, and move Ctrl over. It's the first thing I swap on a Mac (used to use Karabiner, until macOS finally, years later, decided to implement the setting), and I always trip when using a colleague's laptop. These kids don't respect no traditions!
.. that rant over, I must recognize that Ctrl isn't used as much in GUI apps which prefer Cmd, and only us relatively few terminal junkies care.
[1] second most, perhaps, after swapping Delete & Backspace.
Regarding Fn even Thinkpad has now changed it so Ctrl is in the corner.
On some Windows layouts (those with the right alt = ctrl+alt trick), right alt is literally mapped to ctrl+alt. Right alt cannot be used to open the menu bar like the left alt can. This is only the case on those keyboards, on other keyboards, the right alt does move focus to the menu bar.
Mac uses cmd+arrows like Windows uses home, end, ctrl+home, ctrl+end. It uses option+arrows to move by word instead of control. (I doubt that what it considers a "word" is identical to Windows either, though many editors do override this anyway.
On some layouts (Polish is one I know of, though there are probably more), shift+backtick is a dead key on Windows and can be used to enter diacritics. Shift+accent followed by c inserts "ć". This is very painful to C++ (and Elixir) programmers, doubly so if you use the cFooManager systems Hungarian notation for class names. This is not the case on the Mac.
Option+letters are semi-dead (zombie?) keys on some layouts. For example, option+u inserts the ¨ accent, but option+u followed by another u combines them, so it inserts an ü. If you follow such a zombie key by a space, the space is swallowed and only the accent is inserted. Polish stupidly copied Option assignments from the US layout, replaced some with Polish diacritics, but never gave us replacements for the removed accents. So, we can now type symbols as useless as Ī or Ŕ, but "el niño" or "résumé" require the key hold and pop-up.
MacOS relies on menu options for things like copy and paste, as well as "Quit" and "Close Window". You should implement them by using the storyboard xCode gives you by default (or meticulously re-creating its included menu bar programmatically if your toolkit of choice doesn't let you do that), and then handle the appropriate selectors in your app if you need to. You should never handle these keyboard shortcuts yourself. MacOS is usually smart enough to figure out when these menu items should be dimmed and when they shouldn't. This doesn't work for custom UI frameworks, but if you use those, you ask for that kind of pain.
On both platforms, IMEs exist. Speakers of Chinese and Japanese want to type too.. Let them type. This involves painful OS integration that a lot of frameworks aren't doing.
On Mac, Option+backspace deletes to the beginning of the current word, but it keeps the space. On Windows (I think???) ctrl+backspace deletes the space.
On Windows, the shortcut to delete something (as in, an item in a list) is the delete key. Shift+delete is "irreversible delete" / "erase", AKA bypassing the recycle bin. On Mac, that's Cmd+Delete (which would be CMd+Backspace from a PC user's perspective).
On Mac, function keys are disabled by default (and perform the work of media keys). You need to combine them with fn to get the original behavior. Some older Macs (including older M-series macs) don't even have function keys at all, they instead have a touch bar. Don't rely on function keys for complex shortcuts.
On Mac, ctrl+arrows and command+space, while not being "reserved" in the traditional sense of the word, are often taken over by system functionality and never given to the app in the first place.