mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-04-29 12:17:18 -04:00
Add BM40 and corne
This commit is contained in:
parent
35edec2998
commit
fdb7806a3c
11 changed files with 1407 additions and 2 deletions
99
keyboards/crkbd/r2g/keymaps/mgallecom/animation-utils.c
Normal file
99
keyboards/crkbd/r2g/keymaps/mgallecom/animation-utils.c
Normal file
|
@ -0,0 +1,99 @@
|
|||
/**
|
||||
* Utilities for QMK oled animations
|
||||
*
|
||||
* Copyright (c) Marek Piechut
|
||||
* MIT License
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
//-------- CONFIGURATION START --------
|
||||
|
||||
#ifndef ANIM_RENDER_WPM
|
||||
#define ANIM_RENDER_WPM true
|
||||
#endif
|
||||
#ifndef FAST_TYPE_WPM
|
||||
#define FAST_TYPE_WPM 45 //Switch to fast animation when over words per minute
|
||||
#endif
|
||||
#ifndef ANIM_INVERT
|
||||
#define ANIM_INVERT false //Invert animation color and background
|
||||
#endif
|
||||
#ifndef ANIM_BG
|
||||
#define ANIM_BG 0x00
|
||||
#endif
|
||||
#ifndef ANIM_FRAME_TIME
|
||||
#define ANIM_FRAME_TIME 250
|
||||
#endif
|
||||
//-------- CONFIGURATION END--------
|
||||
|
||||
#define ANIM_WPM_WIDTH 22
|
||||
#define OLED_ROWS OLED_DISPLAY_HEIGHT / 4
|
||||
|
||||
static void oled_render_wpm(void) {
|
||||
static char wpm_str[4];
|
||||
|
||||
sprintf(wpm_str, "%03d", get_current_wpm());
|
||||
oled_set_cursor(0, 1);
|
||||
oled_write_P(PSTR("WPM"), false);
|
||||
oled_set_cursor(0, 2);
|
||||
oled_write(wpm_str, false);
|
||||
}
|
||||
|
||||
static void oled_render_anim_frame(const char **fast_frames, const char **slow_frames, uint8_t frames_len) {
|
||||
|
||||
static uint32_t anim_timer = 0;
|
||||
static uint8_t current_frame = 0;
|
||||
static int16_t frame_offset = ANIM_RENDER_WPM ? ANIM_WPM_WIDTH : 0;
|
||||
static int8_t step = 8;
|
||||
|
||||
const uint8_t speed = get_current_wpm();
|
||||
|
||||
|
||||
if (timer_elapsed32(anim_timer) > ANIM_FRAME_TIME && speed > 0) {
|
||||
oled_set_cursor(0, 0);
|
||||
anim_timer = timer_read32();
|
||||
|
||||
const bool is_fast = speed > FAST_TYPE_WPM;
|
||||
const char *frame = is_fast ? fast_frames[current_frame] : slow_frames[current_frame];
|
||||
const int8_t bg = ANIM_BG;
|
||||
|
||||
uint8_t frame_start_offset = ANIM_RENDER_WPM ? ANIM_WPM_WIDTH : 0;
|
||||
current_frame = (current_frame + 1) % frames_len;
|
||||
|
||||
for(int offset = 0; offset <= OLED_MATRIX_SIZE; offset++) {
|
||||
uint16_t col = offset % OLED_DISPLAY_WIDTH;
|
||||
|
||||
if(col < frame_start_offset) {
|
||||
continue;
|
||||
} else if (col < frame_offset || col > frame_offset + ANIM_FRAME_WIDTH) {
|
||||
oled_write_raw_byte((ANIM_INVERT ? ~bg : bg), offset);
|
||||
} else if (col <= OLED_DISPLAY_WIDTH) {
|
||||
uint8_t row = offset / OLED_DISPLAY_WIDTH;
|
||||
int frame_data_offset = ANIM_FRAME_WIDTH * row + col - frame_offset;
|
||||
uint8_t col_data = pgm_read_byte(frame + frame_data_offset);
|
||||
oled_write_raw_byte(ANIM_INVERT ? ~col_data : col_data, offset );
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef ANIM_SCROLL
|
||||
if(is_fast) {
|
||||
#ifdef ANIM_BOUNCE
|
||||
if(frame_offset + ANIM_FRAME_WIDTH > OLED_DISPLAY_WIDTH || frame_offset < frame_start_offset) {
|
||||
step = -step;
|
||||
}
|
||||
#endif
|
||||
|
||||
frame_offset += step;
|
||||
|
||||
if(frame_offset >= OLED_DISPLAY_WIDTH) {
|
||||
frame_offset = frame_start_offset - ANIM_FRAME_WIDTH + step;
|
||||
}
|
||||
} else if (frame_offset > (OLED_DISPLAY_WIDTH - ANIM_FRAME_WIDTH) || frame_offset < frame_start_offset) {
|
||||
frame_offset = frame_start_offset;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
if(ANIM_RENDER_WPM) {
|
||||
oled_render_wpm();
|
||||
}
|
||||
}
|
79
keyboards/crkbd/r2g/keymaps/mgallecom/config.h
Normal file
79
keyboards/crkbd/r2g/keymaps/mgallecom/config.h
Normal file
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
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
|
||||
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
|
||||
#define SPLIT_WPM_ENABLE
|
||||
|
||||
#define TAPPING_FORCE_HOLD
|
||||
#define TAPPING_TERM 200
|
||||
#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
|
||||
|
||||
#define COMBO_COUNT 4
|
||||
|
||||
|
||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
|
||||
|
||||
// size optimisations
|
||||
// #define NO_DEBUG
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
#define NO_ACTION_ONESHOT
|
||||
|
||||
|
||||
#ifndef NO_DEBUG
|
||||
#define NO_DEBUG
|
||||
#endif // !NO_DEBUG
|
||||
#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE)
|
||||
#define NO_PRINT
|
||||
#endif // !NO_PRINT
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_SPLIT \
|
||||
{ 27, 27 }
|
||||
# define SPLIT_TRANSPORT_MIRROR
|
||||
|
||||
# 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
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
# 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
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
# undef ENABLE_RGB_MATRIX_SPLASH
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
#endif
|
||||
|
415
keyboards/crkbd/r2g/keymaps/mgallecom/keymap.c
Normal file
415
keyboards/crkbd/r2g/keymaps/mgallecom/keymap.c
Normal file
|
@ -0,0 +1,415 @@
|
|||
/*
|
||||
Copyright 2019 @foostan
|
||||
Copyright 2020 Drashna Jaelre <@drashna>
|
||||
Copyright 2021 Arda Kilicdagi <GH: @ardakilic, TW: @ardadev>
|
||||
|
||||
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
|
||||
// animation vars
|
||||
|
||||
#define ANIM_INVERT false
|
||||
#define ANIM_RENDER_WPM true
|
||||
#define FAST_TYPE_WPM 60 //Switch to fast animation when over words per minute
|
||||
|
||||
//custom codes
|
||||
|
||||
#define CTL_A LCTL_T(KC_A)
|
||||
#define ALT_S LALT_T(KC_S)
|
||||
#define CMD_D LGUI_T(KC_D)
|
||||
#define SFT_F LSFT_T(KC_F)
|
||||
|
||||
#define CTL_QUOTE RCTL_T(KC_QUOT)
|
||||
#define ALT_L RALT_T(KC_L)
|
||||
#define CMD_K RGUI_T(KC_K)
|
||||
#define SFT_J RSFT_T(KC_J)
|
||||
|
||||
#define XXX KC_NO
|
||||
|
||||
#define HMRW S(G(KC_SPACE))
|
||||
#define ALF A(KC_SPACE)
|
||||
#define MEDI_ESC LT(_MEDIA, KC_ESC)
|
||||
#define NAV_SPC LT(_NAV, KC_SPC)
|
||||
#define TIL_TAB LT(_TILNAV, KC_TAB)
|
||||
#define SYM_ENT LT(_SYM, KC_ENT)
|
||||
#define NUM_BSP LT(_NUM, KC_BSPC)
|
||||
#define FUN_DEL LT(_FUN, KC_DEL)
|
||||
#define SAVE G(KC_S)
|
||||
#define PASTE TD(TD_ALFRED_PASTE)
|
||||
#define COPY G(KC_C)
|
||||
#define CUT G(KC_X)
|
||||
#define UNDO G(KC_Z)
|
||||
|
||||
|
||||
#define MOV_WES A(KC_F16)
|
||||
#define MOV_SOU A(KC_F15)
|
||||
#define MOV_NOR A(KC_F14)
|
||||
#define MOV_EAS A(KC_F13)
|
||||
#define FUL_FLO TD(TD_FULL_FLOAT)
|
||||
#define MVW_1 S(A(KC_1))
|
||||
#define MVW_2 S(A(KC_2))
|
||||
#define MVW_3 S(A(KC_3))
|
||||
#define MVW_4 S(A(KC_4))
|
||||
#define MVW_5 S(A(KC_5))
|
||||
#define MVW_6 S(A(KC_6))
|
||||
#define MVW_7 S(A(KC_7))
|
||||
#define MVW_8 S(A(KC_8))
|
||||
#define MVW_9 S(A(KC_9))
|
||||
|
||||
#define FCW_1 C(KC_1)
|
||||
#define FCW_2 C(KC_2)
|
||||
#define FCW_3 C(KC_3)
|
||||
#define FCW_4 C(KC_4)
|
||||
#define FCW_5 C(KC_5)
|
||||
#define FCW_6 C(KC_6)
|
||||
#define FCW_7 C(KC_7)
|
||||
#define FCW_8 C(KC_8)
|
||||
#define FCW_9 C(KC_9)
|
||||
|
||||
#define MVW_LEF G(A(KC_F16))
|
||||
#define MVW_RIG G(A(KC_F13))
|
||||
#define FCS_MV1 TD(TD_MVW_1)
|
||||
#define FCS_MV2 TD(TD_MVW_2)
|
||||
#define FCS_MV3 TD(TD_MVW_3)
|
||||
#define FCS_MV4 TD(TD_MVW_4)
|
||||
#define FCS_MV5 TD(TD_MVW_5)
|
||||
#define FCS_MV6 TD(TD_MVW_6)
|
||||
#define FCS_MV7 TD(TD_MVW_7)
|
||||
#define FCS_MV8 TD(TD_MVW_8)
|
||||
#define FCS_MV9 TD(TD_MVW_9)
|
||||
|
||||
// Layers
|
||||
enum {
|
||||
_QWERTY,
|
||||
_MEDIA,
|
||||
_NAV,
|
||||
_TILNAV,
|
||||
_SYM,
|
||||
_NUM,
|
||||
_FUN
|
||||
};
|
||||
|
||||
enum {
|
||||
TD_ALFRED_PASTE, TD_SCREEN, TD_FULL_FLOAT, TD_MVW_1, TD_MVW_2, TD_MVW_3, TD_MVW_4, TD_MVW_5, TD_MVW_6, TD_MVW_7, TD_MVW_8, TD_MVW_9
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
CURLIES = SAFE_RANGE,
|
||||
SQUARES,
|
||||
BRACKETS
|
||||
|
||||
};
|
||||
|
||||
enum combos {
|
||||
IO_DASH,
|
||||
KL_COLON,
|
||||
SD_ALF,
|
||||
WE_HMRW
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM io_combo[] = {KC_I, KC_O, COMBO_END};
|
||||
const uint16_t PROGMEM kl_combo[] = {RGUI_T(KC_K), RALT_T(KC_L), COMBO_END};
|
||||
const uint16_t PROGMEM sd_combo[] = {LALT_T(KC_S), LGUI_T(KC_D), COMBO_END};
|
||||
const uint16_t PROGMEM we_combo[] = {KC_W, KC_E, COMBO_END};
|
||||
|
||||
combo_t key_combos[] = {
|
||||
[IO_DASH] = COMBO(io_combo, KC_MINUS),
|
||||
[KL_COLON] = COMBO(kl_combo, KC_SEMICOLON),
|
||||
[SD_ALF] = COMBO(sd_combo, ALF),
|
||||
[WE_HMRW] = COMBO(we_combo, HMRW)
|
||||
|
||||
};
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_ALFRED_PASTE] = ACTION_TAP_DANCE_DOUBLE( G(KC_V) , C(G(A(KC_V))) ),
|
||||
[TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( S(G(KC_4)) , S(G(C(KC_4))) ),
|
||||
[TD_FULL_FLOAT] = ACTION_TAP_DANCE_DOUBLE( A(KC_F18), C(A(KC_F18))),
|
||||
[TD_MVW_1] = ACTION_TAP_DANCE_DOUBLE(FCW_1, MVW_1),
|
||||
[TD_MVW_2] = ACTION_TAP_DANCE_DOUBLE(FCW_2, MVW_2),
|
||||
[TD_MVW_3] = ACTION_TAP_DANCE_DOUBLE(FCW_3, MVW_3),
|
||||
[TD_MVW_4] = ACTION_TAP_DANCE_DOUBLE(FCW_4, MVW_4),
|
||||
[TD_MVW_5] = ACTION_TAP_DANCE_DOUBLE(FCW_5, MVW_5),
|
||||
[TD_MVW_6] = ACTION_TAP_DANCE_DOUBLE(FCW_6, MVW_6),
|
||||
[TD_MVW_7] = ACTION_TAP_DANCE_DOUBLE(FCW_7, MVW_7),
|
||||
[TD_MVW_8] = ACTION_TAP_DANCE_DOUBLE(FCW_8, MVW_8),
|
||||
[TD_MVW_9] = ACTION_TAP_DANCE_DOUBLE(FCW_9, MVW_9),
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* BASE LAYER
|
||||
[_QWERTY] = LAYOUT_wrapper( \
|
||||
//,-----------------------------------------------------. ,----------------------------------------------------.
|
||||
| hmrw | Q | W | E | R | T | | Y | U | I | O | P | Alfr |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| ------ | A | S | D | F | G | | H | J | K | L | ' | ; |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| SftCaps| Z | X | C | V | B | | N | M | , | . | / | ----- |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
,-----------------------, ,-----------------------.
|
||||
|Med/Esc|Nav/Spc|Til/Tab| |Sym/Ent|Num/Bsp|Fun/Del|
|
||||
/|-------+-------+-------' +-------+-------+-------|\
|
||||
),
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_split_3x6_3(
|
||||
XXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, XXX,
|
||||
_______, CTL_A, ALT_S, CMD_D, SFT_F, KC_G, KC_H, SFT_J, CMD_K, ALT_L, CTL_QUOTE, XXX,
|
||||
TD(TD_SCREEN), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, /*KC_ENT*/
|
||||
MEDI_ESC, NAV_SPC, TIL_TAB, SYM_ENT, NUM_BSP, FUN_DEL
|
||||
|
||||
),
|
||||
|
||||
/*
|
||||
* Media LAYER
|
||||
[_MEDIA] = LAYOUT_wrapper( \
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
| BOOT | ------ | ------ | ------ | ------ | ------ | | ------ | RGBTOG | RGBMOD | RGBHUI | RGBSAI | RGBVAI |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+------- |
|
||||
| ------ |KC_LCTL |KC_LALT |KC_LGUI |KC_LSFT | ------ | | ------ |KC_MPRV |KC_VOLD |KC_VOLU |KC_MNXT | ------ |
|
||||
//|------yy--+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| ------ |KC_ALGR | ------ | ------ | ------ | ------ | | ------ | ------ | ------ |KC_BRMD |KC_BRMU | ------ |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
,-----------------------, ,-----------------------.
|
||||
| | | | |KC_MSTP|KC_MPLY|KC_MUTE|
|
||||
/|-------+-------+-------' +-------+-------+-------|\
|
||||
),
|
||||
*/
|
||||
[_MEDIA] = LAYOUT_split_3x6_3(
|
||||
QK_BOOT, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
|
||||
_______, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______,
|
||||
_______, KC_ALGR, _______, _______, _______, _______, _______, _______, _______, KC_BRMD, KC_BRMU, _______,
|
||||
_______, _______, _______, KC_MSTP, KC_MPLY, KC_MUTE
|
||||
),
|
||||
|
||||
/*
|
||||
* NAVIGATION LAYER
|
||||
[_TPL] = LAYOUT_wrapper( \
|
||||
//,-----------------------------------------------------. ,----------------------------------------------------.
|
||||
| ------ | Save |AlfPaste| Copy | Cut | Undo | | Save |AlfPaste| Copy | Cut | Undo | ----- |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| ------ |KC_LCTL |KC_LALT |KC_LGUI |KC_LSFT | ------ | |KC_CAPS |KC_LEFT |KC_DOWN | KC_UP |KC_RGHT | ----- |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| ------ |KC_ALGR | ------ | ------ | ------ | ------ | | KC_INS |KC_HOME |KC_PGDN |KC_PGUP | KC_END | ----- |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
,-----------------------, ,-----------------------.
|
||||
| | | | | KC_ENT|KC_BSPC| KC_DEL|
|
||||
/|-------+-------+-------' +-------+-------+-------|\
|
||||
),
|
||||
*/
|
||||
[_NAV] = LAYOUT_split_3x6_3(
|
||||
_______, SAVE, PASTE, COPY, CUT, UNDO, SAVE, PASTE, COPY, CUT, UNDO, _______,
|
||||
_______, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, _______, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______,
|
||||
_______, _______, _______, KC_ENT, KC_BSPC, KC_DEL
|
||||
),
|
||||
|
||||
/*
|
||||
* TILLING LAYER
|
||||
Set to custom skhd shortcuts via yabai
|
||||
[_TILNAV] = LAYOUT_wrapper( \
|
||||
//,-----------------------------------------------------. ,----------------------------------------------------.
|
||||
| ------ | Save |AlfPaste| Copy | Cut | Undo | | ------ | ------ | YA_BLN | YA_FUL | YA_ROT | ----- |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| ------ |KC_LCTL |KC_LALT |KC_LGUI |KC_LSFT | ------ | | ------ |YA_LEFT |YA_DOWN | YA_UP |YA_RGHT | ----- |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| ------ |KC_ALGR | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | ------ | ----- |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
,-----------------------, ,-----------------------.
|
||||
| | | | | | | |
|
||||
/|-------+-------+-------' +-------+-------+-------|\
|
||||
),
|
||||
*/
|
||||
[_TILNAV] = LAYOUT_split_3x6_3(
|
||||
_______, KC_NO, FCS_MV7, FCS_MV8, FCS_MV9, KC_NO, _______, _______, A(KC_F19), FUL_FLO, A(KC_F17), _______,
|
||||
_______, MVW_LEF, FCS_MV4, FCS_MV5, FCS_MV6, MVW_RIG, _______, MOV_WES, MOV_SOU, MOV_NOR, MOV_EAS, _______,
|
||||
_______, KC_NO, FCS_MV1, FCS_MV2, FCS_MV3, XXX, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, KC_LCTL, KC_LSFT, _______
|
||||
),
|
||||
|
||||
/*
|
||||
* SYMBOL LAYER
|
||||
*
|
||||
[_SYM] = LAYOUT_wrapper( \
|
||||
//,-----------------------------------------------------. ,----------------------------------------------------.
|
||||
| | PIPE | & | * | \ | [] | | | | | | | Bksp |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| | : | $ | % | ^ | () | | | SHIFT | CMD | ALT | CTRL | |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| | ~ | ! | @ | # | {} | | | | | | | |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
,-----------------------, ,-----------------------.
|
||||
| ; | - | _ | | | | |
|
||||
/|-------+-------+-------' +-------+-------+-------|\
|
||||
),
|
||||
*/
|
||||
[_SYM] = LAYOUT_split_3x6_3(
|
||||
_______, KC_PIPE, KC_AMPR, KC_ASTR, KC_BSLS, SQUARES, _______, _______, _______, _______, _______, KC_BSPC,
|
||||
_______, KC_COLN, KC_DLR, KC_PERC, KC_CIRC, BRACKETS, _______, KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL, _______,
|
||||
_______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, CURLIES, _______, _______, _______, _______, _______, _______,
|
||||
KC_SCLN, KC_PMNS, KC_UNDS, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
/*
|
||||
* NUMBER LAYER
|
||||
[_TPL] = LAYOUT_wrapper( \
|
||||
//,-----------------------------------------------------. ,----------------------------------------------------.
|
||||
| | = | 7 | 8 | 9 | * | | | | | | | Bksp |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| | : | 4 | 5 | 6 | - | | | SHIFT | CMD | ALT | CTRL | |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| | / | 1 | 2 | 3 | + | | | | | | | |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
,-----------------------, ,-----------------------.
|
||||
| . | 0 | , | | | | |
|
||||
/|-------+-------+-------' +-------+-------+-------|\
|
||||
),
|
||||
*/
|
||||
[_NUM] = LAYOUT_split_3x6_3(
|
||||
_______, KC_EQL, KC_7, KC_8, KC_9, KC_PAST, _______, _______, _______, _______, KC_BSPC, KC_BSPC,
|
||||
_______, KC_COLN, KC_4, KC_5, KC_6, KC_PMNS, _______, KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL, _______,
|
||||
_______, KC_SLSH, KC_1, KC_2, KC_3, KC_PPLS, _______, _______, _______, _______, _______, _______,
|
||||
KC_DOT, KC_0, KC_COMM, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* FUN LAYER
|
||||
[_TPL] = LAYOUT_wrapper( \
|
||||
//,-----------------------------------------------------. ,----------------------------------------------------.
|
||||
| | F12 | F7 | F8 | F9 |PRNTSCRN| | | | | | |QK_BOOT|
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| | F11 | F4 | F5 | F6 | | | | SHIFT | CMD | ALT | CTRL | |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
| | F10 | F1 | F2 | F3 | PAUSE | | | | | | | |
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------|
|
||||
,-----------------------, ,-----------------------.
|
||||
| ESC | SPACE | TAB | | | | |
|
||||
/|-------+-------+-------' +-------+-------+-------|\
|
||||
),
|
||||
*/
|
||||
[_FUN] = LAYOUT_split_3x6_3(
|
||||
_______, KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, _______, _______, _______, _______, _______, QK_BOOT,
|
||||
_______, KC_F11, KC_F4, KC_F5, KC_F6, _______, _______, KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL, _______,
|
||||
_______, KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, _______, _______, _______, _______, _______, _______,
|
||||
KC_ESC, KC_SPC, KC_TAB, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
#include "mario.c"
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
if (!is_keyboard_master()) {
|
||||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||
}
|
||||
return rotation;
|
||||
}
|
||||
|
||||
|
||||
void oled_render_layer_state(void) {
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _QWERTY:
|
||||
oled_write_ln_P(PSTR("Default"), false);
|
||||
break;
|
||||
case _MEDIA:
|
||||
oled_write_ln_P(PSTR("Media"), false);
|
||||
break;
|
||||
case _TILNAV:
|
||||
oled_write_ln_P(PSTR("Tilnav"), false);
|
||||
break;
|
||||
case _NAV:
|
||||
oled_write_ln_P(PSTR("Nav"), false);
|
||||
break;
|
||||
case _NUM:
|
||||
oled_write_ln_P(PSTR("Num"), false);
|
||||
break;
|
||||
case _SYM:
|
||||
oled_write_ln_P(PSTR("Sym"), false);
|
||||
break;
|
||||
case _FUN:
|
||||
// case _ADJUST|_LOWER:
|
||||
// case _ADJUST|_RAISE:
|
||||
// case _ADJUST|_LOWER|_RAISE:
|
||||
// case _ADJUST|_LOWER|_RAISE|_SPACE:
|
||||
// case _ADJUST|_LOWER|_RAISE|_SPACE|_NUMPAD|_SODA:
|
||||
oled_write_ln_P(PSTR("Fun"), false);
|
||||
break;
|
||||
default:
|
||||
oled_write_ln_P(PSTR("?????"), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void render_bootmagic_status(bool status) {
|
||||
/* Show Ctrl-Gui Swap options */
|
||||
static const char PROGMEM logo[][2][3] = {
|
||||
{{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
|
||||
{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
|
||||
};
|
||||
if (status) {
|
||||
oled_write_ln_P(logo[0][0], false);
|
||||
oled_write_ln_P(logo[0][1], false);
|
||||
} else {
|
||||
oled_write_ln_P(logo[1][0], false);
|
||||
oled_write_ln_P(logo[1][1], false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
oled_render_layer_state();
|
||||
} else {
|
||||
oled_render_anim();
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif // OLED_DRIVER_ENABLE
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
switch(keycode) {
|
||||
case CURLIES:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("{}");
|
||||
tap_code(KC_LEFT);
|
||||
}
|
||||
return false;
|
||||
case BRACKETS:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("()");
|
||||
tap_code(KC_LEFT);
|
||||
}
|
||||
return false;
|
||||
case SQUARES:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("[]");
|
||||
tap_code(KC_LEFT);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
211
keyboards/crkbd/r2g/keymaps/mgallecom/mario.c
Normal file
211
keyboards/crkbd/r2g/keymaps/mgallecom/mario.c
Normal file
|
@ -0,0 +1,211 @@
|
|||
/**
|
||||
* Big daemon animation with slow and fast typing mode
|
||||
* Thanks to Pixel Frog for the art: https://pixelfrog-assets.itch.io
|
||||
*
|
||||
* ROTATION:
|
||||
* OLED_ROTATION_0
|
||||
*
|
||||
* Copyright (c) Marek Piechut
|
||||
* MIT License
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define ANIM_SCROLL true
|
||||
#define ANIM_FRAME_WIDTH 32
|
||||
#define ANIM_SIZE 288
|
||||
#define ANIM_BOUNCE true
|
||||
|
||||
#include "animation-utils.c"
|
||||
|
||||
static void oled_render_anim(void) {
|
||||
// 'Idle 01', 72x32px
|
||||
static const char mario_turn_right [] PROGMEM = {
|
||||
// 'mario_turn_right', 32x32px
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x38, 0xb8, 0x98, 0x90, 0x90,
|
||||
0x10, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xb0, 0xe0, 0xdc, 0xbf, 0x39, 0xd0, 0xd2, 0xdf, 0x8f, 0x19, 0x9f, 0xb9,
|
||||
0xbf, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x31, 0x7b, 0xfb, 0xf1, 0x60, 0x01, 0x03, 0x03, 0x05, 0xc4, 0x67, 0x1f,
|
||||
0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x1c, 0x1c, 0x0c, 0x06, 0x01, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
// 'Idle 02', 72x32px
|
||||
static const char mario_idle_right1 [] PROGMEM = {
|
||||
// 'mario_idle_right1', 32x32px
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x30, 0xb8, 0x98, 0x98, 0x98, 0xb0, 0x20,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x8e, 0x9e, 0x98, 0x30, 0x7b, 0x6f, 0x67, 0x4c, 0x4f, 0x1c, 0x1c,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0e, 0x1f, 0x13, 0x0d, 0x1e, 0x1e, 0x1e, 0x2d, 0x33, 0x0e, 0x0c, 0x30,
|
||||
0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x08, 0x08, 0x08, 0x04, 0x02, 0x04, 0x00, 0x0c, 0x0e,
|
||||
0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
// 'Idle 03', 72x32px
|
||||
static const char mario_idle_right2 [] PROGMEM = {
|
||||
// 'mario_idle_right2', 32x32px
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x30, 0xb8, 0x98, 0x98, 0x98, 0x30, 0x20,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x1e, 0x18, 0xb0, 0xbb, 0x6f, 0x67, 0x4c, 0x5f, 0x1c, 0x1c,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0f, 0x2f, 0x26, 0x19, 0x3c, 0x3c,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x08, 0x08, 0x08, 0x04, 0x02, 0x04, 0x00, 0x0c, 0x0e, 0x07,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
// 'Idle 04', 72x32px
|
||||
static const char mario_turn_left [] PROGMEM = {
|
||||
// 'mario_turn_left', 32x32px
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xb0, 0x90, 0x98, 0xb8, 0x38, 0x70, 0xe0, 0xc0, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x98, 0xbf, 0xb9, 0x9f, 0x19, 0x8f, 0xdf, 0xd2, 0xd0, 0x39, 0xbf, 0xdc,
|
||||
0xe0, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x1b, 0x67, 0x87, 0x04, 0x05, 0x03, 0x03, 0x01, 0x60, 0xf1, 0xfb,
|
||||
0x7b, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0x0c, 0x1c, 0x1c, 0x1e, 0x0c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
// 'Idle 05', 72x32px
|
||||
static const char mario_idle_left1 [] PROGMEM = {
|
||||
// 'mario_idle_left1', 32x32px
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xb0, 0x98, 0x98, 0x98, 0xb8, 0x30, 0x70, 0xe0, 0xc0,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x1c, 0x4f, 0x4c, 0x67, 0x6f, 0x7b, 0x30, 0x98, 0x9e,
|
||||
0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x30, 0x0c, 0x0e, 0x33, 0x2d, 0x1e, 0x1e, 0x1e, 0x0d, 0x13,
|
||||
0x1f, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0e, 0x0c, 0x00, 0x04, 0x02, 0x04, 0x08, 0x08, 0x08, 0x0c,
|
||||
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
// 'Idle 06', 72x32px
|
||||
static const char mario_idle_left2 [] PROGMEM = {
|
||||
// 'mario_idle_left2', 32x32px
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x30, 0x98, 0x98, 0x98, 0xb8, 0x30, 0x70, 0xe0, 0xc0,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x1c, 0x5f, 0x4c, 0x67, 0x6f, 0xbb, 0xb0, 0x18, 0x1e,
|
||||
0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x19, 0x26, 0x2f, 0x0f, 0x07, 0x07, 0x03, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0e, 0x0c, 0x00, 0x04, 0x02, 0x04, 0x08, 0x08, 0x08,
|
||||
0x0c, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
// 'Run 01', 72x32px
|
||||
// static const char crab_run_01 [] PROGMEM = {
|
||||
// // 'mario_turn_right', 32x32px
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x38, 0xb8, 0x98, 0x90, 0x90,
|
||||
// 0x10, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0xb0, 0xe0, 0xdc, 0xbf, 0x39, 0xd0, 0xd2, 0xdf, 0x8f, 0x19, 0x9f, 0xb9,
|
||||
// 0xbf, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x31, 0x7b, 0xfb, 0xf1, 0x60, 0x01, 0x03, 0x03, 0x05, 0xc4, 0x67, 0x1f,
|
||||
// 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x1c, 0x1c, 0x0c, 0x06, 0x01, 0x01, 0x00, 0x00,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
// };
|
||||
// 'Run 02', 72x32px
|
||||
static const char mario_run_right1 [] PROGMEM = {
|
||||
// 'mario_run_right1', 32x32px
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x70, 0xb0, 0xb8, 0x98, 0x98, 0x98, 0xb0,
|
||||
0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x98, 0xb0, 0x3b, 0x6f, 0x67, 0x4c, 0x4f, 0x5c, 0x1f,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x06, 0x06, 0x06, 0x0e, 0xcd, 0x43, 0x0f, 0x07, 0x86, 0x80, 0xb1, 0x37, 0x06, 0x04,
|
||||
0xd1, 0xe3, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
|
||||
0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
// 'Run 03', 72x32px
|
||||
static const char mario_run_right2 [] PROGMEM = {
|
||||
// 'mario_run_right2', 32x32px
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x70, 0xb0, 0xb8, 0x98, 0x98, 0x98, 0xb0,
|
||||
0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x98, 0xb0, 0x3b, 0x6f, 0x67, 0x4c, 0x4f, 0x5c, 0x1f,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x06, 0x06, 0x06, 0x0e, 0x0d, 0x03, 0x0f, 0x07, 0x06, 0x00, 0x31, 0x37, 0x06, 0x04,
|
||||
0x31, 0x33, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x08, 0x08, 0x08, 0x04, 0x02, 0x04, 0x00, 0x0c,
|
||||
0x0e, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
// 'Run 04', 72x32px
|
||||
// static const char crab_run_04 [] PROGMEM = {
|
||||
// // 'mario_turn_left', 32x32px
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xb0, 0x90, 0x98, 0xb8, 0x38, 0x70, 0xe0, 0xc0, 0x00, 0x00,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x98, 0xbf, 0xb9, 0x9f, 0x19, 0x8f, 0xdf, 0xd2, 0xd0, 0x39, 0xbf, 0xdc,
|
||||
// 0xe0, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x01, 0x1b, 0x67, 0x87, 0x04, 0x05, 0x03, 0x03, 0x01, 0x60, 0xf1, 0xfb,
|
||||
// 0x7b, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0x0c, 0x1c, 0x1c, 0x1e, 0x0c,
|
||||
// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
// };
|
||||
// 'Run 05', 72x32px
|
||||
static const char mario_run_left1 [] PROGMEM = {
|
||||
// 'mario_run_left1', 32x32px
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x60, 0x30, 0x30, 0x30, 0x70, 0x60, 0xe0, 0xc0, 0x80, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3f, 0xb9, 0x9f, 0x99, 0xcf, 0xdf, 0x76, 0x60, 0x31, 0x3c,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xc6, 0xc6, 0xa2, 0x08, 0x0c, 0x6e, 0x62, 0x00, 0x0c, 0x0e, 0x1f, 0x87, 0x9a,
|
||||
0x1c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x00, 0x02, 0x01, 0x01, 0x01, 0x02, 0x04, 0x04, 0x00, 0x0f,
|
||||
0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
// 'Run 06', 72x32px
|
||||
static const char mario_run_left2 [] PROGMEM = {
|
||||
// 'mario_run_left2', 32x32px
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xb0, 0x98, 0x98, 0x98, 0xb8, 0xb0, 0x70, 0x60, 0xc0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1f, 0x5c, 0x4f, 0x4c, 0x67, 0x6f, 0x3b, 0xb0, 0x98, 0x1e,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x33, 0x31, 0x04, 0x06, 0x37, 0x31, 0x00, 0x06, 0x07, 0x0f, 0x03, 0x0d,
|
||||
0x0e, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x07, 0x0e, 0x0c, 0x00, 0x04, 0x02, 0x04, 0x08, 0x08, 0x08, 0x0c, 0x07,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
|
||||
static const char* SLOW_TYPE_FRAMES [] = {
|
||||
mario_turn_right,
|
||||
mario_idle_right1,
|
||||
mario_idle_right2,
|
||||
mario_idle_right1,
|
||||
mario_idle_right2,
|
||||
mario_idle_right1,
|
||||
mario_idle_right2,
|
||||
mario_idle_right1,
|
||||
mario_idle_right2,
|
||||
mario_turn_left,
|
||||
mario_idle_left1,
|
||||
mario_idle_left2,
|
||||
mario_idle_left1,
|
||||
mario_idle_left2,
|
||||
mario_idle_left1,
|
||||
mario_idle_left2,
|
||||
mario_idle_left1,
|
||||
mario_idle_left2,
|
||||
};
|
||||
static const char* FAST_TYPE_FRAMES [] = {
|
||||
mario_turn_right,
|
||||
mario_run_right1,
|
||||
mario_run_right2,
|
||||
mario_run_right1,
|
||||
mario_run_right2,
|
||||
mario_run_right1,
|
||||
mario_run_right2,
|
||||
mario_run_right1,
|
||||
mario_run_right2,
|
||||
mario_turn_left,
|
||||
mario_run_left1,
|
||||
mario_run_left2,
|
||||
mario_run_left1,
|
||||
mario_run_left2,
|
||||
mario_run_left1,
|
||||
mario_run_left2,
|
||||
mario_run_left1,
|
||||
mario_run_left2,
|
||||
};
|
||||
|
||||
oled_render_anim_frame(FAST_TYPE_FRAMES, SLOW_TYPE_FRAMES, 18);
|
||||
}
|
20
keyboards/crkbd/r2g/keymaps/mgallecom/rules.mk
Normal file
20
keyboards/crkbd/r2g/keymaps/mgallecom/rules.mk
Normal file
|
@ -0,0 +1,20 @@
|
|||
OLED_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = yes # for media keys
|
||||
TAP_DANCE_ENABLE = yes
|
||||
BOOTMAGIC_ENABLE = yes
|
||||
CAPS_WORD_ENABLE = yes
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
COMBO_ENABLE = yes
|
||||
# bongo cat
|
||||
WPM_ENABLE = yes
|
||||
# bongo cat
|
||||
|
||||
# Size optimisations
|
||||
CONSOLE_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
LTO_ENABLE = yes
|
||||
SPACE_CADET_ENABLE = no
|
||||
GRAVE_ESCAPE_ENABLE = no
|
||||
MOUSEKEY_ENABLE = no
|
||||
# Size optimisations END
|
|
@ -0,0 +1,83 @@
|
|||
#pragma once
|
||||
/* Copyright 2021 Gabriel Bustamante Toledo
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
// default but used in macros
|
||||
#undef TAPPING_TERM
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
// Prevent normal rollover on alphas from accidentally triggering mods.
|
||||
|
||||
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
|
||||
#define TAPPING_FORCE_HOLD
|
||||
|
||||
#define COMBO_COUNT 4
|
||||
|
||||
// Auto Shift
|
||||
#define NO_AUTO_SHIFT_ALPHA
|
||||
#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
|
||||
#define AUTO_SHIFT_NO_SETUP
|
||||
|
||||
// Mouse key speed and acceleration.
|
||||
#undef MOUSEKEY_DELAY
|
||||
#define MOUSEKEY_DELAY 0
|
||||
#undef MOUSEKEY_INTERVAL
|
||||
#define MOUSEKEY_INTERVAL 16
|
||||
#undef MOUSEKEY_WHEEL_DELAY
|
||||
#define MOUSEKEY_WHEEL_DELAY 0
|
||||
#undef MOUSEKEY_MAX_SPEED
|
||||
#define MOUSEKEY_MAX_SPEED 6
|
||||
#undef MOUSEKEY_TIME_TO_MAX
|
||||
#define MOUSEKEY_TIME_TO_MAX 64
|
||||
|
||||
#define RGBLIGHT_LAYERS
|
||||
#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
# undef ENABLE_RGB_MATRIX_BREATHING
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_VAL
|
||||
# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
|
||||
# undef RGB_MATRIX_STARTUP_MODE
|
||||
|
||||
# define RGBLIGHT_HUE_STEP 20
|
||||
|
||||
#endif
|
123
keyboards/kprepublic/bm40hsrgb/rev1/keymaps/mgallecom/keymap.c
Executable file
123
keyboards/kprepublic/bm40hsrgb/rev1/keymaps/mgallecom/keymap.c
Executable file
|
@ -0,0 +1,123 @@
|
|||
/* Copyright 2021 Gabriel Bustamante Toledo
|
||||
*
|
||||
* 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
|
||||
|
||||
enum layers { BASE2, MEDIA, NAV, TILNAV, SYM, NUM, FUN };
|
||||
|
||||
enum {
|
||||
TD_ALFRED_PASTE, TD_SCREEN, TD_WINDOW_RIGHT, TD_WINDOW_LEFT, TD_CURLIES, TD_BRACKS, TD_BRACKS_NORMAL
|
||||
};
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_WINDOW_LEFT] = ACTION_TAP_DANCE_DOUBLE( A(G(KC_LEFT)) , G(A(C(KC_LEFT))) ),
|
||||
[TD_WINDOW_RIGHT] = ACTION_TAP_DANCE_DOUBLE( A(G(KC_RIGHT)) , G(A(C(KC_RIGHT))) ),
|
||||
[TD_CURLIES] = ACTION_TAP_DANCE_DOUBLE( KC_LCBR , KC_RCBR ),
|
||||
[TD_BRACKS] = ACTION_TAP_DANCE_DOUBLE( KC_LBRC , KC_RBRC ),
|
||||
[TD_BRACKS_NORMAL] = ACTION_TAP_DANCE_DOUBLE( KC_LPRN , KC_RPRN ),
|
||||
[TD_ALFRED_PASTE] = ACTION_TAP_DANCE_DOUBLE( G(KC_V) , G(A(KC_V)) ),
|
||||
[TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( S(G(KC_4)) , S(G(C(KC_4))) ),
|
||||
};
|
||||
|
||||
void set_color(int r, int g, int b){
|
||||
rgb_matrix_set_color(5, r, g, b);
|
||||
rgb_matrix_set_color(6, r, g, b);
|
||||
rgb_matrix_set_color(17, r, g, b);
|
||||
rgb_matrix_set_color(18, r, g, b);
|
||||
rgb_matrix_set_color(29, r, g, b);
|
||||
rgb_matrix_set_color(30, r, g, b);
|
||||
rgb_matrix_set_color(41, r, g, b);
|
||||
}
|
||||
|
||||
// void rgb_matrix_indicators_user(void) {
|
||||
|
||||
// switch (get_highest_layer(layer_state)) {
|
||||
// case BASE2:
|
||||
// set_color(128, 64, 0);
|
||||
// break;
|
||||
// case MEDIA:
|
||||
// set_color(50, 10, 20);
|
||||
// break;
|
||||
// case NAV:
|
||||
// set_color(0, 40, 50);
|
||||
// break;
|
||||
// case TILNAV:
|
||||
// set_color(0, 0, 50);
|
||||
// break;
|
||||
// case SYM:
|
||||
// set_color(0, 50, 1.9);
|
||||
// break;
|
||||
// case NUM:
|
||||
// set_color(10, 0, 50);
|
||||
// break;
|
||||
// case FUN:
|
||||
// set_color(50, 0, 0);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[BASE2] = LAYOUT_planck_mit(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, TG(BASE2), KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
LCTL_T(KC_A), LALT_T(KC_S), LGUI_T(KC_D), LSFT_T(KC_F), KC_G, KC_NO, KC_NO, KC_H, RSFT_T(KC_J), LGUI_T(KC_K), LALT_T(KC_L), LCTL_T(KC_QUOT),
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
TD(TD_SCREEN), KC_NO, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(TILNAV, KC_TAB), A(KC_SPC), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), TD(TD_WINDOW_LEFT), TD(TD_WINDOW_RIGHT)
|
||||
),
|
||||
|
||||
[MEDIA] = LAYOUT_planck_mit(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT,
|
||||
KC_NO, KC_ALGR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRMD, KC_BRMU, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_MUTE, KC_NO, KC_NO
|
||||
),
|
||||
|
||||
[NAV] = LAYOUT_planck_mit(
|
||||
G(KC_S), TD(TD_ALFRED_PASTE), G(KC_C), G(KC_X), G(KC_Z), KC_NO, KC_NO, G(KC_S), TD(TD_ALFRED_PASTE), G(KC_C), G(KC_X), G(KC_Z),
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
KC_NO, KC_ALGR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, KC_BSPC, KC_DEL, KC_NO, KC_NO
|
||||
),
|
||||
|
||||
[TILNAV] = LAYOUT_planck_mit(
|
||||
G(KC_S), TD(TD_ALFRED_PASTE), G(KC_C), G(KC_X), G(KC_Z),KC_NO, KC_NO, KC_NO, KC_NO, A(KC_F19), A(KC_F18), A(KC_F17),
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, A(KC_F16), A(KC_F15), A(KC_F14), A(KC_F13),
|
||||
KC_NO, KC_ALGR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_BTN3, KC_BTN2, KC_NO, KC_NO
|
||||
),
|
||||
|
||||
[SYM] = LAYOUT_planck_mit(
|
||||
KC_PIPE, KC_AMPR, KC_ASTR, KC_BSLS, TD(TD_BRACKS), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
|
||||
KC_COLN, KC_DLR, KC_PERC, KC_CIRC, TD(TD_BRACKS_NORMAL), KC_NO, KC_NO, KC_NO, KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, TD(TD_CURLIES), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ALGR, KC_NO,
|
||||
KC_NO, KC_NO, KC_SCLN, KC_PMNS, KC_UNDS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
|
||||
[NUM] = LAYOUT_planck_mit(
|
||||
KC_EQL, KC_7, KC_8, KC_9, KC_PAST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
|
||||
KC_COLN, KC_4, KC_5, KC_6, KC_PMNS, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL,
|
||||
KC_SLSH, KC_1, KC_2, KC_3, KC_PPLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ALGR, KC_NO,
|
||||
KC_NO, KC_NO, KC_DOT, KC_0, KC_COMM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
|
||||
[FUN] = LAYOUT_planck_mit(
|
||||
KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
|
||||
KC_F11, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL,
|
||||
KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ALGR, KC_NO,
|
||||
KC_NO, KC_NO, KC_APP, KC_SPC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||
)
|
||||
|
||||
};
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
AUTO_SHIFT_ENABLE = yes # Auto Shift
|
||||
TAP_DANCE_ENABLE = yes
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
CAPS_WORD_ENABLE = yes
|
7
qmk.json
7
qmk.json
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"userspace_version": "1.0",
|
||||
"build_targets": []
|
||||
"userspace_version": "1.1",
|
||||
"build_targets": [
|
||||
["kprepublic/bm40hsrgb/rev1", "mgallecom"],
|
||||
["crkbd/r2g", "mgallecom"]
|
||||
]
|
||||
}
|
0
users/mgallecom/mgallecom.c
Normal file
0
users/mgallecom/mgallecom.c
Normal file
366
users/mgallecom/mgallecom.h
Normal file
366
users/mgallecom/mgallecom.h
Normal file
|
@ -0,0 +1,366 @@
|
|||
/*
|
||||
Copyright 2024 Brian Grant <@btgrant-76>
|
||||
|
||||
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/>.
|
||||
*/
|
||||
|
||||
#ifndef USERSPACE
|
||||
#define USERSPACE
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_NRM,
|
||||
_SYM,
|
||||
_NUM,
|
||||
_NAV,
|
||||
_FUN,
|
||||
_MSE,
|
||||
_ADD
|
||||
};
|
||||
|
||||
#define _MED _SYM
|
||||
|
||||
enum custom_keycodes {
|
||||
SCRN2CLP = SAFE_RANGE, // macOS take screenshot to the clip board
|
||||
SCRN2FL, // macOS take screenshot to a file
|
||||
QUO_INST,
|
||||
UP_DIR,//:../
|
||||
LOG_OUT,
|
||||
CAPWD_TG,
|
||||
NEW_SAFE_RANGE
|
||||
};
|
||||
|
||||
// Tap Dance declarations
|
||||
enum {
|
||||
TD_F1,
|
||||
TD_F2,
|
||||
TD_F6,
|
||||
TD_F9,
|
||||
TD_F12,
|
||||
TD_DOT,
|
||||
TD_ZERO,
|
||||
TD_TWO,
|
||||
TD_THREE,
|
||||
TD_QUOT,
|
||||
TD_DASH,
|
||||
TD_GRV
|
||||
};
|
||||
|
||||
/* Aliases */
|
||||
#define HOLD XXXXXXX //:(hold)
|
||||
|
||||
/** Layer Keys **/
|
||||
#define TAB_FUN LT(_FUN, KC_TAB) //:Tab/FUN
|
||||
#define TAB_MSE LT(_MSE, KC_TAB) //:Tab/MSE
|
||||
#define BS_NUM LT(_NUM, KC_BSPC) //:BS/NUM
|
||||
#define ESC_SYM LT(_SYM, KC_ESC) //:Esc/SYM
|
||||
#define ESC_MSE LT(_MSE, KC_ESC) //:Esc/MSE
|
||||
#define ESC_FUN LT(_FUN, KC_ESC) //:Esc/FUN
|
||||
#define ENT_MSE LT(_MSE, KC_ENT) //:Ent/MSE
|
||||
#define ENT_SYM LT(_SYM, KC_ENT) //:Ent/SYM
|
||||
#define SPC_NAV LT(_NAV, KC_SPC) //:Spc/NAV
|
||||
#define DEL_MED LT(_MED, KC_DEL) //:Del/MED
|
||||
#define DEL_MSE LT(_MSE, KC_DEL) //:Del/MSE
|
||||
|
||||
#define LPRN_MSE LT(_MSE, KC_LPRN)
|
||||
|
||||
/** Mod Tap Aliases **/
|
||||
/*** Home Row Mods ***/
|
||||
#define A_CTL LCTL_T(KC_A) //:A/Ctl
|
||||
#define A_WIN LGUI_T(KC_A) //:A/WIN
|
||||
#define S_ALT LALT_T(KC_S) //:S/Alt
|
||||
#define D_GUI LGUI_T(KC_D) //:D/Cmd
|
||||
#define D_CTL LCTL_T(KC_D) //:D/CTL
|
||||
#define F_SFT LSFT_T(KC_F) //:F/Sft
|
||||
#define J_SFT RSFT_T(KC_J) //:J/Sft
|
||||
#define K_GUI RGUI_T(KC_K) //:K/Cmd
|
||||
#define K_CTL RCTL_T(KC_K) //:K/CTL
|
||||
#define L_ALT RALT_T(KC_L) //:L/Alt
|
||||
#define SCLN_CTL RCTL_T(KC_SCLN) //:;_:/Ctl
|
||||
#define SCLN_WIN RGUI_T(KC_SCLN) //:;_:/WIN
|
||||
#define HRM_L KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT //:Ctl||Opt||GUI||Sft
|
||||
#define HRM_R KC_RSFT, KC_RGUI, KC_RALT, KC_RCTL //:Sft||GUI||Opt||Ctl
|
||||
#define HRM_LWIN KC_LGUI, KC_LALT,KC_LCTL, KC_LSFT //:WIN||Opt||Ctl||Sft
|
||||
#define HRM_RWIN KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI //:Sft||Ctl||Opt||WIN
|
||||
|
||||
/*** Others ***/
|
||||
#define ENT_SFT RSFT_T(KC_ENT) //:Ent/Sft
|
||||
#define SLS_HYPR HYPR_T(KC_SLSH) //:/_?/Hypr
|
||||
#define Z_HYPR HYPR_T(KC_Z) //:Z/Hypr
|
||||
#define B_MEH MEH_T(KC_B) //:B/Meh
|
||||
#define N_MEH MEH_T(KC_N) //:N/Meh
|
||||
|
||||
/*** Thumb keys ***/
|
||||
#define DEL_GUI LGUI_T(KC_DEL) //:Del/Cmd
|
||||
#define SPC_MEH MEH_T(KC_SPC)
|
||||
|
||||
/*** Shortcuts ***/
|
||||
#define CUT LGUI(KC_X)
|
||||
#define COPY LGUI(KC_C)
|
||||
#define PASTE LGUI(KC_V)
|
||||
#define UNDO LGUI(KC_Z)
|
||||
#define REDO LSG(KC_Z)
|
||||
#define CLIPBOARD_R REDO, PASTE, COPY, CUT, UNDO //:Redo||Paste||Copy||Cut||Undo
|
||||
#define CLIPBOARD_L UNDO, CUT, COPY, PASTE, REDO //:Undo||Cut||Copy||Paste||Redo
|
||||
|
||||
/*** macOS navigation ***/
|
||||
#define MISS_CTL LCTL(KC_UP)
|
||||
#define LEFT_SPC LCTL(KC_LEFT)
|
||||
#define RGHT_SPC LCTL(KC_RIGHT)
|
||||
|
||||
/*** Other shortcuts ***/
|
||||
#define BACK LCMD(KC_LBRC) //:Back
|
||||
#define FWD LCMD(KC_RBRC) //:Forward
|
||||
#define TAB_LFT LSG(KC_LBRC) //:Tab_Lft
|
||||
#define TAB_RGT LSG(KC_RBRC) //:Tab_Rght
|
||||
#define Z_MUTE HYPR(KC_SPC) //:Zoom_Mute
|
||||
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
// Tap Dances
|
||||
#define F1_TD TD(TD_F1) //:F1
|
||||
#define F2_TD TD(TD_F2) //:F2
|
||||
#define F6_TD TD(TD_F6) //:F6
|
||||
#define F9_TD TD(TD_F9) //:F9
|
||||
#define F12_TD TD(TD_F12) //:F12
|
||||
#define DOT_TD TD(TD_DOT) //:.
|
||||
#define ZERO_TD TD(TD_ZERO) //:0
|
||||
#define TWO_TD TD(TD_TWO) //:2
|
||||
#define THREE_TD TD(TD_THREE) //:3
|
||||
#define QUOT_TD TD(TD_QUOT) //:'_"
|
||||
#define DASH_TD TD(TD_DASH) //:-__
|
||||
#define GRV_TD TD(TD_GRV) //:`_~
|
||||
#else
|
||||
#define F1_TD KC_F1
|
||||
#define F2_TD KC_F2
|
||||
#define F6_TD KC_F6
|
||||
#define F9_TD KC_F9
|
||||
#define F12_TD KC_F12
|
||||
#define DOT_TD KC_DOT
|
||||
#define ZERO_TD KC_0
|
||||
#define TWO_TD KC_2
|
||||
#define THREE_TD KC_3
|
||||
#define QUOT_TD KC_QUOT
|
||||
#define DASH_TD KC_MINS
|
||||
#define GRV_TD KC_GRV
|
||||
#endif // TAP_DANCE_ENABLE
|
||||
|
||||
/* portable keymaps */
|
||||
/** 10u **/
|
||||
/*** base ***/
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ Q │ W │ E │ R │ T │ */
|
||||
#define ___5BASE_1_L___ KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ A/Ctl │ S/Alt │ D/Cmd │ F/Sft │ G │ */
|
||||
#define ___5BASE_2_L___ A_CTL, S_ALT, D_GUI, F_SFT, KC_G
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Z/Hypr │ X │ C │ V │ B/Meh │ */
|
||||
#define ___5BASE_3_L___ Z_HYPR, KC_X, KC_C, KC_V, B_MEH
|
||||
/* ╰────────┴────────┼────────┼────────┼────────┤ */
|
||||
/* │ Tab/FUN│ BS/NUM │ Esc/MSE│ */
|
||||
#define ___BASE_THUMB_L___ TAB_FUN, BS_NUM, ESC_MSE
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ Y │ U │ I │ O │ P │ */
|
||||
#define ___5BASE_1_R___ KC_Y, KC_U, KC_I, KC_O, KC_P
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ H │ J/Sft │ K/Cmd │ L/Alt │ ; :/Ctl│ */
|
||||
#define ___5BASE_2_R___ KC_H, J_SFT, K_GUI, L_ALT, SCLN_CTL
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ N/Meh │ M │ , < │ . > │/ ?/Hypr│ */
|
||||
#define ___5BASE_3_R___ N_MEH, KC_M, KC_COMM, KC_DOT, SLS_HYPR
|
||||
/* ├────────┼────────┼────────┼────────┴────────╯ */
|
||||
/* │Ent/MSE │Spc/NAV │ Del/MED│ */
|
||||
#define ___BASE_THUMB_R___ ENT_MSE, SPC_NAV, DEL_MED
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/*** number ***/
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ Undo │ Cut │ Copy │ Paste │ Redo │ */
|
||||
#define ___5NUM_1_L___ CLIPBOARD_L
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Ctl │ S/Alt │ Cmd │ Shift │Capwd TG│ */
|
||||
#define ___5NUM_2_L___ KC_LCTL, S_ALT, KC_LGUI, KC_LSFT, CAPWD_TG
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Esc │ --- │ Leader │ Space │ BS │ */
|
||||
#define ___5NUM_3_L___ KC_ESC, XXXXXXX, QK_LEAD, KC_SPC, KC_BSPC
|
||||
/* ╰────────┴────────┼────────┼────────┼────────┤ */
|
||||
/* │ Del │ (hold) │ BS │ */
|
||||
#define ___NUM_THUMB_L___ KC_DEL, HOLD, KC_BSPC
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ [ { │ 7 │ 8 │ 9 │ ] } │ */
|
||||
#define ___5NUM_1_R___ KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ = + │ 4 │ 5 │ 6 │ ' " │ */
|
||||
// TODO maybe try moving the quote hold to a different key?
|
||||
#define ___5NUM_2_R___ KC_EQL, KC_4, KC_5, KC_6, QUOT_TD
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ \ | │ 1 │ 2 │ 3 │ ` ~ │ */
|
||||
#define ___5NUM_3_R___ KC_BSLS, KC_1, TWO_TD, THREE_TD, GRV_TD
|
||||
/* ├────────┼────────┼────────┼────────┴────────╯ */
|
||||
/* │ - _ │ 0 │ . │ */
|
||||
#define ___NUM_THUMB_R___ KC_MINS, ZERO_TD, DOT_TD
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/*** symbol ***/
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ --- │ --- │ --- │ --- │ --- │ */
|
||||
#define ___5SYM_1_L___ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Med <==│ Vol Dn │ Vol Up │ Med==> │RGB Spd+│ */
|
||||
#define ___5SYM_2_L___ KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, RGB_SPI
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ RGB tog│RGB mod+│RGB hue+│RGB sat+│RGB brt+│ */
|
||||
#define ___5SYM_3_L___ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI
|
||||
/* ╰────────┴────────┼────────┼────────┼────────┤ */
|
||||
/* │ Mute │Ply/Paus│ Stop │ */
|
||||
#define ___SYM_THUMB_L___ KC_MUTE, KC_MPLY, KC_MSTP
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ { │ & │ * │ ) │ } │ */
|
||||
#define ___5SYM_1_R___ KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ + │ $ │ % │ ^ │ " │ */
|
||||
#define ___5SYM_2_R___ KC_PLUS, KC_DLR, KC_PERC, KC_CIRC, KC_DQT
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ | │ ! │ @ │ # │ ~ │ */
|
||||
#define ___5SYM_3_R___ KC_PIPE, KC_EXLM, KC_AT, KC_HASH, KC_TILD
|
||||
/* ├────────┼────────┼────────┼────────┴────────╯ */
|
||||
/* │ _ │ ( │ (hold) │ */
|
||||
#define ___SYM_THUMB_R___ KC_UNDS, LPRN_MSE, HOLD
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/*** navigation ***/
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ Tab Lft│ Back │ Forward│Tab Rght│ ../ │ */
|
||||
#define ___5NAV_1_L___ TAB_LFT, BACK, FWD, TAB_RGT, UP_DIR
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Ctl │ Alt │ Cmd │ Shft │ --- │ */
|
||||
#define ___5NAV_2_L___ HRM_L, XXXXXXX
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ --- │ --- │ --- │ --- │ --- │ */
|
||||
#define ___5NAV_3_L___ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
/* ╰────────┴────────┼────────┼────────┼────────┤ */
|
||||
/* │ Del/Cmd│ Bs │ Ent │ */
|
||||
#define ___NAV_THUMB_L___ DEL_GUI, KC_BSPC, KC_ENT
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ Redo │ Paste │ Copy │ Cut │ Undo │ */
|
||||
#define ___5NAV_1_R___ CLIPBOARD_R
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Left │ Down │ Up │ Right │ Caps │ */
|
||||
#define ___5NAV_2_R___ KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_CAPS
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Home │ PgDn │ PgUp │ End │ Ent │ */
|
||||
#define ___5NAV_3_R___ KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_ENT
|
||||
/* ├────────┼────────┼────────┼────────┴────────╯ */
|
||||
/* │ --- │ (hold) │ --- │ */
|
||||
#define ___NAV_THUMB_R___ XXXXXXX, HOLD, XXXXXXX
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/*** function ***/
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ Log Out│ --- │Scrn2Clp│ Scrn2Fl│ --- │ */
|
||||
#define ___5FUN_1_L___ LOG_OUT, XXXXXXX, SCRN2CLP, SCRN2FL, XXXXXXX
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Ctl │ Alt │ Cmd │ Shft │ScrnBrt+│ */
|
||||
#define ___5FUN_2_L___ HRM_L, KC_BRIU
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ --- │ --- │ --- │ --- │ScrnBrt-│ */
|
||||
#define ___5FUN_3_L___ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRID
|
||||
/* ╰────────┴────────┼────────┼────────┼────────┤ */
|
||||
/* │ (hold) │ MSE │ Tab │ */
|
||||
#define ___FUN_THUMB_L___ HOLD, MO(_MSE), XXXXXXX
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ --- │ F7 │ F8 │ F9 │ F12 │ */
|
||||
#define ___5FUN_1_R___ XXXXXXX, KC_F7, KC_F8, F9_TD, F12_TD
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ --- │ F4 │ F5 │ F6 │ F11 │ */
|
||||
#define ___5FUN_2_R___ XXXXXXX, KC_F4, KC_F5, F6_TD, KC_F11
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ --- │ F1 │ F2 │ F3 │ F10 │ */
|
||||
#define ___5FUN_3_R___ XXXXXXX, F1_TD, F2_TD, KC_F3, KC_F10
|
||||
/* ├────────┼────────┼────────┼────────┴────────╯ */
|
||||
/* │ --- │ ADD │ --- │ */
|
||||
#define ___FUN_THUMB_R___ XXXXXXX, MO(_ADD), XXXXXXX
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/*** mouse ***/
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ Undo │ Cut │ Copy │ Paste │ Redo │ */
|
||||
#define ___5MSE_1_L___ CLIPBOARD_L
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │Button 5│Button 3│Button 1│Button 2│ Wheel D│ */
|
||||
#define ___5MSE_2_L___ KC_BTN5, KC_BTN3, KC_BTN1, KC_BTN2, XXXXXXX // KC_WH_D
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Esc │ Ctl │ Alt │ Cmd │ Shft │ */
|
||||
#define ___5MSE_3_L___ KC_ESC, HRM_L // KC_WH_U // TODO how much am I using wheel up/down? If I shifted HRM over to the right, I could put Esc on Z like the default layer
|
||||
/* ╰────────┴────────┼────────┼────────┼────────┤ */
|
||||
/* │ --- │ (hold) │ (hold) │ */
|
||||
#define ___MSE_THUMB_L___ XXXXXXX, HOLD, HOLD
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ --- │MseSpd 0│MseSpd 1│MseSpd 2│ --- │ */
|
||||
#define ___5MSE_1_R___ XXXXXXX, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Mouse L│ Mouse D│ Mouse U│ Mouse R│ --- │ */
|
||||
#define ___5MSE_2_R___ KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ Wheel L│ Wheel U│ Wheel D│ Wheel R│ --- │ */
|
||||
// wheel up/down are swapped intentionally so the actual directions are synced
|
||||
// relative to "natural scrolling"
|
||||
#define ___5MSE_3_R___ KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, XXXXXXX
|
||||
/* ├────────┼────────┼────────┼────────┴────────╯ */
|
||||
/* │ (hold) │ (hold) │ --- │ */
|
||||
#define ___MSE_THUMB_R___ HOLD, HOLD, XXXXXXX
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/*** additional features ***/
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ Bootldr│ --- │ --- │DF: BASE│DF: NRM │ */
|
||||
#define ___5ADD_1_L___ QK_BOOT, XXXXXXX, XXXXXXX, DF(_BASE), DF(_NRM)
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ --- │DynTpRpt│ DynTpDn│ DynTpUp│ --- │ */
|
||||
#define ___5ADD_2_L___ XXXXXXX, DT_PRNT, DT_DOWN, DT_UP, XXXXXXX
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ --- │ ASftRpt│ ASft Dn│ ASft Up│ --- │ */
|
||||
#define ___5ADD_3_L___ XXXXXXX, AS_RPT, AS_DOWN, AS_UP, XXXXXXX
|
||||
/* ╰────────┴────────┼────────┼────────┼────────┤ */
|
||||
/* │ --- │ --- │ --- │ */
|
||||
#define ___ADD_THUMB_L___ XXXXXXX, XXXXXXX, XXXXXXX
|
||||
/* ╰────────┴────────┴────────╯ */
|
||||
|
||||
/* ╭────────┬────────┬────────┬────────┬────────╮ */
|
||||
/* │ Redo │ Paste │ Copy │ Cut │ Undo │ */
|
||||
#define ___5ADD_1_R___ CLIPBOARD_R
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ --- │ --- │ --- │ --- │ --- │ */
|
||||
#define ___5ADD_2_R___ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
/* ├────────┼────────┼────────┼────────┼────────┤ */
|
||||
/* │ --- │ --- │ --- │ --- │ --- │ */
|
||||
#define ___5ADD_3_R___ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
/* ├────────┼────────┼────────┼────────┴────────╯ */
|
||||
/* │ --- │ (hold) │ --- │ */
|
||||
#define ___ADD_THUMB_R___ XXXXXXX, XXXXXXX, XXXXXXX
|
||||
/* ╰────────┴────────┴────────╯ */
|
Loading…
Add table
Add a link
Reference in a new issue