From 027dc71ff3b60b910ad92cf8c7a418ddf0386cf3 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Tue, 14 Jan 2025 22:03:51 -0500 Subject: [PATCH 01/33] Add files via upload --- keyboards/jcpm2/config.h | 27 ++++ keyboards/jcpm2/keyboard.json | 84 ++++++++++++ keyboards/jcpm2/keymaps/default/keymap.c | 160 +++++++++++++++++++++++ keyboards/jcpm2/keymaps/default/rules.mk | 1 + keyboards/jcpm2/readme.md | 25 ++++ keyboards/jcpm2/rules.mk | 2 + 6 files changed, 299 insertions(+) create mode 100644 keyboards/jcpm2/config.h create mode 100644 keyboards/jcpm2/keyboard.json create mode 100644 keyboards/jcpm2/keymaps/default/keymap.c create mode 100644 keyboards/jcpm2/keymaps/default/rules.mk create mode 100644 keyboards/jcpm2/readme.md create mode 100644 keyboards/jcpm2/rules.mk diff --git a/keyboards/jcpm2/config.h b/keyboards/jcpm2/config.h new file mode 100644 index 000000000000..04f7157cbdf4 --- /dev/null +++ b/keyboards/jcpm2/config.h @@ -0,0 +1,27 @@ +/* Copyright 2025 Jeremy Cook Consulting LLC + * + * 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. + * + * If you did not receive a copy of the GNU General Public License + * along with this program, see . + */ + +#pragma once + +// I2C Configuration +#define I2C_DRIVER I2CD1 +#define I2C1_SCL_PIN D0 +#define I2C1_SDA_PIN D1 + +// OLED Configuration +#define OLED_DISPLAY_128X64 +#define OLED_DISPLAY_ADDRESS 0x3C +#define OLED_TIMEOUT 2000000 \ No newline at end of file diff --git a/keyboards/jcpm2/keyboard.json b/keyboards/jcpm2/keyboard.json new file mode 100644 index 000000000000..daf2876bb39c --- /dev/null +++ b/keyboards/jcpm2/keyboard.json @@ -0,0 +1,84 @@ +{ + "manufacturer": "jeremyscook", + "keyboard_name": "jcpm2", + "maintainer": "jeremyscook", + "development_board": "promicro", + "features": { + "bootmagic": false, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "oled": true, + "rgb_matrix": true + }, + "matrix_pins": { + "direct": [ + ["D4", null, "F4", "B3"], + ["B4", null, "F5", "B2"], + ["B1", "F7", "F6", "B6"] + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2} + ] + } + } + "rgb_matrix": { + "animations": { + "typing_heatmap": true, + "hue_breathing": true, + "digital_rain": true, + }, + "default": { + "animation": "typing_heatmap", + "on": true, + "val": 180, + }, + "driver": "ws2812", + "max_brightness": 255, + "sleep": true, + "layout": [ + {"matrix": [2, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [2, 1], "x": 75, "y": 64, "flags": 4}, + {"matrix": [2, 2], "x": 150, "y": 64, "flags": 4}, + {"matrix": [1, 2], "x": 150, "y": 32, "flags": 4}, + {"matrix": [0, 2], "x": 150, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4}, + {"matrix": [1, 3], "x": 224, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 224, "y": 64, "flags": 4}, + + {"x": 224, "y": 0, "flags": 2}, + {"x": 224, "y": 64, "flags": 2}, + {"x": 112, "y": 64, "flags": 2}, + {"x": 0, "y": 64, "flags": 2}, + ] + }, + "encoder": { + "rotary": [ + {"pin_a": "D2", "pin_b": "D3"}, + ] + }, + "ws2812": { + "pin": "C6" + }, + "url": "https://github.com/JeremySCook/JC-Pro-Macro-2", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, +} \ No newline at end of file diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c new file mode 100644 index 000000000000..8a2343d51f4e --- /dev/null +++ b/keyboards/jcpm2/keymaps/default/keymap.c @@ -0,0 +1,160 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Define the layers +enum layer_names { + _LAYER0, + _LAYER0_MOD, + _LAYER1, + _LAYER2, + _LAYER3 //unused +}; + +const uint8_t UNDERGLOW = 60; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┐ + * │ E │ n │ 6 │ 7 │ + * ├───┼───┼───┼───┤ + * │ B │ n │ 5 │ 8 │ + * ├───┼───┼───┼───┤ + * │ 2 │ 3 │ 4 │ 9 │ + * └───┴───┴───┴───┘ + */ + [_LAYER0] = LAYOUT( // default + KC_MUTE, LSFT(KC_COMM), LSFT(KC_DOT), + DF(_LAYER1), KC_J, KC_L, + KC_MPRV, KC_MPLY, KC_MNXT, TG(_LAYER0_MOD) // btm-right one shot mod layer + ), + [_LAYER0_MOD] = LAYOUT( // default MOD + _______, RM_VALU, RM_NEXT, // _______ transparent, goes to above layer + _______, RM_VALD, RM_TOGG, + C(LGUI(KC_SPC)), _______, _______, TG(_LAYER0_MOD) + ), + [_LAYER1] = LAYOUT( // FCPX + LSFT(LGUI(KC_B)), LGUI(KC_B), LGUI(KC_EQL), + DF(_LAYER2), LALT(KC_K), LGUI(KC_MINS), + KC_J, KC_K, KC_L, KC_BSPC + ), + [_LAYER2] = LAYOUT( // KICAD + KC_E, KC_ESC, KC_M, + DF(_LAYER0), LGUI(KC_Z), KC_X, + KC_V, KC_D, KC_U, KC_BSPC + ), + [_LAYER3] = LAYOUT( // Unused + MI_AOFF, MI_B3, MI_C4, + DF(_LAYER0), MI_G3, MI_A3, + MI_C3, MI_D3, MI_E3, MI_F3 + ), +}; + +#ifdef ENCODER_MAP_ENABLE //defined in rules.mk +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAYER0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, // default + [_LAYER0_MOD] = { ENCODER_CCW_CW(_______, _______) }, // default MOD + [_LAYER1] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, // FCPX + [_LAYER2] = { ENCODER_CCW_CW(KC_R, S(KC_R)) }, // KICAD + [_LAYER3] = { ENCODER_CCW_CW(_______, _______) }, // UNUSED +}; +#endif + +#ifdef OLED_ENABLE +// Function to display the current layer and information on the OLED +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + +bool oled_task_user(void) { + switch (get_highest_layer(layer_state | default_layer_state)) { + case _LAYER0: + oled_write_ln_P(PSTR("(VOL- VOL+) LAYER0"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("MUTE SLOW FAST"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("LAYR RSET 10BK 10FW"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("MREV MPLA MFWD +OPT"), false); + break; + case _LAYER0_MOD: + oled_write_ln_P(PSTR("____ ____ 0-MOD"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("____ BRI+ ANIM"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("____ ____ BRI- TOGG"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("EMOJ ____ ____ -OPT"), false); + break; + case _LAYER1: + oled_write_ln_P(PSTR("(FRA- FRA+) FCPX"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("XXXX BRAK ZOM+"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("LAYR RSET KFRA ZOM-"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("BACK STOP FORW DELT"), false); + break; + case _LAYER2: + oled_write_ln_P(PSTR("(RO L RO R) KICAD"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("EDIT ESCP MOVE"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("LAYR RSET UNDO TRAK"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("VIA DRAG SALL DELT"), false); + break; + case _LAYER3: //not used + oled_write_ln_P(PSTR("(RO L RO R) MIDI"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("EDIT B3 C4"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("LAYR RSET G3 A3"), false); + oled_write_ln_P(PSTR(""), false); + oled_write_ln_P(PSTR("C3 D3 E3 F3"), false); + break; + } + return false; +} +#endif + +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + for (uint8_t i = led_min; i < led_max; i++) { + switch(get_highest_layer(layer_state|default_layer_state)) { + case _LAYER2: + rgb_matrix_set_color(11, 0, 0, UNDERGLOW); + rgb_matrix_set_color(10, 0, 0, UNDERGLOW); + rgb_matrix_set_color(9, 0, 0, UNDERGLOW); + rgb_matrix_set_color(8, 0, 0, UNDERGLOW); + break; + case _LAYER1: + rgb_matrix_set_color(11, 0, UNDERGLOW, 0); + rgb_matrix_set_color(10, 0, UNDERGLOW, 0); + rgb_matrix_set_color(9, 0, UNDERGLOW, 0); + rgb_matrix_set_color(8, 0, UNDERGLOW, 0); + break; + case _LAYER0_MOD: + rgb_matrix_set_color(11, UNDERGLOW/2, 0, UNDERGLOW/2); + rgb_matrix_set_color(10, UNDERGLOW/2, 0, UNDERGLOW/2); + rgb_matrix_set_color(9, UNDERGLOW/2, 0, UNDERGLOW/2); + rgb_matrix_set_color(8, UNDERGLOW/2, 0, UNDERGLOW/2); + break; + case _LAYER0: + rgb_matrix_set_color(11, UNDERGLOW, 0, 0); + rgb_matrix_set_color(10, UNDERGLOW, 0, 0); + rgb_matrix_set_color(9, UNDERGLOW, 0, 0); + rgb_matrix_set_color(8, UNDERGLOW, 0, 0); + break; + case _LAYER3: //not used + rgb_matrix_set_color(11, 0, UNDERGLOW/2, UNDERGLOW/2); + rgb_matrix_set_color(10, 0, UNDERGLOW/2, UNDERGLOW/2); + rgb_matrix_set_color(9, 0, UNDERGLOW/2, UNDERGLOW/2); + rgb_matrix_set_color(8, 0, UNDERGLOW/2, UNDERGLOW/2); + break; + default: + break; + } + } + return false; +} \ No newline at end of file diff --git a/keyboards/jcpm2/keymaps/default/rules.mk b/keyboards/jcpm2/keymaps/default/rules.mk new file mode 100644 index 000000000000..a40474b4d5c7 --- /dev/null +++ b/keyboards/jcpm2/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/jcpm2/readme.md b/keyboards/jcpm2/readme.md new file mode 100644 index 000000000000..54988367cb0d --- /dev/null +++ b/keyboards/jcpm2/readme.md @@ -0,0 +1,25 @@ +# jcpm2 + +![jcpm2](https://github.com/JeremySCook/JC-Pro-Macro-2/blob/main/documentation/images/JCPM2.jpg) + +An 8-key macro pad with rotary encoder, RGB backlighting and underlighting. Made and sold by JCC LLC. + +* Keyboard Maintainer: [jeremyscook](https://github.com/jeremyscook) +* Hardware Supported: JCPM2 PCB, Pro Micro +* Hardware Availability: [Tindie.com](https://www.tindie.com/products/25414) + +Make example for this keyboard (after setting up your build environment): + + make jcpm2:default + +Flashing example for this keyboard: + + make jcpm2: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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Physical reset button**: Double-click the small inside button on top of the PCB \ No newline at end of file diff --git a/keyboards/jcpm2/rules.mk b/keyboards/jcpm2/rules.mk new file mode 100644 index 000000000000..e2cf2fc59395 --- /dev/null +++ b/keyboards/jcpm2/rules.mk @@ -0,0 +1,2 @@ +OLED_DRIVER = ssd1306 +OLED_TRANSPORT = i2c \ No newline at end of file From b7de9259f233bac18dae5afdf12d19c019025c01 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 08:19:37 -0500 Subject: [PATCH 02/33] Update keyboards/jcpm2/config.h Co-authored-by: jack --- keyboards/jcpm2/config.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/keyboards/jcpm2/config.h b/keyboards/jcpm2/config.h index 04f7157cbdf4..2a2e87b44c46 100644 --- a/keyboards/jcpm2/config.h +++ b/keyboards/jcpm2/config.h @@ -17,11 +17,5 @@ #pragma once // I2C Configuration -#define I2C_DRIVER I2CD1 -#define I2C1_SCL_PIN D0 -#define I2C1_SDA_PIN D1 - -// OLED Configuration #define OLED_DISPLAY_128X64 -#define OLED_DISPLAY_ADDRESS 0x3C #define OLED_TIMEOUT 2000000 \ No newline at end of file From a2369149e0d681ddcc12de592b63b51536951b90 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 08:21:03 -0500 Subject: [PATCH 03/33] Update keyboards/jcpm2/keyboard.json Co-authored-by: jack --- keyboards/jcpm2/keyboard.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/keyboards/jcpm2/keyboard.json b/keyboards/jcpm2/keyboard.json index daf2876bb39c..f0cb8fc701aa 100644 --- a/keyboards/jcpm2/keyboard.json +++ b/keyboards/jcpm2/keyboard.json @@ -4,9 +4,7 @@ "maintainer": "jeremyscook", "development_board": "promicro", "features": { - "bootmagic": false, - "command": false, - "console": false, + "bootmagic": true, "encoder": true, "extrakey": true, "mousekey": true, From e6fb8dc0e7c52a1486a6fc57e10600ca4eb1f85c Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 08:21:48 -0500 Subject: [PATCH 04/33] Update keyboards/jcpm2/keyboard.json Co-authored-by: jack --- keyboards/jcpm2/keyboard.json | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/jcpm2/keyboard.json b/keyboards/jcpm2/keyboard.json index f0cb8fc701aa..17838fd9f2d9 100644 --- a/keyboards/jcpm2/keyboard.json +++ b/keyboards/jcpm2/keyboard.json @@ -47,7 +47,6 @@ "val": 180, }, "driver": "ws2812", - "max_brightness": 255, "sleep": true, "layout": [ {"matrix": [2, 0], "x": 0, "y": 64, "flags": 4}, From 26979df13549812753cb59aeef449ec432d142af Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 08:22:34 -0500 Subject: [PATCH 05/33] Update keyboards/jcpm2/keyboard.json Co-authored-by: jack --- keyboards/jcpm2/keyboard.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/keyboard.json b/keyboards/jcpm2/keyboard.json index 17838fd9f2d9..c586eeeae1fa 100644 --- a/keyboards/jcpm2/keyboard.json +++ b/keyboards/jcpm2/keyboard.json @@ -61,7 +61,7 @@ {"x": 224, "y": 0, "flags": 2}, {"x": 224, "y": 64, "flags": 2}, {"x": 112, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, + {"x": 0, "y": 64, "flags": 2} ] }, "encoder": { From 2b9cd1a5b286212294a0887d833a277d4a152661 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 08:24:26 -0500 Subject: [PATCH 06/33] Update keyboards/jcpm2/keymaps/default/keymap.c Co-authored-by: jack --- keyboards/jcpm2/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c index 8a2343d51f4e..151049380e6b 100644 --- a/keyboards/jcpm2/keymaps/default/keymap.c +++ b/keyboards/jcpm2/keymaps/default/keymap.c @@ -12,7 +12,7 @@ enum layer_names { _LAYER3 //unused }; -const uint8_t UNDERGLOW = 60; +#define UNDERGLOW 60 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* From 63e25992f43082acf1d5c2d552a528d2b5572341 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 08:24:46 -0500 Subject: [PATCH 07/33] Update keyboards/jcpm2/keymaps/default/keymap.c Co-authored-by: jack --- keyboards/jcpm2/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c index 151049380e6b..d7ded9edda48 100644 --- a/keyboards/jcpm2/keymaps/default/keymap.c +++ b/keyboards/jcpm2/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER0_MOD] = LAYOUT( // default MOD _______, RM_VALU, RM_NEXT, // _______ transparent, goes to above layer _______, RM_VALD, RM_TOGG, - C(LGUI(KC_SPC)), _______, _______, TG(_LAYER0_MOD) + LCTL(LGUI(KC_SPC)), _______, _______, TG(_LAYER0_MOD) ), [_LAYER1] = LAYOUT( // FCPX LSFT(LGUI(KC_B)), LGUI(KC_B), LGUI(KC_EQL), From 51023421f5928813f1e5af54c5fc1f02e54ce1e8 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 09:00:02 -0500 Subject: [PATCH 08/33] Update readme.md --- keyboards/jcpm2/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/jcpm2/readme.md b/keyboards/jcpm2/readme.md index 54988367cb0d..b8e994f3bf40 100644 --- a/keyboards/jcpm2/readme.md +++ b/keyboards/jcpm2/readme.md @@ -1,6 +1,6 @@ # jcpm2 -![jcpm2](https://github.com/JeremySCook/JC-Pro-Macro-2/blob/main/documentation/images/JCPM2.jpg) +![jcpm2](https://imgur.com/a/AEvwvBj) An 8-key macro pad with rotary encoder, RGB backlighting and underlighting. Made and sold by JCC LLC. @@ -22,4 +22,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: -* **Physical reset button**: Double-click the small inside button on top of the PCB \ No newline at end of file +* **Physical reset button**: Double-click the small inside button on top of the PCB From b6f30b17624dd4bd67d65d5573d2eaa5a94084f5 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 09:01:10 -0500 Subject: [PATCH 09/33] Update readme.md --- keyboards/jcpm2/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/readme.md b/keyboards/jcpm2/readme.md index b8e994f3bf40..95a075b0d6c7 100644 --- a/keyboards/jcpm2/readme.md +++ b/keyboards/jcpm2/readme.md @@ -1,6 +1,6 @@ # jcpm2 -![jcpm2](https://imgur.com/a/AEvwvBj) +![jcpm2](https://i.imgur.com/EM5JoGC.jpeg) An 8-key macro pad with rotary encoder, RGB backlighting and underlighting. Made and sold by JCC LLC. From a150a576a4bdd014fc5ffba7ad412649df5b4cef Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 09:08:27 -0500 Subject: [PATCH 10/33] Add files via upload --- keyboards/jcpm2/keyboard.json | 63 +++++++++++++++++------------------ 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/keyboards/jcpm2/keyboard.json b/keyboards/jcpm2/keyboard.json index c586eeeae1fa..910efc7b51b5 100644 --- a/keyboards/jcpm2/keyboard.json +++ b/keyboards/jcpm2/keyboard.json @@ -3,6 +3,11 @@ "keyboard_name": "jcpm2", "maintainer": "jeremyscook", "development_board": "promicro", + "encoder": { + "rotary": [ + {"pin_a": "D2", "pin_b": "D3"} + ] + }, "features": { "bootmagic": true, "encoder": true, @@ -19,37 +24,20 @@ ["B1", "F7", "F6", "B6"] ] }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2} - ] - } - } - "rgb_matrix": { + "rgb_matrix": { "animations": { - "typing_heatmap": true, - "hue_breathing": true, "digital_rain": true, + "hue_breathing": true, + "typing_heatmap": true }, "default": { "animation": "typing_heatmap", "on": true, - "val": 180, + "val": 180 }, "driver": "ws2812", - "sleep": true, "layout": [ - {"matrix": [2, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 64, "flags": 4}, {"matrix": [2, 1], "x": 75, "y": 64, "flags": 4}, {"matrix": [2, 2], "x": 150, "y": 64, "flags": 4}, {"matrix": [1, 2], "x": 150, "y": 32, "flags": 4}, @@ -57,20 +45,12 @@ {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4}, {"matrix": [1, 3], "x": 224, "y": 32, "flags": 4}, {"matrix": [2, 3], "x": 224, "y": 64, "flags": 4}, - {"x": 224, "y": 0, "flags": 2}, {"x": 224, "y": 64, "flags": 2}, {"x": 112, "y": 64, "flags": 2}, {"x": 0, "y": 64, "flags": 2} - ] - }, - "encoder": { - "rotary": [ - {"pin_a": "D2", "pin_b": "D3"}, - ] - }, - "ws2812": { - "pin": "C6" + ], + "sleep": true }, "url": "https://github.com/JeremySCook/JC-Pro-Macro-2", "usb": { @@ -78,4 +58,23 @@ "pid": "0x0000", "vid": "0xFEED" }, + "ws2812": { + "pin": "C6" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2} + ] + } + } } \ No newline at end of file From 7be5ba0b4fa74894e812f81b0ce904a41a9e0410 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 09:11:20 -0500 Subject: [PATCH 11/33] Delete keyboards/jcpm2/rules.mk --- keyboards/jcpm2/rules.mk | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 keyboards/jcpm2/rules.mk diff --git a/keyboards/jcpm2/rules.mk b/keyboards/jcpm2/rules.mk deleted file mode 100644 index e2cf2fc59395..000000000000 --- a/keyboards/jcpm2/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OLED_DRIVER = ssd1306 -OLED_TRANSPORT = i2c \ No newline at end of file From 44e59385f13b027521b1314d03211f69e48e1717 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:08:15 -0500 Subject: [PATCH 12/33] Add files via upload --- keyboards/jcpm2/jcpm2.c | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 keyboards/jcpm2/jcpm2.c diff --git a/keyboards/jcpm2/jcpm2.c b/keyboards/jcpm2/jcpm2.c new file mode 100644 index 000000000000..5cc116623427 --- /dev/null +++ b/keyboards/jcpm2/jcpm2.c @@ -0,0 +1,46 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * 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 . + */ + #include "quantum.h" + +#ifdef OLED_ENABLE +uint16_t logo_timer = 0; + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + logo_timer = timer_read(); + return rotation; +} + +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0xFF, 0xFF, 0xFF, 0xFF + }; + oled_write_P(qmk_logo, false); +} + +bool oled_task_kb(void) { + if (timer_elapsed(logo_timer) < 2000) { + render_logo(); + return false; + } + if (!oled_task_user()) { + return false; + } + // rest of your code + return true; +} + +#endif \ No newline at end of file From 8003198833c7ab741afdfbb4c62a6649f535439b Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:16:48 -0500 Subject: [PATCH 13/33] Add files via upload --- keyboards/jcpm2/jcpm2.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/keyboards/jcpm2/jcpm2.c b/keyboards/jcpm2/jcpm2.c index 5cc116623427..1dc945353e88 100644 --- a/keyboards/jcpm2/jcpm2.c +++ b/keyboards/jcpm2/jcpm2.c @@ -26,13 +26,15 @@ oled_rotation_t oled_init_kb(oled_rotation_t rotation) { static void render_logo(void) { static const char PROGMEM qmk_logo[] = { - 0xFF, 0xFF, 0xFF, 0xFF + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 }; oled_write_P(qmk_logo, false); } bool oled_task_kb(void) { - if (timer_elapsed(logo_timer) < 2000) { + if (timer_elapsed(logo_timer) < 1000) { render_logo(); return false; } From cc32b16bb8fe8a19ef7df6d9bfc7baf8a0278fb0 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:18:57 -0500 Subject: [PATCH 14/33] Update keyboards/jcpm2/keymaps/default/rules.mk Co-authored-by: Drashna Jaelre --- keyboards/jcpm2/keymaps/default/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/keymaps/default/rules.mk b/keyboards/jcpm2/keymaps/default/rules.mk index a40474b4d5c7..ee325681483f 100644 --- a/keyboards/jcpm2/keymaps/default/rules.mk +++ b/keyboards/jcpm2/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes \ No newline at end of file +ENCODER_MAP_ENABLE = yes From 31f65f92937708b64d8aae49b15d66268a913f78 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:19:09 -0500 Subject: [PATCH 15/33] Update keyboards/jcpm2/config.h Co-authored-by: Drashna Jaelre --- keyboards/jcpm2/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/config.h b/keyboards/jcpm2/config.h index 2a2e87b44c46..ba6100d09647 100644 --- a/keyboards/jcpm2/config.h +++ b/keyboards/jcpm2/config.h @@ -18,4 +18,4 @@ // I2C Configuration #define OLED_DISPLAY_128X64 -#define OLED_TIMEOUT 2000000 \ No newline at end of file +#define OLED_TIMEOUT 2000000 From f9d158fe299c852ade512fc8821ef7c09d6fed67 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:19:22 -0500 Subject: [PATCH 16/33] Update keyboards/jcpm2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre --- keyboards/jcpm2/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c index d7ded9edda48..e62f08e4255f 100644 --- a/keyboards/jcpm2/keymaps/default/keymap.c +++ b/keyboards/jcpm2/keymaps/default/keymap.c @@ -157,4 +157,4 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } } return false; -} \ No newline at end of file +} From 042199205f7ef7fcfce9203e4c8236c177f10d23 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:19:31 -0500 Subject: [PATCH 17/33] Update keyboards/jcpm2/keyboard.json Co-authored-by: Drashna Jaelre --- keyboards/jcpm2/keyboard.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/keyboard.json b/keyboards/jcpm2/keyboard.json index 910efc7b51b5..0e394131cb3d 100644 --- a/keyboards/jcpm2/keyboard.json +++ b/keyboards/jcpm2/keyboard.json @@ -77,4 +77,4 @@ ] } } -} \ No newline at end of file +} From ec82bc40aad31901b3daea9fae5edf99252edea3 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:32:37 -0500 Subject: [PATCH 18/33] Update keyboards/jcpm2/jcpm2.c Co-authored-by: jack --- keyboards/jcpm2/jcpm2.c | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/jcpm2/jcpm2.c b/keyboards/jcpm2/jcpm2.c index 1dc945353e88..e523296e653f 100644 --- a/keyboards/jcpm2/jcpm2.c +++ b/keyboards/jcpm2/jcpm2.c @@ -41,7 +41,6 @@ bool oled_task_kb(void) { if (!oled_task_user()) { return false; } - // rest of your code return true; } From c4cd53e535acd4cc508d813a4ab8419445d06263 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:32:52 -0500 Subject: [PATCH 19/33] Update keyboards/jcpm2/keymaps/default/keymap.c Co-authored-by: jack --- keyboards/jcpm2/keymaps/default/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c index e62f08e4255f..62314a1b34d4 100644 --- a/keyboards/jcpm2/keymaps/default/keymap.c +++ b/keyboards/jcpm2/keymaps/default/keymap.c @@ -151,10 +151,10 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { rgb_matrix_set_color(10, 0, UNDERGLOW/2, UNDERGLOW/2); rgb_matrix_set_color(9, 0, UNDERGLOW/2, UNDERGLOW/2); rgb_matrix_set_color(8, 0, UNDERGLOW/2, UNDERGLOW/2); - break; + break; default: break; } } - return false; + return false; } From e0b2c92f662633c53f433d574138c00a14a4bc1a Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:33:12 -0500 Subject: [PATCH 20/33] Update keyboards/jcpm2/keymaps/default/keymap.c Co-authored-by: jack --- keyboards/jcpm2/keymaps/default/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c index 62314a1b34d4..6608c750a3a1 100644 --- a/keyboards/jcpm2/keymaps/default/keymap.c +++ b/keyboards/jcpm2/keymaps/default/keymap.c @@ -64,8 +64,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { #ifdef OLED_ENABLE // Function to display the current layer and information on the OLED oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } + return OLED_ROTATION_180; +} bool oled_task_user(void) { switch (get_highest_layer(layer_state | default_layer_state)) { From fddda749ca425b539aa94e4e33735750e4863f4c Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:43:42 -0500 Subject: [PATCH 21/33] Update keyboards/jcpm2/keyboard.json Co-authored-by: Joel Challis --- keyboards/jcpm2/keyboard.json | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/jcpm2/keyboard.json b/keyboards/jcpm2/keyboard.json index 0e394131cb3d..17734a0ed072 100644 --- a/keyboards/jcpm2/keyboard.json +++ b/keyboards/jcpm2/keyboard.json @@ -32,7 +32,6 @@ }, "default": { "animation": "typing_heatmap", - "on": true, "val": 180 }, "driver": "ws2812", From 38da75ab546775b722b97b1196056fe8809d3f5a Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:44:01 -0500 Subject: [PATCH 22/33] Update keyboards/jcpm2/jcpm2.c Co-authored-by: Joel Challis --- keyboards/jcpm2/jcpm2.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/keyboards/jcpm2/jcpm2.c b/keyboards/jcpm2/jcpm2.c index e523296e653f..a01d01e55f50 100644 --- a/keyboards/jcpm2/jcpm2.c +++ b/keyboards/jcpm2/jcpm2.c @@ -1,5 +1,4 @@ -/* Copyright 2022 DOIO - * Copyright 2022 DOIO2022 +/* Copyright 2025 Jeremy Cook Consulting LLC * * 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 From 43eb6a1812a1af658f7e338d6d6c6496e097c46f Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:44:10 -0500 Subject: [PATCH 23/33] Update keyboards/jcpm2/config.h Co-authored-by: Joel Challis --- keyboards/jcpm2/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/jcpm2/config.h b/keyboards/jcpm2/config.h index ba6100d09647..0f06cd1466b2 100644 --- a/keyboards/jcpm2/config.h +++ b/keyboards/jcpm2/config.h @@ -16,6 +16,5 @@ #pragma once -// I2C Configuration #define OLED_DISPLAY_128X64 #define OLED_TIMEOUT 2000000 From 4ab5db334277966186a8c9f8c57c2cf598a3dafc Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:44:23 -0500 Subject: [PATCH 24/33] Update keyboards/jcpm2/jcpm2.c Co-authored-by: Joel Challis --- keyboards/jcpm2/jcpm2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/jcpm2.c b/keyboards/jcpm2/jcpm2.c index a01d01e55f50..caf969fb3d1f 100644 --- a/keyboards/jcpm2/jcpm2.c +++ b/keyboards/jcpm2/jcpm2.c @@ -20,7 +20,7 @@ uint16_t logo_timer = 0; oled_rotation_t oled_init_kb(oled_rotation_t rotation) { logo_timer = timer_read(); - return rotation; + return OLED_ROTATION_180; } static void render_logo(void) { From 6bdeeb75317496e2978338b21822401b50d8bd60 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:45:10 -0500 Subject: [PATCH 25/33] Update keyboards/jcpm2/keymaps/default/keymap.c Co-authored-by: Joel Challis --- keyboards/jcpm2/keymaps/default/keymap.c | 72 ++++++++++++------------ 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c index 6608c750a3a1..46d6b187bcbd 100644 --- a/keyboards/jcpm2/keymaps/default/keymap.c +++ b/keyboards/jcpm2/keymaps/default/keymap.c @@ -119,42 +119,40 @@ bool oled_task_user(void) { } #endif -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - for (uint8_t i = led_min; i < led_max; i++) { - switch(get_highest_layer(layer_state|default_layer_state)) { - case _LAYER2: - rgb_matrix_set_color(11, 0, 0, UNDERGLOW); - rgb_matrix_set_color(10, 0, 0, UNDERGLOW); - rgb_matrix_set_color(9, 0, 0, UNDERGLOW); - rgb_matrix_set_color(8, 0, 0, UNDERGLOW); - break; - case _LAYER1: - rgb_matrix_set_color(11, 0, UNDERGLOW, 0); - rgb_matrix_set_color(10, 0, UNDERGLOW, 0); - rgb_matrix_set_color(9, 0, UNDERGLOW, 0); - rgb_matrix_set_color(8, 0, UNDERGLOW, 0); - break; - case _LAYER0_MOD: - rgb_matrix_set_color(11, UNDERGLOW/2, 0, UNDERGLOW/2); - rgb_matrix_set_color(10, UNDERGLOW/2, 0, UNDERGLOW/2); - rgb_matrix_set_color(9, UNDERGLOW/2, 0, UNDERGLOW/2); - rgb_matrix_set_color(8, UNDERGLOW/2, 0, UNDERGLOW/2); - break; - case _LAYER0: - rgb_matrix_set_color(11, UNDERGLOW, 0, 0); - rgb_matrix_set_color(10, UNDERGLOW, 0, 0); - rgb_matrix_set_color(9, UNDERGLOW, 0, 0); - rgb_matrix_set_color(8, UNDERGLOW, 0, 0); - break; - case _LAYER3: //not used - rgb_matrix_set_color(11, 0, UNDERGLOW/2, UNDERGLOW/2); - rgb_matrix_set_color(10, 0, UNDERGLOW/2, UNDERGLOW/2); - rgb_matrix_set_color(9, 0, UNDERGLOW/2, UNDERGLOW/2); - rgb_matrix_set_color(8, 0, UNDERGLOW/2, UNDERGLOW/2); - break; - default: - break; - } - } +void rgb_matrix_indicators_user(void) { + switch(get_highest_layer(layer_state|default_layer_state)) { + case _LAYER2: + rgb_matrix_set_color(11, 0, 0, UNDERGLOW); + rgb_matrix_set_color(10, 0, 0, UNDERGLOW); + rgb_matrix_set_color(9, 0, 0, UNDERGLOW); + rgb_matrix_set_color(8, 0, 0, UNDERGLOW); + break; + case _LAYER1: + rgb_matrix_set_color(11, 0, UNDERGLOW, 0); + rgb_matrix_set_color(10, 0, UNDERGLOW, 0); + rgb_matrix_set_color(9, 0, UNDERGLOW, 0); + rgb_matrix_set_color(8, 0, UNDERGLOW, 0); + break; + case _LAYER0_MOD: + rgb_matrix_set_color(11, UNDERGLOW/2, 0, UNDERGLOW/2); + rgb_matrix_set_color(10, UNDERGLOW/2, 0, UNDERGLOW/2); + rgb_matrix_set_color(9, UNDERGLOW/2, 0, UNDERGLOW/2); + rgb_matrix_set_color(8, UNDERGLOW/2, 0, UNDERGLOW/2); + break; + case _LAYER0: + rgb_matrix_set_color(11, UNDERGLOW, 0, 0); + rgb_matrix_set_color(10, UNDERGLOW, 0, 0); + rgb_matrix_set_color(9, UNDERGLOW, 0, 0); + rgb_matrix_set_color(8, UNDERGLOW, 0, 0); + break; + case _LAYER3: //not used + rgb_matrix_set_color(11, 0, UNDERGLOW/2, UNDERGLOW/2); + rgb_matrix_set_color(10, 0, UNDERGLOW/2, UNDERGLOW/2); + rgb_matrix_set_color(9, 0, UNDERGLOW/2, UNDERGLOW/2); + rgb_matrix_set_color(8, 0, UNDERGLOW/2, UNDERGLOW/2); + break; + default: + break; + } return false; } From 46a623f775b253f03ccbd103fb90e351b75b85bf Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:45:31 -0500 Subject: [PATCH 26/33] Update keyboards/jcpm2/readme.md Co-authored-by: Joel Challis --- keyboards/jcpm2/readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keyboards/jcpm2/readme.md b/keyboards/jcpm2/readme.md index 95a075b0d6c7..9a5560dfd091 100644 --- a/keyboards/jcpm2/readme.md +++ b/keyboards/jcpm2/readme.md @@ -22,4 +22,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: +* **Bootmagic reset**: Hold down the rotary encoder and plug in the keyboard * **Physical reset button**: Double-click the small inside button on top of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From f777b4178d2d6612785f2cf942b9e0f35d35bc44 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:46:04 -0500 Subject: [PATCH 27/33] Update keyboards/jcpm2/keymaps/default/keymap.c Co-authored-by: Joel Challis --- keyboards/jcpm2/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c index 46d6b187bcbd..e7a77e5d1dcb 100644 --- a/keyboards/jcpm2/keymaps/default/keymap.c +++ b/keyboards/jcpm2/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -#ifdef ENCODER_MAP_ENABLE //defined in rules.mk +#ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_LAYER0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, // default [_LAYER0_MOD] = { ENCODER_CCW_CW(_______, _______) }, // default MOD From 7825b933deb1be5a23c624b99151834a999e405f Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:46:28 -0500 Subject: [PATCH 28/33] Update keyboards/jcpm2/jcpm2.c Co-authored-by: Joel Challis --- keyboards/jcpm2/jcpm2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/jcpm2.c b/keyboards/jcpm2/jcpm2.c index caf969fb3d1f..8789d35aae27 100644 --- a/keyboards/jcpm2/jcpm2.c +++ b/keyboards/jcpm2/jcpm2.c @@ -43,4 +43,4 @@ bool oled_task_kb(void) { return true; } -#endif \ No newline at end of file +#endif From 372e1fab9c6586855a6b70e4adf1faf31cba9061 Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:46:48 -0500 Subject: [PATCH 29/33] Update keyboards/jcpm2/keymaps/default/keymap.c Co-authored-by: Joel Challis --- keyboards/jcpm2/keymaps/default/keymap.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c index e7a77e5d1dcb..290acf525a76 100644 --- a/keyboards/jcpm2/keymaps/default/keymap.c +++ b/keyboards/jcpm2/keymaps/default/keymap.c @@ -63,10 +63,6 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { #ifdef OLED_ENABLE // Function to display the current layer and information on the OLED -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; -} - bool oled_task_user(void) { switch (get_highest_layer(layer_state | default_layer_state)) { case _LAYER0: From 7e099cd74c0039cce4c58c51f28eba25aad0010e Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Wed, 15 Jan 2025 21:47:02 -0500 Subject: [PATCH 30/33] Update keyboards/jcpm2/jcpm2.c Co-authored-by: Joel Challis --- keyboards/jcpm2/jcpm2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/jcpm2.c b/keyboards/jcpm2/jcpm2.c index 8789d35aae27..766d5569f886 100644 --- a/keyboards/jcpm2/jcpm2.c +++ b/keyboards/jcpm2/jcpm2.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef OLED_ENABLE -uint16_t logo_timer = 0; +static uint16_t logo_timer = 0; oled_rotation_t oled_init_kb(oled_rotation_t rotation) { logo_timer = timer_read(); From 04df54e4df9a29c7c85369cb8b5bc7987369f0af Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Thu, 16 Jan 2025 08:04:53 -0500 Subject: [PATCH 31/33] Update keyboards/jcpm2/keymaps/default/keymap.c Co-authored-by: Joel Challis --- keyboards/jcpm2/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/keymaps/default/keymap.c b/keyboards/jcpm2/keymaps/default/keymap.c index 290acf525a76..706f94312dc7 100644 --- a/keyboards/jcpm2/keymaps/default/keymap.c +++ b/keyboards/jcpm2/keymaps/default/keymap.c @@ -115,7 +115,7 @@ bool oled_task_user(void) { } #endif -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { switch(get_highest_layer(layer_state|default_layer_state)) { case _LAYER2: rgb_matrix_set_color(11, 0, 0, UNDERGLOW); From bb8d683bc8ada91e41e8b2eed38f125736a9df6f Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Fri, 17 Jan 2025 21:25:09 -0500 Subject: [PATCH 32/33] Update jcpm2.c --- keyboards/jcpm2/jcpm2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/jcpm2.c b/keyboards/jcpm2/jcpm2.c index 766d5569f886..9a10e6851715 100644 --- a/keyboards/jcpm2/jcpm2.c +++ b/keyboards/jcpm2/jcpm2.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef OLED_ENABLE -static uint16_t logo_timer = 0; +static uint32_t logo_timer = 0; oled_rotation_t oled_init_kb(oled_rotation_t rotation) { logo_timer = timer_read(); From 7b6cdd6116311fd234a99593cda6dd28ad0ca9de Mon Sep 17 00:00:00 2001 From: Jeremy Cook Date: Fri, 17 Jan 2025 21:58:36 -0500 Subject: [PATCH 33/33] Update jcpm2.c --- keyboards/jcpm2/jcpm2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/jcpm2/jcpm2.c b/keyboards/jcpm2/jcpm2.c index 9a10e6851715..9439a6a677b4 100644 --- a/keyboards/jcpm2/jcpm2.c +++ b/keyboards/jcpm2/jcpm2.c @@ -33,7 +33,7 @@ static void render_logo(void) { } bool oled_task_kb(void) { - if (timer_elapsed(logo_timer) < 1000) { + if (timer_elapsed32(logo_timer) < 1000) { render_logo(); return false; }