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

Add KPRepublic/BM40hsrgb rev2 #16689

Merged
merged 37 commits into from
Sep 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
01ede49
[Keyboard] bm40hsrgb: move rev1 files to rev1 directory
rgoulter Mar 19, 2022
79f4e5b
[Keyboard] bm40hsrgb: add rev2
rgoulter Mar 19, 2022
6ab25c0
[keyboard] use imgur for bm40hsrgb images
rgoulter Apr 8, 2022
04c84e4
[keyboard] Update keyboards/kprepublic/bm40hsrgb/rev2/readme.md
rgoulter Apr 14, 2022
25d4947
[keyboard] Update keyboards/kprepublic/bm40hsrgb/rev2/rev2.c
rgoulter Apr 14, 2022
f69eb82
Update keyboards/kprepublic/bm40hsrgb/rev1/readme.md
rgoulter Apr 18, 2022
79d58bb
Update keyboards/kprepublic/bm40hsrgb/readme.md
rgoulter Apr 18, 2022
3428b53
[keyboard] replace use of tri_layer_state
rgoulter May 8, 2022
e4d3419
[keyboard] update readme for bm40hsrgb/rev2
rgoulter May 8, 2022
6c02a44
[keyboard] use ortho_4x12_1x2uC instead of planck_mit
rgoulter May 11, 2022
5523877
[keyboard] use ortho_4x12_1x2uC in info.json
rgoulter May 11, 2022
fb36c59
[keyboard] use ortho_4x12_1x2uC in rev2 rules.mk
rgoulter May 11, 2022
09baecd
Update keyboards/kprepublic/bm40hsrgb/rev2/rules.mk
rgoulter May 15, 2022
fb0be8e
[keyboard] fix bm40hsrgb g_led_config
rgoulter May 16, 2022
695d9c4
[keyboard] fix USB vid/pid for kprepublic/bm40hsrgb/rev2
rgoulter Sep 20, 2022
8915c09
fix compiler errors
rgoulter Nov 2, 2022
e6a7087
remove config_common.h from bm40hsrgb/rev2/config.h
rgoulter Mar 17, 2023
102a3e4
refactor to info.json
rgoulter Apr 18, 2023
c0ad11e
Update keyboards/kprepublic/bm40hsrgb/readme.md
rgoulter Apr 19, 2023
98bad20
Update keyboards/kprepublic/bm40hsrgb/rev2/readme.md
rgoulter Apr 19, 2023
a691dbb
Update keyboards/kprepublic/bm40hsrgb/rev2/rules.mk
rgoulter Apr 19, 2023
ca0a031
Update keyboards/kprepublic/bm40hsrgb/rev2/info.json
rgoulter Apr 19, 2023
0fe2a9e
keyboard: bm40hsrgb: remove readme from keymaps
rgoulter Apr 19, 2023
bf904db
keyboard: bm40hsrgb: use tri_layer feature
rgoulter Apr 19, 2023
432c385
Update keyboards/kprepublic/bm40hsrgb/rev2/keymaps/via/keymap.c
rgoulter Apr 19, 2023
6e37e63
keyboard: bm40hsrgb: use tri_layer feature in via keymap
rgoulter Apr 19, 2023
6bf9d86
keyboard: bm40hsrgb: describe matrix in layout
rgoulter Apr 19, 2023
92d2ca2
keyboard: add alias/mapping for kprepublic/bm40hsrgb/rev1
rgoulter Apr 19, 2023
ae06115
keyboard: bm40hsrgb rev2 PR feedback
rgoulter May 21, 2023
78bfd7e
keyboard: bm40hsrgb rev2 use ws2812 only for rgblight
rgoulter Jul 14, 2023
ea0f59e
keyboard: bm40hsrgb rev2 remove commented out code
rgoulter Jul 14, 2023
367243a
keyboard: bm40hsrgb rev2 remove unnecessary code
rgoulter Jul 14, 2023
6c0f0a6
keyboard: bm40hsrgb rev2: LTO_ENABLE for the default keymap
rgoulter Jul 14, 2023
e419161
Update keyboards/kprepublic/bm40hsrgb/rev2/rules.mk
rgoulter Aug 29, 2023
8429516
Update keyboards/kprepublic/bm40hsrgb/rev2/info.json
rgoulter Aug 29, 2023
ed6f7a7
Update keyboards/kprepublic/bm40hsrgb/rev2/config.h
rgoulter Aug 30, 2023
30eafdc
reduce firmware size on via keymap
rgoulter Sep 2, 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
3 changes: 3 additions & 0 deletions data/mappings/keyboard_aliases.hjson
Original file line number Diff line number Diff line change
Expand Up @@ -884,6 +884,9 @@
"kelowna/rgb64": {
"target": "weirdo/kelowna/rgb64"
},
"kprepublic/bm40hsrgb": {
"target": "kprepublic/bm40hsrgb/rev1"
},
"kprepublic/bm65hsrgb_iso": {
"target": "kprepublic/bm65hsrgb_iso/rev1"
},
Expand Down
74 changes: 0 additions & 74 deletions keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/config.h

