qmk_firmware/keyboards/ergodox_ez
Ryan 208ebf54a9
WS2812 API rework (#24364)
* Begin WS2812 API rework

* Move RGBW conversion, clean up color.h, fix RGBW for AVR bitbang

* Formatting & update PS2AVRGB I2C driver (untested)

* Tested ARM bitbang RGB+RGBW

* Tested ARM SPI RGB - RGBW not working

* Tested ARM PWM RGB+RGBW

* Tested RP2040 PIO driver RGB+RGBW

* Update RGBLight

* Formatting

* Fix BM60HSRGB rev2

* Fix oddforge/vea

* Fix 1k and XD002 RGBLite

* Fix model_m/mschwingen

* Fix handwired/promethium

* Rename `WS2812_LED_TOTAL` for BM60HSRGB

* Fix work_louder boards

* Fix dawn60

* Fix rgbkb/pan

* Fix neson_design/700e and n6

* Fix ergodox_ez/shine

* ergodox_ez/shine: invert indices for left half

* Fix matrix/abelx

* Fix matrix/m20add

* Remove custom rgblight driver for matrix/noah - should be done with lighting layers

* Fix LED indexes for RGBLight split

* Rename `convert_rgb_to_rgbw()` to `ws2812_rgb_to_rgbw()`

* Update WS2812 API docs

* `ergodox_ez/shine`: simplify LED index calculation

* LED/RGB Matrix: Add weak function for LED index resolution

* Bandaid fix for RGB Matrix splits not using WS2812

* `steelseries/prime_plus`: redo custom RGBLight driver

* Update keyboards/steelseries/prime_plus/rgblight_custom.c

Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>

---------

Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2024-10-06 21:01:07 +13:00
..
base ergodox_ez/base: Add missing features object (#23935) 2024-06-16 22:52:47 +10:00
glow Data-Driven Keyboard Conversions: E (#23512) 2024-04-14 00:16:06 +01:00
keymaps Remove all via-enabled keymaps, including via. (#24322) 2024-08-26 07:51:22 +10:00
shine WS2812 API rework (#24364) 2024-10-06 21:01:07 +13:00
util Remove some useless code from keymaps (#23787) 2024-05-23 19:21:39 +01:00
config.h Migrate LOCKING_*_ENABLE to Data-Driven: E (#23751) 2024-05-20 20:40:23 +01:00
ergodox_ez.c Add dynamic macro keyboard callbacks (#24142) 2024-08-18 01:35:10 +01:00
ergodox_ez.h Convert some AVR GPIO operations to macros (#23424) 2024-05-02 10:48:49 +01:00
info.json Migrate LOCKING_*_ENABLE to Data-Driven: E (#23751) 2024-05-20 20:40:23 +01:00
matrix.c Update GPIO API usage in keyboard code (#23361) 2024-05-03 15:21:29 +10:00
post_config.h WS2812 API rework (#24364) 2024-10-06 21:01:07 +13:00
readme.md [Keyboard] Update to ZSA Boards (#10119) 2020-10-13 04:35:36 -07:00
rules.mk Data-Driven Keyboard Conversions: E (#23512) 2024-04-14 00:16:06 +01:00

ErgoDox EZ

ErgoDox EZ

The ErgoDox EZ is a mass produced version of the original ErgoDox keyboard, with optional support for RGB Light (Shine) or RGB Matrix (Glow).

Make example for this keyboard (after setting up your build environment):

make ergodox_ez:default:flash

For the ErgoDox EZ Shine, and Glow, use one of the following:

make ergodox_ez/shine:default:flash
make ergodox_ez/glow:default:flash

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.

Oryx Configuation

If you have ORYX_CONFIGURATOR defined in your keymap's config.h, this enables a number of the built in options from the Oryx Configurator.

Indicator LEDs

You can use the LED_LEVEL keycode to cycle through the brightness levels for the LEDs on the top right of the keyboard. These settings are saved in eeprom (persistant memory).

Alternatively, you can set the brightness by calling the following functions:

void ergodox_led_all_set(uint8_t level);
void ergodox_right_led_1_set(uint8_t level);
void ergodox_right_led_2_set(uint8_t level);
void ergodox_right_led_3_set(uint8_t level);

These settings are not persistent, so you'd need to reset it every time the board starts.

These are on a 0-255 scale

RGB Matrix Features

If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding #define ORYX_CONFIGURATOR to your keymap's config.h.

This changes the RGB_TOG keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off.

Additionally, a new keycode has been added to toggle the Smart LEDs. Use TOGGLE_LAYER_COLOR, if you aren't already.