March 7, 2026

Ergodox EZ -- Oryx

The Oryx web based tool is how you customize your keyboard.

There may be another way for "experts" -- you could build the firmware yourself from source. This involves dealing directly with QMK.

Some setup needs to be done first if you are on a linux machine. You need gtk3, libusb, and libwebkit2gtk. I do this:
su
dnf install gtk3 webkit2gtk4.1 libusb
I already had gtk3 and webkit2gtk4.1
libusb installed libusb-compat-0.1

Next, I need to create /etc/udev/rules.d/50-zsa.rules as follows:

# Rules for Oryx web flashing and live training
KERNEL=="hidraw*", ATTRS{idVendor}=="16c0", MODE="0664", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="3297", MODE="0664", GROUP="plugdev"

# Legacy rules for live training over webusb (Not needed for firmware v21+)
  # Rule for all ZSA keyboards
  SUBSYSTEM=="usb", ATTR{idVendor}=="3297", GROUP="plugdev"
  # Rule for the Moonlander
  SUBSYSTEM=="usb", ATTR{idVendor}=="3297", ATTR{idProduct}=="1969", GROUP="plugdev"
  # Rule for the Ergodox EZ
  SUBSYSTEM=="usb", ATTR{idVendor}=="feed", ATTR{idProduct}=="1307", GROUP="plugdev"
  # Rule for the Planck EZ
  SUBSYSTEM=="usb", ATTR{idVendor}=="feed", ATTR{idProduct}=="6060", GROUP="plugdev"

# Wally Flashing rules for the Ergodox EZ
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666"

# Keymapp / Wally Flashing rules for the Moonlander and Planck EZ
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666", SYMLINK+="stm32_dfu"
# Keymapp Flashing rules for the Voyager
SUBSYSTEMS=="usb", ATTRS{idVendor}=="3297", MODE:="0666", SYMLINK+="ignition_dfu"
I omitted the last lines for Moonlander and Voyager. Then:
su
groupadd plugdev
usermod -aG plugdev $USER
usermod -aG plugdev tom
After this I reboot (and install Fedora updates).

Install and try Wally

I download Wally using their link. I place it in /Projects/Ergodox. I have a version in /home/tom/bin from 2021 and I use cmp to compare it to what I downloaded. It is exactly the same.

I get this error from wally:

libwebkit2gtk-4.0.so.37: cannot open shared object file: No such file or directory
I fix this (see other page) and get Wally to run on my Fedora 43 system.

Install and try Keymapp

I download Keymapp using their link. I place it in /Projects/Ergodox Keymapp also gives an error:
Error connecting to the keyboard, make sure the layout flashed
on your keyboard was recently compiled with Oryx and that
the [Live training] option is toggled on in the advanced settings.
Of course my layout was compiled 5 years ago, so that will need to be looked into.

I look into finding the "wally" source and see that they say it is no longer maintained and you should use Keymapp instead. The source however is on Github, so it might still be an option.


Have any comments? Questions? Drop me a line!