This file was deleted.

19 changes: 0 additions & 19 deletions keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/rules.mk

This file was deleted.

8 changes: 5 additions & 3 deletions keyboards/kprepublic/bm40hsrgb/readme.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# bm40hsrgb

![BM40 RGB](https://rgoulter.com/images/keyboards/bm40rgb/bm40rgb_large.jpg)
![BM40 RGB](https://i.imgur.com/eOqXMlNh.jpg)

An ortholinear 40% hotswap keyboard with per-key RGB in-switch LEDs and RGB Backlighting, from KP Republic.

Expand All @@ -12,10 +12,12 @@ This firmware was originally taken from a kbfirmware.json and manually converted

Make example for this keyboard (after setting up your build environment):

make kprepublic/bm40hsrgb:default
for rev1: make kprepublic/bm40hsrgb/rev1:default
for rev2: make kprepublic/bm40hsrgb/rev2:default
rgoulter marked this conversation as resolved.
Show resolved Hide resolved

Flashing example for this keyboard:

make kprepublic/bm40hsrgb:default:flash
for rev1: make kprepublic/bm40hsrgb/rev1:default:flash
for rev2: make kprepublic/bm40hsrgb/rev2:default:flash
rgoulter marked this conversation as resolved.
Show resolved Hide resolved

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).
21 changes: 21 additions & 0 deletions keyboards/kprepublic/bm40hsrgb/rev1/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# bm40hsrgb

![BM40 RGB](https://imgur.com/eOqXMlNh.jpeg)

An ortholinear 40% hotswap keyboard with per-key RGB in-switch LEDs and RGB Backlighting, from KP Republic.

This firmware was originally taken from a kbfirmware.json and manually converted. You may find the original `.json` files [here](https://drive.google.com/drive/folders/1tlTHQIFcluK2mjZ4UbbKCsdRLgSRSPw6).

* Keyboard Maintainer: [rgoulter](https://github.com/rgoulter)
* Hardware Supported: bm40hsrgb PCB
* Hardware Availability: [KPRepublic](https://www.aliexpress.com/item/4001147779116.html)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Just a) suggestion to use the URL of the official website instead of the aliexpress: https://kprepublic.com/collections/bm40/products/bm40-rgb-40-hot-swap-custom-mechanical-keyboard-pcb-qmk-underglow-type-c-planck


Make example for this keyboard (after setting up your build environment):

make kprepublic/bm40hsrgb/rev1:default

Flashing example for this keyboard:

make kprepublic/bm40hsrgb/rev1: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).
22 changes: 22 additions & 0 deletions keyboards/kprepublic/bm40hsrgb/rev2/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/* Copyright 2020 tominabox1
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once

#define DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1010000
#define RGB_MATRIX_LED_COUNT 47
#define RGB_MATRIX_KEYPRESSES
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
197 changes: 197 additions & 0 deletions keyboards/kprepublic/bm40hsrgb/rev2/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
{
"keyboard_name": "BM40 Hotswap RGB",
"manufacturer": "KPRepublic",
"url": "",
"maintainer": "qmk",
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"rgblight": true,
"rgb_matrix": true,
"tri_layer": true,
"console": false,
"command": false,
"nkro": false,
"backlight": false,
"audio": false
},
"usb": {
"vid": "0x4B50",
"pid": "0x3430",
"device_version": "0.0.2"
},
rgoulter marked this conversation as resolved.
Show resolved Hide resolved
"ws2812": {
"pin": "B0"
},
"rgblight": {
"led_count": 6,
"max_brightness": 150,
"animations": {
"knight": true,
"rainbow_swirl": true
}
},
"rgb_matrix": {
"driver": "is31fl3733",
"max_brightness": 150,
"animations": {
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
"breathing": true,
"band_sat": true,
"band_val": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_up_down": true,
"rainbow_moving_chevron": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"dual_beacon": true,
"rainbow_beacon": true,
"rainbow_pinwheels": true,
"raindrops": true,
"jellybean_raindrops": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"pixel_rain": true,
"pixel_flow": true,
"pixel_fractal": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true,
"solid_reactive": true,
"solid_reactive_wide": true,
"solid_reactive_multiwide": true,
"solid_reactive_cross": true,
"solid_reactive_multicross": true,
"solid_reactive_nexus": true,
"solid_reactive_multinexus": true,
"splash": true,
"multisplash": true,
"solid_splash": true,
"solid_multisplash": true
},
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
{"matrix": [0, 1], "x": 20, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 40, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 61, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 81, "y": 0, "flags": 4},
{"matrix": [0, 5], "x": 101, "y": 0, "flags": 4},
{"matrix": [0, 6], "x": 122, "y": 0, "flags": 4},
{"matrix": [0, 7], "x": 142, "y": 0, "flags": 4},
{"matrix": [0, 8], "x": 162, "y": 0, "flags": 4},
{"matrix": [0, 9], "x": 183, "y": 0, "flags": 4},
{"matrix": [0, 10], "x": 203, "y": 0, "flags": 4},
{"matrix": [0, 11], "x": 224, "y": 0, "flags": 1},
{"matrix": [1, 0], "x": 0, "y": 21, "flags": 1},
{"matrix": [1, 1], "x": 20, "y": 21, "flags": 4},
{"matrix": [1, 2], "x": 40, "y": 21, "flags": 4},
{"matrix": [1, 3], "x": 61, "y": 21, "flags": 4},
{"matrix": [1, 4], "x": 81, "y": 21, "flags": 4},
{"matrix": [1, 5], "x": 101, "y": 21, "flags": 4},
{"matrix": [1, 6], "x": 122, "y": 21, "flags": 4},
{"matrix": [1, 7], "x": 142, "y": 21, "flags": 4},
{"matrix": [1, 8], "x": 162, "y": 21, "flags": 4},
{"matrix": [1, 9], "x": 183, "y": 21, "flags": 4},
{"matrix": [1, 10], "x": 203, "y": 21, "flags": 4},
{"matrix": [1, 11], "x": 224, "y": 21, "flags": 1},
{"matrix": [2, 0], "x": 0, "y": 42, "flags": 1},
{"matrix": [2, 1], "x": 20, "y": 42, "flags": 4},
{"matrix": [2, 2], "x": 40, "y": 42, "flags": 4},
{"matrix": [2, 3], "x": 61, "y": 42, "flags": 4},
{"matrix": [2, 4], "x": 81, "y": 42, "flags": 4},
{"matrix": [2, 5], "x": 101, "y": 42, "flags": 4},
{"matrix": [2, 6], "x": 122, "y": 42, "flags": 4},
{"matrix": [2, 7], "x": 142, "y": 42, "flags": 4},
{"matrix": [2, 8], "x": 162, "y": 42, "flags": 4},
{"matrix": [2, 9], "x": 183, "y": 42, "flags": 4},
{"matrix": [2, 10], "x": 203, "y": 42, "flags": 4},
{"matrix": [2, 11], "x": 224, "y": 42, "flags": 1},
{"matrix": [3, 0], "x": 0, "y": 64, "flags": 1},
{"matrix": [3, 1], "x": 20, "y": 64, "flags": 1},
{"matrix": [3, 2], "x": 40, "y": 64, "flags": 1},
{"matrix": [3, 3], "x": 61, "y": 64, "flags": 1},
{"matrix": [3, 4], "x": 81, "y": 64, "flags": 1},
{"matrix": [3, 5], "x": 111, "y": 64, "flags": 1},
{"matrix": [3, 7], "x": 142, "y": 64, "flags": 1},
{"matrix": [3, 8], "x": 162, "y": 64, "flags": 1},
{"matrix": [3, 9], "x": 183, "y": 64, "flags": 1},
{"matrix": [3, 10], "x": 203, "y": 64, "flags": 1},
{"matrix": [3, 11], "x": 224, "y": 64, "flags": 1}
]
},
"matrix_pins": {
"cols": ["B2", "B3", "D5", "D3", "D2", "B7", "F0", "B4", "B5", "B6", "C6", "C7"],
"rows": ["D7", "F7", "F6", "F5"]
},
"diode_direction": "ROW2COL",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["planck_mit"],
"layout_aliases": {
"LAYOUT_planck_mit": "LAYOUT_ortho_4x12_1x2uC"
},
"layouts": {
"LAYOUT_ortho_4x12_1x2uC": {
"layout": [
{"label":"K00", "matrix": [0, 0], "x":0, "y":0},
{"label":"K01", "matrix": [0, 1], "x":1, "y":0},
{"label":"K02", "matrix": [0, 2], "x":2, "y":0},
{"label":"K03", "matrix": [0, 3], "x":3, "y":0},
{"label":"K04", "matrix": [0, 4], "x":4, "y":0},
{"label":"K05", "matrix": [0, 5], "x":5, "y":0},
{"label":"K06", "matrix": [0, 6], "x":6, "y":0},
{"label":"K07", "matrix": [0, 7], "x":7, "y":0},
{"label":"K08", "matrix": [0, 8], "x":8, "y":0},
{"label":"K09", "matrix": [0, 9], "x":9, "y":0},
{"label":"K0A", "matrix": [0, 10], "x":10, "y":0},
{"label":"K0B", "matrix": [0, 11], "x":11, "y":0},
{"label":"K10", "matrix": [1, 0], "x":0, "y":1},
{"label":"K11", "matrix": [1, 1], "x":1, "y":1},
{"label":"K12", "matrix": [1, 2], "x":2, "y":1},
{"label":"K13", "matrix": [1, 3], "x":3, "y":1},
{"label":"K14", "matrix": [1, 4], "x":4, "y":1},
{"label":"K15", "matrix": [1, 5], "x":5, "y":1},
{"label":"K16", "matrix": [1, 6], "x":6, "y":1},
{"label":"K17", "matrix": [1, 7], "x":7, "y":1},
{"label":"K18", "matrix": [1, 8], "x":8, "y":1},
{"label":"K19", "matrix": [1, 9], "x":9, "y":1},
{"label":"K1A", "matrix": [1, 10], "x":10, "y":1},
{"label":"K1B", "matrix": [1, 11], "x":11, "y":1},
{"label":"K20", "matrix": [2, 0], "x":0, "y":2},
{"label":"K21", "matrix": [2, 1], "x":1, "y":2},
{"label":"K22", "matrix": [2, 2], "x":2, "y":2},
{"label":"K23", "matrix": [2, 3], "x":3, "y":2},
{"label":"K24", "matrix": [2, 4], "x":4, "y":2},
{"label":"K25", "matrix": [2, 5], "x":5, "y":2},
{"label":"K26", "matrix": [2, 6], "x":6, "y":2},
{"label":"K27", "matrix": [2, 7], "x":7, "y":2},
{"label":"K28", "matrix": [2, 8], "x":8, "y":2},
{"label":"K29", "matrix": [2, 9], "x":9, "y":2},
{"label":"K2A", "matrix": [2, 10], "x":10, "y":2},
{"label":"K2B", "matrix": [2, 11], "x":11, "y":2},
{"label":"K30", "matrix": [3, 0], "x":0, "y":3},
{"label":"K31", "matrix": [3, 1], "x":1, "y":3},
{"label":"K32", "matrix": [3, 2], "x":2, "y":3},
{"label":"K33", "matrix": [3, 3], "x":3, "y":3},
{"label":"K34", "matrix": [3, 4], "x":4, "y":3},
{"label":"K35", "matrix": [3, 5], "x":5, "y":3, "w":2},
{"label":"K37", "matrix": [3, 7], "x":7, "y":3},
{"label":"K38", "matrix": [3, 8], "x":8, "y":3},
{"label":"K39", "matrix": [3, 9], "x":9, "y":3},
{"label":"K3A", "matrix": [3, 10], "x":10, "y":3},
{"label":"K3B", "matrix": [3, 11], "x":11, "y":3}
]
}
}
}
Loading