[Keyboard] Update to ZSA Boards (#10119)

* Add VID/PIDs to ErgoDox EZ

* Add VID/PIDs for Planck EZ and Glow revision

* Make names consistent

* fix typo in docs

* Move LED config back, for maximum compatibility

* Add revisions for ErgoDox EZ boards

* Fix embarassing typo

* Typooooo

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update Licensing info

* Update Moonlander default keymap to match Oryx's default

* Fix formatting based on suggestions

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Make indicator LEDs more configurable

* Update default keymap

* Handle older eeprom settings

Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
This commit is contained in:
Drashna Jaelre 2020-10-13 04:35:36 -07:00 committed by GitHub
parent 451e600476
commit 2a65709db6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 301 additions and 96 deletions

View File

@ -1,6 +1,8 @@
/* /*
Copyright 2012 Jun Wako <wakojun@gmail.com> Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com> Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
Copyright 2015 ZSA Technology Labs Inc (@zsa)
Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -21,10 +23,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h" #include "config_common.h"
/* USB Device descriptor parameter */ /* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED #define VENDOR_ID 0x3297
#define PRODUCT_ID 0x1307
#define DEVICE_VER 0x0001 #define DEVICE_VER 0x0001
#define MANUFACTURER ZSA Technology Labs Inc #define MANUFACTURER ZSA Technology Labs
#define PRODUCT_ID 0x4974
#define PRODUCT ErgoDox EZ #define PRODUCT ErgoDox EZ
/* key matrix size */ /* key matrix size */
@ -115,7 +117,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* manufacturer specs. * manufacturer specs.
*/ */
#define USB_MAX_POWER_CONSUMPTION 500
// RGB backlight // RGB backlight
#define DRIVER_ADDR_1 0b1110100 #define DRIVER_ADDR_1 0b1110100
@ -154,6 +155,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER //#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING //#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT //#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO #define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION #define NO_ACTION_FUNCTION
//#define DEBUG_MATRIX_SCAN_RATE //#define DEBUG_MATRIX_SCAN_RATE

View File

@ -1,3 +1,23 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
Copyright 2015 ZSA Technology Labs Inc (@zsa)
Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ergodox_ez.h" #include "ergodox_ez.h"
extern inline void ergodox_board_led_on(void); extern inline void ergodox_board_led_on(void);

View File

@ -1,3 +1,23 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
Copyright 2015 ZSA Technology Labs Inc (@zsa)
Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once #pragma once
#include "quantum.h" #include "quantum.h"
@ -5,6 +25,12 @@
#include <stdbool.h> #include <stdbool.h>
#include "i2c_master.h" #include "i2c_master.h"
#if defined(KEYBOARD_ergodox_ez_glow)
# include "glow.h"
#elif defined(KEYBOARD_ergodox_ez_shine)
# include "shine.h"
#endif
// I2C aliases and register addresses (see "mcp23018.md") // I2C aliases and register addresses (see "mcp23018.md")
#define I2C_ADDR 0b0100000 #define I2C_ADDR 0b0100000
#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE ) #define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )

View File

@ -0,0 +1,26 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
Copyright 2015 ZSA Technology Labs Inc (@zsa)
Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#undef PRODUCT_ID
#define PRODUCT_ID 0x4976
#undef PRODUCT
#define PRODUCT ErgoDox EZ Glow

View File

@ -0,0 +1,23 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
Copyright 2015 ZSA Technology Labs Inc (@zsa)
Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "ergodox_ez.h"

View File

@ -0,0 +1 @@
RGB_MATRIX_ENABLE = yes

View File

@ -1,31 +1,27 @@
/* /*
* light weight WS2812 lib V2.0b Copyright 2012 Jun Wako <wakojun@gmail.com>
* Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
* Controls WS2811/WS2812/WS2812B RGB-LEDs Copyright 2015 ZSA Technology Labs Inc (@zsa)
* Author: Tim (cpldcpu@gmail.com) Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
*
* Jan 18th, 2014 v2.0b Initial Version This program is free software: you can redistribute it and/or modify
* Nov 29th, 2015 v2.3 Added SK6812RGBW support it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* This program is free software: you can redistribute it and/or modify (at your option) any later version.
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or This program is distributed in the hope that it will be useful,
* (at your option) any later version. but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* This program is distributed in the hope that it will be useful, GNU General Public License for more details.
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the You should have received a copy of the GNU General Public License
* GNU General Public License for more details. along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
# include "ergodox_ez.h" # include "ergodox_ez.h"
extern rgblight_config_t rgblight_config;
void rgblight_call_driver(LED_TYPE *led, uint8_t led_num) { void rgblight_call_driver(LED_TYPE *led, uint8_t led_num) {
i2c_init(); i2c_init();
i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT); i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT);

View File

@ -1,7 +1,8 @@
/* /*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com> Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
Copyright 2015 ZSA Technology Labs Inc (@zsa)
Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -17,6 +18,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/* /*
* scan matrix * scan matrix
*/ */

View File

@ -1,3 +1,23 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
Copyright 2015 ZSA Technology Labs Inc (@zsa)
Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once #pragma once
#if !defined(ERGODOX_LED_15) && !defined(ERGODOX_LED_30) #if !defined(ERGODOX_LED_15) && !defined(ERGODOX_LED_30)

View File

@ -12,6 +12,11 @@ Make example for this keyboard (after setting up your build environment):
make ergodox_ez:default:flash 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](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). 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. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Oryx Configuation ## Oryx Configuation

View File

@ -30,7 +30,6 @@ UNICODE_ENABLE = yes # Unicode
SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard
SLEEP_LED_ENABLE = no SLEEP_LED_ENABLE = no
API_SYSEX_ENABLE = no API_SYSEX_ENABLE = no
RGBLIGHT_ENABLE = yes
RGB_MATRIX_ENABLE = no # enable later RGB_MATRIX_ENABLE = no # enable later
DEBOUNCE_TYPE = eager_pr DEBOUNCE_TYPE = eager_pr

View File

@ -0,0 +1,26 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
Copyright 2015 ZSA Technology Labs Inc (@zsa)
Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#undef PRODUCT_ID
#define PRODUCT_ID 0x4975
#undef PRODUCT
#define PRODUCT ErgoDox EZ Shine

View File

@ -0,0 +1 @@
RGBLIGHT_ENABLE = yes

View File

@ -0,0 +1,23 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
Copyright 2015 ZSA Technology Labs Inc (@zsa)
Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "ergodox_ez.h"

View File

@ -1,6 +1,6 @@
/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> /* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
* Copyright 2020 Jack Humbert <jack.humb@gmail.com> * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
* Copyright 2020 Drashna Jael're <drashna@live.com> * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> /* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
* Copyright 2020 Jack Humbert <jack.humb@gmail.com> * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
* Copyright 2020 Drashna Jael're <drashna@live.com> * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> /* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
* Copyright 2020 Jack Humbert <jack.humb@gmail.com> * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
* Copyright 2020 Drashna Jael're <drashna@live.com> * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -35,68 +35,32 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = LAYOUT_moonlander( [BASE] = LAYOUT_moonlander(
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HYPR, KC_MEH, KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(KC_QUOT), KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HYPR, KC_MEH, KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), LGUI_T(KC_QUOT),
KC_LSFT, LCTL_T(KC_Z),KC_X,KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LCTL_T(KC_SLSH), KC_LSFT, KC_LSFT, LCTL_T(KC_Z),KC_X,KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RCTL_T(KC_SLSH), KC_RSFT,
LT(SYMB,KC_GRV),WEBUSB_PAIR,A(KC_LSFT),KC_LEFT, KC_RGHT, LALT_T(KC_APP), RCTL_T(KC_ESC), KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB), LT(SYMB,KC_GRV),WEBUSB_PAIR,A(KC_LSFT),KC_LEFT, KC_RGHT, LALT_T(KC_APP), RCTL_T(KC_ESC), KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, MO(SYMB),
KC_SPC, KC_BSPC, KC_LGUI, KC_RALT, KC_TAB, KC_ENT KC_SPC, KC_BSPC, KC_LGUI, KC_LALT, KC_TAB, KC_ENT
), ),
[SYMB] = LAYOUT_moonlander( [SYMB] = LAYOUT_moonlander(
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_TRNS, KC_TRNS, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, _______, _______, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, _______,
KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, _______,
EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, RGB_TOG, KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS, EEP_RST, _______, _______, _______, _______, RGB_VAI, RGB_TOG, _______, KC_DOT, KC_0, KC_EQL, _______,
RGB_HUD, RGB_VAD, RGB_HUI, TOGGLE_LAYER_COLOR,KC_TRNS, KC_TRNS RGB_HUD, RGB_VAD, RGB_HUI, TOGGLE_LAYER_COLOR,_______, _______
), ),
[MDIA] = LAYOUT_moonlander( [MDIA] = LAYOUT_moonlander(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LED_LEVEL,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS _______, _______, _______, _______, _______, _______
), ),
}; };
layer_state_t layer_state_set_user(layer_state_t state) {
ML_LED_1(false);
ML_LED_2(false);
ML_LED_3(false);
ML_LED_4(false);
ML_LED_5(false);
ML_LED_6(false);
switch (get_highest_layer(state)) {
case 1:
ML_LED_1(1);
ML_LED_4(1);
break;
case 2:
ML_LED_2(1);
ML_LED_5(1);
break;
case 3:
ML_LED_3(1);
break;
case 4:
ML_LED_4(1);
break;
case 5:
ML_LED_5(1);
break;
case 6:
ML_LED_6(1);
break;
default:
break;
}
return state;
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) { if (record->event.pressed) {
switch (keycode) { switch (keycode) {

View File

@ -1,6 +1,6 @@
/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> /* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
* Copyright 2020 Jack Humbert <jack.humb@gmail.com> * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
* Copyright 2020 Drashna Jael're <drashna@live.com> * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> /* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
* Copyright 2020 Jack Humbert <jack.humb@gmail.com> * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
* Copyright 2020 Drashna Jael're <drashna@live.com> * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -159,10 +159,10 @@ void keyboard_pre_init_kb(void) {
keyboard_pre_init_user(); keyboard_pre_init_user();
} }
#ifdef ORYX_CONFIGURATOR #if !defined(MOONLANDER_USER_LEDS)
layer_state_t layer_state_set_kb(layer_state_t state) { layer_state_t layer_state_set_kb(layer_state_t state) {
state = layer_state_set_user(state); state = layer_state_set_user(state);
if (is_launching) return state; if (is_launching || !keyboard_config.led_level) return state;
ML_LED_1(false); ML_LED_1(false);
ML_LED_2(false); ML_LED_2(false);
@ -415,6 +415,24 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (!record->event.pressed && !webusb_state.pairing) layer_state_set_kb(layer_state); if (!record->event.pressed && !webusb_state.pairing) layer_state_set_kb(layer_state);
break; break;
#endif #endif
#if !defined(MOONLANDER_USER_LEDS)
case LED_LEVEL:
if (record->event.pressed) {
keyboard_config.led_level ^= 1;
eeconfig_update_kb(keyboard_config.raw);
if (keyboard_config.led_level) {
layer_state_set_kb(layer_state);
} else {
ML_LED_1(false);
ML_LED_2(false);
ML_LED_3(false);
ML_LED_4(false);
ML_LED_5(false);
ML_LED_6(false);
}
}
break;
#endif
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
case TOGGLE_LAYER_COLOR: case TOGGLE_LAYER_COLOR:
if (record->event.pressed) { if (record->event.pressed) {
@ -449,6 +467,11 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
void matrix_init_kb(void) { void matrix_init_kb(void) {
keyboard_config.raw = eeconfig_read_kb(); keyboard_config.raw = eeconfig_read_kb();
if (!keyboard_config.led_level && !keyboard_config.led_level_res) {
keyboard_config.led_level = true;
keyboard_config.led_level_res = 0b11;
eeconfig_update_kb(keyboard_config.raw);
}
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
if (keyboard_config.rgb_matrix_enable) { if (keyboard_config.rgb_matrix_enable) {
rgb_matrix_set_flags(LED_FLAG_ALL); rgb_matrix_set_flags(LED_FLAG_ALL);
@ -461,6 +484,8 @@ void matrix_init_kb(void) {
void eeconfig_init_kb(void) { // EEPROM is getting reset! void eeconfig_init_kb(void) { // EEPROM is getting reset!
keyboard_config.raw = 0; keyboard_config.raw = 0;
keyboard_config.rgb_matrix_enable = true; keyboard_config.rgb_matrix_enable = true;
keyboard_config.led_level = true;
keyboard_config.led_level_res = 0b11;
eeconfig_update_kb(keyboard_config.raw); eeconfig_update_kb(keyboard_config.raw);
eeconfig_init_user(); eeconfig_init_user();
} }

View File

@ -1,6 +1,6 @@
/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> /* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
* Copyright 2020 Jack Humbert <jack.humb@gmail.com> * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
* Copyright 2020 Drashna Jael're <drashna@live.com> * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -63,6 +63,7 @@ extern bool mcp23018_leds[];
enum planck_ez_keycodes { enum planck_ez_keycodes {
TOGGLE_LAYER_COLOR = SAFE_RANGE, TOGGLE_LAYER_COLOR = SAFE_RANGE,
LED_LEVEL,
ML_SAFE_RANGE, ML_SAFE_RANGE,
}; };
@ -75,6 +76,8 @@ typedef union {
struct { struct {
bool disable_layer_led :1; bool disable_layer_led :1;
bool rgb_matrix_enable :1; bool rgb_matrix_enable :1;
bool led_level :1;
uint8_t led_level_res :2; // DO NOT REMOVE
}; };
} keyboard_config_t; } keyboard_config_t;

View File

@ -17,6 +17,14 @@
#pragma once #pragma once
#undef VENDOR_ID
#define VENDOR_ID 0x3297
#undef PRODUCT_ID
#define PRODUCT_ID 0xC6CE
#undef MANUFACTURER
#define MANUFACTURER ZSA Technology Labs
#undef PRODUCT
#define PRODUCT Planck EZ
/* USB Device descriptor parameter */ /* USB Device descriptor parameter */
#define DEVICE_VER 0x0000 #define DEVICE_VER 0x0000

View File

@ -18,7 +18,6 @@
#include "hal.h" #include "hal.h"
keyboard_config_t keyboard_config; keyboard_config_t keyboard_config;
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations /* Refer to IS31 manual for these locations

View File

@ -17,6 +17,10 @@
#include "planck.h" #include "planck.h"
#ifdef KEYBOARD_planck_ez_glow
# include "glow.h"
#endif
#define LAYOUT_planck_1x2uC( \ #define LAYOUT_planck_1x2uC( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \

View File

@ -0,0 +1,24 @@
/*
* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#undef PRODUCT_ID
#define PRODUCT_ID 0xC6CF
#undef PRODUCT
#define PRODUCT Planck EZ Glow

View File

@ -0,0 +1 @@
#include "glow.h"

View File

@ -0,0 +1,3 @@
#pragma once
#include "ez.h"

View File

@ -0,0 +1 @@
RGB_MATRIX_ENABLE = IS31FL3737

View File

@ -14,6 +14,12 @@ Make example for this keyboard (after setting up your build environment):
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. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). 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. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
# Planck EZ Glow
For the per key RGB version of this keyboard, you want to use the "glow" subdirectory. For example:
make planck/ez/glow:default
## Planck EZ Configuration (from Oryx) ## Planck EZ Configuration (from Oryx)
### Indicator LEDs ### Indicator LEDs

View File

@ -24,10 +24,8 @@ API_SYSEX_ENABLE = no
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend #SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = no # Custom matrix file
# SERIAL_LINK_ENABLE = yes # SERIAL_LINK_ENABLE = yes
ENCODER_ENABLE = yes ENCODER_ENABLE = yes
RGB_MATRIX_ENABLE = IS31FL3737
LAYOUTS = ortho_4x12 planck_mit LAYOUTS = ortho_4x12 planck_mit
LAYOUTS_HAS_RGB = no LAYOUTS_HAS_RGB = no