Last active
September 11, 2021 23:33
-
-
Save ehrenmurdick/00774144838edaa1c9be070a1cd7b218 to your computer and use it in GitHub Desktop.
Let's split config with rgb underglow
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* keyboards/lets_split/config.h */ | |
/* | |
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 | |
#include "config_common.h" | |
#define RGBLIGHT_ANIMATIONS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# keyboards/lets_split/keymaps/default/keymap.c | |
#include QMK_KEYBOARD_H | |
// 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. | |
#define _QWERTY 0 | |
#define _COLEMAK 1 | |
#define _DVORAK 2 | |
#define _LOWER 3 | |
#define _RAISE 4 | |
#define _ADJUST 16 | |
enum custom_keycodes { | |
QWERTY = SAFE_RANGE, | |
COLEMAK, | |
DVORAK | |
}; | |
#define LOWER MO(_LOWER) | |
#define RAISE MO(_RAISE) | |
#define ADJUST MO(_ADJUST) | |
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
/* Qwerty | |
* ,-----------------------------------------------------------------------------------. | |
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | | |
* |------+------+------+------+------+-------------+------+------+------+------+------| | |
* | Esc | A | S | D | F | G | H | J | K | L | ; | " | | |
* |------+------+------+------+------+------|------+------+------+------+------+------| | |
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | |
* |------+------+------+------+------+------+------+------+------+------+------+------| | |
* |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | |
* `-----------------------------------------------------------------------------------' | |
*/ | |
[_QWERTY] = LAYOUT_ortho_4x12( | |
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, KC_S, KC_D, KC_F, KC_G, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \ | |
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ | |
), | |
/* Colemak | |
* ,-----------------------------------------------------------------------------------. | |
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | | |
* |------+------+------+------+------+-------------+------+------+------+------+------| | |
* | Esc | A | R | S | T | D | H | N | E | I | O | ' | | |
* |------+------+------+------+------+------|------+------+------+------+------+------| | |
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | | |
* |------+------+------+------+------+------+------+------+------+------+------+------| | |
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | | |
* `-----------------------------------------------------------------------------------' | |
*/ | |
[_COLEMAK] = LAYOUT_ortho_4x12( \ | |
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \ | |
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ | |
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \ | |
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ | |
), | |
/* Dvorak | |
* ,-----------------------------------------------------------------------------------. | |
* | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp | | |
* |------+------+------+------+------+-------------+------+------+------+------+------| | |
* | Esc | A | O | E | U | I | D | H | T | N | S | / | | |
* |------+------+------+------+------+------|------+------+------+------+------+------| | |
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | | |
* |------+------+------+------+------+------+------+------+------+------+------+------| | |
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | | |
* `-----------------------------------------------------------------------------------' | |
*/ | |
[_DVORAK] = LAYOUT_ortho_4x12( \ | |
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, \ | |
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \ | |
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , \ | |
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ | |
), | |
/* Lower | |
* ,-----------------------------------------------------------------------------------. | |
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | | |
* |------+------+------+------+------+-------------+------+------+------+------+------| | |
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | |
* |------+------+------+------+------+------|------+------+------+------+------+------| | |
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------| | |
* | | | | | | | | Next | Vol- | Vol+ | Play | | |
* `-----------------------------------------------------------------------------------' | |
*/ | |
[_LOWER] = LAYOUT_ortho_4x12( \ | |
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \ | |
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ | |
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \ | |
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ | |
), | |
/* Raise | |
* ,-----------------------------------------------------------------------------------. | |
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | | |
* |------+------+------+------+------+-------------+------+------+------+------+------| | |
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | |
* |------+------+------+------+------+------|------+------+------+------+------+------| | |
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------| | |
* | | | | | | | | Next | Vol- | Vol+ | Play | | |
* `-----------------------------------------------------------------------------------' | |
*/ | |
[_RAISE] = LAYOUT_ortho_4x12( \ | |
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \ | |
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \ | |
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, \ | |
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ | |
), | |
/* Adjust (Lower + Raise) | |
* ,---------------------------------------------------------------------------------------. | |
* | | Reset | | | | | | | | | | Del | | |
* |------+-------+-------+--------+------+-------------+------+------+------+------+------| | |
* | | | |Aud on |Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | | |
* |------+-------+-------+--------+------+------|------+------+------+------+------+------| | |
* | |RGB tgl|RGB hue|RGB mode| | | | | | | | | | |
* |------+-------+-------+--------+------+------+------+------+------+------+------+------| | |
* | | | | | | | | | | | | | |
* `---------------------------------------------------------------------------------------' | |
*/ | |
[_ADJUST] = LAYOUT_ortho_4x12( \ | |
_______, RESET , _______, _______ , _______ , _______ , _______, _______, _______, _______, _______, KC_DEL , \ | |
_______, _______, _______, AU_ON , AU_OFF , AG_NORM, AG_SWAP, QWERTY , COLEMAK, DVORAK, _______, _______, \ | |
_______, RGB_TOG, RGB_HUI, RGB_MOD , _______ , _______ , _______, _______, _______, _______, _______, _______, \ | |
_______, _______, _______, _______ , _______ , _______ , _______, _______, _______, _______, _______, _______ \ | |
) | |
}; | |
layer_state_t layer_state_set_user(layer_state_t state) { | |
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); | |
} | |
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |
switch (keycode) { | |
case QWERTY: | |
if (record->event.pressed) { | |
set_single_persistent_default_layer(_QWERTY); | |
} | |
return false; | |
case COLEMAK: | |
if (record->event.pressed) { | |
set_single_persistent_default_layer(_COLEMAK); | |
} | |
return false; | |
case DVORAK: | |
if (record->event.pressed) { | |
set_single_persistent_default_layer(_DVORAK); | |
} | |
return false; | |
} | |
return true; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# keyboards/lets_split/rules.mk | |
# MCU name | |
MCU = atmega32u4 | |
# Bootloader selection | |
# Teensy halfkay | |
# Pro Micro caterina | |
# Atmel DFU atmel-dfu | |
# LUFA DFU lufa-dfu | |
# QMK DFU qmk-dfu | |
# ATmega32A bootloadHID | |
# ATmega328P USBasp | |
BOOTLOADER = atmel-dfu | |
# Build Options | |
# change to "no" to disable the options, or define them in the Makefile in | |
# the appropriate keymap folder that will get included automatically | |
# | |
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | |
MOUSEKEY_ENABLE = yes # Mouse keys | |
EXTRAKEY_ENABLE = yes # Audio control and System control | |
CONSOLE_ENABLE = no # Console for debug | |
COMMAND_ENABLE = yes # Commands for debug and configuration | |
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |
AUDIO_ENABLE = no # Audio output on port C6 | |
UNICODE_ENABLE = no # Unicode | |
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | |
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. | |
RGB_DI_PIN = 1 | |
RGBLED_NUM = 8 | |
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |
SPLIT_KEYBOARD = yes | |
LAYOUTS = ortho_4x12 | |
DEFAULT_FOLDER = lets_split/rev2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment