diff --git a/keyboards/doio/kb04/config.h b/keyboards/doio/kb04/config.h new file mode 100644 index 0000000000..8aa5045fca --- /dev/null +++ b/keyboards/doio/kb04/config.h @@ -0,0 +1,101 @@ +/* Copyright 2022 filmstarr + * + * 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 . + */ + +#pragma once + +#include "config_common.h" + +/* key matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 8 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B3 } +#define MATRIX_COL_PINS { B14, B13, B12, B0, A7, A9, A8, A6 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Encoder pins */ +#define ENCODERS_PAD_A { B5 } +#define ENCODERS_PAD_B { B6 } + +#ifdef RGB_MATRIX_ENABLE + /* RGB Matrix config */ + #define RGB_DI_PIN A10 + #define DRIVER_LED_TOTAL 8 + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 + #define RGB_MATRIX_STARTUP_SPD 30 + #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS + #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT + #define RGB_MATRIX_KEYPRESSES + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + #define RGB_DISABLE_WHEN_USB_SUSPENDED + + /* RGB Matrix effect */ + #define ENABLE_RGB_MATRIX_ALPHAS_MODS + #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_BREATHING + #define ENABLE_RGB_MATRIX_BAND_SAT + #define ENABLE_RGB_MATRIX_BAND_VAL + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define ENABLE_RGB_MATRIX_CYCLE_ALL + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL + #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL + #define ENABLE_RGB_MATRIX_DUAL_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define ENABLE_RGB_MATRIX_RAINDROPS + #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + #define ENABLE_RGB_MATRIX_HUE_BREATHING + #define ENABLE_RGB_MATRIX_HUE_PENDULUM + #define ENABLE_RGB_MATRIX_HUE_WAVE + #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL + #define ENABLE_RGB_MATRIX_PIXEL_FLOW + #define ENABLE_RGB_MATRIX_PIXEL_RAIN + + #define ENABLE_RGB_MATRIX_TYPING_HEATMAP + #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define ENABLE_RGB_MATRIX_SPLASH + #define ENABLE_RGB_MATRIX_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_SPLASH + #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + + #define RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE +#endif + + diff --git a/keyboards/doio/kb04/info.json b/keyboards/doio/kb04/info.json new file mode 100644 index 0000000000..8174a4bb62 --- /dev/null +++ b/keyboards/doio/kb04/info.json @@ -0,0 +1,22 @@ +{ + "keyboard_name": "KB04-01", + "manufacturer": "DOIO", + "url": "https://www.keebmonkey.com/products/megalodon-macro-pad-with-a-knob", + "maintainer": "filmstarr", + "usb": { + "vid": "0xD010", + "pid": "0x0401", + "device_version": "0.0.1" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "1!", "x": 0, "y": 0 }, + { "label": "2@", "x": 1, "y": 0 }, + { "label": "3#", "x": 2, "y": 0 }, + { "label": "4$", "x": 3, "y": 0 }, + { "label": "Encoder", "x": 4.75, "y": 0 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/doio/kb04/kb04.c b/keyboards/doio/kb04/kb04.c new file mode 100644 index 0000000000..53a1028cab --- /dev/null +++ b/keyboards/doio/kb04/kb04.c @@ -0,0 +1,27 @@ +/* Copyright 2022 filmstarr + * + * 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 "kb04.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7}, +}, { + {0 , 0}, {75 , 0}, {149, 0}, {224, 0}, {112, 64}, {112, 64}, {112, 64}, {112, 64}, +}, { + 1, 1, 1, 1, 1, 1, 1, 1 +} }; +#endif diff --git a/keyboards/doio/kb04/kb04.h b/keyboards/doio/kb04/kb04.h new file mode 100644 index 0000000000..72d22787f6 --- /dev/null +++ b/keyboards/doio/kb04/kb04.h @@ -0,0 +1,27 @@ +/* Copyright 2022 filmstarr + * + * 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 . + */ + + #pragma once + +#include "quantum.h" + +/* 06 ◯ 05 + * ┌────┬────┬────┬────┐ ┌────┐ + * │ 00 │ 01 │ 02 │ 03 │ │ 04 │ + * └────┴────┴────┴────┘ └────┘ + */ + +#define LAYOUT(K00, K01, K02, K03, K04) {{ K00, K01, K02, K03, K04 }} \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/default/keymap.c b/keyboards/doio/kb04/keymaps/default/keymap.c new file mode 100644 index 0000000000..e4a9adc650 --- /dev/null +++ b/keyboards/doio/kb04/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2022 filmstarr + * + * 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 QMK_KEYBOARD_H + +enum layer_names { + _LAY0, + _LAY1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + L0: + ┌───┬───┬───┬───┐ ┌───┐ + │MO1│Prv│Ply│Nxt│ │Mut│ + └───┴───┴───┴───┘ └───┘ + L1: + ┌───┬───┬───┬───┐ ┌───┐ + │ │Hud│Tog│Mod│ │ │ + └───┴───┴───┴───┘ └───┘ +*/ + [_LAY0] = LAYOUT( + MO(_LAY1), KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE + ), + [_LAY1] = LAYOUT( + KC_TRNS, RGB_HUD, RGB_TOG, RGB_MOD, KC_TRNS + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_LAY0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif diff --git a/keyboards/doio/kb04/keymaps/default/rules.mk b/keyboards/doio/kb04/keymaps/default/rules.mk new file mode 100644 index 0000000000..61312f8527 --- /dev/null +++ b/keyboards/doio/kb04/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +# Encoder enabled +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/via/keymap.c b/keyboards/doio/kb04/keymaps/via/keymap.c new file mode 100644 index 0000000000..917fd287e6 --- /dev/null +++ b/keyboards/doio/kb04/keymaps/via/keymap.c @@ -0,0 +1,58 @@ +/* Copyright 2022 filmstarr + * + * 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 QMK_KEYBOARD_H + +enum layer_names { + _LAY0, + _LAY1, + _LAY2, + _LAY3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + L0: + ┌───┬───┬───┬───┐ ┌───┐ + │MO1│Prv│Ply│Nxt│ │Mut│ + └───┴───┴───┴───┘ └───┘ + L1: + ┌───┬───┬───┬───┐ ┌───┐ + │ │Hud│Tog│Mod│ │ │ + └───┴───┴───┴───┘ └───┘ +*/ + [_LAY0] = LAYOUT( + MO(_LAY1), KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE + ), + [_LAY1] = LAYOUT( + KC_TRNS, RGB_HUD, RGB_TOG, RGB_MOD, KC_TRNS + ), + [_LAY2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_LAY3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_LAY0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/doio/kb04/keymaps/via/rules.mk b/keyboards/doio/kb04/keymaps/via/rules.mk new file mode 100644 index 0000000000..c759bb600b --- /dev/null +++ b/keyboards/doio/kb04/keymaps/via/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes + +# Encoder enabled +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/vial-inverted/config.h b/keyboards/doio/kb04/keymaps/vial-inverted/config.h new file mode 100644 index 0000000000..2a2cbba017 --- /dev/null +++ b/keyboards/doio/kb04/keymaps/vial-inverted/config.h @@ -0,0 +1,22 @@ +/* Copyright 2022 filmstarr + * + * 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 . + */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x11, 0x10, 0xF5, 0xD0, 0x98, 0x20, 0xE9, 0xF6} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 3 } \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/vial-inverted/keymap.c b/keyboards/doio/kb04/keymaps/vial-inverted/keymap.c new file mode 100644 index 0000000000..29f5061825 --- /dev/null +++ b/keyboards/doio/kb04/keymaps/vial-inverted/keymap.c @@ -0,0 +1,58 @@ +/* Copyright 2022 filmstarr + * + * 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 QMK_KEYBOARD_H + +enum layer_names { + _LAY0, + _LAY1, + _LAY2, + _LAY3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + L0: + ┌───┬───┬───┬───┐ ┌───┐ + │Nxt│Ply│Prv│MO1│ │Mut│ + └───┴───┴───┴───┘ └───┘ + L1: + ┌───┬───┬───┬───┐ ┌───┐ + │Hud│Tog│Mod│ │ │ │ + └───┴───┴───┴───┘ └───┘ +*/ + [_LAY0] = LAYOUT( + KC_MNXT, KC_MPLY, KC_MPRV, MO(_LAY1), KC_MUTE + ), + [_LAY1] = LAYOUT( + RGB_MOD, RGB_TOG, RGB_HUD, KC_TRNS, KC_TRNS + ), + [_LAY2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_LAY3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_LAY0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/vial-inverted/rules.mk b/keyboards/doio/kb04/keymaps/vial-inverted/rules.mk new file mode 100644 index 0000000000..ae96a4ffd9 --- /dev/null +++ b/keyboards/doio/kb04/keymaps/vial-inverted/rules.mk @@ -0,0 +1,5 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes + +# Encoder enabled +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/vial-inverted/vial.json b/keyboards/doio/kb04/keymaps/vial-inverted/vial.json new file mode 100644 index 0000000000..db35a9501e --- /dev/null +++ b/keyboards/doio/kb04/keymaps/vial-inverted/vial.json @@ -0,0 +1,13 @@ +{ + "name": "KB04-01", + "vendorId": "0xD010", + "productId": "0x0401", + "lighting": "qmk_rgblight", + "matrix": { "rows": 1, "cols": 8 }, + "layouts": { + "keymap":[ + [ { "x": 0.5 }, "0,0\n\n\n\n\n\n\n\n\ne", "0,4" , "0,1\n\n\n\n\n\n\n\n\ne" ], + [ { "y": 0.25 }, "0,3", "0,2", "0,1", "0,0" ] + ] + } + } \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/vial/config.h b/keyboards/doio/kb04/keymaps/vial/config.h new file mode 100644 index 0000000000..2a2cbba017 --- /dev/null +++ b/keyboards/doio/kb04/keymaps/vial/config.h @@ -0,0 +1,22 @@ +/* Copyright 2022 filmstarr + * + * 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 . + */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x11, 0x10, 0xF5, 0xD0, 0x98, 0x20, 0xE9, 0xF6} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 3 } \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/vial/keymap.c b/keyboards/doio/kb04/keymaps/vial/keymap.c new file mode 100644 index 0000000000..6ef9d798e9 --- /dev/null +++ b/keyboards/doio/kb04/keymaps/vial/keymap.c @@ -0,0 +1,58 @@ +/* Copyright 2022 filmstarr + * + * 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 QMK_KEYBOARD_H + +enum layer_names { + _LAY0, + _LAY1, + _LAY2, + _LAY3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + L0: + ┌───┬───┬───┬───┐ ┌───┐ + │MO1│Prv│Ply│Nxt│ │Mut│ + └───┴───┴───┴───┘ └───┘ + L1: + ┌───┬───┬───┬───┐ ┌───┐ + │ │Hud│Tog│Mod│ │ │ + └───┴───┴───┴───┘ └───┘ +*/ + [_LAY0] = LAYOUT( + MO(_LAY1), KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE + ), + [_LAY1] = LAYOUT( + KC_TRNS, RGB_HUD, RGB_TOG, RGB_MOD, KC_TRNS + ), + [_LAY2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_LAY3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_LAY0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/vial/rules.mk b/keyboards/doio/kb04/keymaps/vial/rules.mk new file mode 100644 index 0000000000..ae96a4ffd9 --- /dev/null +++ b/keyboards/doio/kb04/keymaps/vial/rules.mk @@ -0,0 +1,5 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes + +# Encoder enabled +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/vial/vial.json b/keyboards/doio/kb04/keymaps/vial/vial.json new file mode 100644 index 0000000000..d311d051f1 --- /dev/null +++ b/keyboards/doio/kb04/keymaps/vial/vial.json @@ -0,0 +1,13 @@ +{ + "name": "KB04-01", + "vendorId": "0xD010", + "productId": "0x0401", + "lighting": "qmk_rgblight", + "matrix": { "rows": 1, "cols": 8 }, + "layouts": { + "keymap":[ + [ "0,0", "0,1", "0,2", "0,3" ], + [ { "y": 0.25, "x": 0.5 }, "0,0\n\n\n\n\n\n\n\n\ne", "0,4" , "0,1\n\n\n\n\n\n\n\n\ne" ] + ] + } + } \ No newline at end of file diff --git a/keyboards/doio/kb04/readme.md b/keyboards/doio/kb04/readme.md new file mode 100644 index 0000000000..50031f9157 --- /dev/null +++ b/keyboards/doio/kb04/readme.md @@ -0,0 +1,29 @@ +# doio/kb04 + +![doio/kb04](https://cdn.shopify.com/s/files/1/0463/5980/6101/products/4_f40396cc-ea72-47a5-887f-bbeeb4023b11_1100x.png?v=1654787686) + +A macropad that have 4-key keyboard made by DOIO, which controlled by an APM32F103CBT6 chipset. The keyboard features per-key RGB and 1 encoder. + +There are four keymaps: default, via, vial, and vial-inverted. vial-inverted is intended for use when the keyboard is plugged in upside down (with the encoder at the top). + +* Keyboard Maintainer: [filmstarr](https://github.com/filmstarr) +* Hardware Supported: DOIO Knob Board - KB04 +* Hardware Availability: [keebmonkey.com](https://www.keebmonkey.com/products/megalodon-macro-pad-with-a-knob) + +Make example for this keyboard (after setting up your build environment): + + make doio/kb04:default + +Flashing example for this keyboard: + + make doio/kb04: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: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (1! key) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/doio/kb04/rules.mk b/keyboards/doio/kb04/rules.mk new file mode 100644 index 0000000000..a7c5acf8f5 --- /dev/null +++ b/keyboards/doio/kb04/rules.mk @@ -0,0 +1,35 @@ +# MCU name +MCU = STM32F103 + +# Bootloader selection +BOOTLOADER = stm32duino + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# Additional thing to reduce compiled size +LTO_ENABLE = yes + +# RGB Matrix enabled +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 + +# Encoder enabled +ENCODER_ENABLE = yes + +# Wear-levelling driver +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = embedded_flash + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE \ No newline at end of file