Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added new Keyboard, The Black Hellebore #19655

Merged
merged 28 commits into from Jan 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
fc03b37
Added Heliotrope
prints-of-darkness Nov 27, 2022
29d9bbc
Update readme.md
prints-of-darkness Nov 27, 2022
ca408c4
updates Files
prints-of-darkness Nov 27, 2022
7b4f5d5
Update rules.mk
prints-of-darkness Nov 27, 2022
016e91e
missed CR at EOF
prints-of-darkness Nov 27, 2022
0ff5eaf
added more CR's
prints-of-darkness Nov 27, 2022
ad1b6f9
Update rules.mk
prints-of-darkness Nov 27, 2022
458db7d
Update info.json
prints-of-darkness Dec 1, 2022
d15d3b7
Merge branch 'qmk:master' into master
Dec 10, 2022
b0b246a
update
prints-of-darkness Dec 10, 2022
d695de1
changed vid and pid
prints-of-darkness Dec 10, 2022
340dfbb
updated lic header
prints-of-darkness Dec 10, 2022
d72089f
Updated LED Matrix
prints-of-darkness Dec 11, 2022
c675b60
Merge branch 'master' of https://github.com/MATTMCCA/qmk_firmware
prints-of-darkness Dec 11, 2022
6a8e490
Update info.json
prints-of-darkness Dec 11, 2022
edb2387
Merge branch 'qmk:master' into master
Dec 18, 2022
293dae2
Added black hellebore support to QMK
prints-of-darkness Jan 7, 2023
ade8bf0
Merge branch 'qmk:master' into master
Jan 7, 2023
a77bee8
added extra CR to files
prints-of-darkness Jan 7, 2023
3824a4e
Merge branch 'master' of https://github.com/MATTMCCA/qmk_firmware
prints-of-darkness Jan 7, 2023
5b34abd
Merge branch 'qmk:master' into master
Jan 21, 2023
c969013
Update info.json
prints-of-darkness Jan 21, 2023
5814ea4
update
prints-of-darkness Jan 21, 2023
5b93f64
Now using PWM driver for RGB.
prints-of-darkness Jan 22, 2023
53f7f7f
fixed License header
prints-of-darkness Jan 22, 2023
37aa0a4
fixed file format
prints-of-darkness Jan 22, 2023
295d2e1
removed ascii layout comments
prints-of-darkness Jan 22, 2023
ecc37cf
Update config.h
prints-of-darkness Jan 24, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions keyboards/black_hellebore/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
/* Copyright 2023 MATTMCCA (@MATTMCCA)
* SPDX-License-Identifier: GPL-2.0-only
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* 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 "config_common.h"

#ifdef RGB_MATRIX_ENABLE

#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 1
#define WS2812_PWM_PAL_MODE 1 //TIM1_CH1N (AF1)
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_DMA_STREAM STM32_DMA1_STREAM6
#define WS2812_DMA_CHANNEL 7 //7 works, CxS[3:0] 0111 = TIM1_UP on Channel 6? (RM0394.pdf pg.298)

#define RGB_DI_PIN A7 // The pin connected to the data pin of the LEDs
#define RGB_MATRIX_LED_COUNT 61 // The number of LEDs connected

#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects

#define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color
#define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
#define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
#define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
#define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
#define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
#define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
#define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
#define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back
#define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left
#define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right

/* RGB_MATRIX_FRAMEBUFFER_EFFECTS) */
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN

/* RGB_MATRIX_KEYPRESSES) | defined(RGB_MATRIX_KEYRELEASES) */
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
#define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
#define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out

#endif

21 changes: 21 additions & 0 deletions keyboards/black_hellebore/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/* Copyright 2023 MATTMCCA (@MATTMCCA)
* SPDX-License-Identifier: GPL-2.0-only
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* 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

#define HAL_USE_PWM TRUE

#include_next <halconf.h>
160 changes: 160 additions & 0 deletions keyboards/black_hellebore/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
{
"manufacturer": "MATTMCCA",
"keyboard_name": "black_hellebore",
"maintainer": "MATTMCCA",
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"matrix_pins": {
"cols": ["B15", "B14", "B13", "A9", "A2", "B1", "B9", "B7", "B5", "B4", "B0", "A8", "B6", "B3"],
"rows": ["A15", "B8", "A4", "A3", "B2"]
},
"processor": "STM32L412",
"url": "https://github.com/MATTMCCA/The-Black-Hellebore",
"usb": {
"device_version": "1.0.0",
"pid": "0x4467",
"vid": "0x3141"
},
"rgb_matrix": {
"layout": [
{ "flags": 4, "matrix": [0, 0] , "x": 7 , "y": 5 } ,
{ "flags": 4, "matrix": [0, 1] , "x": 22 , "y": 5 } ,
{ "flags": 4, "matrix": [0, 2] , "x": 37 , "y": 5 } ,
{ "flags": 4, "matrix": [0, 3] , "x": 52 , "y": 5 } ,
{ "flags": 4, "matrix": [0, 4] , "x": 67 , "y": 5 } ,
{ "flags": 4, "matrix": [0, 5] , "x": 82 , "y": 5 } ,
{ "flags": 4, "matrix": [0, 6] , "x": 97 , "y": 5 } ,
{ "flags": 4, "matrix": [0, 7] , "x": 112, "y": 5 } ,
{ "flags": 4, "matrix": [0, 8] , "x": 127, "y": 5 } ,
{ "flags": 4, "matrix": [0, 9] , "x": 142, "y": 5 } ,
{ "flags": 4, "matrix": [0, 10], "x": 157, "y": 5 } ,
{ "flags": 4, "matrix": [0, 11], "x": 172, "y": 5 } ,
{ "flags": 4, "matrix": [0, 12], "x": 187, "y": 5 } ,
{ "flags": 4, "matrix": [0, 13], "x": 209, "y": 5 } ,
{ "flags": 4, "matrix": [1, 13], "x": 213, "y": 17 },
{ "flags": 4, "matrix": [1, 12], "x": 194, "y": 17 },
{ "flags": 4, "matrix": [1, 11], "x": 179, "y": 17 },
{ "flags": 4, "matrix": [1, 10], "x": 164, "y": 17 },
{ "flags": 4, "matrix": [1, 9] , "x": 149, "y": 17 },
{ "flags": 4, "matrix": [1, 8] , "x": 134, "y": 17 },
{ "flags": 4, "matrix": [1, 7] , "x": 119, "y": 17 },
{ "flags": 4, "matrix": [1, 6] , "x": 104, "y": 17 },
{ "flags": 4, "matrix": [1, 5] , "x": 90 , "y": 17 },
{ "flags": 4, "matrix": [1, 4] , "x": 75 , "y": 17 },
{ "flags": 4, "matrix": [1, 3] , "x": 60 , "y": 17 },
{ "flags": 4, "matrix": [1, 2] , "x": 45 , "y": 17 },
{ "flags": 4, "matrix": [1, 1] , "x": 30 , "y": 17 },
{ "flags": 4, "matrix": [1, 0] , "x": 11 , "y": 17 },
{ "flags": 4, "matrix": [2, 0] , "x": 13 , "y": 29 },
{ "flags": 4, "matrix": [2, 1] , "x": 34 , "y": 29 },
{ "flags": 4, "matrix": [2, 2] , "x": 49 , "y": 29 },
{ "flags": 4, "matrix": [2, 3] , "x": 63 , "y": 29 },
{ "flags": 4, "matrix": [2, 4] , "x": 78 , "y": 29 },
{ "flags": 4, "matrix": [2, 5] , "x": 93 , "y": 29 },
{ "flags": 4, "matrix": [2, 6] , "x": 108, "y": 29 },
{ "flags": 4, "matrix": [2, 7] , "x": 123, "y": 29 },
{ "flags": 4, "matrix": [2, 8] , "x": 138, "y": 29 },
{ "flags": 4, "matrix": [2, 9] , "x": 153, "y": 29 },
{ "flags": 4, "matrix": [2, 10], "x": 168, "y": 29 },
{ "flags": 4, "matrix": [2, 11], "x": 183, "y": 29 },
{ "flags": 4, "matrix": [2, 13], "x": 207, "y": 29 },
{ "flags": 4, "matrix": [3, 13], "x": 203, "y": 41 },
{ "flags": 4, "matrix": [3, 10], "x": 175, "y": 41 },
{ "flags": 4, "matrix": [3, 9] , "x": 161, "y": 41 },
{ "flags": 4, "matrix": [3, 8] , "x": 146, "y": 41 },
{ "flags": 4, "matrix": [3, 7] , "x": 131, "y": 41 },
{ "flags": 4, "matrix": [3, 6] , "x": 116, "y": 41 },
{ "flags": 4, "matrix": [3, 5] , "x": 101, "y": 41 },
{ "flags": 4, "matrix": [3, 4] , "x": 86 , "y": 41 },
{ "flags": 4, "matrix": [3, 3] , "x": 71 , "y": 41 },
{ "flags": 4, "matrix": [3, 2] , "x": 56 , "y": 41 },
{ "flags": 4, "matrix": [3, 1] , "x": 41 , "y": 41 },
{ "flags": 4, "matrix": [3, 0] , "x": 17 , "y": 41 },
{ "flags": 4, "matrix": [4, 0] , "x": 9 , "y": 54 },
{ "flags": 4, "matrix": [4, 1] , "x": 28 , "y": 54 },
{ "flags": 4, "matrix": [4, 2] , "x": 47 , "y": 54 },
{ "flags": 4, "matrix": [4, 5] , "x": 103, "y": 54 },
{ "flags": 4, "matrix": [4, 9] , "x": 159, "y": 54 },
{ "flags": 4, "matrix": [4, 10], "x": 177, "y": 54 },
{ "flags": 4, "matrix": [4, 11], "x": 196, "y": 54 },
{ "flags": 4, "matrix": [4, 13], "x": 215, "y": 54 }
]
},
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
{ "matrix": [0, 0] , "x": 0 , "y": 0 },
{ "matrix": [0, 1] , "x": 1 , "y": 0 },
{ "matrix": [0, 2] , "x": 2 , "y": 0 },
{ "matrix": [0, 3] , "x": 3 , "y": 0 },
{ "matrix": [0, 4] , "x": 4 , "y": 0 },
{ "matrix": [0, 5] , "x": 5 , "y": 0 },
{ "matrix": [0, 6] , "x": 6 , "y": 0 },
{ "matrix": [0, 7] , "x": 7 , "y": 0 },
{ "matrix": [0, 8] , "x": 8 , "y": 0 },
{ "matrix": [0, 9] , "x": 9 , "y": 0 },
{ "matrix": [0, 10] , "x": 10 , "y": 0 },
{ "matrix": [0, 11] , "x": 11 , "y": 0 },
{ "matrix": [0, 12] , "x": 12 , "y": 0 },
{ "matrix": [0, 13], "w": 2 , "x": 13 , "y": 0 },
{ "matrix": [1, 0] , "w": 1.5 , "x": 0 , "y": 1 },
{ "matrix": [1, 1] , "x": 1.5 , "y": 1 },
{ "matrix": [1, 2] , "x": 2.5 , "y": 1 },
{ "matrix": [1, 3] , "x": 3.5 , "y": 1 },
{ "matrix": [1, 4] , "x": 4.5 , "y": 1 },
{ "matrix": [1, 5] , "x": 5.5 , "y": 1 },
{ "matrix": [1, 6] , "x": 6.5 , "y": 1 },
{ "matrix": [1, 7] , "x": 7.5 , "y": 1 },
{ "matrix": [1, 8] , "x": 8.5 , "y": 1 },
{ "matrix": [1, 9] , "x": 9.5 , "y": 1 },
{ "matrix": [1, 10] , "x": 10.5 , "y": 1 },
{ "matrix": [1, 11] , "x": 11.5 , "y": 1 },
{ "matrix": [1, 12] , "x": 12.5 , "y": 1 },
{ "matrix": [1, 13], "w": 1.5 , "x": 13.5 , "y": 1 },
{ "matrix": [2, 0] , "w": 1.75 , "x": 0 , "y": 2 },
{ "matrix": [2, 1] , "x": 1.75 , "y": 2 },
{ "matrix": [2, 2] , "x": 2.75 , "y": 2 },
{ "matrix": [2, 3] , "x": 3.75 , "y": 2 },
{ "matrix": [2, 4] , "x": 4.75 , "y": 2 },
{ "matrix": [2, 5] , "x": 5.75 , "y": 2 },
{ "matrix": [2, 6] , "x": 6.75 , "y": 2 },
{ "matrix": [2, 7] , "x": 7.75 , "y": 2 },
{ "matrix": [2, 8] , "x": 8.75 , "y": 2 },
{ "matrix": [2, 9] , "x": 9.75 , "y": 2 },
{ "matrix": [2, 10] , "x": 10.75, "y": 2 },
{ "matrix": [2, 11] , "x": 11.75, "y": 2 },
{ "matrix": [2, 13], "w": 2.25 , "x": 12.75, "y": 2 },
{ "matrix": [3, 0] , "w": 2.25 , "x": 0 , "y": 3 },
{ "matrix": [3, 1] , "x": 2.25 , "y": 3 },
{ "matrix": [3, 2] , "x": 3.25 , "y": 3 },
{ "matrix": [3, 3] , "x": 4.25 , "y": 3 },
{ "matrix": [3, 4] , "x": 5.25 , "y": 3 },
{ "matrix": [3, 5] , "x": 6.25 , "y": 3 },
{ "matrix": [3, 6] , "x": 7.25 , "y": 3 },
{ "matrix": [3, 7] , "x": 8.25 , "y": 3 },
{ "matrix": [3, 8] , "x": 9.25 , "y": 3 },
{ "matrix": [3, 9] , "x": 10.25, "y": 3 },
{ "matrix": [3, 10] , "x": 11.25, "y": 3 },
{ "matrix": [3, 13], "w": 2.75 , "x": 12.25, "y": 3 },
{ "matrix": [4, 0] , "w": 1.25 , "x": 0 , "y": 4 },
{ "matrix": [4, 1] , "w": 1.25 , "x": 1.25 , "y": 4 },
{ "matrix": [4, 2] , "w": 1.25 , "x": 2.5 , "y": 4 },
{ "matrix": [4, 5] , "w": 6.25 , "x": 3.75 , "y": 4 },
{ "matrix": [4, 9] , "w": 1.25 , "x": 10 , "y": 4 },
{ "matrix": [4, 10], "w": 1.25 , "x": 11.25, "y": 4 },
{ "matrix": [4, 11], "w": 1.25 , "x": 12.5 , "y": 4 },
{ "matrix": [4, 13], "w": 1.25 , "x": 13.75, "y": 4 }
]
}
}
}

28 changes: 28 additions & 0 deletions keyboards/black_hellebore/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/* Copyright 2023 MATTMCCA (@MATTMCCA)
* SPDX-License-Identifier: GPL-2.0-only
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* 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 QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[0] = LAYOUT_60_ansi(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
)
};
Loading