Skip to content
 
 

Latest commit

 

History

68 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oryx with custom QMK

This repository allows combining the convenience of Oryx’s graphical layout editing with the power of QMK, allowing you to customize your Oryx layout with advanced QMK features like Achordion and Repeat Key, while automating firmware builds through GitHub Actions.

For a detailed guide, check out the full blog post here.

How it works

Each time you run the GitHub Action, the workflow will:

  1. Fetch the latest changes made in Oryx.
  2. Merge them with any QMK features you've added in the source code.
  3. Build the firmware, incorporating modifications from both Oryx and your custom source code.

Voyager OpenRGB + Keymapp

This fork adds native QMK-OpenRGB support to the Voyager while keeping ZSA Keymapp and the kontroll API usable at the same time.

The firmware exposes two HID interfaces:

  • Interface 1: QMK-OpenRGB, using the standard 64-byte QMK OpenRGB protocol expected by stock OpenRGB.
  • Interface 2: ZSA Oryx/Keymapp, using its original 32-byte protocol.

No OpenRGB fork or application patch is required. The normal Fetch and build layout workflow installs the QMK-OpenRGB community module and applies scripts/patch-voyager-dual-hid.py automatically for Voyager builds.

The layout must keep "openrgb" in its keymap.json module list. The workflow validates this before compiling.

For OpenRGB, add the Voyager once as a manual QMK (OpenRGB Protocol) device with USB VID 3297 and PID 1977, then restart OpenRGB. Keymapp and kontroll continue to discover the separate Oryx HID interface normally.

How to use

  1. Fork this repository (be sure to uncheck the "Copy the main branch only" option).
  2. To initialize the repository with your layout:
    • Go to the Actions tab.
    • Select Fetch and build layout.
    • Click Run workflow.
    • Input your layout ID and keyboard type (your layout must be public in Oryx), then run the workflow.
    • (To avoid having to input values each time, you can modify the default values at the top of the .github/workflows/fetch-and-build-layout.yml file).
  3. A folder containing your layout will be generated at the root of the repository.
  4. You can now add your custom QMK features to this folder:
    • Edit config.h, keymap.c and rules.mk according to the QMK documentation.
    • Commit and push to the main branch.
  5. You can continue editing your layout through Oryx:
    • Make your changes in Oryx.
    • Optionally, add a description of your changes in the Some notes about what you changed field; if provided, this will be used as commit message.
    • Confirm changes by clicking the Compile this layout button.
  6. To build the firmware (including both Oryx and code modifications), rerun the GitHub Action. The firmware will be available for download in the action’s artifacts.
  7. Flash your downloaded firmware using Keymapp.
  8. Enjoy!

Oryx Chrome extension

To make building even easier, @nivekmai created an Oryx Chrome extension to be able to trigger the GitHub Actions from inside Oryx itself.

About

Fork of poulainpi/oryx-with-custom-qmk with added patches for my specific ZSA Voyager

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages