Rustic Cyberpunk

Coffee & Cabins

DIY Word Processor: The Problem with Shortcuts

5 min read

There's a strange thing that happens to people who work with computers for a long period of time; Loss of usability perspective. I've seen it happen to some design people too. It's when you're so caught up in creating features or modifying the functionality to be more "useful", for varying definitions of "useful", you lose the big picture and the thing you're working on turns into a morass of molasses.

Something like that happened somewhere along the way while I was working on my DIY word processor keyboard. I got stuck with perfecting shortcuts.

I'm not one of those people who is particular about using the keyboard over the mouse or vice versa all the time, but I do have a set of preferences for certain applications. Most of the time, I use the mouse in Photoshop because I don't use it enough to get familiar with all the shortcuts. I use shortcuts almost exclusively in Microsoft Excel since I've used it since high school for so many things. That's actually one of the things I miss in LibreOffice Calc, in addition to feature parity.

When I first decided I'd like to have a writing computer, that isn't a laptop or mobile, for writing my cabin journals, I gave no thought at all to shortcuts. I imagined it would be a simple drafting machine that's barely more than an electronic typewriter. I knew it would have a backspace key and I was pretty sure it would have an e-Ink display for clarity and low power usage, but beyond that, I had no hard requirements. Then I came across the shortcut list for WordStar.

This turned out to be a blessing and a curse. I forgot what exactly it was I was trying to accomplish with all this.

On one hand, I learned the power of true mode-less editors. Many modern editors have "modes" in some sense. One for editing, one for writing, and several others in between and more. WordStar is so completely different in that there's only one mode: Writing. There's a "column mode", but that too is focused on writing first. There's nothing to set to get it into "insert". In that regard, it's the anti-Vim. It's even anti-Emacs for the most part.

The possibility of adding shortcuts was a nice extra, but on the other hand, I didn't think it would be a focal point. Until I found myself halfway recreating WordStar for no other reason than I "felt like it" at the time. This was a mistake.

While editing chunks of text can be handy, as would navigating around the document with great precision, I don't think that's a good enough reason to copy WordStar crudely. On top of that, I had the silly idea of putting the control key where caps lock is on most keyboards. That works well for folks who exclusively use the keyboard for shortcuts, and for the nostalgic pros, but it makes no sense for someone like me who already has a couple of decades of muscle-memory tied to the control key located lower left on the keyboard.

Sometimes, copying is insincere flattery.

I also realized that I won't be using even half the shortcuts in WordStar. It's a great program for what it is, but it's not for me after all. And there's no reason why I should continue copying its features. To that end, I've also abandoned my original idea for the keyboard layout after the WordStar episode. That had a whole heap of shortcuts for various editing tasks. Still nowhere near the breadth of WordStar, but it was awfully busy and complicated.

Instead, I'm going with something a lot more simple. The shortcuts now are only as follows:

( Menu = Ctrl )

  • Ctrl + A = Left
  • Ctrl + S = Down
  • Ctrl + D = Right
  • Ctrl + W = Up
  • Ctrl + Z = Undo
  • Ctrl + Y = Redo
  • Ctrl + N = New document
  • Ctrl + O = Open document (numbers to select)

I think that list is so short and already familiar, I don't even need to print them on the keycaps.

I thought about whether I should also implement copying, cutting, and pasting. But that just encourages more editing when I should focus on writing. I'm also letting the system do an auto-save whenever I pause typing for 5 seconds or if I create a new document, or open an existing one. If I let the software handle revisions, I don't need to bother with manually saving.

In light of my rediscovered sense of computer simplicity, I'm redoing the keyboard layout.

Keyboard layout

The following recipe should work on the keyboard layout editor.

[{a:5},"~\n`","!\n1","@\n2","#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{a:7,w:1.5},"Back"],
[{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P",{a:5},"{\n[","}\n]","|\n\\"],
[{a:7,w:1.75},"Caps Lock","A","S","D",{n:true},"F","G","H",{n:true},"J","K","L",{a:5},":\n;","\"\n'",{a:7,w:1.75},"Return"],
[{w:2.25},"Shift","Z","X","C","V","B","N","M",{a:5},"<\n,",">\n.","?\n/",{a:7,w:2.25},"Shift"],
[{x:1.37,w:1.5},"Menu",{w:1.25},"Help",{w:6.25},"",{w:1.25},"Graph",{w:1.5},"Menu"]

I think this should be the final iteration of the keyboard layout. I have no further plans to introduce new shortcuts without a very good reason.

I'm still thinking about what the base platform for this will be. I originally went with an ESP32 microcontroller, which is great for low power consumption, but severly limits what I can do with the computer. Particularly when it comes to copying files and editing large volumes of text. I've been told I'm quite "wordy".

I briefly toyed with the idea of creating a minimal Linux with BusyBox as the starting point, but we'll see if that's an actual option with what other hardware becomes available or if this is yet another potential loss of perspective. The low power consumption is still the primary goal since I plan to write for days at a time on a single charge.

Whatever I choose, I have to stop listening to what other people think I should make and go with my own gut feeling after letting the thought simmer a bit to gain the flavor of perspective.

Related