Skip to content

Instantly share code, notes, and snippets.

@lexffe
Last active March 26, 2023 00:47
Show Gist options
  • Save lexffe/1a8ff20421022363c8a59092e39189b0 to your computer and use it in GitHub Desktop.
Save lexffe/1a8ff20421022363c8a59092e39189b0 to your computer and use it in GitHub Desktop.
Aurora sweep keymap
/* Copyright 2022 splitkb.com <support@splitkb.com>
*
* 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
// Not yet available in `keymap.json` format
// #ifdef RGB_MATRIX_ENABLE
// # define RGB_DISABLE_WHEN_USB_SUSPENDED
// # define RGB_MATRIX_KEYPRESSES
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
// #endif
// Not yet available in `keymap.json` format
// #ifdef MOUSEKEY_ENABLE
// The default is 100
// # define MOUSEKEY_WHEEL_INTERVAL 50
// // The default is 40
// # define MOUSEKEY_WHEEL_TIME_TO_MAX 100
// #endif
#define TAPPING_TERM 200
#undef RGB_DI_PIN
#define RGB_DI_PIN 25
// #undef RGBLED_NUM
// #define RGBLED_NUM 1
// #define SPLIT_LED_STATE_ENABLE
#undef RGBLIGHT_LIMIT_VAL
#define RGBLIGHT_LIMIT_VAL 128
#define SPLIT_LAYER_STATE_ENABLE
#define TAPPING_TOGGLE 2
#include QMK_KEYBOARD_H
/* THIS FILE WAS GENERATED!
*
* This file was generated by qmk json2c. You may or may not want to
* edit it directly.
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_split_3x5_2(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, LT(5,KC_G), LT(4,KC_H), KC_J, KC_K, KC_L, KC_SCLN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TT(1), KC_BSPC, KC_SPC, KC_ENT),
[1] = LAYOUT_split_3x5_2(KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESC, KC_GRV, KC_BSLS, KC_NO, KC_DEL, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, LGUI(KC_SPC), KC_NO, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT, TG(0), KC_TRNS, MO(3), MO(2)),
[2] = LAYOUT_split_3x5_2(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, KC_MUTE, KC_MPLY, KC_VOLD, KC_MRWD, KC_MFFD, KC_VOLU, KC_MPLY, KC_MUTE, KC_NO, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_F11, KC_F12, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT, KC_NO, KC_NO, KC_NO, KC_NO),
[3] = LAYOUT_split_3x5_2(KC_NO, KC_NO, RCS(KC_MINS), RCS(KC_EQL), KC_HOME, KC_PGUP, LCTL(KC_LEFT), LCTL(KC_UP), LCTL(KC_DOWN), LCTL(KC_RGHT), RCS(KC_T), KC_NO, RCS(KC_LBRC), RCS(KC_RBRC), KC_END, KC_PGDN, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, LCA(KC_T), KC_NO, RCS(KC_O), RCS(KC_P), KC_NO, KC_NO, RCS(KC_H), RCS(KC_J), RCS(KC_K), RCS(KC_L), KC_NO, KC_NO, KC_NO, KC_NO),
[4] = LAYOUT_split_3x5_2(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_TAB, KC_BSPC, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_NO, KC_RALT, KC_RCTL, KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_ESC, KC_NO, KC_NO, KC_ENT, KC_SPC, KC_LGUI, KC_NO),
[5] = LAYOUT_split_3x5_2(KC_BSPC, KC_BSPC, KC_TAB, KC_NO, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LSFT, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_NO, KC_NO, KC_ESC, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RGUI, KC_SPC, KC_ENT),
[6] = LAYOUT_split_3x5_2(KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_NO, KC_TILD, KC_PIPE, KC_NO, KC_NO, KC_DQUO, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LT, KC_GT, KC_NO, KC_LCBR, KC_RCBR, TG(0), TG(1), KC_NO, KC_NO)
};
#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
};
#endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
void keyboard_pre_init_user(void) {
// Set our LED pin as output
setPinOutput(24);
// Turn the LED off
// (Due to technical reasons, high is off and low is on)
writePinHigh(24);
}
void keyboard_post_init_user(void) {
// Initialize RGB to static black
rgblight_enable_noeeprom();
rgblight_sethsv_noeeprom(HSV_BLACK);
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
}
void housekeeping_task_user(void) {
switch (get_highest_layer(layer_state | default_layer_state)) {
case 0:
// Default layer
rgblight_sethsv_at(HSV_OFF, 0);
rgblight_sethsv_at(HSV_OFF, 1);
break;
case 1:
rgblight_sethsv_at(HSV_CYAN, 0);
rgblight_sethsv_at(HSV_CYAN, 1);
break;
case 2:
rgblight_sethsv_at(HSV_GREEN, 0);
rgblight_sethsv_at(HSV_GREEN, 1);
break;
case 3:
rgblight_sethsv_at(HSV_CORAL, 0);
rgblight_sethsv_at(HSV_CORAL, 1);
break;
case 4:
case 5:
rgblight_sethsv_at(HSV_GOLD, 0);
rgblight_sethsv_at(HSV_GOLD, 1);
break;
case 6:
rgblight_sethsv_at(HSV_TURQUOISE, 0);
rgblight_sethsv_at(HSV_TURQUOISE, 1);
break;
}
}
{
"version": 1,
"notes": "My awesome keymap",
"documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
"keyboard": "splitkb/aurora/sweep/rev1",
"keymap": "lexffe",
"layout": "LAYOUT_split_3x5_2",
"layers": [
[
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"LT(5,KC_G)",
"LT(4,KC_H)",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_N",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"TT(1)",
"KC_BSPC",
"KC_SPC",
"KC_ENT"
],
[
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_6",
"KC_7",
"KC_8",
"KC_9",
"KC_0",
"KC_ESC",
"KC_GRV",
"KC_BSLS",
"KC_NO",
"KC_DEL",
"KC_QUOT",
"KC_MINS",
"KC_EQL",
"KC_LBRC",
"KC_RBRC",
"KC_LSFT",
"KC_LCTL",
"KC_LALT",
"KC_LGUI",
"LGUI(KC_SPC)",
"KC_NO",
"KC_RGUI",
"KC_RALT",
"KC_RCTL",
"KC_RSFT",
"TG(0)",
"KC_TRNS",
"MO(3)",
"MO(2)"
],
[
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_NO",
"KC_MUTE",
"KC_MPLY",
"KC_VOLD",
"KC_MRWD",
"KC_MFFD",
"KC_VOLU",
"KC_MPLY",
"KC_MUTE",
"KC_NO",
"KC_LSFT",
"KC_LCTL",
"KC_LALT",
"KC_LGUI",
"KC_F11",
"KC_F12",
"KC_RGUI",
"KC_RALT",
"KC_RCTL",
"KC_RSFT",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_NO"
],
[
"KC_NO",
"KC_NO",
"RCS(KC_MINS)",
"RCS(KC_EQL)",
"KC_HOME",
"KC_PGUP",
"LCTL(KC_LEFT)",
"LCTL(KC_UP)",
"LCTL(KC_DOWN)",
"LCTL(KC_RGHT)",
"RCS(KC_T)",
"KC_NO",
"RCS(KC_LBRC)",
"RCS(KC_RBRC)",
"KC_END",
"KC_PGDN",
"KC_LEFT",
"KC_UP",
"KC_DOWN",
"KC_RGHT",
"LCA(KC_T)",
"KC_NO",
"RCS(KC_O)",
"RCS(KC_P)",
"KC_NO",
"KC_NO",
"RCS(KC_H)",
"RCS(KC_J)",
"RCS(KC_K)",
"RCS(KC_L)",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_NO"
],
[
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_NO",
"KC_NO",
"KC_TAB",
"KC_BSPC",
"KC_BSPC",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_NO",
"KC_NO",
"KC_RALT",
"KC_RCTL",
"KC_RSFT",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_NO",
"KC_NO",
"KC_ESC",
"KC_NO",
"KC_NO",
"KC_ENT",
"KC_SPC",
"KC_LGUI",
"KC_NO"
],
[
"KC_BSPC",
"KC_BSPC",
"KC_TAB",
"KC_NO",
"KC_NO",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_LSFT",
"KC_LCTL",
"KC_LALT",
"KC_NO",
"KC_NO",
"KC_H",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_NO",
"KC_NO",
"KC_ESC",
"KC_NO",
"KC_NO",
"KC_N",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_NO",
"KC_RGUI",
"KC_SPC",
"KC_ENT"
],
[
"KC_EXLM",
"KC_AT",
"KC_HASH",
"KC_DLR",
"KC_PERC",
"KC_CIRC",
"KC_AMPR",
"KC_ASTR",
"KC_LPRN",
"KC_RPRN",
"KC_NO",
"KC_TILD",
"KC_PIPE",
"KC_NO",
"KC_NO",
"KC_DQUO",
"KC_UNDS",
"KC_PLUS",
"KC_LBRC",
"KC_RBRC",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_LT",
"KC_GT",
"KC_NO",
"KC_LCBR",
"KC_RCBR",
"TG(0)",
"TG(1)",
"KC_NO",
"KC_NO"
]
],
"author": "Anonymous"
}
# Copyright 2022 splitkb.com <support@splitkb.com>
#
# 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_FOLDER = splitkb/aurora/sweep/rev1
RGBLIGHT_ENABLE = yes # Enables QMK's RGB code
WS2812_DRIVER = vendor # Use the RP2040's PIO interface
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment