{
    "archive_path": "archive/1791540391.500538",
    "base_url": "unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs",
    "basename": "",
    "bookmarked_date": "2026-10-09 10:06",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=unsung.aresluna.org",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": "unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/index.html"
    },
    "domain": "unsung.aresluna.org",
    "extension": "",
    "hash": "54RBMH5H8SB943VEXDDJ",
    "history": {
        "archive_org": [],
        "dom": [],
        "favicon": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.google.com/s2/favicons?domain=unsung.aresluna.org"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-09T10:07:04.037373+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T10:07:03.275329+00:00",
                "status": "succeeded"
            },
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.google.com/s2/favicons?domain=unsung.aresluna.org"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-09T16:26:17.241309+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T16:26:16.454522+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--head",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-09T10:07:04.562761+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T10:07:04.046173+00:00",
                "status": "succeeded"
            },
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--head",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-09T16:26:17.783970+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T16:26:17.252560+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [],
        "media": [],
        "mercury": [
            {
                "cmd": [
                    "/app/node_modules/@postlight/parser/cli.js",
                    "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
                ],
                "cmd_version": "1.0.0",
                "end_ts": "2026-10-09T10:07:13.790525+00:00",
                "index_texts": null,
                "output": "mercury",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T10:07:09.395304+00:00",
                "status": "succeeded"
            },
            {
                "cmd": [
                    "/app/node_modules/@postlight/parser/cli.js",
                    "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
                ],
                "cmd_version": "1.0.0",
                "end_ts": "2026-10-09T16:26:25.996332+00:00",
                "index_texts": null,
                "output": "mercury",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T16:26:22.460258+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/app/node_modules/readability-extractor/readability-extractor",
                    "/tmp/tmpg5fawci3",
                    "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-10-09T10:07:09.385713+00:00",
                "index_texts": [
                    "Over the years, I learned about many gotchas and strange differences between keyboard handling on Mac and Windows \u2013 pertinent especially to web apps, which use the same codebase to cater to both. I thought it might be helpful to someone if I compile them all in one place.\nThis post is meant to be a reference, and there aren\u2019t any cute or riveting stories hiding inside \u2013 if this seems boring to you, feel free to skip to the next one!\nDifferent names for keys\nWhat Windows calls Backspace, Mac calls Delete. What Windows calls Delete, Macs call Forward Delete. (This means saying \u201cDelete\u201d without specifying the platform might actually be confusing.)\nWhat Windows calls \u23ce Enter, Mac calls \u23ce Return. However, Macs also have an \u2324 Enter, although only on a numeric keypad (previously, it was even there on laptops!). On keyboards without the physical Enter key, you can simulate it via Fn+Return. \nIn most Mac software, Enter and Return do the same thing. There are a few exceptions \u2013 for example, Photoshop adds a new line on Return but commits on Enter, and some classic pro apps like Cubase or Pro Tools do different things, too \u2013 but it seems to be a dying tradition. (If you are curious about the history of Return and Enter, I wrote about it once.)\nWindows customarily calls the secondary key Numpad Enter. I don\u2019t believe Fn+Enter works to simulate it.\nGenerally, third-party keyboards use Windows verbiage \u2013 so, Backspace and Enter. If a keyboard offers Mac conventions at all, they usually only extend to modifier keys.\nModifier keys\n\u2303 Control on Windows is the equivalent to \u2318 Command on a Mac. (Paste, for example, is \u2303V on Windows and \u2318V on a Mac.) But, confusingly, Apple devices still have a Control key, too. This was originally meant for terminal applications, but these days many GUI apps use it as an extra modifier key of much lesser significance than on Windows. \nThis means that for apps, Windows devices offer Ctrl, Alt, and Shift \u2013 and Macs offer \u2318 Command, \u2325 Option, \u2303 Control, and \u21e7 Shift. That\u2019s one more modifier key, and thus more space to breathe. (We\u2019re not counting the Windows key or the \ud83c\udf10 Globe/Fn key since those are technically reserved by the operating system.)\nSome keyboards offer extra key caps you can swap to match the platform, for example:\nOthers cover all the bases on fixed key caps, in an awkward way:\n\n        \n        \n        \n        \n        \n      \n\n        \n        \n        \n        \n        \n      \nMany stick with Windows-only legends.\nWords vs. symbols\nApple devices rely more on symbols on their keys and in their menus, although they don\u2019t do so consistently. Here are all of them:\n\n        \u21e7 Shift \n        \u2303 Control\n        \u2325 Option\n        \u2318 Command\n        \u23ce Return\n        \u2324 Enter\n        \ud83c\udf10 Globe/Fn\n        \u21e5 Tab\n        \u238b Esc (not printed on keyboards, for some reason)\n        \u232b Delete\n        \u2326 Forward Delete\n        \u2327 Clear\n        \u2263 Contextual Menu (only on full-size keyboards)\n        \u21de Page Up (only on full-size keyboards)\n        \u21df Page Down (only on full-size keyboards)\n        \u2196 Home (only on full-size keyboards)\n        \u2198 End (only on full-size keyboards)\n      \nActually, I lied about the last four. On modern Apple keyboards, they are:\n\n        \u2191 Page Up\n        \u2193 Page Down\n        \u2912 Home\n        \u2913 End\n      \nReusing the regular arrows for Page Up and Down is one of a few perplexing decisions from Apple\u2019s keyboard designers. The arrow key symbols look like this \u2013 \u25c0\u25b6\u25b2\u25bc \u2013 but only on Apple keyboards. Here is an older and a newer Apple keyboard showing what happened:\n (Luckily, the confusing dual arrow key situation only happens on less popular, full-size keyboards.)\nHistorically, Apple keyboards used symbols more on non-US keyboards, but starting with the 2026 models, they unified when they show symbols and when they show symbols and legends, across all keyboards. (The only key with just a text legend is Esc, making the appearance of \u238b in menus extra puzzling.)\n\nWindows keyboards typically use words \u2013 this is why in tight quarters you sometimes see shortenings like Ctrl, Bkspc, PrtSc, Del, PgUp, Win, and so on. (I don\u2019t think Apple ever abbreviates their legends with the exception of Esc for Escape.) In some countries, the legends are translated \u2013 as an example, in Germany, Ctrl sometimes appears as Strg.\nThe symbols that crossed over to Windows side are:\n\n        \u21e7 for Shift\n        \u21ea or \ud83d\udd12 or a similar symbol for Caps Lock (on non-US keyboards)\n        \u23ce for Enter \u2013 note the same arrow as Mac\u2019s \u23ce Return\n        \u2190 for Backspace \u2013 note a different arrow than Mac\u2019s \u232b Delete\n        \u21e5 for Tab (you can also sometimes see \u2b7e, which is a symbol representing Tab and Reverse Tab together; Reverse Tab used to be a separate key on some 1970s terminals)\n        \u229e for Windows key \u2013 the style of the logo will be different depending on the age of the keyboard, roughly matching the Windows logo at the time; some keyboards also use a more abstract shape, or call the key Start or System instead of Windows\n        \u2263 for contextual menu key (a.k.a. Application Key) \u2013 just as Apple added that key on its large keyboards, Microsoft started removing it in favor of emoji key, Office key, and then Copilot key\n        \u2303 for Control (especially in nerdy contexts)\n      \nI have not seen any other popular symbols on the Windows side of the aisle, and I am not even sure if the above would be widely understood. But here\u2019s an example:\n\n        \n        \n        \n        \n        \n      \n(I wrote a bit more about Mac symbols before, and also about the rare Canadian symbols.)\nHow to show shortcuts\nIn menus and other places, Windows joins the key combinations/\u200bshortcuts with a plus, but Apple just glues them together:\n\n        Windows: Shift+A, Ctrl+Shift+G, Ctrl+F11, Alt+Enter\n        Mac: \u21e7A, \u2303\u21e7G, \u2318F11, \u2325\u23ce\n      \nHere is the same Chrome menu on Windows and on macOS:\n(In other words, you\u2019d never say \u201c\u2303V is Paste on Windows\u201d like I did above.)\nFunction keys\nBoth Windows and Macs have function keys. \nOn Windows, traditionally those were claimed by the operating system or the apps as shortcuts. Here are some examples of well-known function key assignments:\n\n        Alt+F4 \u2013 close the app\n        F1 \u2013 help\n        F11 \u2013 maximize window\n        F12 \u2013 dev tools in browsers\n      \nOn Macs, traditionally the apps didn\u2019t reach for function keys, as those were reserved solely for the users to do stuff with. (However, some combination of \u2303 and function keys are used by the operating system for accessibility options, and I occasionally see apps use function keys these days.)\nWindows keyboards top off at F12, but some Mac keyboards reuse the three special PC keys, and even take over the unnecessary Num Lock/\u200bCaps Lock/\u200bScroll Lock island, and end up going up to F19:\n\n        \n        \n        \n        \n        \n      \nAccess to extra characters\nIn text fields, Apple has a system where pressing \u2325 with printing keys outputs more characters, for example \u2325Q outputs \u0153, and \u23257 outputs a \u00b6 pilcrow. Additionally, \u21e7 works in this context, so for example \u2325\u21e7Q outputs \u0152, and \u2325\u21e77 outputs a \u2021 double dagger.\n\n        \n        \n        \n        \n        \n      \nNote that not only letters, but basically all printing keys have secret \u2325 and \u2325\u21e7 assignments.\nAlso, \u2325 assignments vary per location! The above was U.S. English, here\u2019s Polish with a lot of differences:\n\n        \n        \n        \n        \n        \n      \nThis means it\u2019s best to avoid \u2325-based shortcuts in text fields, since they might conflict with some important character.\nBy the way, while the above two are just mock-ups, on some physical keyboards (here: British English), some of the important \u2325 invocations are actually printed on keys:\n\n        \n        \n        \n        \n        \n      \n\nWindows doesn\u2019t have the above feature. However, Windows has an alternative feature where typing Alt+numpad keys allows to enter any character by its code. (For example, Alt+0128 outputs \u20ac. Num Lock has to be enabled. I don\u2019t think it\u2019s possible to do it without a numeric keypad present.)\nMac has a version of this feature, but it requires adding Unicode Hex Input keyboard and switching to it beforehand. Then, pressing \u232520AC outputs \u20ac. \nRight Alt key on Windows\nWhile Mac modifier keys are completely symmetrical, Windows makes an exception for Alt. On many non-US keyboards, right Alt is also known as AltGr, and does something similar to \u2325 on a Mac: it outputs letters when pressed in combination with printing keys.\nFor example, on Polish keyboards AltGr+A = \u0105, AltGr+C = \u0107, AltGr+Shift+A = \u0104, and so on with 15 more combinations. Many other keyboards do similar things.\nThe way it differs from \u2325 on a Mac is that these are usually reserved for core letters and punctuation necessary for each language, rather than the typographical smorgasbord that Apple provides.\nFor legacy reasons, and also for keyboards that do not have a physical AltGr key, you can also invoke all these using Ctrl+Alt combinations instead (so, Ctrl+Alt+A = \u0105). This means that just as you have to be careful about \u2325-based shortcuts in text fields on a Mac, so you should be of Ctrl+Alt-based shortcuts on Windows.\nJust like on Macs, on some keyboards, selected AltGr options will be printed in the corners or fronts of keys:\n\n        \n        \n        \n        \n        \n      \nText fields\nText fields in Mac OS apps and web browsers/\u200bwebsites use some of the standard Unix/\u200bLinux shortcuts based on the \u2303 Control key:\n\n        \u2303A \u2013 move to the beginning of the line\n        \u2303E \u2013 move to the end of the line\n        \u2303F \u2013 move to the right, or forwards (hold \u2325 to jump through words)\n        \u2303B \u2013 move to the left, or backwards (hold \u2325 to jump through words)\n        \u2303N \u2013 move down or to the next command\n        \u2303P \u2013 move up or to the previous command\n        \u2303L \u2013 scroll the window so that the text cursor is in the vertical middle\n        \u2303H \u2013 delete (backspace)\n        \u2303D \u2013 forward delete\n        \u2303K \u2013 delete (kill) to the end of the line\n        \u2303T \u2013 swap (transpose) the adjacent characters\n        \u2303O \u2013 insert new line, but (contrary to Return) do not move the cursor there\n      \nYou can combine many of the above with holding \u21e7 to extend the selection.\nA small group of vocal users love these. \n\nWindows still supports Shift+Delete for cut, Ctrl+Insert for copy, and Shift+Insert for paste. I am not sure how many people use these.\n\nOn a Mac, in simple input fields, \u2191 and \u2193 jumps to the beginning and end (same as \u2318\u2190\u2192). This often conflicts with command line history, autocomplete pop-ups, and so on. \nWindows doesn\u2019t have this convention, and Home and End serve this purpose instead.\n\nMacs support the iPhone-inspired convention of holding a key to show related accented characters, instead of triggering auto-repeat. Windows doesn\u2019t have this feature.\n\n\n        \n        \n        \n        \n        \n      \nDiffering shortcut conventions worth knowing about\nOn a Mac, redo is typically \u2318\u21e7Z. On Windows, it\u2019s typically Ctrl+Y.\nOn a Mac, refresh (in browsers, etc.) is typically \u2318R. On Windows, it\u2019s typically F5, although some browsers now support Ctrl+R, too, presumably since function keys are harder to access than they used to be.\nReserved keys\nWindows\u2019s eponymous \u229e Windows key is reserved solely for the use of the operating system, and so is Mac\u2019s \ud83c\udf10 Fn/\u200bGlobe key. (Although I am not 100% sure of that as I found one place you can create \ud83c\udf10 shortcuts as a user \u2013 I\u2019m just not certain if it\u2019s intentional.)\nHowever, each platform also has a lot of shortcut combinations that are effectively unavailable, for example \u2318\u21e5 and \u2318M on a Mac, or Alt+Tab and Ctrl+Shift+Escape on Windows.\nThese official lists can help:\n\n        Mac keyboard shortcuts\n        Keyboard shortcuts in Windows\n      \nIf you\u2019re a web app, you will compete for shortcuts with the operating system (like any app would), but also with the browser itself. You can typically take over shortcuts like \u2318S or \u2318P, but depending on the browser or the platform, some might be sacred and unavailable. No Mac browser will allow a website to claim \u2318Q, \u2318W, or \u2318T. Safari won\u2019t allow a web app to override \u2318R. Arc browser won\u2019t allow to override \u2318\u21e7C. (This is not a complete list.)\nJumping around\nTabbing and Shift tabbing is customarily used to jump between UI elements, but it behaves slightly differently in native apps.\nOn Windows, tabbing jumps through all elements:\n\n\n\n        \n          \n          \n          \n          \n          \n          \n          \n        \nOn Mac, Tab jumps only to elements that require keyboard to operate (such as input fields). You can toggle a System Settings preference and ask macOS to mimic Windows behaviour \u2013 see the last toggle below \u2013 but it\u2019s not supported well everywhere.\n\n        \n        \n        \n        \n        \n      \n\nPgUp and PgDn work differently:\n\n        On Windows, they move the text cursor a screen up or down.\n        On a Mac, they scroll the view up and down, but they do not move the text cursor if it\u2019s present (so, they are more an equivalent of clicking on the scrollbar chute).\n      \nSimilarly, Home and End work differently:\n\n        On Windows, they scroll the contents (and move the cursor if present) to the top or the bottom of a view, or move the cursor to the beginning or the end of an input field.\n        On a Mac, in views they scroll to the beginning or end without moving the cursor. In input fields, Home/End do nothing, but you can use \u2318\u2190\u2192 to accomplish the same.\n      \nOn both platforms, Fn+\u2191\u2193 does PgUp/\u200bPgDn, and Fn+\u2190\u2192 does Home/End. (Do you see how confusing it is to say that given that \u2191\u2193 already mean PgUp/Dn on a Mac?)\n\nWindows has a tradition of enabling access to menus and visible controls by pressing Alt and letter keys. This has evolved over time and is not as consistent as it used to be, but it might be worth knowing about.\nLess popular keys\nOn a 100-plus-key keyboard, Windows might have:\n\n        Insert \u2013 still used in some contexts for overtyping\n        Print Screen \u2013 today taken over by screenshotting\n        Num Lock and Scroll Lock\n        Pause/\u200bBreak\n      \n\n\n        \n        \n        \n        \n        \n      \nMacs have:\n\n        Help \u2013 rarely used, and now abandoned in favor of\u2026\n        \u2263 Contextual Menu \u2013 shows the same menu as right click would\n        \u2327 Clear \u2013 a deterministic backspace, these days seldomly different than the actual Delete key\n      \n\n        \n        \n        \n        \n        \n      \nMacs never had arrow keys on a numeric keypad nor a Num Lock key to enable it. (I\u2019m breaking my promise! Here\u2019s a fun bug story about Num Lock.)\nIn a strange twist of fate, it\u2019s not only third-party keyboards that favor Windows legends. Some of Apple\u2019s keyboards in between 1980s and 2000s showed PC legends, too! (This was to court PC compatibility of then-beleaguered Macs.) Here\u2019s the classic Apple Extended Keyboard, showing legends for Insert, Delete (naming it Del to avoid confusion with its own), Print Screen, Scroll Lock, Pause, Num Lock, and Alt:\n\n        \n        \n        \n        \n        \n      \nDid I miss anything or make a mistake? Let me know!"
                ],
                "output": "readability",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T10:07:07.529072+00:00",
                "status": "succeeded"
            },
            {
                "cmd": [
                    "/app/node_modules/readability-extractor/readability-extractor",
                    "/tmp/tmpgkkwjqnx",
                    "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-10-09T16:26:22.443789+00:00",
                "index_texts": [
                    "Over the years, I learned about many gotchas and strange differences between keyboard handling on Mac and Windows \u2013 pertinent especially to web apps, which use the same codebase to cater to both. I thought it might be helpful to someone if I compile them all in one place.\nThis post is meant to be a reference, and there aren\u2019t any cute or riveting stories hiding inside \u2013 if this seems boring to you, feel free to skip to the next one!\nDifferent names for keys\nWhat Windows calls Backspace, Mac calls Delete. What Windows calls Delete, Macs call Forward Delete. (This means saying \u201cDelete\u201d without specifying the platform might actually be confusing.)\nWhat Windows calls \u23ce Enter, Mac calls \u23ce Return. However, Macs also have an \u2324 Enter, although only on a numeric keypad (previously, it was even there on laptops!). On keyboards without the physical Enter key, you can simulate it via Fn+Return. \nIn most Mac software, Enter and Return do the same thing. There are a few exceptions \u2013 for example, Photoshop adds a new line on Return but commits on Enter, and some classic pro apps like Cubase or Pro Tools do different things, too \u2013 but it seems to be a dying tradition. (If you are curious about the history of Return and Enter, I wrote about it once.)\nWindows customarily calls the secondary key Numpad Enter. I don\u2019t believe Fn+Enter works to simulate it.\nGenerally, third-party keyboards use Windows verbiage \u2013 so, Backspace and Enter. If a keyboard offers Mac conventions at all, they usually only extend to modifier keys.\nModifier keys\n\u2303 Control on Windows is the equivalent to \u2318 Command on a Mac. (Paste, for example, is \u2303V on Windows and \u2318V on a Mac.) But, confusingly, Apple devices still have a Control key, too. This was originally meant for terminal applications, but these days many GUI apps use it as an extra modifier key of much lesser significance than Control on Windows. \nThis means that for apps, Windows devices offer Ctrl, Alt, and Shift \u2013 and Macs offer \u2318 Command, \u2325 Option, \u2303 Control, and \u21e7 Shift. That\u2019s one more modifier key, and thus more space to breathe. (We\u2019re not counting the Windows key or the \ud83c\udf10 Globe/Fn key since those are technically reserved by the operating system.)\nSome keyboards offer extra key caps you can swap to match the platform, for example:\nOthers cover all the bases on fixed key caps, in an awkward way:\n\n        \n        \n        \n        \n        \n      \n\n        \n        \n        \n        \n        \n      \nMany stick with Windows-only legends.\n(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 \u2325, and the code for \u2318 is the same as the code for \u229e.)\nWords vs. symbols\nApple devices rely more on symbols on their keys and in their menus, although they don\u2019t do so consistently. Here are all of them:\n\n        \u21e7 Shift \n        \u2303 Control\n        \u2325 Option\n        \u2318 Command\n        \u23ce Return\n        \u2324 Enter\n        \ud83c\udf10 Globe/Fn\n        \u21e5 Tab\n        \u238b Esc (not printed on keyboards, for some reason)\n        \u232b Delete\n        \u2326 Forward Delete\n        \u2327 Clear\n        \u2263 Contextual Menu (only on full-size keyboards)\n        \u21de Page Up (only on full-size keyboards)\n        \u21df Page Down (only on full-size keyboards)\n        \u2196 Home (only on full-size keyboards)\n        \u2198 End (only on full-size keyboards)\n      \nActually, I lied about the last four. On modern Apple keyboards, they are:\n\n        \u2191 Page Up\n        \u2193 Page Down\n        \u2912 Home\n        \u2913 End\n      \nReusing the regular arrows for Page Up and Down is one of a few perplexing decisions from Apple\u2019s keyboard designers. The arrow key symbols look like this \u2013 \u25c0\u25b6\u25b2\u25bc \u2013 but only on Apple keyboards. Here is an older and a newer Apple keyboard showing what happened:\n (Luckily, the confusing dual arrow key situation only happens on less popular, full-size keyboards.)\nHistorically, Apple keyboards used symbols more on non-US keyboards, but starting with the 2026 models, they unified when they show symbols and when they show symbols and legends, across all keyboards. (The only key with just a text legend is Esc, making the appearance of \u238b in menus extra puzzling.)\n\nWindows keyboards typically use words \u2013 this is why in tight quarters you sometimes see shortenings like Ctrl, Bkspc, PrtSc, Del, PgUp, Win, and so on. (I don\u2019t think Apple ever abbreviates their legends with the exception of Esc for Escape.) In some countries, the legends are translated \u2013 as an example, in Germany, Ctrl sometimes appears as Strg.\nThe symbols that crossed over to Windows side are:\n\n        \u21e7 for Shift\n        \u21ea or \ud83d\udd12 or a similar symbol for Caps Lock (on non-US keyboards)\n        \u23ce for Enter \u2013 note the same arrow as Mac\u2019s \u23ce Return\n        \u2190 for Backspace \u2013 note a different arrow than Mac\u2019s \u232b Delete\n        \u21e5 for Tab (you can also sometimes see \u2b7e, which is a symbol representing Tab and Reverse Tab together; Reverse Tab used to be a separate key on some 1970s terminals)\n        \u229e for Windows key \u2013 the style of the logo will be different depending on the age of the keyboard, roughly matching the Windows logo at the time; some keyboards also use a more abstract shape, or call the key Start or System instead of Windows\n        \u2263 for contextual menu key (a.k.a. Application Key) \u2013 just as Apple added that key on its large keyboards, Microsoft started removing it in favor of emoji key, Office key, and then Copilot key\n        \u2303 for Control (especially in nerdy contexts)\n      \nI have not seen any other popular symbols on the Windows side of the aisle, and I am not even sure if the above would be widely understood. But here\u2019s an example:\n\n        \n        \n        \n        \n        \n      \n(I wrote a bit more about Mac symbols before, and also about the rare Canadian symbols.)\nHow to show shortcuts\nIn menus and other places, Windows joins the key combinations/\u200bshortcuts with a plus, but Apple just glues them together:\n\n        Windows: Shift+A, Ctrl+Shift+G, Ctrl+F11, Alt+Enter\n        Mac: \u21e7A, \u2303\u21e7G, \u2318F11, \u2325\u23ce\n      \nHere is the same Chrome menu on Windows and on macOS:\n(In other words, you\u2019d never say \u201c\u2303V is Paste on Windows\u201d like I did above.)\nFunction keys\nBoth Windows and Macs have function keys. \nOn Windows, traditionally those were claimed by the operating system or the apps as shortcuts. Here are some examples of well-known function key assignments:\n\n        Alt+F4 \u2013 close the app\n        F1 \u2013 help\n        F11 \u2013 maximize window\n        F12 \u2013 dev tools in browsers\n      \nOn Macs, traditionally the apps didn\u2019t reach for function keys, as those were reserved solely for the users to do stuff with. (However, some combination of \u2303 and function keys are used by the operating system for accessibility options, and I occasionally see apps use function keys these days.)\nWindows keyboards top off at F12, but some Mac keyboards reuse the three special PC keys, and even take over the unnecessary Num Lock/\u200bCaps Lock/\u200bScroll Lock island, and end up going up to F19:\n\n        \n        \n        \n        \n        \n      \nAccess to extra characters\nIn text fields, Apple has a system where pressing \u2325 with printing keys outputs more characters, for example \u2325Q outputs \u0153, and \u23257 outputs a \u00b6 pilcrow. Additionally, \u21e7 works in this context, so for example \u2325\u21e7Q outputs \u0152, and \u2325\u21e77 outputs a \u2021 double dagger.\n\n        \n        \n        \n        \n        \n      \nNote that not only letters, but basically all printing keys have secret \u2325 and \u2325\u21e7 assignments. (Also note some of these are dead keys.)\nAlso, \u2325 assignments vary per location! The above was U.S. English, here\u2019s Polish with a lot of differences:\n\n        \n        \n        \n        \n        \n      \nThis means it\u2019s best to avoid \u2325-based shortcuts in text fields, since they might conflict with some important character.\nBy the way, while the above two are just mock-ups, on some physical keyboards (here: British English), some of the important \u2325 invocations are actually printed on keys:\n\n        \n        \n        \n        \n        \n      \n\nWindows doesn\u2019t have the above feature. However, Windows has an alternative feature where typing Alt+numpad keys allows to enter any character by its code. (For example, Alt+0128 outputs \u20ac. Num Lock has to be enabled. I don\u2019t think it\u2019s possible to do it without a numeric keypad present.)\nMac has a version of this feature, but it requires adding Unicode Hex Input keyboard and switching to it beforehand. Then, pressing \u232520AC outputs \u20ac. \nRight Alt key on Windows\nWhile Mac modifier keys are completely symmetrical, Windows makes an exception for Alt. On many non-US keyboards, right Alt is also known as AltGr, and does something similar to \u2325 on a Mac: it outputs letters when pressed in combination with printing keys.\nFor example, on Polish keyboards AltGr+A = \u0105, AltGr+C = \u0107, AltGr+Shift+A = \u0104, and so on with 15 more combinations. Many other keyboards do similar things.\nThe way it differs from \u2325 on a Mac is that these are usually reserved for core letters and punctuation necessary for each language, rather than the typographical smorgasbord that Apple provides.\nFor legacy reasons, and also for keyboards that do not have a physical AltGr key, you can also invoke all these using Ctrl+Alt combinations instead (so, Ctrl+Alt+A = \u0105). This means that just as you have to be careful about \u2325-based shortcuts in text fields on a Mac, so you should be of Ctrl+Alt-based shortcuts on Windows.\nJust like on Macs, on some keyboards, selected AltGr options will be printed in the corners or fronts of keys:\n\n        \n        \n        \n        \n        \n      \nText fields\nText fields in Mac OS apps and web browsers/\u200bwebsites use some of the standard Unix/\u200bLinux shortcuts based on the \u2303 Control key:\n\n        \u2303A \u2013 move to the beginning of the line\n        \u2303E \u2013 move to the end of the line\n        \u2303F \u2013 move to the right, or forwards (hold \u2325 to jump through words)\n        \u2303B \u2013 move to the left, or backwards (hold \u2325 to jump through words)\n        \u2303N \u2013 move down or to the next command\n        \u2303P \u2013 move up or to the previous command\n        \u2303L \u2013 scroll the window so that the text cursor is in the vertical middle\n        \u2303H \u2013 delete (backspace)\n        \u2303D \u2013 forward delete\n        \u2303K \u2013 delete (kill) to the end of the line\n        \u2303T \u2013 swap (transpose) the adjacent characters\n        \u2303O \u2013 insert new line, but (contrary to Return) do not move the cursor there\n      \nYou can combine many of the above with holding \u21e7 to extend the selection.\nA small group of vocal users love these. \n\nWindows still supports Shift+Delete for cut, Ctrl+Insert for copy, and Shift+Insert for paste. I am not sure how many people use these.\n\nOn a Mac, in simple input fields, \u2191 and \u2193 jumps to the beginning and end (same as \u2318\u2190\u2192). This often conflicts with command line history, autocomplete pop-ups, and so on. \nWindows doesn\u2019t have this convention, and Home and End serve this purpose instead.\n\nMacs support the iPhone-inspired convention of holding a key to show related accented characters, instead of triggering auto-repeat. Windows doesn\u2019t have this feature.\n\n\n        \n        \n        \n        \n        \n      \nDiffering shortcut conventions worth knowing about\nOn a Mac, redo is typically \u2318\u21e7Z. On Windows, it\u2019s typically Ctrl+Y.\nOn a Mac, refresh (in browsers, etc.) is typically \u2318R. On Windows, it\u2019s typically F5, although browsers support Ctrl+R, too, and seem to be shifting to that being the default.\nReserved keys\nWindows\u2019s eponymous \u229e Windows key is reserved solely for the use of the operating system, and so is Mac\u2019s \ud83c\udf10 Fn/\u200bGlobe key. (Although I am not 100% sure of that as I found one place you can create \ud83c\udf10 shortcuts as a user \u2013 I\u2019m just not certain if it\u2019s intentional.)\nHowever, each platform also has a lot of shortcut combinations that are effectively unavailable, for example \u2318\u21e5 and \u2318M on a Mac, or Alt+Tab and Ctrl+Shift+Escape on Windows.\nThese official lists can help:\n\n        Mac keyboard shortcuts\n        Keyboard shortcuts in Windows\n      \nIf you\u2019re a web app, you will compete for shortcuts with the operating system (like any app would), but also with the browser itself. You can typically take over shortcuts like \u2318S or \u2318P, but depending on the browser or the platform, some might be sacred and unavailable. No Mac browser will allow a website to claim \u2318Q, \u2318W, or \u2318T. Safari won\u2019t allow a web app to override \u2318R. Arc browser won\u2019t allow to override \u2318\u21e7C. (This is not a complete list.)\nJumping around\nTabbing and Shift tabbing is customarily used to jump between UI elements, but it behaves slightly differently in native apps.\nOn Windows, tabbing jumps through all elements:\n\n\n\n        \n          \n          \n          \n          \n          \n          \n          \n        \nOn Mac, Tab jumps only to elements that require keyboard to operate (such as input fields). You can toggle a System Settings preference and ask macOS to mimic Windows behaviour \u2013 see the last toggle below \u2013 but it\u2019s not supported well everywhere.\n\n        \n        \n        \n        \n        \n      \n\nPgUp and PgDn work differently:\n\n        On Windows, they move the text cursor a screen up or down.\n        On a Mac, they scroll the view up and down, but they do not move the text cursor if it\u2019s present (so, they are more an equivalent of clicking on the scrollbar chute).\n      \nSimilarly, Home and End work differently:\n\n        On Windows, they scroll the contents (and move the cursor if present) to the top or the bottom of a view, or move the cursor to the beginning or the end of an input field.\n        On a Mac, in views they scroll to the beginning or end without moving the cursor. In input fields, Home/End do nothing, but you can use \u2318\u2190\u2192 to accomplish the same.\n      \nOn both platforms, Fn+\u2191\u2193 does PgUp/\u200bPgDn, and Fn+\u2190\u2192 does Home/End. (Do you see how confusing it is to say that given that \u2191\u2193 already mean PgUp/Dn on a Mac?)\n\nWindows has a tradition of enabling access to menus and visible controls by pressing Alt and letter keys. This has evolved over time and is not as consistent as it used to be, but it might be worth knowing about.\nLess popular keys\nOn a 100-plus-key keyboard, Windows might have:\n\n        Insert \u2013 still used in some contexts for overtyping\n        Print Screen \u2013 today taken over by screenshotting\n        Num Lock and Scroll Lock\n        Pause/\u200bBreak\n      \n\n\n        \n        \n        \n        \n        \n      \nMacs have:\n\n        Help \u2013 rarely used, and now abandoned in favor of\u2026\n        \u2263 Contextual Menu \u2013 shows the same menu as right click would\n        \u2327 Clear \u2013 a deterministic backspace, these days seldomly different than the actual Delete key\n      \n\n        \n        \n        \n        \n        \n      \nMacs never had arrow keys on a numeric keypad nor a Num Lock key to enable it. (I\u2019m breaking my promise! Here\u2019s a fun bug story about Num Lock.)\nIn a strange twist of fate, it\u2019s not only third-party keyboards that favor Windows legends. Some of Apple\u2019s keyboards in between 1980s and 2000s showed PC legends, too! (This was to court PC compatibility of then-beleaguered Macs.) Here\u2019s the classic Apple Extended Keyboard, showing legends for Insert, Delete (naming it Del to avoid confusion with its own), Print Screen, Scroll Lock, Pause, Num Lock, and Alt:\n\n        \n        \n        \n        \n        \n      \nDid I miss anything or make a mistake? Let me know!"
                ],
                "output": "readability",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T16:26:20.308061+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-09T10:07:07.521216+00:00",
                "index_texts": null,
                "output": "Deeper dive: Keyboard differences between Windows and Macs \u2013 Unsung",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T10:07:07.502384+00:00",
                "status": "succeeded"
            },
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-09T16:26:20.300090+00:00",
                "index_texts": null,
                "output": "Deeper dive: Keyboard differences between Windows and Macs \u2013 Unsung",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T16:26:20.277167+00:00",
                "status": "succeeded"
            }
        ],
        "wget": [
            {
                "cmd": [
                    "wget",
                    "--no-verbose",
                    "--adjust-extension",
                    "--convert-links",
                    "--force-directories",
                    "--span-hosts",
                    "--no-parent",
                    "-e",
                    "robots=off",
                    "--reject=js,mjs,woff,woff2,ttf,otf,eot,mp4,m4v,mov,webm,ogv,mkv,avi,flv",
                    "--timeout=120",
                    "--restrict-file-names=windows",
                    "--page-requisites",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3",
                    "--compression=auto",
                    "--timestamping",
                    "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
                ],
                "cmd_version": "GNU Wget 1.21.3",
                "end_ts": "2026-10-09T10:07:07.494040+00:00",
                "index_texts": null,
                "output": "unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/index.html",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T10:07:04.573573+00:00",
                "status": "succeeded"
            },
            {
                "cmd": [
                    "wget",
                    "--no-verbose",
                    "--adjust-extension",
                    "--convert-links",
                    "--force-directories",
                    "--span-hosts",
                    "--no-parent",
                    "-e",
                    "robots=off",
                    "--reject=js,mjs,woff,woff2,ttf,otf,eot,mp4,m4v,mov,webm,ogv,mkv,avi,flv",
                    "--timeout=120",
                    "--restrict-file-names=windows",
                    "--page-requisites",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3",
                    "--compression=auto",
                    "--timestamping",
                    "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
                ],
                "cmd_version": "GNU Wget 1.21.3",
                "end_ts": "2026-10-09T16:26:20.266968+00:00",
                "index_texts": null,
                "output": "unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/index.html",
                "pwd": "/data/archive/1791540391.500538",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-09T16:26:17.793829+00:00",
                "status": "succeeded"
            }
        ]
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": null,
        "dom": null,
        "favicon": "favicon.ico",
        "git": null,
        "media": null,
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "Deeper dive: Keyboard differences between Windows and Macs \u2013 Unsung",
        "warc": null,
        "wget": "unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/index.html"
    },
    "link_dir": "/data/archive/1791540391.500538",
    "newest_archive_date": "2026-10-09T16:26:22.460258+00:00",
    "num_failures": 0,
    "num_outputs": 12,
    "oldest_archive_date": "2026-10-09T10:07:03.275329+00:00",
    "path": "/deeper-dive-keyboard-differences-between-windows-and-macs/",
    "schema": "Link",
    "scheme": "https",
    "snapshot_id": "278aa831-4ab4-4411-bfec-4cf0d02cda61",
    "sources": [
        "/data/sources/1791540391-import.txt"
    ],
    "tags": ",war-wiki",
    "tags_str": "war-wiki",
    "timestamp": "1791540391.500538",
    "title": "Deeper dive: Keyboard differences between Windows and Macs \u2013 Unsung",
    "updated": "2026-10-09T16:26:16.454272+00:00",
    "updated_date": "2026-10-09 16:26",
    "url": "https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/"
}