Control Keys

All of this:

blarg: "I spend a lot of time thinking about keyboards, and I wish more people did."

I'm not even mad about the letter layout -- you do you, Dvorak weirdos -- but that we give precious keycap real estate to antiquated arcana and pedestrian novelty at the expense of dozens of everyday interactions, and as far as I can tell we mostly don't even notice it.

  • This laptop has dedicated keys to let me select, from levels zero to three, how brightly my keyboard is backlit. If I haven't remapped control to caps I need to twist my wrist awkwardly to cut, copy or paste anything.

  • I've got two alt keys, but undo and redo are chords each half a keyboard away from each other. Redo might not exist, or the key sequence could be just about anything depending on the program; sometimes all you can do is either undo, or undo the undo?

  • On typical PC keyboards Pause/Break and Scroll Lock, vestigial remnants a serial protocol of ages past, both have premium real estate all to themselves. "Find" is a chord. Search-backwards may or may not be a thing that exists depending on the program, but getting there is an exercise. Scroll lock even gets a capslock-like LED some of the time; it's that important! [...]

  • "Ins" -- insert -- is a dedicated key for the "what if delete, but backwards and slowly" option that only exists at all because mainframes are the worst. Are there people who toggle this on purpose? Has anyone asked them if they're OK? I can't select a word, sentence or paragraph with a keystroke; control-A lets me either select everything or nothing.

    Finally, SysRq -- short for "System Request" -- gets its own button too, and it almost always does nothing because the one thing it does when it works -- "press here to talk directly to the hardware" -- is a security disaster only slightly obscured by a usability disaster. [...]

Anyway, here's a list of how you remaps capslock to control on various popular OSes, in a roughly increasing order of lunacy:

  • OSX: Open keyboard settings and click a menu.

  • Linux: setxkboptions, I think. Maybe xmodmap? Def. something in an .*rc file somewhere though. Or maybe .profile? Does gnome-tweak-tool still work, or is it called ubuntu-tweak-tool or just tweak-tool now? This seriously used to be a checkbox, not some 22nd-century CS-archaeology doctoral thesis. What an embarrassment.

  • Windows: Make a .reg file full of magic hexadecimal numbers. You'll have to figure out how on your own, because exactly none of that documentation is trustworthy. Import it as admin with regedit. Reboot probably? This is ok. This is fine.

  • iOS: Ive says that's where the keys go so that's where the keys go. Think of it as minimalism except for the number of choices you're allowed to make. Learn to like it or get bent, pleb.

  • Android: Buy an app. Give it permission to access all your keystrokes, your location, your camera and maybe your heart rate. The world's most profitable advertising company says that's fine.

Previously, previously, previously, previously, previously, previously, previously, previously, previously, previously.

Tags: , , , ,

46 Responses:

  1. Doctor Memory says:

    Back in the mists of time (2004 or so) I spent the better part of a month trying to figure out how to remap ctrl/capslock on Windows (2000 and XP at the time); the only thing I found that worked semi-reliably was something called SharpKeys which astonishingly seems to still exist. (Obviously this information is neither of use nor interest to our indulgent host, but provided in hope that readers trapped in a windows environment will find it helpful.)

  2. Kamil Kisiel says:

    For Windows you can also simply download someone else's .reg file full of magic hexadecimal numbers and hope it doesn't do anything nefarious when you import it as an admin.

  3. Pavel says:

    The other day I told someone that I don't have the dozens of days that it would take to customize a Linux environment to how I like it, nor do I have the masochistic desire to just accept that you can't in Windows. Which is probably unfair, because if you summed up all the dicking-around I've done in OS X over the past decade, it probably adds up to a few months.

    But damnit, I've sunk my cost, and I'm getting my value out of it.

  4. Andrew Klossner says:

    On the ][c keyboard “control” is left of “A” and capslock is off in a corner. I suspect that whatever arguments I’ve made since, the fact of it is that my muscle memory has been comfortable that groove ever since.

    Me too, but change "Apple ][c" to "Teletype ASR-33" circa 1971. God (Ma Bell) put the control key left of A. Any other location is devil worship.

  5. Not Frank says:

    "Particularly if you want to carry your idiosyncrasies across operating systems, and if I’m anything about anything these days, it’s particular." could serve as my autobiography.

    On the good side, neither of my laptops (a Lenovo Yoga 2 Pro, from back when I trusted the Wirecutter fully, and a System76 Gazelle, from back when I trusted a coworker's HW suggestions fully) have the individual keys for effing keyboard backlight. I can toggle through the states available via chording, and that's it.

    Also, in editors anxious to ape Windows, Ctrl, Shift, or both plus cursor keys cover a lot of 'select word' and 'select line'. Except in certain instances of my preferred editor. Linux is of course overall a usual mess with keystroke commonality; I have to deal with aping Windows Ctrl+C/V/X working in GUIs, and then doing entirely different things in a terminal, where I need to chord with Shift. If, however, I do Ctrl+Shift+C in a web browser, it opens all sorts of developer shit.

    Interestingly the Yoga 2 Pro's keyboard gets it disappointingly close to right. Yes, Caps Lock is in the dumb zone, but the Insert key requires chording to access; I thought this was dumb when I bought it but like the author I don't generally use that button. PrtSc gets its own key, which the article is willing to excuse and I'm mostly okay with, though it all too often demands chording to do exactly what you want. There are individual Page Up/Down keys, which I use regularly and somewhat remove the need for paragraph-select.

    The System76's keyboard has the asinine number pad I basically never use, and has shifted the touchpad to deal with it. There's a reason the touchpad is off and I use an external mouse. I'm sure there are other points of contention, but I'd have to go look at the thing.

    Actually, as I write this, I recall I had to use the Yoga 2's BIOS to tell it I wanted function keys by default rather than the functions it had assigned, some of which aren't bad on full-time access ('Close Program'), some of which are dubious (Volume control when there are also separate hardware volume buttons, 'Refresh') and some of which are WTF (Why do I need a full-time, single-keystroke 'Airplane Mpde'?).

    • Pavel says:

      I think if I was really nitpicky about cross-OS idiosynchronicity (is that a word, it is now), I'd figure out some hardware dongle to route my keyboard through so that it sent the "right" signals whenever I pressed the keys I wanted.

      Doesn't help as much with chording, probably, but you could perma-rewire CAPS LOCK to something useful.

  6. BHN says:

    "you do you, Dvorak weirdos" - guilty as charged, like it even on my phone.

    It's okay to admit that you just want someone to give you something akin to the 'bolics keyboard that will work with modern hardware.

    We understand, we would like that also.

    • jwz says:

      If someone would give me an actual Explorer or Symbolics keyboard, I’d find some way to make them work with USB, but that hardware is unobtainium these days.

      • James C. says:

        You can ask David Schmidt if there are any spares available. Hans Hübner has details on doing the conversion to USB.

      • tfb says:

        I feel increasingly stupid about this. I don't remember the number of Sun 3s I was involved in getting rid of, as well as 5 (?) Symbolics 36xxs, and actually I'm glad I managed not to keep any: theu were big, noisy, slow and went wring all the time. But I could have kept the fucking keyboards (being a heretic I preferred the type 3 (?) Sun keyboard to the Symbolics ones).

    • MattyJ says:

      Oh, yikes, another Dvoraker. Drives me nuts on the phone, though. Not sure how I mostly effortlessly switch to qwerty on devices when it slows me down by about 700% when I have to use someone else's keyboard.

      • ChoHag says:

        I find that if I'm using qwerty and my keycaps have qwerty on them, I have to keep flicking my eyes to the keyboard even though I'm quite capable of touch-typing (not now, apparently, too much rum - backspace has never seen so much action).

        But my regular keyboard, sadly not with me at present, has nothing printed on it and I can switch between qwerty and dvorak with almost no effort without ever even glancing at my hands.

        I don't pretend to know how to explain this.

      • BNH says:

        They will have no idea how many of us there really are until the day the Dvorak revolution comes.

  7. kbrint says:

    The control key belongs next to the A. Emacs has spoken.

    • NT says:

      Emacs is definitely the elephant in the room here.

      • NT says:

        And speaking of antiquated arcana, this reminds me that I have never thanked our host here properly: decades after Netscape, we can still use emacs cursor keys not only in webpages but in a bunch of other forms.
        Once the caps lock key is remapped, anyway.

      • jwz says:

        Can you imagine how much less misery there would be in the world today, and how many cumulative hours would not have been wasted, if in 1987 RMS had said, "Ok, fine, I guess ^H can't mean 'help' any more, that ship has sailed." Can you imagine?

        • BHN says:

          Somehow I think this is an idea that could be generalized and generalized further and yet you would still be talking about RMS...

  8. Julian Calaby says:

    Personally, I don't much care about the chording required to do stuff and weird mostly unused keys (my laptop has both numlock and scroll lock keys, neither of which have ever been used) I don't even care what the layout is.

    I just want it to be consistent.

    I want to walk up to any random computer and be able to use the keyboard without having to look for keys. This is particularly annoying with desktop keyboards where the designer has decided to cram the arrow keys into the space where the left control key should go or decided that page up/down keys are superfluous.

    I'll admit I'm more forgiving of laptops as they have to fit everything into a certain amount of space, but even the cramped keyboard on my laptop (Thinkpad X200) has the arrow keys near where they should be and laid out mostly-normally. They're even almost the same height as other keys, unlike certain companies who use half-size keys on some products and a mix of half- and full-size keys on others. (Apple I'm looking at you)

    • pavel says:

      I want to walk up to any random computer and be able to use the keyboard without having to look for keys.

      I've basically given up on that, given the remapping I've done to mine - I always always always slam CAPS on a coworker's keyboard when pairing and act surprised when my Ctrl-chord didn't fire off, and when the text starts being big.

    • jwz says:

      Yeah, physical key layout has been an area of active "innovation" basically since there have been keyboards. There are a few basic "families" but everyone decides to re-invent it, all the time. I stopped maintaining xkeycaps in 1999, and even by then there were 129 distinct geometries. And all of those were OEM keyboards, primarily from manufacturers of Unix hardware, because after-market keyboards weren't really a thing yet.

      (If you don't hate X11 enough today, re-read the manual. Wow, it really gets rolling about halfway down.)

    • thielges says:

      > I just want it to be consistent

      Heh. I’m temporarily driven bananas when using foreign keyboards. They’re often 95% similar to USA keyboards and enough to lull you into complacency. Then when you look at the text written and notice that the zs and ys are flipped so you’ve got to rework it all. Who in Le Acamadie les Dactylographie par Ordinateur thought it was so important to be just a little different? Go big.

  9. hellpé says:

    Well, I'm gonna be that guy, but I'm using Linux for a while and I was curious about how does this work on Linux, so I checked. Turns out it's just a checkbox on GNOME and KDE, since 2014 at least.

    (I'm still unable to figure out how to map the "Previous" and "Next" buttons of my mouse to "Copy" and "Paste" but well)

    • mhoye says:

      Anything you do in your Linux GUI doesn't carry over to the terminal side of things, so if you like to flip back and forth you'll find your control key moving around on you, which is great. My favorite part about the "capslock is another control" option is that if you hit capslock over in your terminal, those caps stay locked back in Gnome, so you START TYPING LIKE THIS AND YOU CAN'T TURN IT OFF UNTIL YOU FIGURE OUT WHAT YOU DID WRONG.

      I think that the only thing that works semi-reliably is loadkeys [config] in a low-numbered rc file but I pretty much gave up on touching Linux boxes directly after the systemd clownshow metastasized, so it's hard to care.

      • hellpé says:

        That's not what I'm seeing on my setup. The "Caps lock is also Ctrl" setting is carried over to gnome-terminal, and pressing CapsLock on the terminal does not lock caps when going back to Gnome.

        Then again, I'm using systemd, Pulseaudio, Wayland and all the other stuff that the helpful gurus on IRC always tell me is absolute crap, so thay may be related.

        • mhoye says:

          Terminal as in ctrl-alt-f1, not an xterm-alike. Try it!

          • Paulina Laura Emilia says:

            TBF, the GNU/Linux way is to have 100 different subsystems developed by 100 different people with 100 different ideas how things should work, configured in 100 different ways in 100 different places. 50 of these subsystems are garbage fire, and each one has 50 different replacements for it that are all 50% complete and abandoned after 50 days.

            (I’m a GNU/Linux user myself, so I know)

      • hkdd says:

        I highly suggest using a keyboard with dip switches that will allow you to change cap locks to control. Nearly every modern mechanical keyboard has that option.

        • Legooolas says:

          Or a programmable mechanical keyboard where you can do almost but not quite 100% of the key-remapping in software/firmware flashed onto the keyboard. I've managed everything except "Compose", which needs to be remapped via setxkbmap from right-alt to compose to allow X to see this.

          Getting a programmable keyboard seems like madness (I mean, why does your keyboard need to contain a microcontroller, firmware, possibly multiple "layers" which you can switch between, RGB lights, whatever else..), but being able to really remap anything you like anywhere you like, and to have that follow the keyboard around if you plug it into different machines is nice :)

  10. mdhughes says:

    There are alternate keyboard apps for iOS as well. Just download, go to Settings, Keyboard, and pick it. Most people like and/or tolerate the standard one, often supplemented by a special-chars bar above the keyboard like in Editorial, Textastic, Prompt, Vim, Pythonista, presumably most of the emacs & lisp environments. iOS is annoying, but it's not that locked down.

    I haven't installed [iSH](https://ish.app) yet, but it promises to be the worst of all possible worlds, Linux, but on iOS!

  11. Louis says:

    Scroll Lock has functionality in Microsoft Excel, I'm guessing middle-managers actually use this key...

  12. juggle says:

    OSX isn't quite that simple in my experience. You have to do that for each keyboard. And it will randomly reset back to defaults if you update the OS or do something like reboot...or look at it funny...or...I'm not really sure maybe it has to do with the alignment of the planets.

    I use a macbook for work but "windows" keyboards because I can't stand the things apple tries to pass off as keyboards. But that means having to remap the windows key (and maybe alt and ctrl - I'm not really sure thanks to muscle memory.) I remapped it at work and was happy - but then plugged in at home and found my settings were gone since it was a different keyboard. Remapped that...now all is good. For a few days. Then one morning it randomly resets and I can't figure out why I appear to have forgotten how to type overnight until I realize it's back to the default mapping. But it doesn't always forget the mapping for both keyboards sometimes just one will revert.

    After the last OSX update it reset itself every morning for 3 days - then finally the setting stuck. Yeah, it's easy to change...but the way it randomly resets is really annoying.

    • jwz says:

      Huh, I've never had OSX just randomly forget like that. I definitely would have noticed.

      Currently, with the Kinesis Gaming, I do the caps remapping in the keyboard itself.

      • Germ says:

        This is the only sane option, doing it at the hardware level. With projects like QMK and an abundance of random-ass DIY keyboards there's something that scratches your itch and is highly configurable.

        I've given up on software solutions as they're always janky and flake out on me. I moved to a ErgoDox but found it too big for my purposes so I designed and built my own split keyboard, Gergo. It's small, fits in my bag and make sure my weird ass binds work everywhere.

        Not JWZ approved, but for extended sessions and random boxes it's a godsend.

    • CdrJameson says:

      This stymied me when remote logging into a Mac - I could change the settings, but hilariously they only applied to physically attached keyboards.
      How I laughed.

      • CdrJameson says:

        Oh, and you can't get rid of 'Insert'.
        Nobody ever uses it raw, but you do know that the shifted variant means 'paste', as shift-delete means 'cut'?

  13. Zygo says:

    I have configured all of my keyboard-equipped Linux boxes so that the key next to A is Control (using '(echo remove lock = Caps_Lock; echo keycode 66 = Control_L; echo add control = Control_L) | xmodmap -' which is a 20+-year-old command line that still works today (except I have to run it every minute from a cron job to defeat various other Linux software that has come along since then). Yes I'm aware that there's also a checkbox now, but it's been there less than 20 years, so its dependencies keep shifting and it tends to disappear or forget its settings during upgrades.

    The odd thing is, I never use that key. I always hit one of the Ctrl keys at the end of the Spacebar row (or, on some broken laptops, the key next to Fn). Whenever I use a keyboard configured by somebody else, I have a good chance of a bad experience if I press the next-to-A key, and decades of aversion therapy mean I now never try.

    Same thing for Esc, which is where ` lives on ancient (DEC?) keyboards. I used to swap those keys, but Esc moves around an inch or two on modern keyboards, and there's no xmodmap command for "move the Esc key 8mm to the left and into the gap over ~/`." So instead of randomly hitting ` or F1, I always hit Ctrl-[ to exit input mode in vi because for some reason that key chord never moves.

  14. Lukey says:

    Whatever you do, don't start talking about Handheld Keyboards...
    https://pyra-handheld.com/boards/threads/its-the-keyboard-layout.75726/page-3#post-1335530

  15. Tim says:

    Was there an uptick in RSI when goth nails became fashionable?
    Just looking at that photo of the poor abused, indented keyboard makes me wonder.

  16. Mark Crane says:

    I feel like you are uniquely qualified to design the perfect keyboard.

  17. hkdd says:

    xcape is worth considering: https://github.com/alols/xcape

  18. Steen says:

    If you ever wondered why the office computer always has the capslock on after I've been in there, this is why.

  • Previously