summary refs log tree commit diff
path: root/keyboards/boardsource
diff options
context:
space:
mode:
authorRocco Meli <r.meli@bluemail.ch>2022-11-13 02:00:13 +0100
committerGitHub <noreply@github.com>2022-11-12 17:00:13 -0800
commit317b800bbb28c5ae91f413cfd17471a06de76c2f (patch)
tree3b92daec8b627c439818f71b17ed62931cfa7f8b /keyboards/boardsource
parentddcb8dd7caa067bdd7a9e0b88b0c9e74a87fe969 (diff)
[Keymap] Update/refactor userspace and add keymaps for rmeli (#18398)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Elliot Powell <johnp8727@gmail.com>
Diffstat (limited to 'keyboards/boardsource')
-rw-r--r--keyboards/boardsource/lulu/keymaps/rmeli/config.h45
-rw-r--r--keyboards/boardsource/lulu/keymaps/rmeli/keymap.c108
-rw-r--r--keyboards/boardsource/lulu/keymaps/rmeli/rules.mk9
3 files changed, 162 insertions, 0 deletions
diff --git a/keyboards/boardsource/lulu/keymaps/rmeli/config.h b/keyboards/boardsource/lulu/keymaps/rmeli/config.h
new file mode 100644
index 0000000000..4d8823d785
--- /dev/null
+++ b/keyboards/boardsource/lulu/keymaps/rmeli/config.h
@@ -0,0 +1,45 @@
+/*
+Copyright 2022 Rocco Meli <@RMeli>
+
+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 MASTER_LEFT // Left side is the master
+#define SPLIT_LED_STATE_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+// Configure RGB Matrix
+#    define RGB_MATRIX_KEYPRESSES // enable keypress effects
+#    define RGB_MATRIX_LED_FLUSH_LIMIT 16
+#    define RGB_DISABLE_WHEN_USB_SUSPENDED
+#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR
+#    define RGB_MATRIX_STARTUP_HUE 10
+#    define RGB_MATRIX_STARTUP_SAT 255
+#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+// Disable RGB Matrix effects (from lulu/config.h)
+#    undef ENABLE_RGB_MATRIX_ALPHAS_MODS
+#    undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#    undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#    undef ENABLE_RGB_MATRIX_BREATHING
+#    undef ENABLE_RGB_MATRIX_BAND_SAT
+#    undef ENABLE_RGB_MATRIX_BAND_VAL
+// Enable RGB Matrix effects
+#    define ENABLE_RGB_MATRIX_BREATHING
+#    define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#    define ENABLE_RGB_MATRIX_SOLID_COLOR
+#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#endif
diff --git a/keyboards/boardsource/lulu/keymaps/rmeli/keymap.c b/keyboards/boardsource/lulu/keymaps/rmeli/keymap.c
new file mode 100644
index 0000000000..f9be18ee2d
--- /dev/null
+++ b/keyboards/boardsource/lulu/keymaps/rmeli/keymap.c
@@ -0,0 +1,108 @@
+/*
+Copyright 2022 Cole Smith <cole@boadsource.xyz>
+Copyright 2022 Rocco Meli <@RMeli>
+
+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/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+#include "rmeli.h"
+
+enum layers {
+    _QWERTY,
+    _COLEMAK_DH,
+    _RAISE,
+    _LOWER,
+    _ADJUST,
+};
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+
+#define QWY_DF DF(_QWERTY)
+#define CMK_DF DF(_COLEMAK_DH)
+
+// clang-format off
+#define __________THUMB_LEFT_x4___________ KC_LALT, KC_LGUI,   LOWER,  KC_SPC
+#define __________THUMB_RIGHT_x4__________  KC_ENT,   RAISE, KC_LCTL, KC_RGUI
+// clang-format on
+
+/* LAYOUT
+ *
+ * ,-----------------------------.                ,-----------------------------.
+ * |    |    |    |    |    |    |                |    |    |    |    |    |    |
+ * |----+----+----+----+----+----|                |----+----+----+----+----+----|
+ * |    |    |    |    |    |    |                |    |    |    |    |    |    |
+ * |----+----+----+----+----+----|                |----+----+----+----+----+----|
+ * |    |    |    |    |    |    |-----.    ,-----|    |    |    |    |    |    |
+ * |----+----+----+----+----+----|     |    |     |----+----+----+----+----+----|
+ * |    |    |    |    |    |    |-----|    |-----|    |    |    |    |    |    |
+ * `----------------------------/     /      \     \----------------------------'
+ *            |    |    |    | /     /        \     \  |    |    |    |
+ *            |    |    |    |/     /          \     \ |    |    |    |
+ *            `--------------''-----'          '------''--------------'
+ */
+
+// Define wrapper for standard LULU layout
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+  [_QWERTY] = LAYOUT_wrapper(
+  ___________________NUMBER_LEFT_x6___________________,                   ___________________NUMBER_RIGHT_x6__________________,
+  ___________________QWERTY_L1_x6_____________________,                   ___________________QWERTY_R1_x6_____________________,
+  ___________________QWERTY_L2_x6_____________________,                   ___________________QWERTY_R2_x6_____________________,
+  ___________________QWERTY_L3_x6_____________________, KC_LBRC, KC_RBRC, ___________________QWERTY_R3_x6_____________________,
+                             __________THUMB_LEFT_x4___________,  __________THUMB_RIGHT_x4__________
+  ),
+
+  [_COLEMAK_DH] = LAYOUT_wrapper(
+  ___________________NUMBER_LEFT_x6___________________,                   ___________________NUMBER_RIGHT_x6__________________,
+  ________________COLEMAK_MOD_DH_L1_x6________________,                   ________________COLEMAK_MOD_DH_R1_x6________________,
+  ________________COLEMAK_MOD_DH_L2_x6________________,                   ________________COLEMAK_MOD_DH_R2_x6________________,
+  ________________COLEMAK_MOD_DH_L3_x6________________, KC_LBRC, KC_RBRC, ________________COLEMAK_MOD_DH_R3_x6________________,
+                             __________THUMB_LEFT_x4___________,  __________THUMB_RIGHT_x4__________
+  ),
+
+  [_LOWER] = LAYOUT_wrapper(
+  ____________________FUNC_LEFT_x6____________________,                   ____________________FUNC_RIGHT_x6___________________,
+  _______, ______________NUMBER_LEFT_x5_______________,                   ______________NUMBER_RIGHT_x5______________, _______,
+  _______, ______________UNICODE_L2_x5________________,                   ________________NAV_R2_x5__________________, XXXXXXX,
+  _______, ______________UNICODE_L3_x5________________, _______, _______, ________________NAV_R3_x5__________________, _______,
+                             _______, _______, _______, _______, _______, _______, _______, _______
+  ),
+
+  [_RAISE] = LAYOUT_wrapper(
+  ___________________NUMBER_LEFT_x6___________________,                   ___________________NUMBER_RIGHT_x6__________________,
+  ___________________SYMBOL_LEFT_x6___________________,                   ___________________SYMBOL_RIGHT_x6__________________,
+  _______, ____________NAV_VIM_x4____________, XXXXXXX,                   ____________________SYMBOL_R2_x6____________________,
+  _______, _________________NONE_5x___________________, _______, _______, ____________________SYMBOL_R3_x6____________________,
+                             _______, _______, _______, _______, _______, _______, _______, _______
+  ),
+
+  [_ADJUST] = LAYOUT_wrapper(
+  QK_BOOT, _________________NONE_5x___________________,                   ______________________NONE_6x_______________________,
+  XXXXXXX, _________________NONE_5x___________________,                   _______________CONFIG_R1_x5________________,  QWY_DF,
+  RGB_TOG, ________________RGB_L2_x5__________________,                   _______________CONFIG_R2_x5________________, XXXXXXX,
+  XXXXXXX, ________________RGB_L3_x5__________________, _______, _______, _______________CONFIG_R3_x5________________,  CMK_DF,
+                             _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+// clang-format on
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+    return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/boardsource/lulu/keymaps/rmeli/rules.mk b/keyboards/boardsource/lulu/keymaps/rmeli/rules.mk
new file mode 100644
index 0000000000..035e9814e2
--- /dev/null
+++ b/keyboards/boardsource/lulu/keymaps/rmeli/rules.mk
@@ -0,0 +1,9 @@
+TAP_DANCE_ENABLE = yes
+AUTO_SHIFT_ENABLE = no // disable auto-shift with home row mods
+
+UNICODEMAP_ENABLE = yes
+NKRO_ENABLE = yes
+MAGIC_ENABLE = yes
+
+RGBLIGHT_ENABLE = no
+RGB_MATRIX_ENABLE = yes
\ No newline at end of file