From ee71362f99d1356c8dc48fb98d53c88300a087f8 Mon Sep 17 00:00:00 2001 From: Rocco Meli Date: Thu, 10 Mar 2022 23:27:37 +0000 Subject: Personal user space and CRKBD R2G keymap (#15888) * r2g folder groundwork * Default mb keymap featuring mb logos * Migrate Oled to keyboard folder * Move rules configs to support config better * update readmes * Liscnece update * Update config and fix issues caused by redef errs * funciton name adjusts, define specific rgb modes * move default oled font to postconfig * update oled in line with develop merge * fix return value * Add some default rgb matrix defines * del ugfx * remove #include * create personal keymap for r2g * reduce firmware size * change keymap to follow physical layout * remove RGBlight config lines to make both sides work (@Dasky on MechboardsUK Discord) * strip down configuration, similar to crkbd/r2g:mb_via * remove wrong oled code overwriting the r2g one * broken code with RGB matrix (briks right side) * remove high max brightness limit * caps lock tap dance and RGB indicator for active caps lock * fix caps lock led on right side * add test macro * remove latex macro which is too slow * move caps lock tap dance to RALT and add space cadet shift * switch CTL with ALT in first layer * add tap dance for ESC/DEL * space cadet tap dance with caps lock; shift works by needs a short pause * add space cadet tap dance with caps lock on the right; shift works by needs a short pause and does not hold * make more keys transparent * enable auto shift and use logo on both oleds * add user oled logo, slows down linking considerably * oled name * add arrow keys in usual configuration and add linear configuration to symbol layer * add unicoede support * add accents * update to latest version * add colemak dh layer * report auto shift timeout * define layer name shorcuts correctly * disable VIA to enable more layers * enable NKRO * move some rules and unicode to user space * move oled and tap dances to user space * move tap dances fully out of keymap * expand unicode map * fix unicode code * revert changes to r2g, make it equal to merged code * revert changes to r2g, make it equal to merged code * clang-format userspace * clang-format config file * Update keyboards/crkbd/keymaps/rmeli/keymap.c * replace define with enum * add licenses --- keyboards/crkbd/keymaps/rmeli/keymap.c | 131 +++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 keyboards/crkbd/keymaps/rmeli/keymap.c (limited to 'keyboards/crkbd/keymaps/rmeli/keymap.c') diff --git a/keyboards/crkbd/keymaps/rmeli/keymap.c b/keyboards/crkbd/keymaps/rmeli/keymap.c new file mode 100644 index 0000000000..f7901d1cfd --- /dev/null +++ b/keyboards/crkbd/keymaps/rmeli/keymap.c @@ -0,0 +1,131 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> +Copyright 2021 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 . +*/ + +#include QMK_KEYBOARD_H + +#include "rmeli.h" + +// + -------------------- + +// + RGB MATRIX CALLBACKS | +// + -------------------- + + +// LED numbers: +// https://github.com/foostan/crkbd/blob/main/corne-classic/doc/buildguide_en.md + +// Change LED color to red when CAPS LOCK is active +void rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(26, 255, 0, 0); + // Only works with SPLIT_LED_STATE_ENABLE + rgb_matrix_set_color(53, 255, 0, 0); + } +} + +// + ---- + +// + OLED | +// + ---- + + +bool oled_task_user(void) { + if (is_keyboard_master()) { + oled_render_rocco(); + } else { + oled_render_meli(); + } + return false; +} + +// + ------- + +// + KEY MAP | +// + ------- + + +// Layer names +enum layer_names { + _QWERTY, + _COLEMAK_DH, + _DWN, + _UP, + _CONFIG, +}; + +// Layer names shortcuts +#define _QWY 0 +#define _CMK 1 +#define _CFG 4 + +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 + //|--------------------------| |--------------------------| + ), + + [_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 + //|--------------------------| |--------------------------| + ), + + [_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), _______ + //|--------------------------| |--------------------------| + ), + + [_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), _______, _______, _______, _______ + //|--------------------------| |--------------------------| + ), + + [_CONFIG] = LAYOUT_split_3x6_3( + //|-----------------------------------------------------| |-----------------------------------------------------| + RESET, 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), + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + //|--------------------------| |--------------------------| + ) +}; \ No newline at end of file -- cgit v1.2.3