# Betalupi Ergodox This is a modified version of the [ZSA ErgoDox firmware](https://git.betalupi.com/mirrors-QMK/zsa_firmware), based on the `ergodox_ex/glow` keyboard. ## TODO - Layer switch cleanup - Define indicator in keymap - Define language in keymap - Auto-switch all -------------------------------------------------------------------------------- # Setup Clone this repo into `keyboards/betalupi_ergodox` in your qmk directory. Make example for this keyboard (after setting up your build environment): make betalupi_ergodox:default:flash If you get array-bounds errors on build, you may have a bad avr-gcc version. Read [this issue](https://github.com/qmk/qmk_firmware/issues/17064), and try AVR_CFLAGS="-Wno-array-bounds" See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. -------------------------------------------------------------------------------- # Notes Custom keycodes (betalupi_keyboard.c) ``` // Custom RGBLIGHT macros LIGHT_TOG, // Toggle backlight LIGHT_HUI, // Increase backlight hue LIGHT_HUD, // Decrease backlight hue LIGHT_SAI, // Increase backlight sat LIGHT_SAD, // Decrease backlight sat LIGHT_VAI, // Increase backlight val LIGHT_VAD, // Decrease backlight val LIGHT_SPI, // Increase backlight speed LIGHT_SPD, // Decrease backlight speed LIGHT_MOD, // Change backlight animation mode ``` -------------------------------------------------------------------------------- # Notes from ZSA ### 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: ```c 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.