From a8df5fd3031e97a43c1577e31af6c066bf66b712 Mon Sep 17 00:00:00 2001 From: leah-splitkb <103112489+leah-splitkb@users.noreply.github.com> Date: Thu, 13 Oct 2022 05:06:18 +0200 Subject: [Keyboard] Add splitkb.com's Aurora Sweep (#18691) --- .../splitkb/aurora/sweep/keymaps/debug/config.h | 21 ++++++ .../splitkb/aurora/sweep/keymaps/debug/keymap.c | 77 ++++++++++++++++++++++ .../splitkb/aurora/sweep/keymaps/debug/readme.md | 25 +++++++ .../splitkb/aurora/sweep/keymaps/debug/rules.mk | 18 +++++ 4 files changed, 141 insertions(+) create mode 100644 keyboards/splitkb/aurora/sweep/keymaps/debug/config.h create mode 100644 keyboards/splitkb/aurora/sweep/keymaps/debug/keymap.c create mode 100644 keyboards/splitkb/aurora/sweep/keymaps/debug/readme.md create mode 100644 keyboards/splitkb/aurora/sweep/keymaps/debug/rules.mk (limited to 'keyboards/splitkb/aurora/sweep/keymaps/debug') diff --git a/keyboards/splitkb/aurora/sweep/keymaps/debug/config.h b/keyboards/splitkb/aurora/sweep/keymaps/debug/config.h new file mode 100644 index 0000000000..9e639dbc35 --- /dev/null +++ b/keyboards/splitkb/aurora/sweep/keymaps/debug/config.h @@ -0,0 +1,21 @@ +/* Copyright 2022 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 . + */ + +#pragma once + +#ifdef RGBLIGHT_ENABLE +# define RGBLIGHT_EFFECT_BREATHING +#endif diff --git a/keyboards/splitkb/aurora/sweep/keymaps/debug/keymap.c b/keyboards/splitkb/aurora/sweep/keymaps/debug/keymap.c new file mode 100644 index 0000000000..5bdc5f2b42 --- /dev/null +++ b/keyboards/splitkb/aurora/sweep/keymaps/debug/keymap.c @@ -0,0 +1,77 @@ +/* Copyright 2022 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 . + */ + +#include QMK_KEYBOARD_H + +enum layers { + _DEFAULT = 0, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DEFAULT] = LAYOUT( + KC_A, KC_B, KC_C, KC_D, KC_E, S(KC_E), S(KC_D), S(KC_C), S(KC_B), S(KC_A), + KC_F, KC_G, KC_H, KC_I, KC_J, S(KC_J), S(KC_I), S(KC_H), S(KC_G), S(KC_F), + KC_K, KC_L, KC_M, KC_N, KC_O, S(KC_O), S(KC_N), S(KC_M), S(KC_L), S(KC_K), + KC_P, KC_Q, S(KC_Q), S(KC_P) + ) +}; + +#ifdef RGBLIGHT_ENABLE +void keyboard_post_init_user(void) { + rgblight_enable_noeeprom(); // enables RGB, without saving settings + rgblight_sethsv_noeeprom(HSV_RED); // sets the color to red without saving + rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); // sets mode to Fast breathing without saving +} +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + // 0 and 1 are left-half encoders + // 2 and 3 are right-half encoders + if (index == 0) { + tap_code(KC_0); + } else if (index == 1) { + tap_code(KC_1); + } else if (index == 2) { + tap_code(KC_2); + } else if (index == 3) { + tap_code(KC_3); + } + + if (clockwise) { + tap_code16(KC_PLUS); + } else { + tap_code(KC_MINUS); + } + + return false; +} +#endif + +#ifdef OLED_ENABLE +bool oled_task_user(void) { + // A 128x32 OLED rotated 90 degrees is 5 characters wide and 16 characters tall + // This example string should fill that neatly + const char *text = PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789!@#$%^&*()[]{}-=_+?"); + + if (is_keyboard_master()) { + oled_write_P(text, false); + } else { + oled_write_P(text, false); + } + return false; +} +#endif diff --git a/keyboards/splitkb/aurora/sweep/keymaps/debug/readme.md b/keyboards/splitkb/aurora/sweep/keymaps/debug/readme.md new file mode 100644 index 0000000000..6d4d5aaff6 --- /dev/null +++ b/keyboards/splitkb/aurora/sweep/keymaps/debug/readme.md @@ -0,0 +1,25 @@ +# Aurora Sweep's Debug Keymap + +Due to the complex layer setup, the default keymap for the Aurora Sweep is relatively hard to debug. +This debug keymap should make that a lot easier. + +## Keys + +![Keys](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sweep/keymaps/debug/keys.png) + +The left side uses lowercase letters, the right side uses uppercase ones. + +## Encoders + +Encoders output a number of 0 to 3, depending on the installed position. +These correspond to the index used for custom encoder code. + +The number is followed by either a `+` or a `-`, depending on the direction turned. + +## LEDs + +Both underglow and per-key RGB should be fading between red and off. + +## OLEDs + +Both the primary and secondary side should be filled with characters. diff --git a/keyboards/splitkb/aurora/sweep/keymaps/debug/rules.mk b/keyboards/splitkb/aurora/sweep/keymaps/debug/rules.mk new file mode 100644 index 0000000000..066675cb48 --- /dev/null +++ b/keyboards/splitkb/aurora/sweep/keymaps/debug/rules.mk @@ -0,0 +1,18 @@ +# Copyright 2022 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 . + +ENCODER_ENABLE = yes +OLED_ENABLE = yes +RGBLIGHT_ENABLE = yes -- cgit v1.2.3