57 comments

[ 3.2 ms ] story [ 153 ms ] thread
What do you think the last five years will look like?

And when do you think it'll happen?

I'm hooked on the idea of gloves which offer resistance as a method of bringing the virtual world to touch. (Example: grab a knob, you can't close the gloves past where the knob would be if it were real). Or heck, how about the dream making girl from Bladerunner and that huge dial.
There is still no input methods that beats touch typing in speed and accuracy. In my opinion the only serious contender is voice input but considering the time needed for corrections it is still not there.

When it comes to ease of use this is a completely different story though...

> There is still no input methods that beats touch typing in speed and accuracy.

Stenotyping. It's also a win if you're prone to developing RSI (which is a big problem, specifically for touch typing).

> Ctrl key is where Caps Lock is now and Caps Lock is where the right Ctrl key is now

Vim users concur

Wouldn't vim users put Esc where Caps Lock is instead?
I use vim and have Caps Lock mapped to Ctrl. I type C-[ to exit insert mode.
Every guide I’ve seen recommends replacing caps with control. It’s the first thing I’ve done for nearly a decade on every new OS install.
I have caps lock mapped to ctrl when holding the key down and esc on tap.
I do the same with enter, as I like having 2 control keys! enter is control when held down and enter on tap.
Indeed, that's what I do. Also, macOS accomodates for this, because Caps Lock can be set to Escape without additional software, simply within the standard System Preferences.
I swap CapsLock with LCtrl, and use 'jk' to leave insert mode. I don't map Esc to the CapsLock key so I can use LCtrl-based commands in non-Vim apps (like tmux, GUI apps, etc.).
> That the function keys (only F1-F10) are organized in two columns on the left is a comparatively minor difference.

Minor to you maybe. Not minor to anyone like me who baked the two column layout into their user interface! What was I thinking?

https://archive.org/details/byte-magazine-1983-11-rescan/pag...

That is amazing! Are you the author of the software? Amazing scan, and the comment is fascinating: "Editor's note: the figures accompanying this article are screen dumps from a monochrome display".
>Amazing scan, and the comment is fascinating

There is an entire Byte magazine archive, which will either blow your nostalgic mind, bring a smile or just make you ponder ─ how much/what has really changed?

https://archive.org/details/byte-magazine

Wow, I didn't know that archive.org was so high-quality. You can just flip through the pages. Extremely well done, I've blocked an evening just for going through that -- thanks for pointing it out.
Yes, I wrote Transend PC and also the PrtScFX program that generated those screenshots. Thanks for the kind words!

Just for fun I dug up the old PrtScFX source code and posted it for any interested historians:

https://github.com/geary/PrtScFX

The "12 f keys across the top" layout may be the one lasting thing the Tandy 2000 gave the PC world. It originated with the Tandy 2000's keyboard, which was later used for the Tandy 1000 and adapted by IBM.

Well, okay. 12 f keys and color Windows.

I have a tangential question: why were × and ÷ not included in keyboards and ASCII standard?

It would make sense for them to be. For one, they already have + - = < > % etc. It would make sense to add signs as fundamental and as frequently-used as × and ÷.

Also, some of the signs that were included do not seem to be remotely as important. Do we really need 3 different quotation signs (" ' `), 3 bracket styles ({} [] ()), 2 different newline characters (CR and LF), and various somewhat obscure symbols and many more non-printable characters? It doesn't seem like the address space was too small and they had to make hard choices about which symbols to include. It looks like they had all the capacity they could have wanted, yet decided not to include × and ÷.

Does anyone know why?

I'm guessing it's carry over from the typewriter days. Lower case x would double as the multiply symbol, and over-striking dash and colon would approximate the divide symbol.
Well, I guess we should be happy that 1 and l are separate characters then.
Indeed many typewriters lacked 1 and 0,; you just used l and O
ASCII was designed for typewriters, not video terminals.

"×" is the same as "x". "÷" can be made by overstriking ":" and "-". The quotation marks needed to also function as accents, by overstriking: "ë é è".

CR and LF are separate operations on a typewriter. You might want to simulate bold type by sending CR and retyping part (or all) of a line.

[ and ] were added for the benefit of Algol, and other programming languages with an Algol-derived syntax. Though it was recognized that these characters were less essential, and these code points were left undefined in ISO 646, the international version of ASCII. This is also why the brackets were put in the alphabet part of the ASCII table, in other countries these code points would've been used for letters that weren't part of the English alphabet.

It was anticipated that some manufacturers would use a 6-bit subset of ASCII. (Even 5-bit and 4-bit subsets were considered.) This would mean that the lower case block would be collapsed on the upper case block. So they needed to find characters that could be useful but would still make sense when rendered as [ and ]. Hence { and }.

Hope this helps. A lot of thought went into ASCII, but many of the considerations became obsolete during the 70s. And you could say that any terminal that does not support overstriking, does not properly support ASCII :)

> It was anticipated that some manufacturers would use a 6-bit subset of ASCII.

Not only anticipated but quite common on 36-bit machines where you could put six characters in a word. In those days “byte” meant a contiguous string of bits so a byte pointer could point to one, two, ... 63 bits in some architectures so SIXBIT characters were not at all inconvenient

> You might want to simulate bold type by sending CR and retyping part (or all) of a line.

Some video displays (“glass teletypes” — these took character data and were not pixel addressable) supported this feature. Printers pretty much all did — tolerances were not great so overprints were always darker. Backspace (^H) was used for this too. This is one reason why backspace and delete have been different characters to me.

Note that the 0xFF value for delete goes back to paper tape: it punched out all the holes in a column so could overwrite any other character. Yes, you deleted by doing backspace delete.

The character × is not universally used for multiplication - in various places in Europe we use . for multiplication, and not the · character, literally . as in 12.34 = 408. The only time × is used is for vector cross-product. And similarly we don't use ÷, we use :. I always thought * and / were a good compromise - the former for looking just like a fat dot, and the latter because it looks like a fraction written on a single line.
(comment deleted)
(comment deleted)
Does anyone like having CAPSLOCK to the left of A? Indeed, does anyone ever actually use CAPSLOCK? I loved the CNTRL to the left of A that I grew up with, and have remapped to get that position, ever since. I don't think I have ever used CAPSLOCK; I've used upper-case several times in this, and I simply hold down the SHIFT key while I type ... doesn't everyone do that?
There definitely are people who toggle Caps Lock every time they want to type a capital letter. That's how my kids were taught to type at primary school, presumably because small hands have difficulty reaching with the Shift key, and it became a habit for a while - they got quite confused by the fact that I map it to Ctrl on my own keyboards and don't have a Caps Lock key anywhere.
it's been so long for me as well that I remapped `caps lock` to `control` and never ever felt the necessity to use `caps lock`
After 20 years of not using caps lock, two things happened in the last couple of years: (1) I taught myself to touch type "properly," and (2) I started using an IBM XT keyboard (the first layout in the linked article) with caps lock easily reachable with the right palm. Now I use caps lock and love it.

(I put "properly" in quotes because many---even most---type in a different way quite successfully. But for me, it really helped reduce the number of mistakes I made. With caps lock, I don't have to mess that up when I write LONG_UPPERCASE_CONSTANTS.)

I use caps lock anytime I have to capitalize more than 3 characters in a row. I just type way faster with it on instead of switching between the two shift keys.
I've been typing for 35 years and in all that time I don't think I've ever once touched the right-shift key.
Impressive to write for 35 without needing to capitalize any of "qwertasdfgzxcvb"... ;)
The thing is - I have more than one finger on each hand.
I only use left shift, too. I think it's just that right shift is way over to the right compared to left shift. Though I did take a proper typing class in high school, so I wonder how I managed to get away with that... :)
> Does anyone like having CAPSLOCK to the left of A?

It's been in that position, above the left shift, in every keyboard I've ever used. And that includes typewriters, where the Caps Lock mechanically locked the shift key below it (which is mechanically linked to the shift key on the other side) on the down position; a quick press on the shift key released the lock. That is, it's a fact of life, like Ç being to the right of L; that key being anywhere else would be unusual.

> Indeed, does anyone ever actually use CAPSLOCK?

When typing a long sequence of uppercase characters, it's much more comfortable than holding down the shift key for the whole sequence. It affecting only letters, instead of everything like on a typewriter, doesn't matter much since it's normally used for a sequence of letters.

I have caps remapped to Ctrl because it's a way better place for it, which means any time I type on someone else's keyboard I accidentally do a bunch of random all-caps.
I always remapped CAPSLOCK to ESC (for Vim), though I eventually built my own keyboard (Iris from https://keeb.io) with QMK firmware and found the best of both worlds: the key left of A is ESC if tapped, but CTRL if held down.
> the key left of A is ESC if tapped, but CTRL if held down.

Ooh, I like that. Despite using a keyboard for many many hours every day, I've yet to build my own that exactly fits my needs; rather I remap and/or adapt. Gonna have to look into this.

(comment deleted)
Check out /r/mechanicalkeyboards and /r/olkb on Reddit. QMK seems to be the main firmware people use.
deviant to sister comments i have mine mapped to CTRl+SHIFT+P and have that open command palette across all IDEs i use
I like caps lock there - I don't use it much, but it stops people putting Ctrl there instead, leaving us with asymmetrical meta keys...
> Indeed, does anyone ever actually use CAPSLOCK?

YES I DO, PLEASE DO NOT JUDGE ME :)

Jokes aside - it's still useful when you're writing legal or other documents where certain phrases or sentences must be emphasised by placing them in all caps. A hold-out from the typewriter era when bold and italics were generally not available.

I also use it occasionally for writing assembly language, where it's conventional to write the opcode mnemonics in upper case. It also helps when doing reports on the kind of spreadsheet that uses upper case keywords as a kind of primary key, because you need to interact with people who think a relational database is something to do with geneaology.

I picked up the habit of remapping CAPSLOCK to a left hand, easier to reach Backspace. For a relatively common editing key, backspace is normally so out-of-the-way and one-handed.

We've started folks into the habit of using double-tap on Shift as CAPSLOCK on mobile and soft keyboards, and there's no real reason we couldn't bring that same innovation to hardware keyboards. It's still a surprise that it doesn't seem an option in macOS and Windows. Free up that key left of A for backspace, control, or escape for everybody.

I hadn't realised the first iterations of the PC keyboard used the tall Return key even in the US layout. I wonder why they changed it. (In my view the tall Return key is far nicer to use than the little flat one)
Same. I wish I could find a US-ISO hybrid keyboard.
The Cherry G80-8200 is sometimes available in that layout, although newer ones went full-ANSI.
Loved the Model M [1] keyboard supplied with PC AT and the RS/6000. A colleague had one recently; we had to rig it up with a DIN/USB converter. Then it was a pleasure to use, but very loud with its clicketty clacketty action. Let everybody know that I was hammering out the code like unrolling a carpet! So instead of getting an old Model M I bought a Corsair K70 for my home rig. Great solidity and tactile feedback. Audible too, though not as loud as the Model M. Recommended for old school devs like myself who want that 80/90s keyboard feel.

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

It's from before I was born but I know and miss the 1984 layout. Give me back that fat enter key!
I feel that moving the fn keys to the top was a mistake. The use of fn keys with the AT keyboard was natural and for me an extension of touch typing. On the top row they are hard to hit accurately and lose their utility.
A good thing about their being on top is that they allow for a smaller laptop form-factor. Of course, back then that was probably not the intention.
I once worked on a UNIX machine that had F keys at the top, but a separate block on the left with keys for things like cut, copy, paste, save, close etc. I found this incredibly useful and I wish it were still a thing, it saved a lot of time when I was working on documents where I could keep my right hand on the mouse, and use the left one to press these keys with one finger rather than have to "chord" Ctrl+C, Ctrl+V etc.

I realise this is what the F keys were originally meant for, but somehow we never standardised on them in the way that we did for e.g. Ctrl+S = save.

That was probably a Sun machine. I used it them at university and liked the copy/paste-keys too.

I had a PC keyboard (Kinesis Freestyle 2) for a while which had this setup with copy/paste as separate keys. Unfortunately for me, these keys were macro keys which sent "CTRL plus the key at position three on line two" etc, and since I use dvorak layout, the C,X and V keys are mapped to Ä,Q and J, which meant "cut" became "quit" (CTRL-Q).

I don't know how Sun handled this, if the edit-keys sent some specific keycode that the program interpreted like "cut" and not just "CTRL-X"?

what about non IBM keyboards ? I remember seeing wildly different keyboards at my father's job.