Remove obvious user keymaps, keyboards/{b,c}* edition. (#22693)
This commit is contained in:
parent
f25226453f
commit
d235352504
621 changed files with 0 additions and 40804 deletions
|
|
@ -1,20 +0,0 @@
|
|||
/*
|
||||
Copyright 2021 @cyril279
|
||||
|
||||
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 TAPPING_TERM 150
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
/*
|
||||
Copyright 2021 @cyril279
|
||||
|
||||
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 layer_names {
|
||||
_BASE,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
_NAVIG,
|
||||
_FUNCTION
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define ADJUST MO(_ADJUST)
|
||||
#define SPC_NAV LT(_NAVIG,KC_SPC)
|
||||
#define FUNCT MO(_FUNCTION)
|
||||
#define NAVIG MO(_NAVIG)
|
||||
|
||||
#define LGUI_A LGUI_T(KC_A)
|
||||
#define LALT_S LALT_T(KC_S)
|
||||
#define LSFT_D LSFT_T(KC_D)
|
||||
#define LCTL_F LCTL_T(KC_F)
|
||||
#define RCTL_J RCTL_T(KC_J)
|
||||
#define RSFT_K RSFT_T(KC_K)
|
||||
#define RALT_L LALT_T(KC_L)
|
||||
#define RGUI_SCLN RGUI_T(KC_SCLN)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_rev41lp(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_ESC, KC_A, LALT_S, LSFT_D, LCTL_F, KC_G, KC_H, RCTL_J, RSFT_K, RALT_L, KC_SCLN, KC_QUOT,
|
||||
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_LGUI, LOWER, SPC_NAV, RAISE, FUNCT
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_rev41lp(
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
_______, _______, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_PSCR, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_rev41lp(
|
||||
KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
_______, _______, _______, _______, _______, _______, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_PSCR, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_NAVIG] = LAYOUT_rev41lp(
|
||||
KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO,
|
||||
_______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______,
|
||||
_______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_FUNCTION] = LAYOUT_rev41lp(
|
||||
KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
|
||||
_______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
_______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_rev41lp(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN,BL_TOGG, BL_BRTG, BL_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
||||
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case LGUI_A:
|
||||
case RGUI_SCLN:
|
||||
case LALT_S:
|
||||
case RALT_L:
|
||||
case LCTL_F:
|
||||
case RCTL_J:
|
||||
case SPC_NAV:
|
||||
return 225;
|
||||
default:
|
||||
return TAPPING_TERM;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
/* Copyright 2022 Jan Lindblom (@janlindblom)
|
||||
*
|
||||
* 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
|
||||
|
||||
#undef BACKLIGHT_LEVELS
|
||||
#define BACKLIGHT_LEVELS 11
|
||||
#undef BACKLIGHT_LIMIT_VAL
|
||||
#define BACKLIGHT_LIMIT_VAL 255
|
||||
#define BACKLIGHT_DEFAULT_LEVEL 3
|
||||
|
||||
#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX
|
||||
|
||||
#define QUICK_TAP_TERM 0
|
||||
#define TAPPING_TERM 200
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
|
||||
#define LAYER_STATE_8BIT
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
#define NO_ACTION_ONESHOT
|
||||
|
||||
/* Bootmagic Lite key configuration */
|
||||
#define BOOTMAGIC_LITE_ROW 0
|
||||
#define BOOTMAGIC_LITE_COLUMN 0
|
||||
|
||||
/* key combination for command */
|
||||
#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))
|
||||
|
|
@ -1,176 +0,0 @@
|
|||
/* Copyright 2022 Jan Lindblom (@janlindblom)
|
||||
*
|
||||
* 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 "keymap_swedish.h"
|
||||
#include "sendstring_swedish.h"
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
SK_NOT_EQL = SAFE_RANGE,
|
||||
SK_LEQ,
|
||||
SK_GEQ,
|
||||
};
|
||||
|
||||
// Custom send_string keys
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case SK_NOT_EQL:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("!=");
|
||||
}
|
||||
break;
|
||||
case SK_LEQ:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("<=");
|
||||
}
|
||||
break;
|
||||
case SK_GEQ:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(">=");
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Combos, if enabled
|
||||
#ifdef COMBO_ENABLE
|
||||
enum combo_events {
|
||||
ZC_COPY,
|
||||
XV_PASTE,
|
||||
ZX_CUT,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END};
|
||||
const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END};
|
||||
const uint16_t PROGMEM cut_combo[] = {KC_Z, KC_X, COMBO_END};
|
||||
|
||||
combo_t key_combos[] = {
|
||||
[ZC_COPY] = COMBO_ACTION(copy_combo),
|
||||
[XV_PASTE] = COMBO_ACTION(paste_combo),
|
||||
[ZX_CUT] = COMBO_ACTION(cut_combo),
|
||||
};
|
||||
|
||||
void process_combo_event(uint16_t combo_index, bool pressed) {
|
||||
switch (combo_index) {
|
||||
case ZC_COPY:
|
||||
if (pressed) {
|
||||
tap_code16(LCTL(KC_C));
|
||||
}
|
||||
break;
|
||||
case XV_PASTE:
|
||||
if (pressed) {
|
||||
tap_code16(LCTL(KC_V));
|
||||
}
|
||||
break;
|
||||
case ZX_CUT:
|
||||
if (pressed) {
|
||||
tap_code16(LCTL(KC_X));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Tap Dance definitions
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
enum dances {
|
||||
TD_SHFT_CAPS,
|
||||
TD_DOT_COL,
|
||||
TD_COM_SCL,
|
||||
TD_DASH_USCR,
|
||||
};
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
// Tap once for Shift, twice for Caps Lock
|
||||
[TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
|
||||
[TD_COM_SCL] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, SE_SCLN),
|
||||
[TD_DOT_COL] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, SE_COLN),
|
||||
[TD_DASH_USCR] = ACTION_TAP_DANCE_DOUBLE(SE_MINS, S(SE_MINS)),
|
||||
};
|
||||
# define CK_LSFT TD(TD_SHFT_CAPS)
|
||||
# define CK_COMM TD(TD_COM_SCL)
|
||||
# define CK_DOT TD(TD_DOT_COL)
|
||||
# define CK_DASH TD(TD_DASH_USCR)
|
||||
#else
|
||||
# define CK_LSFT KC_LSFT
|
||||
# define CK_COMM KC_COMM
|
||||
# define CK_DOT KC_DOT
|
||||
# define CK_DASH SE_MINS
|
||||
#endif
|
||||
|
||||
// Some defines for the keys below
|
||||
#define CK_ESC LT(_RAISE, KC_ESC)
|
||||
#define CK_BSPC LCTL_T(KC_BSPC)
|
||||
#define CK_DEL LALT_T(KC_DEL)
|
||||
#define CK_ENT1 LT(_LOWER, KC_ENT)
|
||||
#define CK_ENT2 LT(_RAISE, KC_ENT)
|
||||
#define CK_TAB RALT_T(KC_TAB)
|
||||
#define CK_ADIA RCTL_T(SE_ADIA)
|
||||
#define CK_QUOT RSFT_T(SE_QUOT)
|
||||
#define CK_SPC RSFT_T(KC_SPC)
|
||||
|
||||
// Alt + [-] => – (en-dash)
|
||||
const key_override_t mins_ndash_override = ko_make_basic(MOD_MASK_ALT, SE_MINS, UC(0x2013));
|
||||
// Shift + Alt + [-] => — (em-dash)
|
||||
const key_override_t mins_mdash_override = ko_make_basic(MOD_MASK_SA, SE_MINS, UC(0x2014));
|
||||
|
||||
const key_override_t **key_overrides = (const key_override_t *[]){
|
||||
&mins_ndash_override,
|
||||
&mins_mdash_override,
|
||||
NULL
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_rev41lp(
|
||||
CK_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
|
||||
CK_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_ODIA, CK_ADIA,
|
||||
CK_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, SE_COMM, SE_DOT, SE_MINS, CK_QUOT,
|
||||
CK_DEL, CK_ENT1, KC_SPC, CK_ENT2, CK_TAB
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_rev41lp(
|
||||
SK_NOT_EQL, SE_EXLM, SE_AT, SE_HASH, SE_DLR, SE_PERC, SE_CIRC, SE_AMPR, SE_ASTR, SE_LPRN, SE_RPRN, SE_DIAE,
|
||||
SK_LEQ, SE_UNDS, SE_PLUS, SE_LCBR, SE_RCBR, SE_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, SE_GRV, SE_TILD,
|
||||
SK_GEQ, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, SE_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, CK_SPC,
|
||||
_______, _______, KC_ENT, _______, _______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_rev41lp(
|
||||
_______, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_GRV,
|
||||
_______, SE_MINS, SE_EQL, SE_LBRC, SE_RBRC, SE_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
_______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, SE_ACUT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
SE_LABK, SE_RABK, KC_BSPC, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_rev41lp(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, BL_OFF, BL_DOWN, BL_TOGG, BL_BRTG, BL_UP, BL_ON, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, UC_WINC, UC_MAC, UC_LINX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
# Namnlos custom keymap for Rev41lp
|
||||
|
||||
This is a nordic keymap for the Rev41lp by [cyril](https://github.com/cyril279), it's based on the default keymap but has customisations for nordic languages.
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
SLEEP_LED_ENABLE = yes
|
||||
NKRO_ENABLE = yes
|
||||
UNICODE_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = yes
|
||||
KEY_OVERRIDE_ENABLE = yes
|
||||
DEBOUNCE_TYPE = sym_defer_pk
|
||||
LTO_ENABLE = yes
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
/*
|
||||
Copyright 2022 keebnewb
|
||||
|
||||
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
|
||||
|
||||
#define CAP_GUI MT(MOD_LGUI, KC_CAPS)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_debaccabean(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC,KC_INS, KC_RBRC,KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
CAP_GUI,KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
|
||||
KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_ENT,
|
||||
KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT_debaccabean(
|
||||
QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SCRL,KC_PAUS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_UP, KC_PGUP,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_MPLY,KC_MUTE,KC_VOLD,KC_VOLU,KC_MPRV,KC_MNXT,KC_TRNS,KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_HOME,KC_END, KC_PGDN,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
/*
|
||||
Copyright 2022 keebnewb
|
||||
|
||||
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
|
||||
|
||||
// Windows mods
|
||||
#define GRV_CTL MT(MOD_LCTL, KC_GRV)
|
||||
#define BLS_CTL MT(MOD_RCTL, KC_BSLS)
|
||||
#define TAB_ALT MT(MOD_LALT, KC_TAB)
|
||||
|
||||
// MacOS mods
|
||||
#define GRV_GUI MT(MOD_LGUI, KC_GRV)
|
||||
#define BLS_GUI MT(MOD_RGUI, KC_BSLS)
|
||||
#define TAB_CTL MT(MOD_LCTL, KC_TAB)
|
||||
|
||||
// mod tap bracket shifts
|
||||
#define LBR_SFT MT(MOD_LSFT, KC_LBRC)
|
||||
#define RBR_SFT MT(MOD_RSFT, KC_RBRC)
|
||||
|
||||
// Arrow/TenKey/Media Keys/Reset hold with Backspace tap
|
||||
#define BSPC_LR LT(3, KC_BSPC)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_debaccabean(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13,
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC,KC_GRV, KC_RBRC,KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT,
|
||||
TAB_ALT,KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
|
||||
LBR_SFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,RBR_SFT,
|
||||
KC_LGUI, GRV_CTL, BSPC_LR,MO(2), KC_SPC, BLS_CTL, KC_RGUI
|
||||
),
|
||||
|
||||
// MacOS layer
|
||||
[1] = LAYOUT_debaccabean(
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
TAB_CTL,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_LALT, GRV_GUI, KC_TRNS,KC_TRNS,KC_TRNS, BLS_GUI, KC_RALT
|
||||
),
|
||||
|
||||
[2] = LAYOUT_debaccabean(
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_UNDS,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_DLR, KC_TRNS,KC_TRNS,KC_TRNS,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_PLUS,
|
||||
KC_MINS,KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS,KC_TRNS,KC_TRNS,KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[3] = LAYOUT_debaccabean(
|
||||
QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,TG(1),
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SCRL,KC_PAUS,KC_TRNS,KC_TRNS,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_UP, KC_PGUP,KC_TRNS,KC_TRNS,
|
||||
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MNXT,KC_TRNS,KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,
|
||||
KC_MPLY,KC_MUTE,KC_VOLD,KC_VOLU,KC_MPRV,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_HOME,KC_END, KC_PGDN,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
/* Copyright 2021 3araht
|
||||
*
|
||||
* 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 DYNAMIC_KEYMAP_LAYER_COUNT 6
|
||||
|
|
@ -1,255 +0,0 @@
|
|||
/* Copyright 2021 3araht
|
||||
*
|
||||
* 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 "version.h"
|
||||
|
||||
#define DF_COLE DF(_COLEMAK)
|
||||
|
||||
#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||
#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
|
||||
#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
|
||||
#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
|
||||
#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
||||
#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
|
||||
#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G
|
||||
#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D
|
||||
#define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
|
||||
#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
|
||||
#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O
|
||||
#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
|
||||
#define _________________NUMBER_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5
|
||||
// #define _________________NUMBER_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0
|
||||
|
||||
#define _________________FUNC__L___________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
|
||||
// #define _________________FUNC__R___________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
#ifndef PEDAL_NORMALLY_CLOSED
|
||||
_OPEN,
|
||||
#endif
|
||||
_CLOSE,
|
||||
#ifdef PEDAL_NORMALLY_CLOSED
|
||||
_OPEN,
|
||||
#endif
|
||||
_QWERTY,
|
||||
_COLEMAK,
|
||||
_MISC,
|
||||
_FN
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
VERSION = SAFE_RANGE
|
||||
};
|
||||
|
||||
// Alias layout macros that expand groups of keys.
|
||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_OPEN] = LAYOUT(
|
||||
MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
|
||||
MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
|
||||
MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
|
||||
MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
|
||||
MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
|
||||
|
||||
MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
|
||||
MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
|
||||
MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
|
||||
TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
|
||||
MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
|
||||
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
|
||||
),
|
||||
|
||||
[_CLOSE] = LAYOUT(
|
||||
MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
|
||||
MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
|
||||
MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
|
||||
MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
|
||||
MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
|
||||
|
||||
MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
|
||||
MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
|
||||
MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
|
||||
TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
|
||||
MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
|
||||
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
|
||||
),
|
||||
|
||||
[_QWERTY] = LAYOUT_wrapper(
|
||||
_________________NUMBER_L__________________,
|
||||
QK_GESC, KC_TAB, _________________QWERTY_L1_________________,
|
||||
KC_CAPS, _________________QWERTY_L2_________________, KC_H,
|
||||
KC_LSFT, _________________QWERTY_L3_________________, KC_N,
|
||||
KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR,
|
||||
|
||||
MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_BSPC,
|
||||
_________________QWERTY_R1_________________, KC_DEL,
|
||||
KC_PGUP, KC_G, _________________QWERTY_R2_________________, KC_ENT,
|
||||
KC_PGDN, KC_B, _________________QWERTY_R3_________________, KC_RSFT,
|
||||
KC_HOME, KC_END, KC_SPC, MIS_KAN, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
[_COLEMAK] = LAYOUT_wrapper(
|
||||
_________________NUMBER_L__________________,
|
||||
QK_GESC, KC_TAB, _________________COLEMAK_L1________________,
|
||||
KC_LCTL, _________________COLEMAK_L2________________, KC_ENT,
|
||||
KC_LSFT, _________________COLEMAK_L3________________, KC_M,
|
||||
KC_CAPS, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR,
|
||||
|
||||
MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_BSPC,
|
||||
_________________COLEMAK_R1________________, KC_DEL,
|
||||
KC_PGUP, KC_D, _________________COLEMAK_R2________________, KC_ENT,
|
||||
KC_PGDN, KC_B, _________________COLEMAK_R3________________, KC_RSFT,
|
||||
KC_HOME, KC_END, KC_SPC, MIS_KAN, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
[_MISC] = LAYOUT_wrapper(
|
||||
_________________FUNC__L___________________,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______, _______, _______, KC_F10, _______,
|
||||
KC_F6, KC_F7, KC_F8, KC_F9, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_QUOT, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_FN] = LAYOUT(
|
||||
DF_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
_______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD, EE_CLR, RGB_TOG
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[_OPEN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_CLOSE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_MISC] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
};
|
||||
#endif
|
||||
|
||||
void my_init(void){
|
||||
// Set octave to 0
|
||||
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
|
||||
|
||||
// avoid using 127 since it is used as a special number in some sound sources.
|
||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||
}
|
||||
|
||||
void eeconfig_init_user(void) { // EEPROM is getting reset!
|
||||
midi_init();
|
||||
my_init();
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
rgb_matrix_enable();
|
||||
rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD);
|
||||
rgb_matrix_sethsv(HSV_BLUE);
|
||||
|
||||
rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE);
|
||||
// rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
|
||||
#endif
|
||||
}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
my_init();
|
||||
|
||||
// party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs)
|
||||
rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case VERSION: // Output firmware info.
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
bool rgb_matrix_indicators_user(void) {
|
||||
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
switch (layer) {
|
||||
case _CLOSE:
|
||||
// rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy.
|
||||
|
||||
// Close state indicator
|
||||
rgb_matrix_set_color( 0, RGB_DARKWHITE); // oc
|
||||
break;
|
||||
|
||||
case _FN:
|
||||
// left hand side
|
||||
rgb_matrix_set_color( 46, RGB_DARKORANGE); // DF_OPEN
|
||||
rgb_matrix_set_color( 48, RGB_DARKWHITE); // DF_QWER
|
||||
rgb_matrix_set_color( 60, RGB_DARKWHITE); // DF_COLE
|
||||
|
||||
rgb_matrix_set_color( 73, RGB_DARKYELLOW); // AG_SWAP
|
||||
rgb_matrix_set_color( 72, RGB_DARKYELLOW); // AG_NORM
|
||||
|
||||
|
||||
// right hand side
|
||||
rgb_matrix_set_color( 1, RGB_DARKYELLOW); // MI_OCTD
|
||||
rgb_matrix_set_color(13, RGB_DARKGREEN); // MI_OCTU
|
||||
rgb_matrix_set_color(14, RGB_DARKYELLOW); // MI_VELD
|
||||
rgb_matrix_set_color(25, RGB_DARKGREEN); // MI_VELU
|
||||
|
||||
rgb_matrix_set_color( 6, RGB_DARKBLUE); // RGB_SAD
|
||||
rgb_matrix_set_color( 9, RGB_DARKBLUE); // RGB_SAI
|
||||
rgb_matrix_set_color(18, RGB_DARKBLUE); // RGB_HUD
|
||||
rgb_matrix_set_color(21, RGB_DARKBLUE); // RGB_HUI
|
||||
rgb_matrix_set_color(29, RGB_DARKBLUE); // RGB_SPD
|
||||
rgb_matrix_set_color(32, RGB_DARKBLUE); // RGB_SPI
|
||||
rgb_matrix_set_color(36, RGB_DARKBLUE); // RGB_VAD
|
||||
rgb_matrix_set_color(39, RGB_DARKBLUE); // RGB_VAI
|
||||
|
||||
rgb_matrix_set_color(31, RGB_DARKBLUE); // RGB_RMOD
|
||||
rgb_matrix_set_color(37, RGB_DARKBLUE); // RGB_MOD
|
||||
rgb_matrix_set_color(38, RGB_DARKPINK); // EE_CLR
|
||||
rgb_matrix_set_color(40, RGB_DARKRED); // RGB_TOG
|
||||
|
||||
rgb_matrix_set_color(41, RGB_DARKORANGE); // _FN
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
# The keymap with led for bandominedoni
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
|
||||
RGB_MATRIX_CUSTOM_KB = yes #
|
||||
|
||||
ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
|
||||
|
|
@ -1,255 +0,0 @@
|
|||
/* Copyright 2021 3araht
|
||||
*
|
||||
* 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 "version.h"
|
||||
|
||||
#define DF_COLE DF(_COLEMAK)
|
||||
|
||||
#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||
#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
|
||||
#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
|
||||
#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
|
||||
#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
||||
#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
|
||||
#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G
|
||||
#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D
|
||||
#define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
|
||||
#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
|
||||
#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O
|
||||
#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
|
||||
#define _________________NUMBER_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5
|
||||
// #define _________________NUMBER_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0
|
||||
|
||||
#define _________________FUNC__L___________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
|
||||
// #define _________________FUNC__R___________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
#ifndef PEDAL_NORMALLY_CLOSED
|
||||
_OPEN,
|
||||
#endif
|
||||
_CLOSE,
|
||||
#ifdef PEDAL_NORMALLY_CLOSED
|
||||
_OPEN,
|
||||
#endif
|
||||
_QWERTY,
|
||||
_COLEMAK,
|
||||
_MISC,
|
||||
_FN
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
VERSION = SAFE_RANGE
|
||||
};
|
||||
|
||||
// Alias layout macros that expand groups of keys.
|
||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_OPEN] = LAYOUT(
|
||||
MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
|
||||
MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
|
||||
MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, MI_B,
|
||||
MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
|
||||
MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
|
||||
|
||||
MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
|
||||
MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
|
||||
MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
|
||||
MI_G2, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
|
||||
MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
|
||||
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
|
||||
),
|
||||
|
||||
[_CLOSE] = LAYOUT(
|
||||
MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
|
||||
MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
|
||||
MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, MI_B,
|
||||
MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
|
||||
MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
|
||||
|
||||
MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
|
||||
MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
|
||||
MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
|
||||
MI_G2, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
|
||||
MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
|
||||
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
|
||||
),
|
||||
|
||||
[_QWERTY] = LAYOUT_wrapper(
|
||||
_________________NUMBER_L__________________,
|
||||
QK_GESC, KC_TAB, _________________QWERTY_L1_________________,
|
||||
KC_CAPS, _________________QWERTY_L2_________________, KC_H,
|
||||
KC_LSFT, _________________QWERTY_L3_________________, KC_N,
|
||||
KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR,
|
||||
|
||||
MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_BSPC,
|
||||
_________________QWERTY_R1_________________, KC_DEL,
|
||||
KC_PGUP, KC_G, _________________QWERTY_R2_________________, KC_ENT,
|
||||
KC_PGDN, KC_B, _________________QWERTY_R3_________________, KC_RSFT,
|
||||
KC_HOME, KC_END, KC_SPC, MIS_KAN, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
[_COLEMAK] = LAYOUT_wrapper(
|
||||
_________________NUMBER_L__________________,
|
||||
QK_GESC, KC_TAB, _________________COLEMAK_L1________________,
|
||||
KC_LCTL, _________________COLEMAK_L2________________, KC_ENT,
|
||||
KC_LSFT, _________________COLEMAK_L3________________, KC_M,
|
||||
KC_CAPS, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR,
|
||||
|
||||
MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_BSPC,
|
||||
_________________COLEMAK_R1________________, KC_DEL,
|
||||
KC_PGUP, KC_D, _________________COLEMAK_R2________________, KC_ENT,
|
||||
KC_PGDN, KC_B, _________________COLEMAK_R3________________, KC_RSFT,
|
||||
KC_HOME, KC_END, KC_SPC, MIS_KAN, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
[_MISC] = LAYOUT_wrapper(
|
||||
_________________FUNC__L___________________,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______, _______, _______, KC_F10, _______,
|
||||
KC_F6, KC_F7, KC_F8, KC_F9, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_QUOT, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_FN] = LAYOUT(
|
||||
DF_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
_______, KC_VOLD, KC_VOLU, MI_VELD, MI_VELU, _______,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD, EE_CLR, RGB_TOG
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[_OPEN] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) },
|
||||
[_CLOSE] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) },
|
||||
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_MISC] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
};
|
||||
#endif
|
||||
|
||||
void my_init(void){
|
||||
// Set octave to 0
|
||||
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
|
||||
|
||||
// avoid using 127 since it is used as a special number in some sound sources.
|
||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||
}
|
||||
|
||||
void eeconfig_init_user(void) { // EEPROM is getting reset!
|
||||
midi_init();
|
||||
my_init();
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
rgb_matrix_enable();
|
||||
rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD);
|
||||
rgb_matrix_sethsv(HSV_BLUE);
|
||||
|
||||
rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE);
|
||||
// rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
|
||||
#endif
|
||||
}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
my_init();
|
||||
|
||||
// party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs)
|
||||
rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case VERSION: // Output firmware info.
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
bool rgb_matrix_indicators_user(void) {
|
||||
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
|
||||
uint8_t layer = biton32(layer_state);
|
||||
switch (layer) {
|
||||
case _CLOSE:
|
||||
// rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy.
|
||||
|
||||
// Close state indicator
|
||||
rgb_matrix_set_color( 0, RGB_DARKWHITE); // oc
|
||||
break;
|
||||
|
||||
case _FN:
|
||||
// left hand side
|
||||
rgb_matrix_set_color( 46, RGB_DARKORANGE); // DF_OPEN
|
||||
rgb_matrix_set_color( 48, RGB_DARKWHITE); // DF_QWER
|
||||
rgb_matrix_set_color( 60, RGB_DARKWHITE); // DF_COLE
|
||||
|
||||
rgb_matrix_set_color( 73, RGB_DARKYELLOW); // AG_SWAP
|
||||
rgb_matrix_set_color( 72, RGB_DARKYELLOW); // AG_NORM
|
||||
|
||||
|
||||
// right hand side
|
||||
rgb_matrix_set_color( 1, RGB_DARKYELLOW); // MI_OCTD
|
||||
rgb_matrix_set_color(13, RGB_DARKGREEN); // MI_OCTU
|
||||
rgb_matrix_set_color(14, RGB_DARKYELLOW); // MI_VELD
|
||||
rgb_matrix_set_color(25, RGB_DARKGREEN); // MI_VELU
|
||||
|
||||
rgb_matrix_set_color( 6, RGB_DARKBLUE); // RGB_SAD
|
||||
rgb_matrix_set_color( 9, RGB_DARKBLUE); // RGB_SAI
|
||||
rgb_matrix_set_color(18, RGB_DARKBLUE); // RGB_HUD
|
||||
rgb_matrix_set_color(21, RGB_DARKBLUE); // RGB_HUI
|
||||
rgb_matrix_set_color(29, RGB_DARKBLUE); // RGB_SPD
|
||||
rgb_matrix_set_color(32, RGB_DARKBLUE); // RGB_SPI
|
||||
rgb_matrix_set_color(36, RGB_DARKBLUE); // RGB_VAD
|
||||
rgb_matrix_set_color(39, RGB_DARKBLUE); // RGB_VAI
|
||||
|
||||
rgb_matrix_set_color(31, RGB_DARKBLUE); // RGB_RMOD
|
||||
rgb_matrix_set_color(37, RGB_DARKBLUE); // RGB_MOD
|
||||
rgb_matrix_set_color(38, RGB_DARKPINK); // EE_CLR
|
||||
rgb_matrix_set_color(40, RGB_DARKRED); // RGB_TOG
|
||||
|
||||
rgb_matrix_set_color(41, RGB_DARKORANGE); // _FN
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
# The keymap with led and no TG keys on the layout for bandominedoni
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
|
||||
RGB_MATRIX_CUSTOM_KB = yes #
|
||||
|
||||
ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
/*
|
||||
Copyright 2020 2Moons
|
||||
|
||||
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 QUICK_TAP_TERM 0
|
||||
#define TAPPING_TERM 180
|
||||
//#define MASTER_RIGHT
|
||||
|
|
@ -1,195 +0,0 @@
|
|||
/* Copyright 2020 2Moons
|
||||
*
|
||||
* 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 "keymap_japanese.h"
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
//Following line allows macro to read current RGB settings
|
||||
extern rgblight_config_t rgblight_config;
|
||||
#endif
|
||||
|
||||
extern uint8_t is_master;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
enum layer_number {
|
||||
_QWERTY = 0,
|
||||
_FLOCK,
|
||||
_FN,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
RGB_RST = SAFE_RANGE
|
||||
};
|
||||
|
||||
enum tapdances{
|
||||
TD_ESFL = 0,
|
||||
TD_ESQW,
|
||||
};
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK),
|
||||
[TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY),
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_all(
|
||||
//,------------------------------------------------------------------------| |----------------------------------------------------------------.
|
||||
KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
|
||||
//`----------------------------------------------------------------| |--------------------------------------------'
|
||||
),
|
||||
|
||||
[_FLOCK] = LAYOUT_all(
|
||||
//,------------------------------------------------------------------------| |----------------------------------------------------------------.
|
||||
KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
|
||||
//`----------------------------------------------------------------| |--------------------------------------------'
|
||||
),
|
||||
|
||||
[_FN] = LAYOUT_all(
|
||||
//,------------------------------------------------------------------------| |----------------------------------------------------------------.
|
||||
KC_ESC, TG(_ADJUST), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_BSPC, KC_DEL,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, _______, _______,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______, _______,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
//`----------------------------------------------------------------| |--------------------------------------------'
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_all(
|
||||
//,------------------------------------------------------------------------| |----------------------------------------------------------------.
|
||||
KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
|
||||
//`----------------------------------------------------------------| |--------------------------------------------'
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_all(
|
||||
//,------------------------------------------------------------------------| |----------------------------------------------------------------.
|
||||
KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
|
||||
//`----------------------------------------------------------------| |--------------------------------------------'
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_all( /* Base */
|
||||
//,------------------------------------------------------------------------| |----------------------------------------------------------------.
|
||||
XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------|
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
//`----------------------------------------------------------------| |--------------------------------------------'
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
//A description for expressing the layer position in LED mode.
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
switch (get_highest_layer(state)) {
|
||||
case _FLOCK:
|
||||
rgblight_sethsv_at(HSV_YELLOW, 0);
|
||||
break;
|
||||
case _FN:
|
||||
rgblight_sethsv_at(HSV_GREEN, 0);
|
||||
break;
|
||||
case _LOWER:
|
||||
rgblight_sethsv_at(HSV_BLUE, 0);
|
||||
break;
|
||||
case _RAISE:
|
||||
rgblight_sethsv_at(HSV_RED, 0);
|
||||
break;
|
||||
case _ADJUST:
|
||||
rgblight_sethsv_at(HSV_PURPLE, 0);
|
||||
break;
|
||||
default: // for any other layers, or the default layer
|
||||
rgblight_sethsv_at( 0, 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
rgblight_set_effect_range( 1, 4);
|
||||
#endif
|
||||
return state;
|
||||
}
|
||||
|
||||
int RGB_current_mode;
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
bool result = false;
|
||||
switch (keycode) {
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
case RGB_MOD:
|
||||
if (record->event.pressed) {
|
||||
rgblight_mode(RGB_current_mode);
|
||||
rgblight_step();
|
||||
RGB_current_mode = rgblight_config.mode;
|
||||
}
|
||||
break;
|
||||
case RGB_RST:
|
||||
if (record->event.pressed) {
|
||||
eeconfig_update_rgblight_default();
|
||||
rgblight_enable();
|
||||
RGB_current_mode = rgblight_config.mode;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
TAP_DANCE_ENABLE = yes
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
/**
|
||||
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
|
||||
* Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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
|
||||
|
||||
#ifdef VIA_ENABLE
|
||||
/* Via configuration. */
|
||||
# define DYNAMIC_KEYMAP_LAYER_COUNT 8
|
||||
#endif // VIA_ENABLE
|
||||
|
||||
#ifndef __arm__
|
||||
/* Disable unused features. */
|
||||
# define NO_ACTION_ONESHOT
|
||||
#endif // __arm__
|
||||
|
||||
/**
|
||||
* Configure the global tapping term (default: 200ms).
|
||||
* If you have a lot of accidental mod activations, crank up the tapping term.
|
||||
*
|
||||
* See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
|
||||
*/
|
||||
#ifndef TAPPING_TERM
|
||||
# define TAPPING_TERM 160
|
||||
#endif // TAPPING_TERM
|
||||
|
||||
/**
|
||||
* Enable rapid switch from tap to hold. Disable auto-repeat when pressing key
|
||||
* twice, except for one-shot keys.
|
||||
*
|
||||
* See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold
|
||||
*/
|
||||
#define QUICK_TAP_TERM 0
|
||||
|
||||
/*
|
||||
* Tap-or-Hold decision modes.
|
||||
*
|
||||
* Note that the following flags behave differently when combined (ie. when 2 or
|
||||
* more are enabled).
|
||||
*
|
||||
* See bit.ly/tap-or-hold for a visual explanation of the following tap-or-hold
|
||||
* decision modes.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Faster tap-hold trigger.
|
||||
*
|
||||
* Without `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
|
||||
* Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ ae
|
||||
* With `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
|
||||
* Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ Mod+e
|
||||
*
|
||||
* See docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold
|
||||
*/
|
||||
#define PERMISSIVE_HOLD
|
||||
|
||||
/** Charybdis-specific features. */
|
||||
|
||||
#ifdef POINTING_DEVICE_ENABLE
|
||||
// Automatically enable the pointer layer when moving the trackball. See also:
|
||||
// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS`
|
||||
// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
|
||||
// #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
|
||||
|
||||
// Flip horizontal direction for drag-scroll.
|
||||
# define CHARYBDIS_DRAGSCROLL_REVERSE_X
|
||||
// #define CHARYBDIS_DRAGSCROLL_REVERSE_Y
|
||||
#endif // POINTING_DEVICE_ENABLE
|
||||
|
||||
/** RGB Matrix. */
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# ifdef __arm__
|
||||
// Enable all animations on ARM boards since they have plenty of memory
|
||||
// available for it.
|
||||
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
# define ENABLE_RGB_MATRIX_BREATHING
|
||||
# define ENABLE_RGB_MATRIX_BAND_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_VAL
|
||||
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
# define ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
# define ENABLE_RGB_MATRIX_RAINDROPS
|
||||
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
# define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||
# define ENABLE_RGB_MATRIX_HUE_WAVE
|
||||
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
# define ENABLE_RGB_MATRIX_SPLASH
|
||||
# define ENABLE_RGB_MATRIX_MULTISPLASH
|
||||
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
# else
|
||||
// Disable control of RGB matrix by keycodes (must use firmware implementation
|
||||
// to control the feature).
|
||||
# define RGB_MATRIX_DISABLE_KEYCODES
|
||||
# endif
|
||||
|
||||
// Limit maximum brightness to keep power consumption reasonable, and avoid
|
||||
// disconnects.
|
||||
# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
|
||||
|
||||
// Rainbow swirl as startup mode.
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
|
||||
// Slow swirl at startup.
|
||||
# undef RGB_MATRIX_DEFAULT_SPD
|
||||
# define RGB_MATRIX_DEFAULT_SPD 32
|
||||
|
||||
// Startup values.
|
||||
# undef RGB_MATRIX_DEFAULT_HUE
|
||||
# define RGB_MATRIX_DEFAULT_HUE 0
|
||||
# undef RGB_MATRIX_DEFAULT_SAT
|
||||
# define RGB_MATRIX_DEFAULT_SAT 255
|
||||
# undef RGB_MATRIX_DEFAULT_VAL
|
||||
# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
|
||||
#endif // RGB_MATRIX_ENABLE
|
||||
|
|
@ -1,212 +0,0 @@
|
|||
/**
|
||||
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
|
||||
* Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* 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 charybdis_keymap_bstiq_layers {
|
||||
LAYER_BASE = 0,
|
||||
LAYER_MBO,
|
||||
LAYER_MEDIA,
|
||||
LAYER_NAV,
|
||||
LAYER_MOUSE,
|
||||
LAYER_SYM,
|
||||
LAYER_NUM,
|
||||
LAYER_FUN,
|
||||
};
|
||||
|
||||
// Automatically enable sniping when the mouse layer is on.
|
||||
#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_MOUSE
|
||||
|
||||
#define BSP_NAV LT(LAYER_NAV, KC_BSPC)
|
||||
#define ENT_MBO LT(LAYER_MBO, KC_ENT)
|
||||
#define TAB_MED LT(LAYER_MEDIA, KC_TAB)
|
||||
#define ESC_SYM LT(LAYER_SYM, KC_ESC)
|
||||
#define SPC_NUM LT(LAYER_NUM, KC_SPC)
|
||||
#define MOUSE(KC) LT(LAYER_MOUSE, KC)
|
||||
|
||||
#define USR_RDO KC_AGAIN
|
||||
#define USR_PST S(KC_INS)
|
||||
#define USR_CPY C(KC_INS)
|
||||
#define USR_CUT S(KC_DEL)
|
||||
#define USR_UND KC_UNDO
|
||||
|
||||
#define MS_L KC_MS_LEFT
|
||||
#define MS_R KC_MS_RIGHT
|
||||
#define MS_D KC_MS_DOWN
|
||||
#define MS_U KC_MS_UP
|
||||
|
||||
#define WH_L KC_MS_WH_LEFT
|
||||
#define WH_R KC_MS_WH_RIGHT
|
||||
#define WH_D KC_MS_WH_DOWN
|
||||
#define WH_U KC_MS_WH_UP
|
||||
|
||||
// clang-format off
|
||||
/** Convenience macro. */
|
||||
#define _KC_LAYOUT_wrapper( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
|
||||
...) \
|
||||
KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, \
|
||||
KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, \
|
||||
KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, \
|
||||
__VA_ARGS__
|
||||
#define KC_LAYOUT_wrapper(...) _KC_LAYOUT_wrapper(__VA_ARGS__)
|
||||
|
||||
/** Base layer with BÉPO layout. */
|
||||
#define LAYOUT_LAYER_BASE_BEPO KC_LAYOUT_wrapper( \
|
||||
B, Z, P, O, QUOT, DOT, V, D, L, J, \
|
||||
A, U, I, E, COMM, C, T, S, R, N, \
|
||||
W, Y, X, SLSH, K, M, Q, G, H, F, \
|
||||
BSP_NAV, ENT_MBO, TAB_MED, ESC_SYM, SPC_NUM)
|
||||
|
||||
/** Convenience key shorthands. */
|
||||
#define U_NA KC_NO // Present but not available for use.
|
||||
#define U_NU KC_NO // Available but not used.
|
||||
|
||||
/** Convenience row shorthands. */
|
||||
#define __________________RESET_L__________________ QK_BOOT, U_NA, U_NA, U_NA, U_NA
|
||||
#define __________________RESET_R__________________ U_NA, U_NA, U_NA, U_NA, QK_BOOT
|
||||
#define ______________HOME_ROW_GASC_L______________ KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, U_NA
|
||||
#define ______________HOME_ROW_ALGR_L______________ U_NA, KC_ALGR, U_NA, U_NA, U_NA
|
||||
#define ______________HOME_ROW_GASC_R______________ U_NA, KC_LCTL, KC_LSFT, KC_LALT, KC_LGUI
|
||||
#define ______________HOME_ROW_ALGR_R______________ U_NA, U_NA, U_NA, KC_ALGR, U_NA
|
||||
|
||||
/** Layers. */
|
||||
|
||||
// Buttons.
|
||||
#define LAYOUT_LAYER_MBO \
|
||||
__________________RESET_L__________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \
|
||||
______________HOME_ROW_GASC_L______________, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
|
||||
KC_BTN3, KC_ALGR, KC_BTN2, KC_BTN1, U_NA, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \
|
||||
U_NA, U_NA, U_NA, KC_ENT, KC_DEL
|
||||
|
||||
// Media.
|
||||
#define LAYOUT_LAYER_MEDIA \
|
||||
__________________RESET_L__________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \
|
||||
______________HOME_ROW_GASC_L______________, U_NU, MS_L, MS_D, MS_U, MS_R, \
|
||||
______________HOME_ROW_ALGR_L______________, U_NU, WH_L, WH_D, WH_U, WH_R, \
|
||||
U_NA, U_NA, U_NA, KC_BTN1, KC_BTN3
|
||||
|
||||
// Navigation.
|
||||
#define LAYOUT_LAYER_NAV \
|
||||
__________________RESET_L__________________, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \
|
||||
______________HOME_ROW_GASC_L______________, U_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \
|
||||
______________HOME_ROW_ALGR_L______________, U_NU, U_NU, U_NU, U_NU, U_NU, \
|
||||
U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY
|
||||
|
||||
// Mouse.
|
||||
#define LAYOUT_LAYER_MOUSE \
|
||||
S_D_MOD, USR_PST, USR_CPY, USR_CUT, USR_UND, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \
|
||||
DPI_MOD, DRGSCRL, KC_LSFT, KC_LCTL, _______, U_NU, MS_L, MS_D, MS_U, MS_R, \
|
||||
USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, U_NU, WH_L, WH_D, WH_U, WH_R, \
|
||||
KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN1, KC_BTN3
|
||||
|
||||
// Symbols.
|
||||
#define LAYOUT_LAYER_SYM \
|
||||
KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, __________________RESET_R__________________, \
|
||||
KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, ______________HOME_ROW_GASC_R______________, \
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, ______________HOME_ROW_ALGR_R______________, \
|
||||
KC_LPRN, KC_RPRN, KC_UNDS, U_NA, U_NA
|
||||
|
||||
// Numerals.
|
||||
#define LAYOUT_LAYER_NUM \
|
||||
KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, __________________RESET_R__________________, \
|
||||
KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, ______________HOME_ROW_GASC_R______________, \
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, ______________HOME_ROW_ALGR_R______________, \
|
||||
KC_DOT, KC_0, KC_MINS, U_NA, U_NA
|
||||
|
||||
// Function keys.
|
||||
#define LAYOUT_LAYER_FUN \
|
||||
KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, __________________RESET_R__________________, \
|
||||
KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, ______________HOME_ROW_GASC_R______________, \
|
||||
KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, ______________HOME_ROW_ALGR_R______________,\
|
||||
KC_APP, KC_SPC, KC_TAB, U_NA, U_NA
|
||||
|
||||
/**
|
||||
* Add Home Row mod to a layout.
|
||||
*
|
||||
* Expects a 10-key per row layout. Adds support for GASC (Gui, Alt, Shift, Ctl)
|
||||
* home row. The layout passed in parameter must contain at least 20 keycodes.
|
||||
*
|
||||
* This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.:
|
||||
*
|
||||
* HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO)
|
||||
*/
|
||||
#define _HOME_ROW_MOD_GASC( \
|
||||
L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \
|
||||
L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \
|
||||
...) \
|
||||
L00, L01, L02, L03, L04, \
|
||||
R05, R06, R07, R08, R09, \
|
||||
LGUI_T(L10), LALT_T(L11), LSFT_T(L12), LCTL_T(L13), L14, \
|
||||
R15, RCTL_T(R16), RSFT_T(R17), LALT_T(R18), RGUI_T(R19), \
|
||||
__VA_ARGS__
|
||||
#define HOME_ROW_MOD_GASC(...) _HOME_ROW_MOD_GASC(__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* Add mouse layer keys to a layout.
|
||||
*
|
||||
* Expects a 10-key per row layout. The layout passed in parameter must contain
|
||||
* at least 30 keycodes.
|
||||
*
|
||||
* This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.:
|
||||
*
|
||||
* MOUSE_MOD(LAYOUT_LAYER_BASE_BEPO)
|
||||
*/
|
||||
#define _MOUSE_MOD( \
|
||||
L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \
|
||||
L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \
|
||||
L20, L21, L22, L23, L24, R25, R26, R27, R28, R29, \
|
||||
...) \
|
||||
L00, L01, L02, L03, L04, \
|
||||
R05, R06, R07, R08, R09, \
|
||||
L10, L11, L12, L13, L14, \
|
||||
R15, R16, R17, R18, R19, \
|
||||
MOUSE(L20), L21, L22, L23, L24, \
|
||||
R25, R26, R27, R28, MOUSE(R29), \
|
||||
__VA_ARGS__
|
||||
#define MOUSE_MOD(...) _MOUSE_MOD(__VA_ARGS__)
|
||||
|
||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[LAYER_BASE] = LAYOUT_wrapper(
|
||||
MOUSE_MOD(HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO))
|
||||
),
|
||||
[LAYER_MBO] = LAYOUT_wrapper(LAYOUT_LAYER_MBO),
|
||||
[LAYER_MEDIA] = LAYOUT_wrapper(LAYOUT_LAYER_MEDIA),
|
||||
[LAYER_NAV] = LAYOUT_wrapper(LAYOUT_LAYER_NAV),
|
||||
[LAYER_MOUSE] = LAYOUT_wrapper(LAYOUT_LAYER_MOUSE),
|
||||
[LAYER_SYM] = LAYOUT_wrapper(LAYOUT_LAYER_SYM),
|
||||
[LAYER_NUM] = LAYOUT_wrapper(LAYOUT_LAYER_NUM),
|
||||
[LAYER_FUN] = LAYOUT_wrapper(LAYOUT_LAYER_FUN),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
#if defined(POINTING_DEVICE_ENABLE) && defined(CHARYBDIS_AUTO_SNIPING_ON_LAYER)
|
||||
layer_state_t layer_state_set_kb(layer_state_t state) {
|
||||
state = layer_state_set_user(state);
|
||||
charybdis_set_pointer_sniping_enabled(layer_state_cmp(state, CHARYBDIS_AUTO_SNIPING_ON_LAYER));
|
||||
return state;
|
||||
}
|
||||
#endif // POINTING_DEVICE_ENABLE && CHARYBDIS_AUTO_SNIPING_ON_LAYER
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
// Forward-declare this helper function since it is defined in rgb_matrix.c.
|
||||
void rgb_matrix_update_pwm_buffers(void);
|
||||
#endif
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue