Skip to content

Commit

Permalink
[Keymap] Update/refactor userspace and add keymaps for rmeli (qmk#18398)
Browse files Browse the repository at this point in the history
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Elliot Powell <[email protected]>
  • Loading branch information
4 people authored Nov 13, 2022
1 parent ddcb8dd commit 317b800
Show file tree
Hide file tree
Showing 18 changed files with 777 additions and 100 deletions.
45 changes: 45 additions & 0 deletions keyboards/boardsource/lulu/keymaps/rmeli/config.h
Original file line number Diff line number Diff line change
@@ -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
108 changes: 108 additions & 0 deletions keyboards/boardsource/lulu/keymaps/rmeli/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
/*
Copyright 2022 Cole Smith <[email protected]>
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);
}
9 changes: 9 additions & 0 deletions keyboards/boardsource/lulu/keymaps/rmeli/rules.mk
Original file line number Diff line number Diff line change
@@ -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
25 changes: 6 additions & 19 deletions keyboards/crkbd/keymaps/rmeli/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,32 +21,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

#pragma once

#define MASTER_LEFT // Left side is the master
#define MASTER_LEFT // Left side is the master
#define SPLIT_LED_STATE_ENABLE

#define TAPPING_TERM 200

#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX

#define AUTO_SHIFT_REPEAT

#ifdef RGBLIGHT_ENABLE
# define RGBLIGHT_LIMIT_VAL 120
# define RGBLIGHT_HUE_STEP 10
# define RGBLIGHT_SAT_STEP 17
# define RGBLIGHT_VAL_STEP 17
#endif

#ifdef RGB_MATRIX_ENABLE
// RGB matrix options
# define RGB_MATRIX_KEYPRESSES // enable keypress effects
# define RGB_MATRIX_KEYPRESSES // enable keypress effects
# define RGB_MATRIX_LED_FLUSH_LIMIT 16
# define RGB_DISABLE_WHEN_USB_SUSPENDED
// Disable unwanted R2G effects (from r2g/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
# define ENABLE_RGB_MATRIX_BREATHING
# undef ENABLE_RGB_MATRIX_BAND_SAT
# undef ENABLE_RGB_MATRIX_BAND_VAL
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
Expand All @@ -57,8 +44,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# undef ENABLE_RGB_MATRIX_RAINDROPS
# undef ENABLE_RGB_MATRIX_HUE_BREATHING
# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
//# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
# undef ENABLE_RGB_MATRIX_SPLASH
Expand All @@ -77,4 +64,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#undef LOCKING_SUPPORT_ENABLE
#undef LOCKING_RESYNC_ENABLE
#define NO_MUSIC_MODE
#define LAYER_STATE_8BIT // Limit to 8 layers
#define LAYER_STATE_8BIT // Limit to 8 layers
101 changes: 49 additions & 52 deletions keyboards/crkbd/keymaps/rmeli/keymap.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Copyright 2019 @foostan
Copyright 2020 Drashna Jaelre <@drashna>
Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <[email protected]>
Copyright 2021 Rocco Meli <@RMeli>
This program is free software: you can redistribute it and/or modify
Expand Down Expand Up @@ -68,64 +68,61 @@ enum layer_names {
#define _CMK 1
#define _CFG 4

#define ______THUMB_LEFT_x3______ KC_LGUI, MO(_DWN), KC_SPC
#define ______THUMB_RIGHT_x3_____ KC_ENT, MO(_UP), KC_RCTL

// LAYOUT
//
// |-----------------------------| |-----------------------------|
// | | | | | | | | | | | | | |
// |----+----+----+----+----+----| |----+----+----+----+----+----|
// | | | | | | | | | | | | | |
// |----+----+----+----+----+----| |----+----+----+----+----+----|
// | | | | | | | | | | | | | |
// |----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
// | | | | | | | |
// |--------------| |--------------|

// Define wrapper for standard CRKB layout
#define LAYOUT_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__)

// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_split_3x6_3(
//|-----------------------------------------------------| |-----------------------------------------------------|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
TD_ED, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
TD_LSPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD_RSPC,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LGUI,MO(_DWN), KC_SPC, KC_ENT,MO(_UP), KC_RCTL
//|--------------------------| |--------------------------|

[_QWERTY] = LAYOUT_wrapper(
// clang-format off
___________________QWERTY_L1_x6_____________________, ___________________QWERTY_R1_x6_____________________,
___________________QWERTY_L2_x6_____________________, ___________________QWERTY_R2_x6_____________________,
___________________QWERTY_L3_x6_____________________, ___________________QWERTY_R3_x6_____________________,
______THUMB_LEFT_x3______, ______THUMB_RIGHT_x3_____
),

[_COLEMAK_DH] = LAYOUT_split_3x6_3(
//|-----------------------------------------------------| |-----------------------------------------------------|
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_SCLN, KC_P, KC_BSPC,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
TD_ED, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
TD_LSPC, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, TD_RSPC,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LGUI,MO(_DWN), KC_SPC, KC_ENT,MO(_UP), KC_RCTL
//|--------------------------| |--------------------------|
[_COLEMAK_DH] = LAYOUT_wrapper(
________________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________________, ________________COLEMAK_MOD_DH_R3_x6________________,
______THUMB_LEFT_x3______, ______THUMB_RIGHT_x3_____
),

[_DWN] = LAYOUT_split_3x6_3(
//|-----------------------------------------------------| |-----------------------------------------------------|
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
_______, A_GRV, E_GRV, I_GRV, O_GRV, U_GRV, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
_______, A_UML, E_ACT, I_CIR, O_UML, U_UML, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_PGDN, _______,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LGUI, _______, _______, _______,MO(_CFG), _______
//|--------------------------| |--------------------------|
[_DWN] = LAYOUT_wrapper(
_______, ______________NUMBER_LEFT_x5_______________, ______________NUMBER_RIGHT_x5______________, _______,
_______, ______________UNICODE_L2_x5________________, ________________NAV_R2_x5__________________, XXXXXXX,
_______, ______________UNICODE_L3_x5________________, ________________NAV_R3_x5__________________, _______,
KC_LGUI, _______, _______, _______,MO(_CFG), _______
),

[_UP] = LAYOUT_split_3x6_3(
//|-----------------------------------------------------| |-----------------------------------------------------|
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
_______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
_______,MO(_CFG), _______, _______, _______, _______
//|--------------------------| |--------------------------|
[_UP] = LAYOUT_wrapper(
___________________SYMBOL_LEFT_x6___________________, ___________________SYMBOL_RIGHT_x6__________________,
_______, ____________NAV_VIM_x4____________, XXXXXXX, ____________________SYMBOL_R2_x6____________________,
_______, _________________NONE_5x___________________, ____________________SYMBOL_R3_x6____________________,
_______,MO(_CFG), _______, _______, _______, _______
),

[_CONFIG] = LAYOUT_split_3x6_3(
//|-----------------------------------------------------| |-----------------------------------------------------|
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_MOD, KC_ASUP, NK_ON, XXXXXXX, XXXXXXX,DF(_QWY),
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, KC_ASTG, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
XXXXXXX,RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, UC_RMOD, KC_ASDN, NK_OFF, XXXXXXX, XXXXXXX,DF(_CMK),
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______
//|--------------------------| |--------------------------|
[_CONFIG] = LAYOUT_wrapper(
QK_BOOT, _________________NONE_5x___________________, _______________CONFIG_R1_x5________________,DF(_QWY),
RGB_TOG, ________________RGB_L2_x5__________________, _______________CONFIG_R2_x5________________, XXXXXXX,
XXXXXXX, ________________RGB_L3_x5__________________, _______________CONFIG_R3_x5________________,DF(_CMK),
_______, _______, _______, _______, _______, _______
)
};
};
// clang-format on
6 changes: 3 additions & 3 deletions keyboards/crkbd/keymaps/rmeli/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ OLED_ENABLE = yes
OLED_DRIVER = SSD1306

TAP_DANCE_ENABLE = yes
AUTO_SHIFT_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

NKRO_ENABLE = yes
Loading

0 comments on commit 317b800

Please sign in to comment.