Settings

Theme

Keyboard differences between Windows and Macs

unsung.aresluna.org

327 points by sohkamyung · 280 comments

Reader

43 threads
RobGR

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 !

  • hans_castorp

    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.

    • vijucat

      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.

    • dsego

      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.

      • neutronicus

        Double-click is difficult for my six-year-old, too.

        • ASalazarMX

          That's why you let them play kid's games that use single and double clicks, they'll develop that dexterity before you know it.

    • rprwhite

      The thing I always remind myself of, when I think “isn’t this obvious?”, is a conversation I had with my mum about 15 years ago. She gives me a call, and after the usual chitchat…

        Mum: “they had some computer training courses at work, the other day. We learnt great thing, dragon drop”
        Me: “that’s great, I didn’t realise you didn’t know about drag’n’drop”
        Mum: “yeah, we were talking about why it’s called dragon drop, and I thought you’d know”
        Me: “mum, are you saying ‘dragon’, as in the mythical creature?”
        Mum: “yeah, why is it called that, we’re all stumped”
        Me: “it’s not the creature, it’s the shortened version of drag… and… drop - drag’n’drop”
        Mum: “wow, that makes so much more sense. I can’t wait to tell everyone at work”
      
      Now mum definitely isn’t a power user, but by the time of this conversation she had been using computers daily for 20 odd years, since the late 80’s.

      I try to remind myself of this fun little anecdote as much as I can.

    • xoxxala

      I worked tech support in the early 90s and we received more than one letter in the mail from customers asking about where the "any" key was on the keyboard.

    • SanjayMehta

      There were plenty of stories back in the day about assistants being asked to copy a floppy.

      Some used a photocopier.

    • ubermonkey

      "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.

  • Duanemclemore

    Anecdotally, when I use simple command idioms like ctl-tab to change tabs, alt-tab to change applications, or press alt in an application to bring up the single letter shortcuts for navigating menus my students are blown away.

    I have to actively teach them how to use and navigate file folders, how to make an appointment in Outlook, and other fundamental user operations. I don't blame them, I blame the developers primarily of browser based cloud apps and OS's.

    Edited to add: this includes using ctl and arrows to move by whole words, etc. fundamental stuff in the apps they would have been using since a young age. Not to mention how to use the fn key to access the other functions of Function keys, and fn-esc to switch the behavior globally on their laptops.

  • chris_st

    > 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.

    I remember using an (early?) Apollo computer that worked that way... I was warned by the person showing me, and a bit later he accidentally bumped the mouse while I was typing! Letters all over...

    I believe this was in the era before X windows took off for unix boxes. I miss SunTools - it was nice and simple.

    • JdeBP

      Focus follows mouse was a thing in the X11 era too. We are still in the X11 era, and it is still a thing. (-: Until X11 window managers like IceWM vanish entirely, it will remain a thing.

      * https://ice-wm.org/manual/#focus-models

      • chris_st

        I think of focus-follows-mouse as a different thing. FFM raises the window under the mouse, but doesn’t move the text insertion point (at least on X and Windows, the only two places I can remember using it). But the Apollo’s window manager was different - moving the mouse moved the insertion point along with it.

        • PaulDavisThe1st

          but raising the window under the mouse also, for "true" FFM, gives kbd focus to the raised window, which will in turn (via whatever GUI toolkit is being used) moved kbd focus to some widget in the window, if possible.

          It is impossible to generalize about this under X Window, since the behavior is entirely controlled by the window manager, and their behavior (a) varies (b) is very customizable.

  • II2II

    > 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.)

    • RobGR

      They were familar with a mouse from DOS based drawing and diagram programs. Most of those did not have keyboard and mouse input active at once, you were using the mouse, or you were in a different mode to enter text. Some of them had one pointer, so you could be typing, bump the mouse, and put characters in the wrong place.

  • mixmastamyk

    Were they the old tabs that looked like tabs, or the newer tabs that look like buttons?

  • somat

    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.

    • eddyg

      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⁽²⁾.

      ⁽¹⁾ https://karabiner-elements.pqrs.org/

      ⁽²⁾ https://github.com/pdelfino/karabiner-config

    • lloeki

      GNOME:

          gsettings set org.gnome.desktop.interface gtk-key-theme-name 'Emacs'
      
      or GTK:

           ~/.config/gtk-3.0/settings.ini
           ~/.config/gtk-4.0/settings.ini
      
      
          [Settings]
          gtk-key-theme-name = Emacs
      
      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.

      https://gaphor.org/2022/12/10/gtk4-macos-keybindings/

      • 1718627440

        > In what I would consider to be a fatal regression, GTK 4 just aliases <Control> and <Primary>, leaving the apps to do the work.

        Gtk4 makes some many dumb decisions, that I always code new programs against Gtk3. They also deleted so many useful widgets and essentially said "We don't care implement it yourself". I can't afford my programs to become unusable just because they completely lost the plot, so I intend to keep using Gtk3 forever.

    • fingerlocks

      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.

      • moses-palmer

        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...

      • trollbridge

        It’s always bugged me that Ctrl+M should be what’s carriage-returning the cursor (and Ctrl+J to submit).

      • bananaflag

        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).

      • tpmoney

        It’s an OS level thing (well, OS + standard widget library). As long as the app is using a native macOS text field, the OS has (and has since I think the first versions of osx) support for basic emacs movement keys, no extra effort on the app developers part.

    • 1718627440

      > because linux never picks the correct method

      Because linux is not an operating system. A specific operating system will have some specific behaviour.

    • dotancohen

      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.

      • mjbrusso
      • 1718627440

        That's because C-J IS ANSI Carriage Return. It's basically the absence of any special treatment.

        • duskwuff

          In fact, without some fairly new (and poorly supported) extensions, it's impossible for an application running in a terminal to distinguish between ^J and a "real" press of the return key. The same goes for tab vs. ^I, Esc vs. ^[, and so on.

        • JdeBP

          You meant ASCII Line Feed, ne?

          • 1718627440

            Yes, shame on me. Should have conducted ascii(7) before making bold statements.

                   Oct   Dec   Hex   Char                        Oct   Dec   Hex   Char
                   ────────────────────────────────────────────────────────────────────────
                   000   0     00    NUL '\0' (null character)   100   64    40    @
                   001   1     01    SOH (start of heading)      101   65    41    A
                   002   2     02    STX (start of text)         102   66    42    B
                   003   3     03    ETX (end of text)           103   67    43    C
                   004   4     04    EOT (end of transmission)   104   68    44    D
                   005   5     05    ENQ (enquiry)               105   69    45    E
                   006   6     06    ACK (acknowledge)           106   70    46    F
                   007   7     07    BEL '\a' (bell)             107   71    47    G
                   010   8     08    BS  '\b' (backspace)        110   72    48    H
                   011   9     09    HT  '\t' (horizontal tab)   111   73    49    I
                   012   10    0A    LF  '\n' (new line)         112   74    4A    J
                   013   11    0B    VT  '\v' (vertical tab)     113   75    4B    K
                   014   12    0C    FF  '\f' (form feed)        114   76    4C    L
                   015   13    0D    CR  '\r' (carriage ret)     115   77    4D    M
  • californical

    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

  • TacticalCoder

    > have been helping someone who has little experience with Windows or Mac, but used DOS for years ( until pretty recently ) ...

    The year is 2026. Who the heck has been using DOS (!?) until "pretty recently"? On what machine?

    • RobGR

      A school teacher at a small charter school, teaching various levels of math and a few foreign languages. This person was pretty technically proficient - they used a linux to access the web, but it was set up to boot a browser in to full-screen kiosk mode, and they pretty much just searched webpages and printed things out sometimes, no email really.

      The DOS was DRDOS 7.22, and it was very elaborately set up -- it boots from a CDROM or USB flash disk as a live disk. On the disk is every assignment, homework, or test for any of the various courses he taught, carefully organized. They are in WordPerfect 5.1 with a few graphics in another program, and a graphing ( as in X-Y cartesian plots ) program also, all ancient freeware DOS. The three programs come up instantly on boot in different terminate-and-stay-resident screens, that you switch to with a control-alt combo, very like switching terminals in text mode linux.

      This meant he could take a CDROM to school, pop it in the horibly slow and ad-laden windows computer some government program had given the school for free, boot, disconnect the printer from the network to the constarnation of other teachers and plug in a USB cable, and print his assignments, and never bring back viruses. The students when they learned of this situation would search out old viruses on the web and try to infect everything.

      But using windows and mac was pretty limited to a little bit of browsing, and occasionally going to a dedicated machine with the right program already set up, to enter grades and time sheets and etc.

    • gen2brain

      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.

      • mrkstu

        My travel agent wife was unhappy when they GUIfied Sabre. Luckily there was enough complaints they brought back some terminal access/shortcuts for the ‘advanced’ users…

    • petepete

      Maybe the GP is friends with George RR Martin.

      This is perhaps an indirect confirmation that The Winds of Winter is back on track.

    • lightedman

      I'm still using DOS to control a galvo-steered LASER animation system from 30 years ago. 133MHz Pentium, non-MMX, 16MB RAM, 16MB Voodoo3.

    • mschuster91

      > 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.

      • TacticalCoder

        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".

szszrk

> 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).

  • moogleii

    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.

    • tpmoney

      It also has the benefit of (mostly) separating OS wide keyboard shortcuts from terminal commands. Copying text is always “CMD-c”, and not “usually CTRL-c, except in a terminal where it’s actually CTRL-Shift-c, because otherwise that would interfere with terminal control characters”

    • zamadatix

      > Ctrl asks you to give up a pinky, a home key finger, to execute common chords - far more critical than a thumb

      Am I particularly odd for only using my thumb for space?

      I use left-pinky to press either the left-ctrl or left-command. This naturally places left-ring on top of shift for ctrl+shift combos on Windows but I usually use right-shift on command+shift commands with right-pinky. Any keys I press on the right side of the keyboard during this cord are done normally since my right hand remains on the home row the entire time, on the left side I'll typically then use left-index to press the other key.

      If I use left-thumb for left-command instead then I can only figure a way that involves moving that hand completely away from the home row and for shift combos I then can't reach most keys and need to move right-hand off the home position. If I use right-thumb for right command I end up with the same in the inverse. I guess one could pick the opposite command based on the keys you needed to press after but it seems like an extra thing to remember + still results in more overall movement.

      It's funny how I must have typed at least many 10s of millions of keys by now and never really thought about how I type key combos.

    • gregdeon

      Same. My left pinky is so much happier on a Mac keyboard. Command + Shift + Tab on Mac is so much easier than Ctrl + Shift + Tab on Windows.

  • piva00

    It's just a matter of practice in the end.

    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.

    • ryandrake

      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.

      • weaksauce

        i'd suggest trying out toshy... it's a game changer for linux. you get almost all of the mac keyboard shortcuts working out of the box. there's a few rough edges sometimes but generally it feels like you're using a mac wrt shortcuts. even stuff like diacritics and textbox emacs shortcuts work if you want.

    • pitkali

      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.

    • jonahrd

      I always use this, maybe it'll help you: https://andrewdunning.ca/Mac-Keyboard-Layouts-for-Windows/

    • dcminter

      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.

      • pitkali

        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.

      • piva00

        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...

        • dcminter

          > it would make more sense to me to be a/a

          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 :)

  • burningChrome

    Back in the day when I was doing contract work and hopping around a lot, I often had to switch between windows and mac. One of the issues I always ran into was the not necessarily the keys, but where they were positioned.

    Doing something basic on a mac like Copying (Ctrl + C) and Pasting (Ctrl + V) had to be done with ⌘ Command. So instead of using my pinky in natural resting by simply shifting my palm down which I was used to. Using the ⌘ Command, I had to use my thumb instead and it was always a weird shift. Having used Windows most of my life, I always had to look down to make sure I was on the right keys on a Mac.

    I've tried a few times to go back, but its always been such an unnatural feeling that I just avoid it now like you do.

    • robertoandred

      How does your pinky naturally rest on Control? Your pinky should be resting on A. Your thumb rests on Space, which makes shifting it to hit Command easy.

      • starkrights

        Mine does! I presume it’s because I learned to type purely off of playing social multiplayer video games that frequently used WASD+shift/ctrl, but to this day my default left hand position on the keyboard is AWD+pinky on ctrl and thumb on space bar.

        I can consistently hit ~140wpm on artificial typing tests too!

        That said, I didn’t have your parent comment’s issues with the command key swap either. I’ve used windows all my life but had to daily drive a Macbook starting in ~September of last year. It was a bit of a curve, but after maybe a month of lectures I think I was fully accustomed to the thumb cmd.

        I guess I also regularly use ctrl+alt cmds on windows, which is pretty similar in position. These days I daily drive windows and Mac in the same day- hell I even remote into windows from macOS, which can be kinda fucky, but I do it regularly enough that I’m pretty tuned to what keys to hit.

      • frankvdwaal

        That is quite an angle you are describing, forcing you to roll your thumb under your palm exactly like Apple says you shouldn't do in its Mac Ergonomics document.

        Resting your pinky naturally on control is quite easy because as it turns out, your fingers are not of equal length. So if you put your hand down on the keyboard in its most relaxed, natural position, most of your fingers may end up on the middle row and a shift. From there you only need to slide your relaxed hand downwards to get it in the perfect position for a ctrl-c/v action: Pinky on control, index finger on the x/c/v.

      • bhandziuk

        Just depends on what's happening. I'm not the person you are replying to but I do the same thing. My pinky will rest on A-ish area when typing but then down on Ctrl when I'm coding because access to many navigational shortcuts is faster there and I'm doing more reading/navigating than typing

      • lightedman

        "How does your pinky naturally rest on Control?"

        30 years of WASD gaming will do that.

  • gcau

    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.

    • Gareth321

      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.

    • weaksauce

      karabiner-elements works very well to remap keys in macos even in very complex ways if you want. (multimodal ways held does something with other key presses but pressed by itself would emit a different code like esc or capslock)

  • timpera

    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.

    • KronisLV

      Feel free to share yours, I’m very interested!

      • timpera

        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.

  • grujicd

    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.

    • Gareth321

      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.

      • pupppet

        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.

        • tpmoney

          This definitely must just be a “what you’re used to” because I find using ctrl for a modifier to be far more “contorting” than moving my thumb a bit to the left or right of where it’s already naturally sitting for the space bar, and my thumb is a “stronger” finger than the pinky so it also just feels easier on the hand. So much so infact that I remapped the right hand command key to ctrl in emacs (with the usual capslock-> ctrl remapping for the left hand) just to make it more comfortable.

  • Quothling

    I've programmed my work keyboard to swap the places of the left windows key and left ctrl. I'll never go back to pressing ctrl with my little finger instead of my thumb again!

    I've even been rebellious enough to swap the left ctrl to a command button.

  • where-group-by

    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 is still terrible though.

    • klodolph

      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.

    • LgWoodenBadger

      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.

  • baxuz

    Been using this layout for the past 12 years:

    https://github.com/ivancuric/mac-hr-sane-layout

    • grujicd

      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.

theodpHN

In a similar vein, the "Costs of Switching Schoolchildren Between Windows, Chrome, Mac?" (https://slashdot.org/submission/17349696/costs-of-switching-...) begins:

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?").

  • bob1029

    > 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.

    > 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.

    • hobo123

      This is HN, so you probably spent a fair amount of time in different computing environments.

      Beginners have to learn every system from scratch, in the limited time they spend on the computer.

  • Steltek

    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.

  • MrGilbert

    Painfully? I love the stimulation of my brain to learn something new. It didn’t really hurt.

    • disillusioned

      It hurts _all the time_ for me.

      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.

    • Pavilion2095

      It depends on the context. If you're a PC user and you got a Mac at your new job, there are likely more important things to learn.

  • crabbone

    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.

bombcar

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).

IgorPartola

Mac got the Command key right. Windows got the Home and End keys right. Wish we could have both on one system.

  • oniony

    I've kinda got used to Fn-Left and Fn-Right for home and end now. It has taken a very long time though.

    • dchest

      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).

      • ghboo0927

        You can check Home is binded to scrollToBeginningOfDocument: and End is bonded to scrollToEndOfDocument: in /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict.

        You can overwrite it by creating ~/Library/KeyBindings/DefaultKeyBinding.dict.

      • oniony

        Crazy, I hadn't appreciated that.

        So:

          Fn-Left = scroll to top
          Fn-Right = scroll to bottom
          Fn-Up = scroll page up
          Fn-Down = scroll page down
        
          ⌘-Up = cursor to top
          ⌘-Down = cursor to bottom
          ⌘-Left = cursor to start of line
          ⌘-Right = cursor to end of line
        • tpmoney

          And also option-left/right moves the cursor by word, and option-up/down moves (I think I almost never use it) by paragraph.

  • AdamN

    For those ctrl+a and ctrl+e are the way to go.

    • kluc

      Just a note - first time I see this and you just made my day, as Home/End behaviour on Mac was driving me crazy since I switched 7 YEARS AGO

      • AdamN

        Nice! Then you might really like ctrl+k. Go to the middle of the line and it will delete everything from the cursor to the end of the line.

        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

        • 1718627440

          > Then you might really like ctrl+k. Go to the middle of the line and it will delete everything from the cursor to the end of the line.

          Actually it stands for _K_ill (opposite of _Y_ank), so you can get it back later too. Not sure, if that is also the case on Mac.

    • aldanor

      And c-n / c-p - with those you barely ever need arrow keys

  • baxuz

    Dunno. I prefer the mod+arrow keys or terminal shortcuts to 4 new keys

  • Razengan

    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!?

    • JdeBP

      It's [Alt]+[F4] because before being translated to a GUI setting where [Alt] modifiers denoted things that were the same across all applications, or at least 'system key' events, it was actually plain [F4] to 'save and exit'. This was notably the case in some PC-DOS text editors.

      Common User Access (CUA) in 1987 came from the world of IBM mainframes to IBM-involved microcomputer operating systems like PC-DOS and OS/2, and was the idea that there would be a common set of function keys across all 'panels' in Systems Application Architecture (SAA) applications.

      Fun fact: CUA didn't originally define [F4] with its current meaning, and it was actually [F3] to exit, after [F1] for help and [F2] for toggling between two sets of function key bindings. But notice how [F5] was refresh all along.

      * https://web.archive.org/web/20001117223900/http://publib.bou...

      * https://web.archive.org/web/20001102070751/http://publib.bou...

    • artpar

      > 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.

      • Razengan

        You're thinking only halfway

        > 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.

        • artpar

          Consistent but optional, sounds inconsistent to me. Anyways that was 1 example, here's some more.

          ⌘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

          • storoj

            "B" is "buy" in Counter-Strike, and "B" ls "look back" in a racing game.

            What kind of consistency did you expect across Mail App and Safari? How do you "Reply" in browsers?

            • artpar

              I am not expecting any consistency. I am expecting a claim of consistency NOT to be made for keyboard shortcuts either on osx or windows.

              • idkdksmfkmdf

                Okay so you’re being pedantic just for the sake of it. The shortcuts are about as consistent as they can be given the circumstances.

    • mixmastamyk

      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.

      • pasc1878

        CUA is from IBM and Motif is using CUA.

        The shift+insert,delete etc. are from MSDOS as far as I used them – they might have been copied from a previous OS.

    • vips7L

      Ctrl-W will close your window on Windows and end the program if it’s the only window open.

    • WernerKintsel

      This is so hilariously wrong.

      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?

      • kalleboo

        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.

      • simonask

        Have a cup of coffee, then come back and read your comment again.

      • Razengan

        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 :)

karhuton

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.

  • coreyh14444

    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.

agys

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.

  • pasc1878

    The NeXT was even better.

    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.

  • mb_thd

    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.

    • agys

      Thumb + index?

      • europoorean

        Pinky + index for control C etc

        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)

        • in_a_hole

          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.

      • Gareth321

        I will echo the other user. Pinky + index is far more comfortable on Windows keyboards than thumb + index on command + c on Macs.

  • whywhywhywhy

    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

  • koziserek

    and then, some of us discovered that we can remap ctrl to be under right thumb or caps

  • xdennis

    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)

    What fingers do you use?

kqr

> What Windows calls ⏎ Enter, Mac calls ⏎ Return.

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.

  • AdamN

    The carriage return is moving the typehead to the beginning of the line, not starting a new one.

    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)

    • kqr

      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.)

      • tomtomtom777

        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)

        • oniony

          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.

        • 1718627440

          Why it just shows what happens on the paper?

  • compounding_it

    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.

  • ketzu

    > The only keys that exist twice on the keyboard are modifier keys

    > 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.

  • Gareth321

    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.

  • rgoulter

    > 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.

olyjohn

The demo keyboards in the article, I'm pretty sure are wrong.

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.

  • rahimnathwani

    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.

    • myelin

      Yes! Super frustrating that Apple didn't map Alt->Command and Win->Option so the keys would be in the same place on laptop and external keyboards.

      • fasola

        It isn’t Apple’s fault (their keys predate Windows), and it isn’t really Microsoft’s fault either – when they were adding Windows key, the Alt key and its scancode already existed, too. Both companies were doing rational things that benefitted the users at the time.

  • larusso

    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.

    • pchew

      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.

  • sitharus

    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.

notpushkin

That was a deep dive indeed! Some notes:

> On a Mac, in simple input fields, ↑ and ↓ jumps to the beginning and end [...] Windows doesn’t have this convention

IIRC it worked for me on Windows (and Linux :-) as well!

I do prefer ⌘←→ as it’s more consistent. Also, ⌥←→ jumps one word back/forward on Mac, the Windows equivalient being ⌃←→.

> On Windows, [refresh is] typically F5, although some browsers now support Ctrl+R, too

Have always supported as far as I can remember :) F5 works on Mac in Firefox (and I think Chromium), but not in Safari.

> On both platforms, Fn+↑↓ does PgUp/ PgDn, and Fn+←→ does Home/End.

This will vary a lot depending on the manufacturer. ThinkPad T420 and other models from that era use those for media keys (which makes sense, they do have physical Home/End/PgUp/Dn keys).

---

Finally, a suggestion to fellow Linux users: try Mac keybindings, it’s amazing (especially if you’re e.g. running Asahi on a Macbook). Not all apps will be happy about this, but at least the KDE ones will generally follow the keybindings you set in the system settings.

  • notpushkin

    And a weird tangent on deterministic, idempotent elevator buttons [1]:

    > I always get a bit nervous when someone tells me that in their country, you can press the elevator button again to unset it.

    The way I’ve seen this solved in a lot of countries across SEA is that you unset the elevator button by double-pressing it. It’s not intuitive, and I’ve only discovered it by accident, but it’s deterministic and idempotent: one gesture sets the button, the other unsets it.

    [1]: https://unsung.aresluna.org/deterministic-vs-idempotent/

happymellon

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.

  • CaRDiaK

    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.

  • Xiol

    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.

wpm

> A small group of vocal users love these.

That's me! readline everywhere by default is fantastic and should be immediately copied by every Linux DE!

  • dunham

    I think of those as emacs keys. Glad they work everywhere, but I suspect that someday they will go away.

    • wpm

      They still work on iOS when you have a keyboard plugged in, so someone in Cupertino has my back!

whywhywhywhy

Really wish windows and Linux had the same 4 modifier system as Mac, always feels like ctrl is overloaded on Linux and alt wrongly used as a ctrl key in weird scenarios on windows (alt+F4)

  • glimshe

    I'll take that if you move Fn completely out of they way, preferably far from the lower left corner. As a Windows+Mac user, I map it to <control> because it takes prime real estate and I rarely use it. I hate Fn, to be honest!

  • OroPla

    How is Ctrl overloaded in Linux? Other than copy and paste, what do you use it for globally?

  • muststopmyths

    ctrl-f4 is used in MDI applications to close one document window of a multi-document application. alt-f4 to close the whole application.

    Well, I say "is used", but nothing in Windows is consistent anymore. Especially since web browsers started disrespecting the OS shortcuts. Now it seems like every application follows the web browser UI conventions instead of OS ones.

    • simiones

      Alt+F4 in Windows has always been "close window", not close app. It is even shown on the traditional "application icon" menu on each window, that many new apps are unfortunately doing away with.

      • kbolino

        > Alt+F4 in Windows has always been "close window", not close app.

        Well, if we're talking about traditional Windows behavior, there's no such thing as an app in the first place.

        Some programs allowed multiple windows to be open at the same time (e.g. Notepad), and some didn't (e.g. Paint), but for those that did, they spawned each window as its own process. Closing the window closed the process. That two processes shared the same executable had no deeper meaning until Windows XP added taskbar grouping.

        • garaetjjte

          In Win16 all instances of executable shared memory (that's why there's hInstance in WinMain). But that should be transparent to user if implemented correctly.

          Except Excel, which wants to act like single application with multiple windows.

        • muststopmyths

          Console applications, which do not have win32 windows with message pumps can be closed with alt-f4.

          For GUI apps it sends a WM_CLOSE, because that's they way to "close" a GUI application.

          For console applications it sends a message through the "Console control handler". Which the console subsystem no longer lets the application properly handle and kills the process summarily anyway.

          Note that I keep saying "application" because that has been the terminology in windows forever. "GUI apps" and "console apps" were a thing before mobile.

          • kbolino

            This is good detail, but I wasn't comparing to mobile, I was comparing to Macintosh. A native app on Windows has always been more of a loose collection of related files, whereas it is a single file on Macs and is presented as a cohesive unit throughout the operating system. Thus, Cmd+Q was more feasible than a similar shortcut could have been on Windows, and Alt+F4 really was its closest equivalent because Windows didn't organize things the way Mac did.

jerrac

I've been forced off of Linux at work. It was Windows or OSX, so I went OSX. I have not been impressed. Partially because 20 years of using certain shortcuts is not a habit that is fun to break. Especially when I go back home and can use Linux again.

I've been looking for a good Karabiner setup that makes things work like base Ubuntu (gnome shell shortcuts). Haven't found one yet. Anyone know of a good one?

Especially one that fixes ctrl-arrow keys so they go word by word, and ctrl-shift-home/end so it only selects the 1 line instead off going all the way to the top or bottom.

Thanks!

Also, the original post is going to be a huge help for a lot of people. So if the author happens to read this, thanks!

  • pornel

    It hurts both ways. I'm trying to switch to Linux, but the lack of separation between Ctrl-C for Copy and Ctrl-C for break drives me mad. Similarly Ctrl-A for start of line vs Select All, end of line and search pasteboard (there's no search pasteboard!!!)

    • jerrac

      It should be a standard that the different OS's support switching between methods. If you like the OSX way, then you should be able to use it. If I don't like it, then I shouldn't have to use it.

      At least on Linux you have some more choices, maybe not specifically the finer details of the keyboard stuff, but there are a bunch of things that OSX does that I really dislike. On Linux, I could change them. OSX, so far, most have been either not changeable, or appear to my newbie eyes unchangeable.

dotancohen

  > Just swapping the key caps is not enough. The keyboard also has to swap the scan codes it sends, since the code for Alt is the same as the code for ⌥, and the code for ⌘ is the same as the code for ⊞.
Alt and ⌥ are on the same location on the keyboard, likewise ⌘ and ⊞ are on the same location on the keyboard. So it seems that just swapping key caps should be enough to get proper support.
Tepix

I like these types of articles.

One note:

> Access to extra characters

For German keyboard layouts, there exists „Erweiterte Tastaturbelegung 1“ standardised in DIN 2137-01:2023-08. It's available in Windows 11 (since 24H2) and also in Debian Linux for example. It lets you enter all characters from European alphabets plus some nice extra ones. <https://de.wikipedia.org/wiki/E1_(Tastaturbelegung)> has the details.

wodenokoto

> What Windows calls ⏎ Enter, Mac calls ⏎ Return. However, Macs also have an ⌤ Enter, although only on a numeric keypad

Just looked down on my windows keyboard and yes, the return key (the one above the right shift key) says "enter". That did not use to be the case. The return key used to say return and the tall key next to 3 and the numpad used to be the only enter key.

When did that change in PC land? I remember reading nerdy articles about the difference between return and enter.

  • kalleboo

    Looking at old PC keyboards, from IBM Model M to old Gateway 2000 keyboards from the 90's etc, it's looks like it's always been Enter.

    But terminals and UNIX machines were more likely to use "Return", e.g. looking at a DEC VT100 or Sun SPARCstation keyboard.

    edit: looks like most of the 8-bit machines like Commodore, Atari also used Return. So Enter was mostly an IBM thing.

    • wodenokoto

      You’re right. The old IBM I grew up with just have a bend arrow and the numpad enter says English.

      I was always taught the big one was return and as an adult I stumbled on an article describing the difference between return and enter.

      But windows could easily have called both enter without me realizing.

  • SOTGO

    The original IBM PC keyboard just used an arrow. The keyboard that shipped with the PC AT used Enter, while the enhanced keyboard (Model M) used an arrow for ISO layout keyboards, Enter for ANSI keyboards, and I think some variants for non-PC platforms used Field Exit, which was also used by IBM for many keyboards before the PC. I'm not sure what other vendors may have used, I'm sure there are some return keys out there, and for all I know IBM did ship keyboards with Return instead of Enter.

  • pests

    The word "enter" has now lost all meaning in my brain, but it does look a little weird on my keyboard. Never paid much attention in my 25+ years of computing.

wkjagt

One thing I prefer on Mac keyboards is how heavily the CMD key is use for things I do often and where it is in relation to my thumb. For copying for example, CMD+C is _right there_. It's been a while since I last had a Mac, and my thumb has learned the CTRL+C stretch, but Mac was easier for that.

novaRom

Mac's German keyboard was always pain for writing code. This is less relevant today because most of the input has become natural language so no need for brackets and other non alphanumeric symbols (which are terribly painful key combinations on Mac German keyboards).

donatj

> What Windows calls ⏎ Enter, Mac calls ⏎ Return. However, Macs also have an ⌤ Enter, although only on a numeric keypad (previously, it was even there on laptops! [1]). On keyboards without the physical Enter key, you can simulate it via Fn+Return.

[1] https://en.wikipedia.org/wiki/PowerBook_G3#/media/File:Apple...

I have spent literally several minutes scanning this keyboard for a physical Enter (as opposed to Return) and have no idea what the author is talking about.

  • wpm

    Off topic but man PowerBook G3s were good looking machines, heat/hinge issues aside.

  • petu

    First key on the right after space bar.

abhikul0

Aside for a peculiar trackpad issue:

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...

  • tpmoney

    macOS seems to have a “lock direction” for trackpad scrolling on zoomed in windows. Whether you like this or not is in my experience largely a function of how much you do normally do a diagonal scroll. On the one hand it means if you scrolled in to fill a column, you don’t need to be perfectly precise with staying up and down to scroll up and not also scroll the column off to one side. On the other hand if you don’t start with a very explicitly diagonal scroll, it won’t let you scroll diagonally without stopping and starting again.

stronglikedan

No mention of the RSI caused by the Mac control key being in a place where a user has to scrunch up their hand unnaturally just to perform the most common control commands, copy and paste?

  • asdff

    Because on mac you use the command key for that not control key.

donatj

> Windows still supports Shift+Delete for cut, Ctrl+Insert for copy, and Shift+Insert for paste. I am not sure how many people use these.

So I grew up using DOS and these were pretty universal across edit/qbasic/word as well as many other third party apps. Not being able to Shift-Insert paste took my brain literally months to get used to when I switched to Mac like twenty years ago.

When I rarely find myself in Windows the muscle memory comes right back.

PetitPrince

> Windows still supports Shift+Delete for cut, Ctrl+Insert for copy, and Shift+Insert for paste. I am not sure how many people use these.

Shift inset is handy when ssh-ing intobabtemoyr machine with Python windows.

slhck

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.

danhau

Text selection with arrow keys is missing from the article. When you have select a word, the Shift+Arrow keys work differently between Mac and Windows.

Windows always extends the selection in the direction of the key. But what Mac does I still haven’t managed to figure out. Sometimes it extends, sometimes it shrinks. Feels like a coin toss every time.

  • tpmoney

    macOS should in general always extend for the first press, and then move relative to that decision. So if you select some text with the mouse and then shift-left/right it will extend the selection in whichever direction you chose. But after that first extension, you’re now in a “keyboard selection mode” where continuing to move in the first direction will continue to extend, but selecting the opposite direction will shrink the selection. And the up/down keys work the same and relative to the current extension direction (so if you were extending to the right, down will continue extending since going right at the end of the line would move you down, and up will shrink the selection by the same logic. And the reverse for extending to the left)

    Mostly this makes sense to me, though it is admittedly annoying when you’ve selected a little too much with the mouse and want to deselect, you need to extend a bit first and then reverse direction.

    • fasola

      Ah, I see. Windows does something very similar, except if you select by e.g. double clicking (which doesn’t have any “edge preference”), Shift+left/right arrow always immediately extends/contracts from the right edge (vs. on a Mac when the first Shift+arrow decides which edge will be used).

      Other interactions seem the same on Mac and on Windows.

  • fasola

    I swap between Mac and Windows and they both seem to do the same? (Always extending seems like it would be torture.)

spankalee

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?

  • m3galinux

    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.

    • baruz

      >maybe Xerox before that?

      Yes, the cut/copy/paste system and its shortcuts were developed at the Xerox PARC LRG as part of Smalltalk-76. They used a Control key.

      >and adopted by DOS

      DOS inherited it from CP/M by way of the 86-DOS clone that Gates purchased. Kildall used the TOPS-10 while developing PL/M and CP/M and adopted some of its conventions, including control-break.

  • gorgoiler

    It is indeed frustrating.

    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.

    • russellbeattie

      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.

      • jolmg

        That's drag and drop.[1] App support is varied on this.

        Alternatively, though I don't know if it works on Mac, on X11 Linux you can middle click with touchpads by tapping with 2 fingers. Tapping with 3 fingers right clicks. That's going to work anywhere clicking does, because it's handled by the touchpad driver rather than by app convention. If it doesn't work by default, it can be configured with `synclient`.

        [1] https://en.wikipedia.org/wiki/Drag_and_drop

  • nightfly

    Caps Lock remapped to control. By using a keyboard where I can remap keys at the firmware level whenever possible, and in the OS when not

    Ctrl-C doing different things come from different os/software lineages

    • eviks

      You're still using your pinky for the most common modifier, not a good alternative

      • f1shy

        But in a far more natural form.

        • eviks

          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

          • nightfly

            I move my whole hand around a lot, both by rotating at the wrist and moving at the elbow level.

  • musicale

    > 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.)

  • dima55

    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.

    • monk_grilla

      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.

    • arm

      Sorry, what are you talking about?

      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

    • sitharus

      On space limited laptop keyboards yes, but you can get all of those with chording. Except the right hand control key of course.

  • eviks

    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

    • silon42

      Maybe Pause key could be used for legacy "Ctrl+Z" and "Ctrl+Break" for Ctrl+C

      • eviks

        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

  • wpm

    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.

    Toshy can help but it's still not a perfect fix.

    • eviks

      > The Ctrl key was already claimed for use in the terminal for signals and line navigation.

      First claim has no priority over better claim. Designs can and should improve

      • wpm

        OK sure in general maybe, but that isn't what happened here. What happened is a worse design where Ctrl+C sometimes copies and sometimes kills the current process in your terminal. It's annoying and dumb and clearly inferior to what NeXTSTEP and macOS ended up doing with a separate "Super"/GUI/Command key to handle GUI shortcuts like Cut/Copy/Paste, and leaving Ctrl to handle UNIX shortcuts in the terminal. This allowed the readline/emacs text cursor navigation to also carry over into the GUI, so you can treat text anywhere the same regardless if its a GUI text editor or your terminal.

        • eviks

          > What happened is a worse design

          But the reason it happened like this is precisely your principle I argued against where some shortcut got claimed first and blocked evolution! The way easy out is to rebind Ctrl+C as kill

          > allowed the readline/emacs text cursor navigation to also carry over into the GUI

          That's another set of dumb defaults that should've evolved years ago but got stuck (just like Ctrl+C)

          > treat text anywhere the same

          Great aspiration, but I don't see how it follows that you can't change the first-claimed shortcut?

  • zdw

    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.

    • jeroenhd

      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.

  • cosmic_cheese

    Yeah this drives me crazy too.

    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.

  • brudgers

    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.

  • kergonath

    > 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.

    On Linux I just deal with it and curse a lot.

  • db48x

    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.

    • spankalee

      > just type the chords correctly

      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?

      • flaunf221

        > Macs manage to make one-handed chords for copy and paste ergonomic

        Cmd-C is not any more ergonomic than Ctrl-C. You are only speaking from position of habit. Pressing modifier with tucked in thumb is not great for it.

        If someone is concerned about ergonomics, they should buy ergonomic keyboard. Standard layouts are crap.

        • db48x

          Exactly. Either way the keys are too close together for comfortable, and quick, typing. The solution is to move your right hand back to the keyboard and to leave it there. Since selecting text is usually what you do right before you copy it, learn to select the text using keyboard commands.

    • baruz

      Ah yes, computing luminary Larry Tesler, what an idiot, working at Xerox PARC. Whoof.

      Decades is an exaggeration. It was less than a decade after Digital started using Control-C as a process interrupt in their PDP-10 operating systems (1967) to when Mr Tesler devised his mapping to a copy operation (1974-1976) for Smalltalk-76, and only four years after C was born. CP/M is the much more likely source of widespread usage of control-C as an interrupt, and it was contemporaneous (1974) with Tesler’s mapping.

      • db48x

        But they weren’t combined on the same system until decades later, after Windows became nearly ubiquitous and Linux systems started copying things from it.

looperhacks

It took me a bit after I had to switch to a Macbook, but by now I'm pretty used to switching between Linux and Mac. But the one thing I'm still not used to after a few years is the position of []. It's still a 50/50 whether I hit it on mac

ankurdhama

mac treats modifier keys like modifier keys whereas windows treat super key as modifier key and start menu key (which is weird)

  • dietr1ch

    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.

    • eviks

      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

    • kergonath

      > 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?

    • keybored

      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.

anilakar

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.

  • asimovDev

    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'

brudgers

Text fields in Mac OS apps and web browsers/ websites use some of the standard Unix/ Linux shortcuts based on the ⌃ Control key:

Those shortcuts come from Emacs and shells adopted them.

musicale

I just wish Apple would get back to making decent electromechanical keyboards.

  • robin_reala

    I geniunely like typing on current Mac keyboards, but regardless: Apple wouldn’t add them to laptops due to space constraints, and on desktop you’ve got plenty of other great options for Mac-compatible keyboards.

    • musicale

      Yes, and I still want Apple to make a decent desktop-style electromechanical keyboard that I enjoy typing on. I (mostly) like Apple's design language and "it just works" Mac compatibility and convenience, but their current low-travel "magic" monstrosities are like laptop keyboards, where usability is compromised for portability.

      And although the long nightmare that was the butterfly keyboard ended in 2020, Apple laptop keyboards are still worse than they were in 2015.

      And of course third-party keyboards don't feature Touch ID.

hmyn

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.

jasomill

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.

pta2002

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!

[1]: https://store.storeimages.cdn-apple.com/1/as-images.apple.co... [2]: https://upload.wikimedia.org/wikipedia/commons/2/2c/KB_Portu...

  • pta2002

    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.

  • tom_

    Apple's UK layout is annoyingly slightly different from the usual PC one: https://www.thecandidstartup.org/2022/10/07/mac-british-keyb...

  • fossilwater

    French AZERTY on Windows and on Mac have quite some differences in symbol locations, also drives me crazy when switching to my mechanical keyboard.

    In AZERTY, the number row works differently. Unshifted gives symbols and commonly-used accented letters like "é" and "à", hold Shift to get a number.

    In Windows keyboard, the unshifted "number 8" key corresponds to a "_" while it's a "!" in Mac. The key below Esc on Windows is literally just the superscript 2 for some reason, on Mac it's "@" unshifted, "#" shifted. We also have a key for "μ" and for "§" in Windows.

    • LollipopYakuza

      French AZERTY on Mac doesn't make sense. It doesn't fully map the locations for common shortcuts. Example: cmd + ` on a lot of systems switches windows inside an app (very useful with macOS where cmd + tab circles through apps, not windows). But on the French version, the ` key is somewhere on the right of the 'm' and the shortcut is not replaced with whatever key is above tab.

anArbitraryOne

I thought ⌘ denoted a place of interest. I found many an interest spot just pulling off the road when seeing that

simonh

I come from a different era. Back in the 70s and 80s every home or business computer worked differently (BBC, Aplle ][, Spectrum, Commodore, etc); at Uni we used DOS computers, a Prime mini-computer and some stuff I can't remember; My first job was also using a Prime, and DOS, and various Unix workstations running Motif or OpenWindows. Getting used to a new way of doing things on almost every computer you rocked up to was the normal state of affairs. Kids these days.....

  • JdeBP

    Indeed. Try telling them that the BBC Micro keyboard had arrow keys that moved a 'copy cursor' about. We should probably never tell them about the ZX Spectrum keyboard. (-:

user3939382

I switched to Mac 20 years ago and am still mourning the loss of my Home and End keys. Karabiner doesn’t reliably fix it neither does anything else.

AceJohnny2

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.

  • silon42

    I immediately swapped the Alt/Cmd when I had to use a Mac...

    Regarding Fn even Thinkpad has now changed it so Ctrl is in the corner.

    • trq01758

      Older Thinkpads I encountered with Fn on the left had BIOS/UEFI setting for Fn/Ctrl swap

jdw64

I’ve only ever used Windows, so I think Windows is better.

miki123211

What I'd add is:

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.

  • ngcazz

    The dead accent key feature is super handy - it means I never have to leave the UK English layout to type in Portuguese. I don't know if that's available because I use the PC variant of the layout, though.

anonymous344

what is most awful, is that sublime text isnt the same with windows keyboard in mac, than it is in windows. and cannot be.. so had to abandon mac

phplovesong

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.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection