aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2020-10-13 04:35:36 -0700
committerGitHub <noreply@github.com>2020-10-13 04:35:36 -0700
commit2a65709db6b6154b6780b70b26de57d8d9a63749 (patch)
treefb79b2928adcde4b41df8062060982bb03e4d806 /keyboards
parent451e600476d72b6f595044844b8a6767246de5ce (diff)
downloadqmk_firmware-2a65709db6b6154b6780b70b26de57d8d9a63749.tar.gz
qmk_firmware-2a65709db6b6154b6780b70b26de57d8d9a63749.zip
[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>
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/ergodox_ez/config.h13
-rw-r--r--keyboards/ergodox_ez/ergodox_ez.c20
-rw-r--r--keyboards/ergodox_ez/ergodox_ez.h26
-rw-r--r--keyboards/ergodox_ez/glow/config.h26
-rw-r--r--keyboards/ergodox_ez/glow/glow.h23
-rw-r--r--keyboards/ergodox_ez/glow/rules.mk1
-rw-r--r--keyboards/ergodox_ez/led_i2c.c42
-rw-r--r--keyboards/ergodox_ez/matrix.c6
-rw-r--r--keyboards/ergodox_ez/post_config.h20
-rw-r--r--keyboards/ergodox_ez/readme.md5
-rw-r--r--keyboards/ergodox_ez/rules.mk1
-rw-r--r--keyboards/ergodox_ez/shine/config.h26
-rw-r--r--keyboards/ergodox_ez/shine/rules.mk1
-rw-r--r--keyboards/ergodox_ez/shine/shine.h23
-rw-r--r--keyboards/moonlander/config.h2
-rw-r--r--keyboards/moonlander/keymaps/default/config.h2
-rw-r--r--keyboards/moonlander/keymaps/default/keymap.c72
-rw-r--r--keyboards/moonlander/matrix.c2
-rw-r--r--keyboards/moonlander/moonlander.c31
-rw-r--r--keyboards/moonlander/moonlander.h5
-rw-r--r--keyboards/planck/ez/config.h8
-rw-r--r--keyboards/planck/ez/ez.c1
-rw-r--r--keyboards/planck/ez/ez.h4
-rw-r--r--keyboards/planck/ez/glow/config.h24
-rw-r--r--keyboards/planck/ez/glow/glow.c1
-rw-r--r--keyboards/planck/ez/glow/glow.h3
-rw-r--r--keyboards/planck/ez/glow/rules.mk1
-rw-r--r--keyboards/planck/ez/readme.md6
-rw-r--r--keyboards/planck/ez/rules.mk2
29 files changed, 301 insertions, 96 deletions
diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h
index eb0f2066d..bc63f6108 100644
--- a/keyboards/ergodox_ez/config.h
+++ b/keyboards/ergodox_ez/config.h
@@ -1,6 +1,8 @@
1/* 1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com> 2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com> 3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4Copyright 2015 ZSA Technology Labs Inc (@zsa)
5Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
4 6
5This program is free software: you can redistribute it and/or modify 7This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by 8it 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/>.
21#include "config_common.h" 23#include "config_common.h"
22 24
23/* USB Device descriptor parameter */ 25/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED 26#define VENDOR_ID 0x3297
25#define PRODUCT_ID 0x1307
26#define DEVICE_VER 0x0001 27#define DEVICE_VER 0x0001
27#define MANUFACTURER ZSA Technology Labs Inc 28#define MANUFACTURER ZSA Technology Labs
29#define PRODUCT_ID 0x4974
28#define PRODUCT ErgoDox EZ 30#define PRODUCT ErgoDox EZ
29 31
30/* key matrix size */ 32/* key matrix size */
@@ -115,7 +117,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
115 * manufacturer specs. 117 * manufacturer specs.
116 */ 118 */
117 119
118#define USB_MAX_POWER_CONSUMPTION 500
119 120
120// RGB backlight 121// RGB backlight
121#define DRIVER_ADDR_1 0b1110100 122#define DRIVER_ADDR_1 0b1110100
@@ -154,6 +155,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
154//#define NO_ACTION_LAYER 155//#define NO_ACTION_LAYER
155//#define NO_ACTION_TAPPING 156//#define NO_ACTION_TAPPING
156//#define NO_ACTION_ONESHOT 157//#define NO_ACTION_ONESHOT
157//#define NO_ACTION_MACRO 158#define NO_ACTION_MACRO
158//#define NO_ACTION_FUNCTION 159#define NO_ACTION_FUNCTION
159//#define DEBUG_MATRIX_SCAN_RATE 160//#define DEBUG_MATRIX_SCAN_RATE
diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c
index 6c0b74ec4..e6f48c49f 100644
--- a/keyboards/ergodox_ez/ergodox_ez.c
+++ b/keyboards/ergodox_ez/ergodox_ez.c
@@ -1,3 +1,23 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4Copyright 2015 ZSA Technology Labs Inc (@zsa)
5Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
1#include "ergodox_ez.h" 21#include "ergodox_ez.h"
2 22
3extern inline void ergodox_board_led_on(void); 23extern inline void ergodox_board_led_on(void);
diff --git a/keyboards/ergodox_ez/ergodox_ez.h b/keyboards/ergodox_ez/ergodox_ez.h
index a8b02a96b..7bb271714 100644
--- a/keyboards/ergodox_ez/ergodox_ez.h
+++ b/keyboards/ergodox_ez/ergodox_ez.h
@@ -1,3 +1,23 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4Copyright 2015 ZSA Technology Labs Inc (@zsa)
5Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
1#pragma once 21#pragma once
2 22
3#include "quantum.h" 23#include "quantum.h"
@@ -5,6 +25,12 @@
5#include <stdbool.h> 25#include <stdbool.h>
6#include "i2c_master.h" 26#include "i2c_master.h"
7 27
28#if defined(KEYBOARD_ergodox_ez_glow)
29# include "glow.h"
30#elif defined(KEYBOARD_ergodox_ez_shine)
31# include "shine.h"
32#endif
33
8// I2C aliases and register addresses (see "mcp23018.md") 34// I2C aliases and register addresses (see "mcp23018.md")
9#define I2C_ADDR 0b0100000 35#define I2C_ADDR 0b0100000
10#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE ) 36#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
diff --git a/keyboards/ergodox_ez/glow/config.h b/keyboards/ergodox_ez/glow/config.h
new file mode 100644
index 000000000..674b7bffb
--- /dev/null
+++ b/keyboards/ergodox_ez/glow/config.h
@@ -0,0 +1,26 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4Copyright 2015 ZSA Technology Labs Inc (@zsa)
5Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23#undef PRODUCT_ID
24#define PRODUCT_ID 0x4976
25#undef PRODUCT
26#define PRODUCT ErgoDox EZ Glow
diff --git a/keyboards/ergodox_ez/glow/glow.h b/keyboards/ergodox_ez/glow/glow.h
new file mode 100644
index 000000000..da7a6073e
--- /dev/null
+++ b/keyboards/ergodox_ez/glow/glow.h
@@ -0,0 +1,23 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4Copyright 2015 ZSA Technology Labs Inc (@zsa)
5Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23#include "ergodox_ez.h"
diff --git a/keyboards/ergodox_ez/glow/rules.mk b/keyboards/ergodox_ez/glow/rules.mk
new file mode 100644
index 000000000..aad92997d
--- /dev/null
+++ b/keyboards/ergodox_ez/glow/rules.mk
@@ -0,0 +1 @@
RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/ergodox_ez/led_i2c.c b/keyboards/ergodox_ez/led_i2c.c
index f5553a8b6..fe40ab797 100644
--- a/keyboards/ergodox_ez/led_i2c.c
+++ b/keyboards/ergodox_ez/led_i2c.c
@@ -1,31 +1,27 @@
1/* 1/*
2 * light weight WS2812 lib V2.0b 2Copyright 2012 Jun Wako <wakojun@gmail.com>
3 * 3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4 * Controls WS2811/WS2812/WS2812B RGB-LEDs 4Copyright 2015 ZSA Technology Labs Inc (@zsa)
5 * Author: Tim (cpldcpu@gmail.com) 5Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
6 * 6
7 * Jan 18th, 2014 v2.0b Initial Version 7This program is free software: you can redistribute it and/or modify
8 * Nov 29th, 2015 v2.3 Added SK6812RGBW support 8it under the terms of the GNU General Public License as published by
9 * 9the Free Software Foundation, either version 2 of the License, or
10 * This program is free software: you can redistribute it and/or modify 10(at your option) any later version.
11 * it under the terms of the GNU General Public License as published by 11
12 * the Free Software Foundation, either version 2 of the License, or 12This program is distributed in the hope that it will be useful,
13 * (at your option) any later version. 13but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * 14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * This program is distributed in the hope that it will be useful, 15GNU General Public License for more details.
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17You should have received a copy of the GNU General Public License
18 * GNU General Public License for more details. 18along with this program. If not, see <http://www.gnu.org/licenses/>.
19 * 19*/
20 * You should have received a copy of the GNU General Public License 20
21 * along with this program. If not, see <http://www.gnu.org/licenses/>.
22 */
23#ifdef RGBLIGHT_ENABLE 21#ifdef RGBLIGHT_ENABLE
24 22
25# include "ergodox_ez.h" 23# include "ergodox_ez.h"
26 24
27extern rgblight_config_t rgblight_config;
28
29void rgblight_call_driver(LED_TYPE *led, uint8_t led_num) { 25void rgblight_call_driver(LED_TYPE *led, uint8_t led_num) {
30 i2c_init(); 26 i2c_init();
31 i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT); 27 i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT);
diff --git a/keyboards/ergodox_ez/matrix.c b/keyboards/ergodox_ez/matrix.c
index cfa76c1c3..685ce5009 100644
--- a/keyboards/ergodox_ez/matrix.c
+++ b/keyboards/ergodox_ez/matrix.c
@@ -1,7 +1,8 @@
1/* 1/*
2 2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com> 3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4Copyright 2015 ZSA Technology Labs Inc (@zsa)
5Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
5 6
6This program is free software: you can redistribute it and/or modify 7This program is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by 8it 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
17along with this program. If not, see <http://www.gnu.org/licenses/>. 18along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/ 19*/
19 20
21
20/* 22/*
21 * scan matrix 23 * scan matrix
22 */ 24 */
diff --git a/keyboards/ergodox_ez/post_config.h b/keyboards/ergodox_ez/post_config.h
index 526cc8c41..0d4fe5c68 100644
--- a/keyboards/ergodox_ez/post_config.h
+++ b/keyboards/ergodox_ez/post_config.h
@@ -1,3 +1,23 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4Copyright 2015 ZSA Technology Labs Inc (@zsa)
5Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
1#pragma once 21#pragma once
2 22
3#if !defined(ERGODOX_LED_15) && !defined(ERGODOX_LED_30) 23#if !defined(ERGODOX_LED_15) && !defined(ERGODOX_LED_30)
diff --git a/keyboards/ergodox_ez/readme.md b/keyboards/ergodox_ez/readme.md
index 796e96ce5..59a2840fd 100644
--- a/keyboards/ergodox_ez/readme.md
+++ b/keyboards/ergodox_ez/readme.md
@@ -11,6 +11,11 @@ The ErgoDox EZ is a mass produced version of the original ErgoDox keyboard, with
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make ergodox_ez:default:flash 13 make ergodox_ez:default:flash
14
15For the ErgoDox EZ Shine, and Glow, use one of the following:
16
17 make ergodox_ez/shine:default:flash
18 make ergodox_ez/glow:default:flash
14 19
15See 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). 20See 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).
16 21
diff --git a/keyboards/ergodox_ez/rules.mk b/keyboards/ergodox_ez/rules.mk
index 9ad4eaa18..b6311aca3 100644
--- a/keyboards/ergodox_ez/rules.mk
+++ b/keyboards/ergodox_ez/rules.mk
@@ -30,7 +30,6 @@ UNICODE_ENABLE = yes # Unicode
30SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard 30SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard
31SLEEP_LED_ENABLE = no 31SLEEP_LED_ENABLE = no
32API_SYSEX_ENABLE = no 32API_SYSEX_ENABLE = no
33RGBLIGHT_ENABLE = yes
34 33
35RGB_MATRIX_ENABLE = no # enable later 34RGB_MATRIX_ENABLE = no # enable later
36DEBOUNCE_TYPE = eager_pr 35DEBOUNCE_TYPE = eager_pr
diff --git a/keyboards/ergodox_ez/shine/config.h b/keyboards/ergodox_ez/shine/config.h
new file mode 100644
index 000000000..cf4f59f3b
--- /dev/null
+++ b/keyboards/ergodox_ez/shine/config.h
@@ -0,0 +1,26 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4Copyright 2015 ZSA Technology Labs Inc (@zsa)
5Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23#undef PRODUCT_ID
24#define PRODUCT_ID 0x4975
25#undef PRODUCT
26#define PRODUCT ErgoDox EZ Shine
diff --git a/keyboards/ergodox_ez/shine/rules.mk b/keyboards/ergodox_ez/shine/rules.mk
new file mode 100644
index 000000000..1e3cebb14
--- /dev/null
+++ b/keyboards/ergodox_ez/shine/rules.mk
@@ -0,0 +1 @@
RGBLIGHT_ENABLE = yes
diff --git a/keyboards/ergodox_ez/shine/shine.h b/keyboards/ergodox_ez/shine/shine.h
new file mode 100644
index 000000000..da7a6073e
--- /dev/null
+++ b/keyboards/ergodox_ez/shine/shine.h
@@ -0,0 +1,23 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4Copyright 2015 ZSA Technology Labs Inc (@zsa)
5Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23#include "ergodox_ez.h"
diff --git a/keyboards/moonlander/config.h b/keyboards/moonlander/config.h
index b77fcbd1e..d1c685280 100644
--- a/keyboards/moonlander/config.h
+++ b/keyboards/moonlander/config.h
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Drashna Jael're <drashna@live.com> 3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/moonlander/keymaps/default/config.h b/keyboards/moonlander/keymaps/default/config.h
index 95b05a5a6..576aae9f5 100644
--- a/keyboards/moonlander/keymaps/default/config.h
+++ b/keyboards/moonlander/keymaps/default/config.h
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Drashna Jael're <drashna@live.com> 3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/moonlander/keymaps/default/keymap.c b/keyboards/moonlander/keymaps/default/keymap.c
index 67a2cd53a..6d98a8607 100644
--- a/keyboards/moonlander/keymaps/default/keymap.c
+++ b/keyboards/moonlander/keymaps/default/keymap.c
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Drashna Jael're <drashna@live.com> 3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
@@ -35,68 +35,32 @@ enum custom_keycodes {
35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36 [BASE] = LAYOUT_moonlander( 36 [BASE] = LAYOUT_moonlander(
37 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, 37 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,
38 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, 38 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,
39 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), 39 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),
40 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, 40 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,
41 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), 41 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),
42 KC_SPC, KC_BSPC, KC_LGUI, KC_RALT, KC_TAB, KC_ENT 42 KC_SPC, KC_BSPC, KC_LGUI, KC_LALT, KC_TAB, KC_ENT
43 ), 43 ),
44 44
45 [SYMB] = LAYOUT_moonlander( 45 [SYMB] = LAYOUT_moonlander(
46 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, 46 VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
47 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, 47 _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
48 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, 48 _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, _______, _______, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, _______,
49 KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, 49 _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, _______,
50 EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, RGB_TOG, KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS, 50 EEP_RST, _______, _______, _______, _______, RGB_VAI, RGB_TOG, _______, KC_DOT, KC_0, KC_EQL, _______,
51 RGB_HUD, RGB_VAD, RGB_HUI, TOGGLE_LAYER_COLOR,KC_TRNS, KC_TRNS 51 RGB_HUD, RGB_VAD, RGB_HUI, TOGGLE_LAYER_COLOR,_______, _______
52 ), 52 ),
53 53
54 [MDIA] = LAYOUT_moonlander( 54 [MDIA] = LAYOUT_moonlander(
55 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, 55 LED_LEVEL,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
56 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, 56 _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
57 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, 57 _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, 58 _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, 59 _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______,
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 60 _______, _______, _______, _______, _______, _______
61 ), 61 ),
62}; 62};
63 63
64layer_state_t layer_state_set_user(layer_state_t state) {
65 ML_LED_1(false);
66 ML_LED_2(false);
67 ML_LED_3(false);
68 ML_LED_4(false);
69 ML_LED_5(false);
70 ML_LED_6(false);
71
72 switch (get_highest_layer(state)) {
73 case 1:
74 ML_LED_1(1);
75 ML_LED_4(1);
76 break;
77 case 2:
78 ML_LED_2(1);
79 ML_LED_5(1);
80 break;
81 case 3:
82 ML_LED_3(1);
83 break;
84 case 4:
85 ML_LED_4(1);
86 break;
87 case 5:
88 ML_LED_5(1);
89 break;
90 case 6:
91 ML_LED_6(1);
92 break;
93 default:
94 break;
95 }
96
97 return state;
98}
99
100bool process_record_user(uint16_t keycode, keyrecord_t *record) { 64bool process_record_user(uint16_t keycode, keyrecord_t *record) {
101 if (record->event.pressed) { 65 if (record->event.pressed) {
102 switch (keycode) { 66 switch (keycode) {
diff --git a/keyboards/moonlander/matrix.c b/keyboards/moonlander/matrix.c
index 774b01187..b90c1b59e 100644
--- a/keyboards/moonlander/matrix.c
+++ b/keyboards/moonlander/matrix.c
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Drashna Jael're <drashna@live.com> 3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
diff --git a/keyboards/moonlander/moonlander.c b/keyboards/moonlander/moonlander.c
index 403e6aef8..39f61b5c4 100644
--- a/keyboards/moonlander/moonlander.c
+++ b/keyboards/moonlander/moonlander.c
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Drashna Jael're <drashna@live.com> 3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
@@ -159,10 +159,10 @@ void keyboard_pre_init_kb(void) {
159 keyboard_pre_init_user(); 159 keyboard_pre_init_user();
160} 160}
161 161
162#ifdef ORYX_CONFIGURATOR 162#if !defined(MOONLANDER_USER_LEDS)
163layer_state_t layer_state_set_kb(layer_state_t state) { 163layer_state_t layer_state_set_kb(layer_state_t state) {
164 state = layer_state_set_user(state); 164 state = layer_state_set_user(state);
165 if (is_launching) return state; 165 if (is_launching || !keyboard_config.led_level) return state;
166 166
167 ML_LED_1(false); 167 ML_LED_1(false);
168 ML_LED_2(false); 168 ML_LED_2(false);
@@ -415,6 +415,24 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
415 if (!record->event.pressed && !webusb_state.pairing) layer_state_set_kb(layer_state); 415 if (!record->event.pressed && !webusb_state.pairing) layer_state_set_kb(layer_state);
416 break; 416 break;
417#endif 417#endif
418#if !defined(MOONLANDER_USER_LEDS)
419 case LED_LEVEL:
420 if (record->event.pressed) {
421 keyboard_config.led_level ^= 1;
422 eeconfig_update_kb(keyboard_config.raw);
423 if (keyboard_config.led_level) {
424 layer_state_set_kb(layer_state);
425 } else {
426 ML_LED_1(false);
427 ML_LED_2(false);
428 ML_LED_3(false);
429 ML_LED_4(false);
430 ML_LED_5(false);
431 ML_LED_6(false);
432 }
433 }
434 break;
435#endif
418#ifdef RGB_MATRIX_ENABLE 436#ifdef RGB_MATRIX_ENABLE
419 case TOGGLE_LAYER_COLOR: 437 case TOGGLE_LAYER_COLOR:
420 if (record->event.pressed) { 438 if (record->event.pressed) {
@@ -449,6 +467,11 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
449void matrix_init_kb(void) { 467void matrix_init_kb(void) {
450 keyboard_config.raw = eeconfig_read_kb(); 468 keyboard_config.raw = eeconfig_read_kb();
451 469
470 if (!keyboard_config.led_level && !keyboard_config.led_level_res) {
471 keyboard_config.led_level = true;
472 keyboard_config.led_level_res = 0b11;
473 eeconfig_update_kb(keyboard_config.raw);
474 }
452#ifdef RGB_MATRIX_ENABLE 475#ifdef RGB_MATRIX_ENABLE
453 if (keyboard_config.rgb_matrix_enable) { 476 if (keyboard_config.rgb_matrix_enable) {
454 rgb_matrix_set_flags(LED_FLAG_ALL); 477 rgb_matrix_set_flags(LED_FLAG_ALL);
@@ -461,6 +484,8 @@ void matrix_init_kb(void) {
461void eeconfig_init_kb(void) { // EEPROM is getting reset! 484void eeconfig_init_kb(void) { // EEPROM is getting reset!
462 keyboard_config.raw = 0; 485 keyboard_config.raw = 0;
463 keyboard_config.rgb_matrix_enable = true; 486 keyboard_config.rgb_matrix_enable = true;
487 keyboard_config.led_level = true;
488 keyboard_config.led_level_res = 0b11;
464 eeconfig_update_kb(keyboard_config.raw); 489 eeconfig_update_kb(keyboard_config.raw);
465 eeconfig_init_user(); 490 eeconfig_init_user();
466} 491}
diff --git a/keyboards/moonlander/moonlander.h b/keyboards/moonlander/moonlander.h
index 0e2dc880e..08bec5c07 100644
--- a/keyboards/moonlander/moonlander.h
+++ b/keyboards/moonlander/moonlander.h
@@ -1,6 +1,6 @@
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Drashna Jael're <drashna@live.com> 3 * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
4 * 4 *
5 * This program is free software: you can redistribute it and/or modify 5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
@@ -63,6 +63,7 @@ extern bool mcp23018_leds[];
63 63
64enum planck_ez_keycodes { 64enum planck_ez_keycodes {
65 TOGGLE_LAYER_COLOR = SAFE_RANGE, 65 TOGGLE_LAYER_COLOR = SAFE_RANGE,
66 LED_LEVEL,
66 ML_SAFE_RANGE, 67 ML_SAFE_RANGE,
67}; 68};
68 69
@@ -75,6 +76,8 @@ typedef union {
75 struct { 76 struct {
76 bool disable_layer_led :1; 77 bool disable_layer_led :1;
77 bool rgb_matrix_enable :1; 78 bool rgb_matrix_enable :1;
79 bool led_level :1;
80 uint8_t led_level_res :2; // DO NOT REMOVE
78 }; 81 };
79} keyboard_config_t; 82} keyboard_config_t;
80 83
diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h
index 0cb428dd8..91723e185 100644
--- a/keyboards/planck/ez/config.h
+++ b/keyboards/planck/ez/config.h
@@ -17,6 +17,14 @@
17 17
18#pragma once 18#pragma once
19 19
20#undef VENDOR_ID
21#define VENDOR_ID 0x3297
22#undef PRODUCT_ID
23#define PRODUCT_ID 0xC6CE
24#undef MANUFACTURER
25#define MANUFACTURER ZSA Technology Labs
26#undef PRODUCT
27#define PRODUCT Planck EZ
20/* USB Device descriptor parameter */ 28/* USB Device descriptor parameter */
21#define DEVICE_VER 0x0000 29#define DEVICE_VER 0x0000
22 30
diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c
index 8369ce50c..5371c7853 100644
--- a/keyboards/planck/ez/ez.c
+++ b/keyboards/planck/ez/ez.c
@@ -18,7 +18,6 @@
18#include "hal.h" 18#include "hal.h"
19 19
20keyboard_config_t keyboard_config; 20keyboard_config_t keyboard_config;
21
22#ifdef RGB_MATRIX_ENABLE 21#ifdef RGB_MATRIX_ENABLE
23const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { 22const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
24/* Refer to IS31 manual for these locations 23/* Refer to IS31 manual for these locations
diff --git a/keyboards/planck/ez/ez.h b/keyboards/planck/ez/ez.h
index 352deb647..f989cd938 100644
--- a/keyboards/planck/ez/ez.h
+++ b/keyboards/planck/ez/ez.h
@@ -17,6 +17,10 @@
17 17
18#include "planck.h" 18#include "planck.h"
19 19
20#ifdef KEYBOARD_planck_ez_glow
21# include "glow.h"
22#endif
23
20#define LAYOUT_planck_1x2uC( \ 24#define LAYOUT_planck_1x2uC( \
21 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ 25 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
22 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ 26 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
diff --git a/keyboards/planck/ez/glow/config.h b/keyboards/planck/ez/glow/config.h
new file mode 100644
index 000000000..21a339da2
--- /dev/null
+++ b/keyboards/planck/ez/glow/config.h
@@ -0,0 +1,24 @@
1/*
2 * Copyright 2018 Jack Humbert <jack.humb@gmail.com>
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#undef PRODUCT_ID
21#define PRODUCT_ID 0xC6CF
22
23#undef PRODUCT
24#define PRODUCT Planck EZ Glow
diff --git a/keyboards/planck/ez/glow/glow.c b/keyboards/planck/ez/glow/glow.c
new file mode 100644
index 000000000..1813ccae0
--- /dev/null
+++ b/keyboards/planck/ez/glow/glow.c
@@ -0,0 +1 @@
#include "glow.h"
diff --git a/keyboards/planck/ez/glow/glow.h b/keyboards/planck/ez/glow/glow.h
new file mode 100644
index 000000000..d8a01f435
--- /dev/null
+++ b/keyboards/planck/ez/glow/glow.h
@@ -0,0 +1,3 @@
1#pragma once
2
3#include "ez.h"
diff --git a/keyboards/planck/ez/glow/rules.mk b/keyboards/planck/ez/glow/rules.mk
new file mode 100644
index 000000000..575a9c8fa
--- /dev/null
+++ b/keyboards/planck/ez/glow/rules.mk
@@ -0,0 +1 @@
RGB_MATRIX_ENABLE = IS31FL3737
diff --git a/keyboards/planck/ez/readme.md b/keyboards/planck/ez/readme.md
index df8d1b46b..247bf7448 100644
--- a/keyboards/planck/ez/readme.md
+++ b/keyboards/planck/ez/readme.md
@@ -14,6 +14,12 @@ Make example for this keyboard (after setting up your build environment):
14 14
15See 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). 15See 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).
16 16
17# Planck EZ Glow
18
19For the per key RGB version of this keyboard, you want to use the "glow" subdirectory. For example:
20
21 make planck/ez/glow:default
22
17## Planck EZ Configuration (from Oryx) 23## Planck EZ Configuration (from Oryx)
18 24
19### Indicator LEDs 25### Indicator LEDs
diff --git a/keyboards/planck/ez/rules.mk b/keyboards/planck/ez/rules.mk
index ff4d8daed..cd8354b26 100644
--- a/keyboards/planck/ez/rules.mk
+++ b/keyboards/planck/ez/rules.mk
@@ -24,10 +24,8 @@ API_SYSEX_ENABLE = no
24SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 24SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
25#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend 25#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
26 26
27CUSTOM_MATRIX = no # Custom matrix file
28# SERIAL_LINK_ENABLE = yes 27# SERIAL_LINK_ENABLE = yes
29ENCODER_ENABLE = yes 28ENCODER_ENABLE = yes
30RGB_MATRIX_ENABLE = IS31FL3737
31 29
32LAYOUTS = ortho_4x12 planck_mit 30LAYOUTS = ortho_4x12 planck_mit
33LAYOUTS_HAS_RGB = no 31LAYOUTS_HAS_RGB = no