diff --git a/keyboards/bm16a/keymaps/briemens/config.h b/keyboards/bm16a/keymaps/briemens/config.h
new file mode 100644
index 000000000..08c234aee
--- /dev/null
+++ b/keyboards/bm16a/keymaps/briemens/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2019
+ *
+ * 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
+
+// place overrides here
diff --git a/keyboards/bm16a/keymaps/briemens/keymap.c b/keyboards/bm16a/keymaps/briemens/keymap.c
new file mode 100644
index 000000000..6622670b6
--- /dev/null
+++ b/keyboards/bm16a/keymaps/briemens/keymap.c
@@ -0,0 +1,86 @@
+/* Copyright 2019
+ *
+ * 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
+
+/* rgblight_sethsv(0.0, 0, 255); */
+/* rgblight_sethsv_white(); */
+
+enum layers {
+ _BASE = 0,
+ _FN1,
+ _FN2,
+ _FN3,
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ QMKBEST = SAFE_RANGE,
+ QMKURL
+};
+/* void matrix_init_user () { */
+/* rgblight_setrgb (0xFF, 0xFF, 0xFF); */
+
+/* } */
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT_ortho_4x4(
+ LT(_FN3, KC_P7), KC_P8, KC_P9, KC_PAST, \
+ LT(_FN3, KC_P4), KC_P5, KC_P6, KC_PPLS, \
+ LT(_FN3, KC_P1), KC_P2, KC_P3, KC_PMNS, \
+ LT(_FN3, KC_P0), KC_COMMA, LT(_FN2, KC_DOT), TO(_FN1) \
+ ),
+ [_FN1] = LAYOUT_ortho_4x4(
+ KC_PGUP, KC_HOME, KC_UP, KC_END , \
+ KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, \
+ KC_VOLU, KC_MPLY, KC_MPRV, MO(_FN2), \
+ KC_VOLD, KC_MUTE, KC_MNXT, TO(_BASE) \
+ ),
+ [_FN2] = LAYOUT_ortho_4x4(
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, \
+ QMKURL, _______, _______, RESET, \
+ BL_STEP, RESET, _______, _______ \
+ ),
+ [_FN3] = LAYOUT_ortho_4x4(
+ KC_ESC, _______, _______, KC_PSLS, \
+ _______, _______, _______, KC_TAB, \
+ _______, _______, _______, KC_ENT, \
+ _______, _______, _______, _______ \
+ )
+
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QMKBEST:
+ if (record->event.pressed) {
+ // when keycode QMKBEST is pressed
+ SEND_STRING("QMK is the best thing ever!");
+ } else {
+ // when keycode QMKBEST is released
+ }
+ break;
+ case QMKURL:
+ if (record->event.pressed) {
+ // when keycode QMKURL is pressed
+ SEND_STRING("https://crafity.com" SS_TAP(X_ENTER));
+ } else {
+ // when keycode QMKURL is released
+ }
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/bm16a/keymaps/briemens/readme.md b/keyboards/bm16a/keymaps/briemens/readme.md
new file mode 100644
index 000000000..f356f2cca
--- /dev/null
+++ b/keyboards/bm16a/keymaps/briemens/readme.md
@@ -0,0 +1 @@
+# The default keymap for bm16a
\ No newline at end of file
diff --git a/keyboards/kprepublic/bm16a/config.h b/keyboards/kprepublic/bm16a/config.h
index c38f74458..02d61e923 100644
--- a/keyboards/kprepublic/bm16a/config.h
+++ b/keyboards/kprepublic/bm16a/config.h
@@ -64,9 +64,9 @@
// #define RGBLIGHT_SAT_STEP 8
// #define RGBLIGHT_VAL_STEP 8
// #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_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
// /*== all animations enable ==*/
-// #define RGBLIGHT_ANIMATIONS
+#define RGBLIGHT_ANIMATIONS
// /*== or choose animations ==*/
// #define RGBLIGHT_EFFECT_BREATHING
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/users/replicaJunction/features/mouse_jiggle.c b/users/replicaJunction/features/mouse_jiggle.c
index b2c451d33..b0334c681 100644
--- a/users/replicaJunction/features/mouse_jiggle.c
+++ b/users/replicaJunction/features/mouse_jiggle.c
@@ -14,9 +14,21 @@
* along with this program. If not, see .
*/
+#include "bm16a.h"
+#include "rgblight.h"
#include "mouse_jiggle.h"
bool is_mouse_jiggle_active = false;
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+/* rgblight_setrgb (0xFF, 0xFF, 0xFF); */
+ matrix_init_user();
+}
+
+void matrix_scan_kb(void) {
+ // put your looping keyboard code here
+ // runs every cycle (a lot)
void matrix_scan_mouse_jiggle(void) {
if (is_mouse_jiggle_active) {