diff --git a/keyboards/kprepublic/bm16a/keymaps/vial/config.h b/keyboards/kprepublic/bm16a/keymaps/vial/config.h new file mode 100644 index 0000000000..3aff809dca --- /dev/null +++ b/keyboards/kprepublic/bm16a/keymaps/vial/config.h @@ -0,0 +1,26 @@ +#pragma once + +#define VIAL_KEYBOARD_UID {0x58, 0x55, 0xE7, 0x22, 0xE7, 0x2F, 0xD2, 0x9A} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 3 } + +// Reduce firmware size by decreasing number of functions: +#define DYNAMIC_KEYMAP_LAYER_COUNT 4 +#define DYNAMIC_KEYMAP_MACRO_COUNT 16 +#define VIAL_COMBO_ENTRIES 4 +#define VIAL_KEY_OVERRIDE_ENTRIES 4 +#define VIAL_TAP_DANCE_ENTRIES 4 + +// Reduce firmware size by removing unneeded animations: +#undef RGBLIGHT_ANIMATIONS +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_TWINKLE diff --git a/keyboards/kprepublic/bm16a/keymaps/vial/keymap.c b/keyboards/kprepublic/bm16a/keymaps/vial/keymap.c new file mode 100644 index 0000000000..59eae99218 --- /dev/null +++ b/keyboards/kprepublic/bm16a/keymaps/vial/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2022 + * + * 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_ortho_4x4( + KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_PDOT, KC_SPC, MO(1) + ), + [1] = LAYOUT_ortho_4x4( + RESET, KC_PAST, KC_PSLS, _______, + BL_TOGG, BL_DEC, BL_INC, BL_STEP, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, + RGB_SAI, RGB_SAD, _______, _______ + ), + [2] = LAYOUT_ortho_4x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_ortho_4x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/kprepublic/bm16a/keymaps/vial/readme.md b/keyboards/kprepublic/bm16a/keymaps/vial/readme.md new file mode 100644 index 0000000000..2b43d7cc48 --- /dev/null +++ b/keyboards/kprepublic/bm16a/keymaps/vial/readme.md @@ -0,0 +1,7 @@ +# Vial Keymap for BM16a + +[Vial] settings for the [KPrepublic BM16a] with a default keymap based on the stock layout that this keypad ships with. + + +[Vial]: https://get.vial.today +[KPrepublic BM16a]: https://kprepublic.com/collections/bm16/products/bm16a-16-keys-custom-mechanical-keyboard-pcb-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom-underglow-alps-mx diff --git a/keyboards/kprepublic/bm16a/keymaps/vial/rules.mk b/keyboards/kprepublic/bm16a/keymaps/vial/rules.mk new file mode 100644 index 0000000000..3ac00ba36a --- /dev/null +++ b/keyboards/kprepublic/bm16a/keymaps/vial/rules.mk @@ -0,0 +1,7 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes + +# Reduce firmware size: +LTO_ENABLE = yes +MAGIC_ENABLE = no +QMK_SETTINGS = no diff --git a/keyboards/kprepublic/bm16a/keymaps/vial/vial.json b/keyboards/kprepublic/bm16a/keymaps/vial/vial.json new file mode 100644 index 0000000000..2b6952562f --- /dev/null +++ b/keyboards/kprepublic/bm16a/keymaps/vial/vial.json @@ -0,0 +1,15 @@ +{ + "name": "KPrepublic BM16a", + "vendorId": "0x4B50", + "productId": "0x016A", + "lighting": "qmk_backlight_rgblight", + "matrix": { "rows": 4, "cols": 4 }, + "layouts": { + "keymap": [ + ["0,0","0,1","0,2","0,3"], + ["1,0","1,1","1,2","1,3"], + ["2,0","2,1","2,2","2,3"], + ["3,0","3,1","3,2","3,3"] + ] + } +}