I had only one goal, to replicate my Moonlander layout in the Voyager and it took longer than I had expected.
Installing my 34-key layout into the Voyager
I already have a good setup for the Moonlander and I wanted to simply copy-paste my Moonlander layout in the Voyager. I use a 34 key layout inspired by the Ferris Sweep. It fits perfectly into both the Moonlander and the Voyager boards and I expected it would be possible to simply transfer my layout from one board to the other, I was wrong.
Oryx lacks the ability to transfer a Moonlander layout to the Voyager. In ended up configuring my Voyager layout from scratch, key by key, slowly and painfully.
It could have been worse. I knew exactly what each key should do, so I was able to almost mindlessly replicate each key assignment without thinking too much.
I would summarize this experience as follows:
- there is no keyboard friendly to use Oryx
- you cannot reuse a Moonlander layout for the Voyager
- this means that your layouts are bound to become out of sync :'(
- you cannot duplicate a key using Oryx
- swapping keys is possible, so I'm guessing copying/duplicating a key should be easy to add to Oryx
- I need macros that are longer than Oryx allows
Duplicating a layout: no can do
I expected to be able to export my Moonlander layout and then import it into the Voyagers'. This is not supported out of the box. Some people 1, 2 have been able to achieve reuse by managing their layouts in code but that's above my level of commitment for the moment.
It took me a couple of days to replicate the important parts of my layout, I have a small child so I could only work here and there when I was free of my parental duties.
The experience is improved compared to the Moonlander where I constantly need to poke my board with a paperclip, having a real button is nice.
Duplicating a key: no can do
You cannot duplicate a key and there is no keyboard friendly way to edit a key assignment, which is ironic.
While trying to mindlessly replicate my Moonlander layout I came across some problematic layers; layers that are full of macros, which can be long and tedious to configure.
I use Emacs Org mode and I have groups of macros mapped to Org mode commands. Commands that are part of a group, typically have the same prefix, e.g.,
C-c C-x C-i
: clock inC-c C-x C-o
: clock outC-c o
: open linkC-c l
: create linkC-c a a v c
: view clocked time
Many Org commands start with C-c
and after configuring a few in
Oryx, I wished there was a way to duplicate a key assignment, so
that I would only need to work on the differences.
I also wished there was a faster way to assign macros, too many clicks are required to configure just one macro.
I use Vimium, a Chrome extension that allows you to reduce mouse use when interacting with websites. Using it to set up macros helped but the experience was not optimal.
Long macros
Over time I have accumulated patterns – common keybinding sequences – for Org mode. One of them is to look at the agenda, find an item, clock-in, open the item and close all other Emacs windows, I call this pattern: Start. It allows me to focus on the task at hand and start tracking time on it.
The sequence goes like this:
- Open my agenda
- Find a task
- Go to task:
RET
- Start:
- Narrow to sub tree:
C-x n s
- Delete other windows:
C-x 1
- Clock in:
C-c C-x C-i
- Narrow to sub tree:
The important part is Start and I wanted a macro for it. However, such macro exceeds the maximum length allowed in Oryx.
I found a workaround, but I paid the price in time. I had to read some Lisp code and the Org mode docs, which was more than I was willing to commit before I started.
The result was a short macro for the global keybinding: C-u u
,
which fits within the Oryx limits. The macro in turn calls an elisp
function to do the rest:
(defun zsa-start () "Focus on task and clock in" (interactive) (org-narrow-to-subtree) (delete-other-windows) (org-clock-in) ) ;; set global keybinding (global-set-key (kbd "C-c u") 'zsa-start)
Conclusions
- The Voyager looks amazing, feels amazing and is tiny, compared to the Moonlander
- It's great that you don't need to carry an Allen key and a paper clip every time you change locations
- I love not having to worry if this is the last time I can unfold the thumb clusters and have them still work
- I was skeptical about the lack of wrist support but the Voyager is so thin that I don't miss them at all, same goes for tenting
- There is room for improvement in terms of:
- Layout re-use across board models
- Keyboard-friendly method to assign keys
My ZSA keyboard layouts
I'm just going to put these here, you know, just to show off a little bit =P … and also 'cause they look cool.