Tapping modifiers keys is something you might want to do.
I know many people on smaller keyboards map a single Control tap as ESC.
The only thing special about windows, is that the OS gets to own the Win key completely, which is something not too crazy and I sort of like the idea of ensuring their global shortcuts are always available.
It is crazy because it's a huge waste of relatively ergonomic real estate (win key has a better position than control as you can use your thumb), and the OS isn't competent enough to utilize the whole layer better than what a user/app could do (they couldn't even do window management with Win key good), so its global shortcuts shouldn't always be available
I tried it but this double duty doesn’t work for me. I’m pretty sure I also tried the Caps Lock as Esc but also as Ctrl. Well the main problem was just using the pinky on it so much. I’d rather do a left-up smack on the Esc key with the ring finger.
The crux of the matter is that I want to change my minds and/or not have to think about pressing a key and then bailing out. If it’s just a modifier key then no problem. What’s annoying is the specification “Windows-key”, and Windows OS-ification of it; that the single-key press causes an overwrought compositor animation where you get some gallery of the open applications. That’s even worse.
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.
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.
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.
Most newer keyboards I know have a toggle so the CMD and ALT switch in software. I had to switch from Mac to Win and Linux so often that I simply kept my CMD key where Super or Win is located and got used to it. Still sometimes weird when I use an actual Mac keyboard.
I do this as well as swap command/option on the built in keyboards. It works great for me switching between my own computers/OSes but always a second of re-calibration when I touch someone else's Macbook.
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?
Of (home,end,pgup,pgdown,delete,backspace) the mac has just backspace. And they have just a single control key and such. Clearly the mac keyboard is designed by people that have no idea how to type. There's no "standard windows keyboard" anymore, but even the worst is still worlds better than whatever apple puts out.
I significantly prefer the Mac way of chording Option or Command with arrow keys to achieve those functions. One of the main reasons I can't get used to Linux desktops is that I can't use Opt-arrow to navigate by word and Cmd-arrow to navigate by line. Cmd-arrow makes much more sense than a dedicated Home and End button imho.
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.
I entirely agree. At $NEWJOB, I had a Linux laptop for a bit while a Mac was on backorder.
Not being able to cut/paste easily because every tool used the Control key for something different, especially in the terminal, was infuriating.
Having the command key handle these kinds of GUI-focused interactions, and Control for most of the terminal-centric and text manipulation (Ctrl-A/E for beginning/end of line, from Emacs) makes the system great to work with.
I didn't mind anything else about my foray into Linux as a desktop OS. If we could get a Linux GUI distro that all it did was match the Mac command key paradigm, I think it would make a lot of people happy.
Shift+Insert will let you paste anywhere. It's an IBM thing historically, I believe, and it works pretty much anywhere. Also useful for websites that try to block normal ctrl+v.
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.
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.
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?
Ok but Ctrl+C didn't get rebound. What would you rebind it to?
We're having two different arguments. I am arguing what is and what exists. There are two largely systems in place: the NeXTSTEP lineage where Ctrl is left to do what it has always done for 40+ years, and GUI shortcuts live on a different key, and the IBM CUA/Windows inspired lineage where Linux DEs copied the CUA shortcuts for GUI actions in perhaps some ideal of competing with Windows, and overloaded Ctrl resulting in a shitty experience that continues to this day.
You are arguing some world that could exist that you have not really described or fleshed out beyond "well any of those keyboard shortcuts could have been different or changed". OK? Wow. Sure. We could put Copy on Super+Shift+W, we could throw away keyboards all together and use telegraph keys and Morse code. We could do anything. I don't care? Coulds are not interesting unless you're going to bother explaining why we should do some hypothetical "throw away every keyboard shortcut from the last 40+ years" and show the work of "here's a better future that we could have if we chose to". I never said we "can't change the first-claimed shortcut". You simply haven't demonstrated any reason we should.
> 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.)
Historically, of course, copy and paste on a Unix machine has been a mouse thing. 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 a two part motion/action of select/control-C and click/control-V. It’s boiled down to just select and middle-click.
Separately, you can often use shift-Insert to paste the primary buffer.
I only recently learned that when using the MacOS trackpad with the terminal, you can simulate a middle button click to paste: Highlight some text anywhere in the console, drag it a little and let go. As you pull the text, a little green arrow will pop up and when you let go of the drag (anywhere) it'll paste the text into the prompt, just like middle click does.
Maybe everyone has known this forever and I'm the last to find out, but I thought I'd share as it was a revelation. I middle click all the time when using a mouse, so it was nice to finally discover a replacement while using the trackpad.
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`.
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
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.
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.
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.
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.
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.
> Am I the only one who finds this astoundingly frustrating?
No, you’re not. That’s why I tend to use the archaic shift-insert and control-insert shortcuts for copy and paste on Windows. On Linux I just deal with it and curse a lot.
I love that on macOS all in-app shortcuts are Command+Something, like Q for Quit, W to close a window, and Control is usually for system-wide shortcuts
..while Windows is all over the place. Like why the heck is Alt+F4 used to quitting an app?? What does 4 stand for here? Death in Japanese and Chinese!?
CUA is a union of Mac like mnemonic command keys on Ctrl plus another set (from IBM/Motif perhaps) that use shift+insert,delete etc.
Alt+F4 through Alt+F9 are for Window Menu operations, like minimize, max. etc. Some besides Alt+F4:Close still work on older window managers, I remember SGI supported all of them.
Newer ones tend to hide or even disable the whole menu!
Even Windows as it is further lobotomized.
> I love that on macOS all in-app shortcuts are consistently Command+Something, like Q for Quit, W to close a window
Yeah consistency is great, similarly cmd+t closes a tab, wait cmd+w closes a tab not a window. and cmd+w in vlc does not close vlc, cmd+w in finder does close the window.
Apple commands are not always Command+Something. Go ahead, try to reopen the last closed tab on anything you're using, with the keyboard. Whooops, you pressed three keys. Also try to take a partial screen shot or record the screen. Hey, buddy, what the heck? Why did you press 4 and 5? What do 4 and 5 even mean?
You really didn't have to create a new account to say all that and still end up wrong:
> 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.
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 region for a screen shot, and 5 includes the time dimension, of course :)
It's [Alt]+[F4] because before being translated to a GUI setting where [Alt] modifiers denoted things that were the same across all applications, 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.
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).
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
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.
Asahi and GNOME teams, please take this as an guide to implement ”Mac input compatibility mode”!
Dual booting between a MacOS and Linux is a painful process of manual keyboard and shorcut overrides to get the linux side somewhat to the (better) mac way of doing this.
Omarchy does a pretty good job of this. Super+C, Super+V works everywhere, even the terminal in a consistent way. But there are exceptions to super acting like MacOS command, like if you want to select all, then copy you have to do the Ctrl+A, Super+C jujitsu.
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.
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).
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.
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.
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?").
This is a bit exaggerated... It's not really painful. I worked in a newspaper. The whole designers department moved to PCs when OS10 (a.k.a. OSX) came out. This also coincided with moving from QuarkXPress to InDesign.
Some nice things had been lost, some nice things had been found. Maybe it's also because OSX was also somewhat of a downgrade from OS8/OS9 in terms of user experience. Especially, Finder became a lot worse. So, people didn't feel very motivated to upgrade, and it made the switch easier... But, overall, there was very little struggle, the time we'd spend setting up the newspaper / magazine for print didn't really change.
Well... now, when I think about it, most of us used PCs at home. So, maybe it's not a fair comparison. But, even people who had Macs as their home / personal computers didn't seem to have any issue with the switch.
I think, some people kept the keyboards that came with G3/G4 (the clear heavy plastic ones with black key caps). They could be used with PCs. People didn't keep them to preserve the Mac-style layout (it wouldn't work anyways iirc), they just liked the quality of the physical product and accepted that some keys won't work the same way they did on a Mac.
Even though you could connect Mac mouse to a PC, I don't think anyone used that.
> If you've ever made the jump from PC to Mac (or vice versa) at work or home
I make this "jump" about 20 times per day. I have iOS, MacOS and 2 windows machines at the moment. Very frequently I will RDP into the windows machines from the MacBook.
Linux for home. Mac for work. At least once a night I try to jump to the address bar in Firefox and accidentally lock the screen instead (win/cmd-L).
The Mac boosters here would be hilariously quaint if it wasn't so frustrating. Docker images that only work on macOS Docker and break on regular Linux. Quips like "Mac is so much more reliable, just use a Mac for Docker!" that I think are genuine opinion rather than a smug joke.
Between this, AI, and all the other brain rot trends, working in tech is so depressing these days.
Didn't know backspace is called delete on Apple products. Explains why one commercial vibecoded project management product used it to delete the whole item I was working on when I missed a text box.
OS-specific abstractions should not leak to web apps under any circumstances.
I've been using Macs for close to a decade and I still constantly forget this little fact. I am reading this very comment I am replying to on a Mac and I still had to do a double take to confirm for myself that it's indeed called 'delete'
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.
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.
This is a really interesting and complete writeup.
I have been helping someone who has little experience with Windows or Mac, but used DOS for years ( until pretty recently ) and I've set them up with a simple Debian Linux running XFCE4 as the desktop. I've found that I have to teach them and also document a lot of basic computer idioms -- Control-C / X / A / V to copy, cut, select all, paste; but also more basic things, like the fact there are two pointers on the screen -- one for the mouse and one for the keyboard -- if you slide the mouse pointer to a specific point and press a keyboard key, the new key will not appear where the arrow is, it will appear where the text cursor is.
A big one was tabs. I had to get a couple of manilla folders and show them the actual tabs, and hold it up next to the browser with several tabs, and suddenly it snapped with them what the interface was trying to represent.
Control-A will select all of a web page, unless you are in the text entry box of a form, then it selects just the things in that text entry box.
I started writing this up in a little manual, it got to a dozen pages fast, and I haven't put very much in it.
If anyone knows of a place where some portion of all of this is written down, post a link !
In the obscure ui choices department, I am that weirdo who uses openbsd as a desktop system, At one point not thinking I did ctrl+a in a firefox textentry and much to my surprise it did the right thing and moved the cursor to the beginning of the line.
I had no idea using unix vs windows cursor movement was even an option, because linux never picks the correct method, Still have no clue how it is set(a gtk option? but qt apps are set the same.) But salutes to whatever obsd porter picked it, really made my day.
> 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.
Ctrl+a to carriage return the cursor seems work universally everywhere on a Mac. It even works on Microsoft products, incredible coming from the company that poorly reinvents everything and completely disrespects the default behaviors.
I always find this curious, is readline implemented at the hardware level or something? There’s just no effing way that was a priority ticket on Microsoft Teams given all the obnoxious weirdness of their chat text field.
And bizarrely, ctrl+k, ctrl+w, and ctrl+e are more seldom. Maybe 50-50 chance for those. But trusty ctrl+a is always there.
I have been using Linux / GNOME as my primary environment for the last 20 years, but at my current job, that was not an option, so I'm on macOS.
I tried for a week to get used to the unfamiliar key bindings for text input, but then I gave up—I'm a vim user after all!—and found a system setting to use the bindings I am more familiar with. This was picked up by many applications, but notably _not_ by the Microsoft suite, which appears to have the default macOS bindings hard coded...
To me Ctrl+A was always "Select All", and it worked reliably on every system I had (except once when at my office I had a computer with unix bindings and the administrator told me he can't change them so I only used my laptop).
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.
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.
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.
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”.
I don’t have any resources but this is fascinating to read about, thanks for sharing! So many things we just assume make sense which really don’t.
Their misunderstanding of not being able to hover their cursor over something and interact using the keyboard honestly has me wondering why I thought the real way was intuitive, their logic there makes sense
A friend of mine used to give computer courses back in the 90s (to people that had never used a computer before).
At one point he said "You need to move the mouse up" and one of the participants actually lifted the mouse physically from the desk - which was perfectly correct for someone not being used to computers.
I always remember this when I think "isn't this obvious?" with regards to usage patterns on computers.
I remember that a lot of older folks had trouble understanding when to use a single click and when a double click. Clicking twice rapidly was also difficult for them, and they would consistently jerk the mouse and drag this around. Having every part of the interface in earlier windows draggable and reactive made this even more frustrating, since to them things would just disappear from the desktop.
Google "Double-clicking games for children", or "Mouse skill games for children", you'll find many. I'm wary of recommending any because I can't see if they carry ads, but the first I tried seemed perfect. A simple game of matching similar cards, the targets are huge, and the flip is done by double clicking, single click does nothing. Basically a double-click crash course. I bet a couple of days is enough for them to train the dexterity.
"which was perfectly correct for someone not being used to computers."
I disagree.
Even someone with no experience with computers understands, generally speaking, that the mouse is tracking the surface of the desk somehow. I have had this conversation many times (or did, back in the 1990s when mice were more novel for most people). Nobody picked it up.
The ones who do in these anecdotes are, IMO, examples of the sort of people who absolutely shut their brains off in protest when asked to work with new tech. I have been blessed in that I have only very, very rarely been asked to work with or even know such people.
During my M.Tech in Comp. Sci, I was requested to volunteer to be a lab assistant in a diploma course in programming in C for non-technical people. A Ph.D. in Philosophy was complaining that his program was not compiling. He wrote "exist(0)" instead of "exit(0)". I found this so interesting. Existentialism was on his mind, I guess. The program clearly exits by not existing any more? Can't argue with that!
I corrected him and went on my rounds. I remember that a bank manager was the best of the batch. By the time I circled back to my philosophy friend, he quietly changed "exit()" back to "exist()" and the program was not compiling again! This anecdote stayed in my mind.
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.
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.
The tabs in question covered modern Firedox, xfce4-notes-plugin, and I think gedit. It was the concept of tabs, not the appearance. None of them looked that much like the tab on a manilla file folder.
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.
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…
> Who the heck has been using DOS (!?) until "pretty recently"? On what machine?
Not "DOS" in the classical sense, but a good corporate travel agent will probably spend the majority of their day in Amadeus or Sabre on a terminal emulator app - and be much, MUCH faster than clicking around in web portals.
Yes I don't disagree... Up to not long ago I knew employees at at least one bank still having one DOS app to navigate between customers' bank accounts (with all the family links / various accounts) and it was fast and quick.
But that's quite different from "someone using only DOS up to only 2026".
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.
> 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.)
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.
> 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.
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.
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.
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.
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.
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.
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.
This was jarring when moving from windows where you can literally scroll a page in a circular motion smoothly. Reading text with the locked scroll made me wonder how have people not noticed this or am I in the minority of reading like this lol. I mostly use chrome so this isn't a huge annoyance anymore and hope it behaves the same on macos 27 and beyond too.
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.
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.
Personally the biggest problem (outside the Ctrl/cmd c/v conflict) is that as a UK ISO user, Macs botched the key on the top left, next to the 1.
I subsequently have to set my Mac keyboard layout to PC to fix backticks and remove that key that is never used, and rely on my touch typing.
It does also mean that no one will ever try to type on my laptop.
This irks me also, more than I'd normally admit. A couple of solutions I discovered over the years; one is to use `hidutil property --set` from the command line for UserKeymappings to overwrite the non us backslash to the backtick (I can't remember the specific codes for the keys, but you can find them online), however, this was cumbersome when occasionally using an external keyboard (I prefer ISO over ANSI) or if you restart the machine.
Eventually I settled on Karabiner Elements, an app that lets you create a simple modification specifically to target the Mac internal keyboard where you can map `non_us_backslash` (that strange unused key) to `grave_accent_and_tilde` which fixes this.
I do the same. The British PC layout is relatively recent as well, since when I had a Mac in 2013 it didn't exist, and the keyboard layout was the main factor why I ditched it.
Back on Mac now with British PC and it's much less frustrating to use the keyboard. Plenty of other frustrations instead. I'd prefer to be on Linux but the hardware is just too good.
I actually really like having § at that position. I have it mapped to a Quake-style terminal, and § means it's not only the correct key, but I don't have to give up a useful key for it.
(This may not translate well for USians; Quake disregarded keymaps, so the console wasn't actually on ~, but on "the key that would be labelled ~ in the US". On UK-PC, that's backtick, on Uk-Mac, that's §.)
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.
I know, and the Return key both returns the carriage and feeds the paper forward a line on teletypes. Hence the symbol ⏎, indicating "down and to the left" (for LTR languages.)
The symbol is a bit awkward in conjunction with the name "Carriage Return" though, because the Carriage returns to the right. (assuming left-to-right writing)
You know I have literally never noticed that, but you're right. The carriage slides over to the right, leaving the levels to hit the left side of the paper.
The characters all represent what the carriage does to the paper. So I would expect that the icon for "carriage return" shows what happens on/to the paper, when the carriage returns.
I have a delightful image in my mind of you explaining to the kids over breakfast the nuances of enter and return, and how Steven Jobs should burn in hell for confusing generations of Mac users.
> The only keys that exist twice on the keyboard are...
I wouldn't take "the standard 104 keyboard layout" as a respectable design.
- If the modifier keys exist twice, then why aren't they placed symmetrically?
- Most users use a mouse with the right hand; yet the numpad is placed on the right side of the keyboard (which means it's even further away). e.g. placing keyboard in front of you in the screen then means the mouse needs to be way off centre.
- That the letters remain asymmetrical shows adherence to tradition/familiarity over improving a good design.
- The spacebar doesn't need to be >6x the size of other keys.
- Caps Lock can be useful but isn't significant enough to be worth putting where it is.
I mean. I can agree with distinguishing "Return" and "Enter". But I wouldn't refer to the typical keyboard layout as if it's a well thought out design.
270 comments
[ 6.4 ms ] story [ 148 ms ] threadI know many people on smaller keyboards map a single Control tap as ESC.
The only thing special about windows, is that the OS gets to own the Win key completely, which is something not too crazy and I sort of like the idea of ensuring their global shortcuts are always available.
That’s great. Now, why aren’t cut, copy, and paste one of these global shortcuts that are always available?
The crux of the matter is that I want to change my minds and/or not have to think about pressing a key and then bailing out. If it’s just a modifier key then no problem. What’s annoying is the specification “Windows-key”, and Windows OS-ification of it; that the single-key press causes an overwrought compositor animation where you get some gallery of the open applications. That’s even worse.
Otherwise it would be really confusing when you switch from your external keyboard to the laptop keyboard.
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?
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
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.
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.
Toshy can help but it's still not a perfect fix.
First claim has no priority over better claim. Designs can and should improve
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?
We're having two different arguments. I am arguing what is and what exists. There are two largely systems in place: the NeXTSTEP lineage where Ctrl is left to do what it has always done for 40+ years, and GUI shortcuts live on a different key, and the IBM CUA/Windows inspired lineage where Linux DEs copied the CUA shortcuts for GUI actions in perhaps some ideal of competing with Windows, and overloaded Ctrl resulting in a shitty experience that continues to this day.
You are arguing some world that could exist that you have not really described or fleshed out beyond "well any of those keyboard shortcuts could have been different or changed". OK? Wow. Sure. We could put Copy on Super+Shift+W, we could throw away keyboards all together and use telegraph keys and Morse code. We could do anything. I don't care? Coulds are not interesting unless you're going to bother explaining why we should do some hypothetical "throw away every keyboard shortcut from the last 40+ years" and show the work of "here's a better future that we could have if we chose to". I never said we "can't change the first-claimed shortcut". You simply haven't demonstrated any reason we should.
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.)
Historically, of course, copy and paste on a Unix machine has been a mouse thing. 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 a two part motion/action of select/control-C and click/control-V. It’s boiled down to just select and middle-click.
Separately, you can often use shift-Insert to paste the primary buffer.
Maybe everyone has known this forever and I'm the last to find out, but I thought I'd share as it was a revelation. I middle click all the time when using a mouse, so it was nice to finally discover a replacement while using the trackpad.
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
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
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.
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.
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.
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.
No, you’re not. That’s why I tend to use the archaic shift-insert and control-insert shortcuts for copy and paste on Windows. On Linux I just deal with it and curse a lot.
..while Windows is all over the place. Like why the heck is Alt+F4 used to quitting an app?? What does 4 stand for here? Death in Japanese and Chinese!?
Alt+F4 through Alt+F9 are for Window Menu operations, like minimize, max. etc. Some besides Alt+F4:Close still work on older window managers, I remember SGI supported all of them.
Newer ones tend to hide or even disable the whole menu! Even Windows as it is further lobotomized.
The shift+insert,delete etc. are from MSDOS as far as I used them – they might have been copied from a previous OS.
Yeah consistency is great, similarly cmd+t closes a tab, wait cmd+w closes a tab not a window. and cmd+w in vlc does not close vlc, cmd+w in finder does close the window.
> similarly cmd+t closes a tab, wait cmd+w closes a tab not a window.
Because tabs are windows, and most multi-window-capable apps have the option to use tabs instead.
> and cmd+w in vlc does not close vlc
Again, in multi-window apps, closing the last window does not necessarily quit the app, but it's optional.
⌘R Reload in Safari; reply in Mail; reveal an alias's original in Finder
⌘L Address bar in browsers; message filter in Mail; clear to previous mark in Terminal.
⌘I File info in Finder; italics in text; inspector in Terminal.
I can keep going. This is not to say windows/osx is worse or better, just that claims of consistency are not suitable on either
What kind of consistency did you expect across Mail App and Safari? How do you "Reply" in browsers?
Apple commands are not always Command+Something. Go ahead, try to reopen the last closed tab on anything you're using, with the keyboard. Whooops, you pressed three keys. Also try to take a partial screen shot or record the screen. Hey, buddy, what the heck? Why did you press 4 and 5? What do 4 and 5 even mean?
> not always Command+Something. Go ahead, try to reopen the last closed tab on anything you're using, with the keyboard. Whooops, you pressed three keys.
Not always JUST Command duh. It still includes Command champ; the rest are modifiers.
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 region for a screen shot, and 5 includes the time dimension, of course :)
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...
So:
You can overwrite it by creating ~/Library/KeyBindings/DefaultKeyBinding.dict.
That's me! readline everywhere by default is fantastic and should be immediately copied by every Linux DE!
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.
And although the long nightmare that was the butterfly keyboard ended in 2020, Apple laptop keyboards are still worse than they were in 2012.
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).
Also, 10 whippings for whomever at Apple decided to put the Fn/Globe key to the bottom left of laptop keyboards, and move Ctrl over. It's the first thing I swap on a Mac (used to use Karabiner, until macOS finally, years later, decided to implement the setting), and I always trip when using a colleague's laptop. These kids don't respect no traditions!
.. that rant over, I must recognize that Ctrl isn't used as much in GUI apps which prefer Cmd, and only us relatively few terminal junkies care.
[1] second most, perhaps, after swapping Delete & Backspace.
Regarding Fn even Thinkpad has now changed it so Ctrl is in the corner.
Shift inset is handy when ssh-ing intobabtemoyr machine with Python windows.
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?").
Some nice things had been lost, some nice things had been found. Maybe it's also because OSX was also somewhat of a downgrade from OS8/OS9 in terms of user experience. Especially, Finder became a lot worse. So, people didn't feel very motivated to upgrade, and it made the switch easier... But, overall, there was very little struggle, the time we'd spend setting up the newspaper / magazine for print didn't really change.
Well... now, when I think about it, most of us used PCs at home. So, maybe it's not a fair comparison. But, even people who had Macs as their home / personal computers didn't seem to have any issue with the switch.
I think, some people kept the keyboards that came with G3/G4 (the clear heavy plastic ones with black key caps). They could be used with PCs. People didn't keep them to preserve the Mac-style layout (it wouldn't work anyways iirc), they just liked the quality of the physical product and accepted that some keys won't work the same way they did on a Mac.
Even though you could connect Mac mouse to a PC, I don't think anyone used that.
I make this "jump" about 20 times per day. I have iOS, MacOS and 2 windows machines at the moment. Very frequently I will RDP into the windows machines from the MacBook.
> goodbye Outlook-Teams-OneDrive-SharePoint-Excel-Word-PowerPoint-VBA
https://www.microsoft.com/en-us/microsoft-365/mac/microsoft-...
Maybe it used to be hard to do this and I just got used to it. I have made zero attempts to normalize anything.
Beginners have to learn every system from scratch, in the limited time they spend on the computer.
The Mac boosters here would be hilariously quaint if it wasn't so frustrating. Docker images that only work on macOS Docker and break on regular Linux. Quips like "Mac is so much more reliable, just use a Mac for Docker!" that I think are genuine opinion rather than a smug joke.
Between this, AI, and all the other brain rot trends, working in tech is so depressing these days.
OS-specific abstractions should not leak to web apps under any circumstances.
I have been helping someone who has little experience with Windows or Mac, but used DOS for years ( until pretty recently ) and I've set them up with a simple Debian Linux running XFCE4 as the desktop. I've found that I have to teach them and also document a lot of basic computer idioms -- Control-C / X / A / V to copy, cut, select all, paste; but also more basic things, like the fact there are two pointers on the screen -- one for the mouse and one for the keyboard -- if you slide the mouse pointer to a specific point and press a keyboard key, the new key will not appear where the arrow is, it will appear where the text cursor is.
A big one was tabs. I had to get a couple of manilla folders and show them the actual tabs, and hold it up next to the browser with several tabs, and suddenly it snapped with them what the interface was trying to represent.
Control-A will select all of a web page, unless you are in the text entry box of a form, then it selects just the things in that text entry box.
I started writing this up in a little manual, it got to a dozen pages fast, and I haven't put very much in it.
If anyone knows of a place where some portion of all of this is written down, post a link !
I had no idea using unix vs windows cursor movement was even an option, because linux never picks the correct method, Still have no clue how it is set(a gtk option? but qt apps are set the same.) But salutes to whatever obsd porter picked it, really made my day.
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.
I always find this curious, is readline implemented at the hardware level or something? There’s just no effing way that was a priority ticket on Microsoft Teams given all the obnoxious weirdness of their chat text field.
And bizarrely, ctrl+k, ctrl+w, and ctrl+e are more seldom. Maybe 50-50 chance for those. But trusty ctrl+a is always there.
I tried for a week to get used to the unfamiliar key bindings for text input, but then I gave up—I'm a vim user after all!—and found a system setting to use the bindings I am more familiar with. This was picked up by many applications, but notably _not_ by the Microsoft suite, which appears to have the default macOS bindings hard coded...
They are defined in /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict. You can create ~/Library/KeyBindings/DefaultKeyBinding.dict to augment or override those.
Anything built on AppKit that uses the standard text system (NSTextView, NSTextField, and the field editors that back them) supports those bindings “for free”.
Because linux is not an operating system. A specific operating system will have some specific behaviour.
Their misunderstanding of not being able to hover their cursor over something and interact using the keyboard honestly has me wondering why I thought the real way was intuitive, their logic there makes sense
At one point he said "You need to move the mouse up" and one of the participants actually lifted the mouse physically from the desk - which was perfectly correct for someone not being used to computers.
I always remember this when I think "isn't this obvious?" with regards to usage patterns on computers.
I disagree.
Even someone with no experience with computers understands, generally speaking, that the mouse is tracking the surface of the desk somehow. I have had this conversation many times (or did, back in the 1990s when mice were more novel for most people). Nobody picked it up.
The ones who do in these anecdotes are, IMO, examples of the sort of people who absolutely shut their brains off in protest when asked to work with new tech. I have been blessed in that I have only very, very rarely been asked to work with or even know such people.
I corrected him and went on my rounds. I remember that a bank manager was the best of the batch. By the time I circled back to my philosophy friend, he quietly changed "exit()" back to "exist()" and the program was not compiling again! This anecdote stayed in my mind.
Some used a photocopier.
I try to remind myself of this fun little anecdote as much as I can.
https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6b...
The year is 2026. Who the heck has been using DOS (!?) until "pretty recently"? On what machine?
This is perhaps an indirect confirmation that The Winds of Winter is back on track.
They are sold a few years ago, new owner just needs a good (and huge) location in the city, if they continued, nothing would change for people working there. They saw Windows as something just for minesweeper and solitaire, nothing else.
Not "DOS" in the classical sense, but a good corporate travel agent will probably spend the majority of their day in Amadeus or Sabre on a terminal emulator app - and be much, MUCH faster than clicking around in web portals.
But that's quite different from "someone using only DOS up to only 2026".
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.
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.)
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.
* https://ice-wm.org/manual/#focus-models
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.
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.
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...
On some Windows layouts (those with the right alt = ctrl+alt trick), right alt is literally mapped to ctrl+alt. Right alt cannot be used to open the menu bar like the left alt can. This is only the case on those keyboards, on other keyboards, the right alt does move focus to the menu bar.
Mac uses cmd+arrows like Windows uses home, end, ctrl+home, ctrl+end. It uses option+arrows to move by word instead of control. (I doubt that what it considers a "word" is identical to Windows either, though many editors do override this anyway.
On some layouts (Polish is one I know of, though there are probably more), shift+backtick is a dead key on Windows and can be used to enter diacritics. Shift+accent followed by c inserts "ć". This is very painful to C++ (and Elixir) programmers, doubly so if you use the cFooManager systems Hungarian notation for class names. This is not the case on the Mac.
Option+letters are semi-dead (zombie?) keys on some layouts. For example, option+u inserts the ¨ accent, but option+u followed by another u combines them, so it inserts an ü. If you follow such a zombie key by a space, the space is swallowed and only the accent is inserted. Polish stupidly copied Option assignments from the US layout, replaced some with Polish diacritics, but never gave us replacements for the removed accents. So, we can now type symbols as useless as Ī or Ŕ, but "el niño" or "résumé" require the key hold and pop-up.
MacOS relies on menu options for things like copy and paste, as well as "Quit" and "Close Window". You should implement them by using the storyboard xCode gives you by default (or meticulously re-creating its included menu bar programmatically if your toolkit of choice doesn't let you do that), and then handle the appropriate selectors in your app if you need to. You should never handle these keyboard shortcuts yourself. MacOS is usually smart enough to figure out when these menu items should be dimmed and when they shouldn't. This doesn't work for custom UI frameworks, but if you use those, you ask for that kind of pain.
On both platforms, IMEs exist. Speakers of Chinese and Japanese want to type too.. Let them type. This involves painful OS integration that a lot of frameworks aren't doing.
On Mac, Option+backspace deletes to the beginning of the current word, but it keeps the space. On Windows (I think???) ctrl+backspace deletes the space.
On Windows, the shortcut to delete something (as in, an item in a list) is the delete key. Shift+delete is "irreversible delete" / "erase", AKA bypassing the recycle bin. On Mac, that's Cmd+Delete (which would be CMd+Backspace from a PC user's perspective).
On Mac, function keys are disabled by default (and perform the work of media keys). You need to combine them with fn to get the original behavior. Some older Macs (including older M-series macs) don't even have function keys at all, they instead have a touch bar. Don't rely on function keys for complex shortcuts.
On Mac, ctrl+arrows and command+space, while not being "reserved" in the traditional sense of the word, are often taken over by system functionality and never given to the app in the first place.
I subsequently have to set my Mac keyboard layout to PC to fix backticks and remove that key that is never used, and rely on my touch typing. It does also mean that no one will ever try to type on my laptop.
Eventually I settled on Karabiner Elements, an app that lets you create a simple modification specifically to target the Mac internal keyboard where you can map `non_us_backslash` (that strange unused key) to `grave_accent_and_tilde` which fixes this.
Back on Mac now with British PC and it's much less frustrating to use the keyboard. Plenty of other frustrations instead. I'd prefer to be on Linux but the hardware is just too good.
(This may not translate well for USians; Quake disregarded keymaps, so the console wasn't actually on ~, but on "the key that would be labelled ~ in the US". On UK-PC, that's backtick, on Uk-Mac, that's §.)
I'm not an Apple person at all, but this is one of the hills I die on. The "Enter" key is for entering data, submitting a field, etc. The "Return" key is for returning the carriage, i.e. starting a new line. Importantly, those two are different functions! The only keys that exist twice on the keyboard are modifier keys (Ctrl, Shift, sometimes Super and Alt). The Return or Enter keys do not need to exist twice. Clearly these are meant to be two different functions, because they are two different keys on the keyboard.
To my wife's annoyance, I teach my children the correct names for these keys.
Line feed is the command that is incrementing to the new line.
Those two commands almost always run together so it quickly became possible to invoke with a single CRLF command (in ancient computer times)
It's still an understandable choice though. I am just adding thought to complicate matters.
> The Return or Enter keys do not need to exist twice
I use the doubled enter key much more than i have ever used the secondary modifier keys.
It is very convenient for quickly entering numeric only data with one hand, especially as it is the hand that would naturally use the big enter key.
I wouldn't take "the standard 104 keyboard layout" as a respectable design.
- If the modifier keys exist twice, then why aren't they placed symmetrically?
- Most users use a mouse with the right hand; yet the numpad is placed on the right side of the keyboard (which means it's even further away). e.g. placing keyboard in front of you in the screen then means the mouse needs to be way off centre.
- That the letters remain asymmetrical shows adherence to tradition/familiarity over improving a good design.
- The spacebar doesn't need to be >6x the size of other keys.
- Caps Lock can be useful but isn't significant enough to be worth putting where it is.
I mean. I can agree with distinguishing "Return" and "Enter". But I wouldn't refer to the typical keyboard layout as if it's a well thought out design.