Update, October 2023: Turns out the history feature didn't quite work out like we wanted it to. It didn't get much use — either because people didn't really need to undo too many decisions thanks to the existing "layout revisions" that are already tracked, or maybe because it was to complicated for some to use. On the other hand, tracking every single action in granular detail had very real performance implications for all users of Oryx. So, we're "undoing undo".

Bottom line: For now, History is disabled. Judging by the response, most people don't seem to mind. We may re-introduce something like this in the future, but in a simpler form. Until then, layout revisions are here to stay, and are a great way to undo past decisions.

If there's one piece of advice I find myself repeating when talking to people just getting started with their keyboards, it's "take it slow."

While Oryx lets you change many things at once, that's not how muscle memory works. It is often better to make one change, try it out for some time, and then make the next change.

Make the next change — or undo the change you made, if it's not as helpful or comfortable as you had hoped.

This is where our latest feature comes in. Now, when you change a key, you get a little link that says "See past edits made to this key":

See past edits

Click the link, and you get a new history popup:

History popup

Here, you can undo specific changes. And if you undo a change and then decide you did want it after all, no worries — you can "redo", too, and re-apply that same change if it makes sense down the line.

Some changes are even bigger: You may decide to delete an entire layer, and then change your mind. No problem: You can now hit the + link on the tab bar and select "Restore Layers".

Restore Layers link

This then opens up a popup showing any layers you deleted, so you can restore them.

Restore Layers popup

What's tracked

The History feature keeps track of key assignments (tap, hold, double-tap, and tap-hold) as well as layer removals. That's really where it's going to come in most handy — from my experience, these are the operations people are most likely to want to undo.

Oryx also keeps track of history when you set a macro, and when you set a key to a particular color.

These changes are tracked across compilations. This is important because it means you can make a small change, try it out, and confidently undo it later if it doesn't work — all without having to look through previous revisions to see what this key used to do.

What isn't tracked

There are some things the History feature does not track:

  • Custom labels for keys. This might come in the future, but for now, we don't keep track of custom labels.
  • Advanced settings, such as tap/hold timings, etc.
  • Combos are not tracked, that's just too complicated to display in the UI.
  • Per-key tapping terms are not tracked.

Time to experiment

This new History feature allows you to make changes much more confidently than before. Here's to fearless creativity!