From 84718c0ab7fc3661d9420e9872e3a86732da52a9 Mon Sep 17 00:00:00 2001 From: alabbe9545 <57238155+alabbe9545@users.noreply.github.com> Date: Tue, 21 Jun 2022 05:33:29 +0200 Subject: [PATCH] [Keyboard] Add labbeminiv1 (#16401) * [Keyboard] Add labbeminiv1 * Adjust vendor id The used vendor id was in use * Remove comment in the rgb keymap * Update keyboards/labbe/labbeminiv1/rules.mk Co-authored-by: Ryan * Rename rgb matrix keymap folder Co-authored-by: Ryan --- keyboards/labbe/labbeminiv1/config.h | 55 +++++++++++++++++++ keyboards/labbe/labbeminiv1/info.json | 10 ++++ .../labbeminiv1/keymaps/default/keymap.c | 20 +++++++ .../labbeminiv1/keymaps/default/readme.md | 1 + .../labbe/labbeminiv1/keymaps/rgb/config.h | 28 ++++++++++ .../labbe/labbeminiv1/keymaps/rgb/keymap.c | 20 +++++++ .../labbe/labbeminiv1/keymaps/rgb/rules.mk | 1 + .../labbeminiv1/keymaps/rgbmatrix/config.h | 26 +++++++++ .../labbeminiv1/keymaps/rgbmatrix/keymap.c | 20 +++++++ .../labbeminiv1/keymaps/rgbmatrix/rules.mk | 2 + keyboards/labbe/labbeminiv1/labbeminiv1.c | 36 ++++++++++++ keyboards/labbe/labbeminiv1/labbeminiv1.h | 20 +++++++ keyboards/labbe/labbeminiv1/readme.md | 3 + keyboards/labbe/labbeminiv1/rules.mk | 18 ++++++ 14 files changed, 260 insertions(+) create mode 100644 keyboards/labbe/labbeminiv1/config.h create mode 100644 keyboards/labbe/labbeminiv1/info.json create mode 100644 keyboards/labbe/labbeminiv1/keymaps/default/keymap.c create mode 100644 keyboards/labbe/labbeminiv1/keymaps/default/readme.md create mode 100644 keyboards/labbe/labbeminiv1/keymaps/rgb/config.h create mode 100644 keyboards/labbe/labbeminiv1/keymaps/rgb/keymap.c create mode 100644 keyboards/labbe/labbeminiv1/keymaps/rgb/rules.mk create mode 100644 keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h create mode 100644 keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/keymap.c create mode 100644 keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk create mode 100644 keyboards/labbe/labbeminiv1/labbeminiv1.c create mode 100644 keyboards/labbe/labbeminiv1/labbeminiv1.h create mode 100644 keyboards/labbe/labbeminiv1/readme.md create mode 100644 keyboards/labbe/labbeminiv1/rules.mk diff --git a/keyboards/labbe/labbeminiv1/config.h b/keyboards/labbe/labbeminiv1/config.h new file mode 100644 index 00000000000..ab1b25db3d6 --- /dev/null +++ b/keyboards/labbe/labbeminiv1/config.h @@ -0,0 +1,55 @@ +/* + * 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" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xABBE +#define PRODUCT_ID 0x4C4D +#define DEVICE_VER 0x0001 +#define MANUFACTURER Labbe +#define PRODUCT Labbe Mini V1 + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 3 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F5, F6 } +#define MATRIX_COL_PINS { F0, F1, F4 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/info.json b/keyboards/labbe/labbeminiv1/info.json new file mode 100644 index 00000000000..34499f2c6ad --- /dev/null +++ b/keyboards/labbe/labbeminiv1/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "Labbe Mini V1", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_wasd": { + "layout": [{"x":1, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}] + } + } +} \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/default/keymap.c b/keyboards/labbe/labbeminiv1/keymaps/default/keymap.c new file mode 100644 index 00000000000..3457acc011d --- /dev/null +++ b/keyboards/labbe/labbeminiv1/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +/* + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_wasd( KC_W, KC_A, KC_S, KC_D), +}; \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/default/readme.md b/keyboards/labbe/labbeminiv1/keymaps/default/readme.md new file mode 100644 index 00000000000..1bb84664065 --- /dev/null +++ b/keyboards/labbe/labbeminiv1/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for the labbe mini v1 diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h b/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h new file mode 100644 index 00000000000..7261bdb1d13 --- /dev/null +++ b/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h @@ -0,0 +1,28 @@ +/* + * 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 + +// ws2812 options +#define RGB_DI_PIN C7 // pin the DI on the ws2812 is hooked-up to + +#define RGBLED_NUM 4 // number of LEDs +#define RGBLIGHT_DEFAULT_MODE 6 // set the rainbow mode +#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue +#define RGBLIGHT_SAT_STEP 25 // units to step when in/decresing saturation +#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) +#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +#define RGBLIGHT_SLEEP // If defined, the RGB lighting will be switched off when the host goes to sleep +#define RGBLIGHT_EFFECT_RAINBOW_MOOD \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgb/keymap.c b/keyboards/labbe/labbeminiv1/keymaps/rgb/keymap.c new file mode 100644 index 00000000000..b708dee5e91 --- /dev/null +++ b/keyboards/labbe/labbeminiv1/keymaps/rgb/keymap.c @@ -0,0 +1,20 @@ +/* + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_wasd( KC_W, KC_A, KC_S, KC_D), +}; \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgb/rules.mk b/keyboards/labbe/labbeminiv1/keymaps/rgb/rules.mk new file mode 100644 index 00000000000..7ad666d1a38 --- /dev/null +++ b/keyboards/labbe/labbeminiv1/keymaps/rgb/rules.mk @@ -0,0 +1 @@ +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h new file mode 100644 index 00000000000..601744beb75 --- /dev/null +++ b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h @@ -0,0 +1,26 @@ +/* + * 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 + +// ws2812 options +#define RGB_DI_PIN C7 // pin the DI on the ws2812 is hooked-up to +#define RGBLED_NUM 4 // number of LEDs +#define DRIVER_LED_TOTAL RGBLED_NUM + +#define RGB_MATRIX_KEYPRESSES + +#define ENABLE_RGB_MATRIX_MULTISPLASH +#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_MULTISPLASH \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/keymap.c b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/keymap.c new file mode 100644 index 00000000000..b708dee5e91 --- /dev/null +++ b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/keymap.c @@ -0,0 +1,20 @@ +/* + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_wasd( KC_W, KC_A, KC_S, KC_D), +}; \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk new file mode 100644 index 00000000000..cfdb94059ba --- /dev/null +++ b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk @@ -0,0 +1,2 @@ +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/labbeminiv1.c b/keyboards/labbe/labbeminiv1/labbeminiv1.c new file mode 100644 index 00000000000..46ab7d057fb --- /dev/null +++ b/keyboards/labbe/labbeminiv1/labbeminiv1.c @@ -0,0 +1,36 @@ +/* + * 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 "labbeminiv1.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + // Key Matrix to LED Index + {NO_LED, 0, NO_LED}, + {1, 2, 3} + }, + { + // LED Index to Physical Position + {112, 0}, + {0, 64}, {112, 64}, {224, 64}, + }, + { + // LED Index to Flag + 4, + 4, 4, 4 + } +}; +#endif \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/labbeminiv1.h b/keyboards/labbe/labbeminiv1/labbeminiv1.h new file mode 100644 index 00000000000..daee5df9de8 --- /dev/null +++ b/keyboards/labbe/labbeminiv1/labbeminiv1.h @@ -0,0 +1,20 @@ +/* + * 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" + +#define LAYOUT_wasd(k01, k10, k11, k12) { {KC_NO, k01, KC_NO}, {k10, k11, k12} } \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/readme.md b/keyboards/labbe/labbeminiv1/readme.md new file mode 100644 index 00000000000..4e3d095255d --- /dev/null +++ b/keyboards/labbe/labbeminiv1/readme.md @@ -0,0 +1,3 @@ +# Labbe Mini V1 Keyboard + +A 4 key keyboard with perkey rgb support \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/rules.mk b/keyboards/labbe/labbeminiv1/rules.mk new file mode 100644 index 00000000000..424f7c14f5d --- /dev/null +++ b/keyboards/labbe/labbeminiv1/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # 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 \ No newline at end of file