Skip to content

QMK, forked for ZSA's Oryx Configurator (to safeguard stability)

License

GPL-2.0, GPL-2.0 licenses found

Licenses found

GPL-2.0
LICENSE
GPL-2.0
license_GPLv2.md
Notifications You must be signed in to change notification settings

Dracrius/zsa_openrgb_qmk_firmware

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Dracrius' fork of ZSA's fork of QMK Firmware With OpenRGB Support

OpenRGB Devices

YouTube Demo

ZSA's Current

Current Version GitHub contributors GitHub forks

QMK-OpenRGB - All Credit to @Kasper24 for the orignal Protocol

Current Version on Gitlab in the OpenRGB Developers Community

Original \ Current Branch on Github

OpenRGB QMK Protocol Settings

Name:ErgoDox EZ
USB VID: 3297
USB PID: 4976

Protocol Settings

List of OpenRGB Modified Files

Here is a list of the files modified or added by Kasper24 that are required to add OpenRGB QMK support to any QMK Branch

Added:
quantum/openrgb.c
quantum/openrgb.h
quantum/rgb_matrix_animations/openrgb_direct_anim.h

Modified for OpenRGB Support:
common_features.mk 
show_options.mk

quantum/quantum.h
quantum/rgb_matrix.c
quantum/rgb_matrix_animations/rgb_matrix_effects.inc

tmk_core/protocol/usb_descriptor.h
tmk_core/protocol/arm_atsam/usb/udi_device_epsize.h

keyboards/ergodox_ez/glow/keymaps/glow_openrgb/rules.mk

Rules.mk Note: only OPENRGB_ENABLE = yes is required to add support but you may have to disable other settings to be able to enable OpenRGB without getting a "not enough available endpoints" error.

For instance for the EZ Glow to maintian the most features I enabled MOUSE_SHARED_EP = yes which is enabled by default in most QMK firmwares but disabled by ZSA's rule's for the ErgoDox EZ, mostlikely just to maintain Boot Mouse compatibility as it breaks with MOUSE_SHARED_EP = yes. As you never need a mouse on boot anyways I felt this was a worth sacrafice to maintain WebUSB an ORYX support.

From my testing this is enough to add OpenRGB support to other QMK Branches / Keyboards. There apears to be no need to edit the keymap.c atleast for ErgoDox EZ Glow keyboards I'm sure your milage may very. This does me that you can still use ORYX to make keyboard layouts, but instead of clicking "Download this Layout" choose the "Download Source (Glow)" option and extract the keymap.c into the keyboards\ergodox_ez\glow\keymaps\glow_openrgb folder overwiting my personal keymap.

How to Find your keyboard's VID & PID on Windows

  1. From the Classic Control Panel Open the Keyboard Settings Control Panel\All Control Panel Items\Keyboard

  2. Switch to the 'Hardware' Tab

Hardware Tab

  1. Scroll through the list and make sure all show "Device Status: This device is working properly."
  2. Then Unplug your keyboard and find the that now say "Device Status: Unknown"
  3. You can skip these two steps if your keyboard is more obviously named or identifyable.
  4. Once you have found the keyboard in question click 'Properties'
  5. Then Switch to the 'Details' tab and change the 'Property' dropdown to 'Hardware Ids'

Hardware Ids

ZSA's Readme

This purpose of this fork is maintain a clean repo that only contains the keyboard code that we need, and as little else as possible. This is to keep it lightweight, since we only need a couple of keyboards. This is the repo that the EZ Configurator will pull from.

Supported Keyboards

Building

To set up the local build enviroment to create the firmware image manually, head to the Newbs guide from QMK. And instead of using just qmk setup, you will want to run this instead:

qmk setup zsa/qmk_firmware -b firmware20

Maintainers

QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The ZSA branch is maintained by Drashna, ZSA's official QMK Liaison, and by Florian Didron, ZSA's lead developer, with input from Erez Zukerman (ZSA CEO).

Update Process

  1. Check out branch from ZSA's master branch:
    1. git remote add zsa https://github.com/zsa/qmk_firmware.git
    2. git fetch --all
    3. git checkout -B branchname zsa/master
    4. git push -u zsa branchname
  2. Check for core changes:
  3. git cherry-pick the commits we want
    • git rm docs/* -r to remove the document updates when cherry picking. Repeat for any keyboard/keymap/etc that have changes that we aren't interested in
  4. Commit update
    • Include commit info in [changelog.md](http://changelog.md)
  5. Open Pull request, and include information about the commit

Strategy

To keep PRs small and easier to test, they should ideally be 1:1 with commits from QMK Firmware master. They should only group commits if/when it makes sense. Such as multiple commits for a specific feature (split RGB support, for instance)

Merging

Pull Requests should be merged/rebased, not squashed, so we can maintain a commit history that is close to QMK Firmware's, for ease of reference.

About

QMK, forked for ZSA's Oryx Configurator (to safeguard stability)

Resources

License

GPL-2.0, GPL-2.0 licenses found

Licenses found

GPL-2.0
LICENSE
GPL-2.0
license_GPLv2.md

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 81.6%
  • C++ 14.2%
  • Python 2.0%
  • Makefile 1.7%
  • Shell 0.4%
  • Assembly 0.1%