From 7276bb70eaa888691d5c5ac5b83d67d97d1c130c Mon Sep 17 00:00:00 2001 From: TweetyDaBird Date: Tue, 28 Mar 2023 20:06:18 +0200 Subject: [PATCH 01/17] Added Keyboard Lotus58Glow --- .../tweetydabird/lotus58/atmel-dfu/config.h | 28 +++ .../tweetydabird/lotus58/atmel-dfu/info.json | 184 ++++++++++++++++++ .../atmel-dfu/keymaps/default/keymap.c | 137 +++++++++++++ .../tweetydabird/lotus58/atmel-dfu/lotus58.c | 59 ++++++ .../tweetydabird/lotus58/atmel-dfu/readme.md | 36 ++++ .../tweetydabird/lotus58/atmel-dfu/rules.mk | 1 + .../tweetydabird/lotus58/caterina/config.h | 28 +++ .../tweetydabird/lotus58/caterina/info.json | 184 ++++++++++++++++++ .../lotus58/caterina/keymaps/default/keymap.c | 137 +++++++++++++ .../tweetydabird/lotus58/caterina/lotus58.c | 59 ++++++ .../tweetydabird/lotus58/caterina/readme.md | 36 ++++ .../tweetydabird/lotus58/caterina/rules.mk | 1 + .../tweetydabird/lotus58/nanoboot/config.h | 28 +++ .../tweetydabird/lotus58/nanoboot/info.json | 184 ++++++++++++++++++ .../lotus58/nanoboot/keymaps/default/keymap.c | 137 +++++++++++++ .../tweetydabird/lotus58/nanoboot/lotus58.c | 59 ++++++ .../tweetydabird/lotus58/nanoboot/readme.md | 36 ++++ .../tweetydabird/lotus58/nanoboot/rules.mk | 2 + 18 files changed, 1336 insertions(+) create mode 100644 keyboards/tweetydabird/lotus58/atmel-dfu/config.h create mode 100644 keyboards/tweetydabird/lotus58/atmel-dfu/info.json create mode 100644 keyboards/tweetydabird/lotus58/atmel-dfu/keymaps/default/keymap.c create mode 100644 keyboards/tweetydabird/lotus58/atmel-dfu/lotus58.c create mode 100644 keyboards/tweetydabird/lotus58/atmel-dfu/readme.md create mode 100644 keyboards/tweetydabird/lotus58/atmel-dfu/rules.mk create mode 100644 keyboards/tweetydabird/lotus58/caterina/config.h create mode 100644 keyboards/tweetydabird/lotus58/caterina/info.json create mode 100644 keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c create mode 100644 keyboards/tweetydabird/lotus58/caterina/lotus58.c create mode 100644 keyboards/tweetydabird/lotus58/caterina/readme.md create mode 100644 keyboards/tweetydabird/lotus58/caterina/rules.mk create mode 100644 keyboards/tweetydabird/lotus58/nanoboot/config.h create mode 100644 keyboards/tweetydabird/lotus58/nanoboot/info.json create mode 100644 keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c create mode 100644 keyboards/tweetydabird/lotus58/nanoboot/lotus58.c create mode 100644 keyboards/tweetydabird/lotus58/nanoboot/readme.md create mode 100644 keyboards/tweetydabird/lotus58/nanoboot/rules.mk diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/config.h b/keyboards/tweetydabird/lotus58/atmel-dfu/config.h new file mode 100644 index 000000000000..43e3879b8ec1 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/atmel-dfu/config.h @@ -0,0 +1,28 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once +/*#include "config_common.h" + +// Not working correct in json implementation +#define SPLIT_USB_DETECT +#define SPLIT_USB_TIMEOUT 2000 +#define SPLIT_USB_TIMEOUT_POLL 10 + +// Not yet supported in json + +// Bootmagic Lite key configuration +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 +#define BOOTMAGIC_LITE_ROW_RIGHT 5 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 0 +*/ +// RGB options not yet fully implemented in info.json +#define RGBLIGHT_LIMIT_VAL 175 +#define RGBLIGHT_DEFAULT_VAL ( RGBLIGHT_LIMIT_VAL / 2 ) +#define RGBLIGHT_SLEEP + +#define SPLIT_HAND_PIN B5 +#define SPLIT_LAYER_STATE_ENABLE +#define SPLIT_LED_STATE_ENABLE +#define SPLIT_OLED_ENABLE diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/info.json b/keyboards/tweetydabird/lotus58/atmel-dfu/info.json new file mode 100644 index 000000000000..fa1f26a909ac --- /dev/null +++ b/keyboards/tweetydabird/lotus58/atmel-dfu/info.json @@ -0,0 +1,184 @@ +{ + "manufacturer": "Tweetys Wild Thinking", + "keyboard_name": "Lotus 58 Glow (QMK)", + "maintainer": "TweetyDaBird", + "bootloader": "qmk-hid", + "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "build": { + "lto": true + }, + "debounce": 5, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + { + "pin_a": "F5", + "pin_b": "F4", + "resolution": 2 + } + ] + }, + "features": { + "audio": false, + "auto_shift": true, + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "encoder_map": true, + "extrakey": true, + "grave_esc": false, + "magic": false, + "mousekey": false, + "nkro": true, + "oled": true, + "rgblight": true, + "space_cadet": false, + "split": true, + "tap_dance": false + }, + "keyboard_folder": "tweetydabird/lotus58/nanoboot", + "keymaps": {}, + "matrix_pins": { + "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "matrix_size": { + "cols": 6, + "rows": 10 + }, + "pin_compatible": "promicro", + "platform": "unknown", + "platform_key": "avr", + "processor": "atmega32u4", + "processor_type": "avr", + "protocol": "LUFA", + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "animations": { + "breathing": true, + "rainbow_mood": true, + "static_gradient": true + }, + "brightness_steps": 17, + "hue_steps": 17, + "led_count": 70, + "pin": "D3", + "saturation_steps": 17, + "split": true, + "split_count": [35, 35] + }, + "split": { + "bootmagic": { + "matrix": [0, 5] + }, + "enabled": true, + "encoder": { + "right": { + "rotary": [ + { + "pin_a": "F4", + "pin_b": "F5", + "resolution": 2 + } + ] + } + }, + "soft_serial_pin": "D2", + "transport": { + "protocol": "serial", + "sync_matrix_state": true, + "sync_modifiers": true + }, + "usb_detect": { + "enabled": true, + "polling_interval": 10, + "timeout": 2000 + } + }, + "tapping": { + "term": 175, + "toggle": 2 + }, + "url": "https://lectronz.com/stores/tweetys-wild-thinking", + "usb": { + "device_version": "1.2.3", + "force_nkro": true, + "pid": "0x23B0", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "c_macro": false, + "json_layout": true, + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0.75 }, + { "label": "1", "matrix": [0, 1], "x": 1, "y": 0.5 }, + { "label": "2", "matrix": [0, 2], "x": 2, "y": 0.25 }, + { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "4", "matrix": [0, 4], "x": 4, "y": 0.25 }, + { "label": "5", "matrix": [0, 5], "x": 5, "y": 0.5 }, + { "label": "Left ENC", "matrix": [4, 0], "x": 6.25, "y": 0.75 }, + { "label": "Right ENC", "matrix": [9, 0], "x": 7.75, "y": 0.75 }, + { "label": "6", "matrix": [5, 5], "x": 9, "y": 0.5 }, + { "label": "7", "matrix": [5, 4], "x": 10, "y": 0.25 }, + { "label": "8", "matrix": [5, 3], "x": 11, "y": 0 }, + { "label": "9", "matrix": [5, 2], "x": 12, "y": 0.25 }, + { "label": "0", "matrix": [5, 1], "x": 13, "y": 0.5 }, + { "label": "-", "matrix": [5, 0], "x": 14, "y": 0.75 }, + { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1.75 }, + { "label": "Q", "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "label": "W", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "E", "matrix": [1, 3], "x": 3, "y": 1 }, + { "label": "R", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "T", "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "label": "Y", "matrix": [6, 5], "x": 9, "y": 1.5 }, + { "label": "U", "matrix": [6, 4], "x": 10, "y": 1.25 }, + { "label": "I", "matrix": [6, 3], "x": 11, "y": 1 }, + { "label": "O", "matrix": [6, 2], "x": 12, "y": 1.25 }, + { "label": "P", "matrix": [6, 1], "x": 13, "y": 1.5 }, + { "label": "{", "matrix": [6, 0], "x": 14, "y": 1.75 }, + { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2.75 }, + { "label": "A", "matrix": [2, 1], "x": 1, "y": 2.5 }, + { "label": "S", "matrix": [2, 2], "x": 2, "y": 2.25 }, + { "label": "D", "matrix": [2, 3], "x": 3, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4, "y": 2.25 }, + { "label": "G", "matrix": [2, 5], "x": 5, "y": 2.5 }, + { "label": "H", "matrix": [7, 5], "x": 9, "y": 2.5 }, + { "label": "J", "matrix": [7, 4], "x": 10, "y": 2.25 }, + { "label": "K", "matrix": [7, 3], "x": 11, "y": 2 }, + { "label": "L", "matrix": [7, 2], "x": 12, "y": 2.25 }, + { "label": ":", "matrix": [7, 1], "x": 13, "y": 2.5 }, + { "label": "\"", "matrix": [7, 0], "x": 14, "y": 2.75 }, + { "label": "L_Ctrl", "matrix": [3, 0], "x": 0, "y": 3.75 }, + { "label": "Z", "matrix": [3, 1], "x": 1, "y": 3.5 }, + { "label": "X", "matrix": [3, 2], "x": 2, "y": 3.25 }, + { "label": "C", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "V", "matrix": [3, 4], "x": 4, "y": 3.25 }, + { "label": "B", "matrix": [3, 5], "x": 5, "y": 3.5 }, + { "label": "Down", "matrix": [4, 5], "x": 6, "y": 3 }, + { "label": "Up", "matrix": [9, 5], "x": 8, "y": 3 }, + { "label": "N", "matrix": [8, 5], "x": 9, "y": 3.5 }, + { "label": "M", "matrix": [8, 4], "x": 10, "y": 3.25 }, + { "label": ",", "matrix": [8, 3], "x": 11, "y": 3 }, + { "label": ".", "matrix": [8, 2], "x": 12, "y": 3.25 }, + { "label": "?", "matrix": [8, 1], "x": 13, "y": 3.5 }, + { "label": "R_Ctrl", "matrix": [8, 0], "x": 14, "y": 3.75 }, + { "label": "Win", "matrix": [4, 1], "x": 2.5, "y": 4.25 }, + { "label": "Lower", "matrix": [4, 2], "x": 3.5, "y": 4.25 }, + { "label": "Alt", "matrix": [4, 3], "x": 4.5, "y": 4.5 }, + { "h": 1.25, "label": "Space", "matrix": [4, 4], "x": 6, "y": 4.25 }, + { "h": 1.25, "label": "Enter", "matrix": [9, 4], "x": 8, "y": 4.25 }, + { "label": "AltGr", "matrix": [9, 3], "x": 9.5, "y": 4.5 }, + { "label": "Raise", "matrix": [9, 2], "x": 10.5, "y": 4.25 }, + { "label": "BckSp", "matrix": [9, 1], "x": 11.5, "y": 4.25 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/atmel-dfu/keymaps/default/keymap.c new file mode 100644 index 000000000000..b92ef2444f8a --- /dev/null +++ b/keyboards/tweetydabird/lotus58/atmel-dfu/keymaps/default/keymap.c @@ -0,0 +1,137 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +void keyboard_post_init_user(void) { + autoshift_disable(); +} + +enum layers { + _QWERTY, + _NUM, + _FN, + _SYS, +}; + +enum custom_keycodes { + KC_QWERTY = SAFE_RANGE, + KC_NUMERIC, + KC_FUNCTION, + KC_SYSTEM, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, +LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT), + KC_LGUI, TG(_FN), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(_NUM), MT(MOD_RGUI,KC_BSPC) +), + +[_NUM] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_CIRC, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_HASH, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX, + XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LBRC, KC_RBRC, KC_AMPR, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_PAST, KC_PPLS, KC_PSLS, KC_EQL, _______, _______, KC_DLR, KC_KP_0, KC_KP_DOT, KC_COLN, KC_PMNS, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +[_FN] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +[_SYS] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG, + QK_BOOT, XXXXXXX, KC_QWERTY, XXXXXXX, XXXXXXX, AS_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_NUM] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_FN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_SYS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif + +// This function allows switching to the 'hidden' layer. DO NOT EDIT! +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, 1, 2, 3); +} + +// Rotate OLED to fit vertical placement. DO NOT EDIT! +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + + if (is_keyboard_left()) { + return OLED_ROTATION_90; + } + return OLED_ROTATION_270; +} + +// Renders default QMK Logo. DO NOT EDIT! +void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + oled_write_P(qmk_logo, false); +} + +static void print_status_narrow(void) { + // Create OLED content + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR(""), false); + oled_write_P(PSTR("Lotus -58-"), false); + oled_write_P(PSTR("\n"), false); + + // Print current layer + oled_write_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("-Base\n"), false); + break; + case 1: + oled_write_P(PSTR("-Num \n"), false); + break; + case 2: + oled_write_P(PSTR("-Func\n"), false); + break; + case 3: + oled_write_P(PSTR("-Sys \n"), false); + break; + default: + oled_write_P(PSTR("Undef"), false); + } + + // Display autoshift + oled_write_P(PSTR("\n"), false); + led_t led_usb_state = host_keyboard_led_state(); + oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); + bool autoshift = get_autoshift_state(); + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("Auto-Shift"), autoshift); + oled_write_P(PSTR("\n"), false); + +} + +bool oled_task_user(void) { + // Render the OLED + if (is_keyboard_left()) { + print_status_narrow(); + //render_logo(); + } else { + print_status_narrow(); + //render_logo(); + } + return false; +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/lotus58.c b/keyboards/tweetydabird/lotus58/atmel-dfu/lotus58.c new file mode 100644 index 000000000000..3ff21d71d232 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/atmel-dfu/lotus58.c @@ -0,0 +1,59 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + // Rotate OLED to fit + if (is_keyboard_left()) { + return OLED_ROTATION_270; + } + return OLED_ROTATION_270; +} + +void render_logo(void) { + // QMK Logo + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + oled_write_P(qmk_logo, false); +} + +static void print_status_narrow(void) { + // Create OLED content + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR(""), false); + oled_write_P(PSTR("Lotus -58-"), false); + oled_write_P(PSTR("\n"), false); + + // Print current layer + oled_write_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("-Base\n"), false); + break; + case 1: + oled_write_P(PSTR("-Num \n"), false); + break; + case 2: + oled_write_P(PSTR("-Func\n"), false); + break; + case 3: + oled_write_P(PSTR("-Sys \n"), false); + break; + default: + oled_write_P(PSTR("Undef"), false); + } + + // Display autoshift + oled_write_P(PSTR("\n"), false); + led_t led_usb_state = host_keyboard_led_state(); + oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); + bool autoshift = get_autoshift_state(); + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("Auto-Shift"), autoshift); + oled_write_P(PSTR("\n"), false); + +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/readme.md b/keyboards/tweetydabird/lotus58/atmel-dfu/readme.md new file mode 100644 index 000000000000..56b64a9d38df --- /dev/null +++ b/keyboards/tweetydabird/lotus58/atmel-dfu/readme.md @@ -0,0 +1,36 @@ +# Lotus 58 Glow + +![lotus58](https://i.imgur.com/WWgpp0Sh.jpeg) + +* Lotus 58 Glow is a fully programmable 58-key split, ortho-columnar keyboard with a 4x6 main matrix and 4+1 thumb-keys per hand. Optional support for one OLED screen per hand/side showing information such as active layer, CapsLock/NumLock etc. as well as one Rotary Encoder per hand, with optional placement. + +* Keyboard Maintainer: [TweetyDaBird](https://github.com/TweetyDaBird) +* Hardware Supported: *Lotus 58 Glow v1.11 - 1.24 PCB, Pro Micro or pin-compatible* +* Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking) +* Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) + + +#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of RGB configuration. + +* RGB Full - Uses the 58 RGB LEDs under the keys, and is configured with RGB and a few effects. +* RGB Glow - Uses the 12 RGB LEDs underneath the PCB to create a nice glow effect between the plates. +* RGB None - Not configured with RGB. + + +Make example for this keyboard (after setting up your build environment): + + make tweetydabird/lotus58/rgb_full:default + +Flashing example for this keyboard: + + make tweetydabird/lotus58/rgb_none:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top outer key for each hand and plug in the keyboard +* **Physical reset**: Briefly short the marked pads on PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/rules.mk b/keyboards/tweetydabird/lotus58/atmel-dfu/rules.mk new file mode 100644 index 000000000000..4c2b0289a2da --- /dev/null +++ b/keyboards/tweetydabird/lotus58/atmel-dfu/rules.mk @@ -0,0 +1 @@ +BOOTLOADER = atmel-dfu diff --git a/keyboards/tweetydabird/lotus58/caterina/config.h b/keyboards/tweetydabird/lotus58/caterina/config.h new file mode 100644 index 000000000000..43e3879b8ec1 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/caterina/config.h @@ -0,0 +1,28 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once +/*#include "config_common.h" + +// Not working correct in json implementation +#define SPLIT_USB_DETECT +#define SPLIT_USB_TIMEOUT 2000 +#define SPLIT_USB_TIMEOUT_POLL 10 + +// Not yet supported in json + +// Bootmagic Lite key configuration +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 +#define BOOTMAGIC_LITE_ROW_RIGHT 5 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 0 +*/ +// RGB options not yet fully implemented in info.json +#define RGBLIGHT_LIMIT_VAL 175 +#define RGBLIGHT_DEFAULT_VAL ( RGBLIGHT_LIMIT_VAL / 2 ) +#define RGBLIGHT_SLEEP + +#define SPLIT_HAND_PIN B5 +#define SPLIT_LAYER_STATE_ENABLE +#define SPLIT_LED_STATE_ENABLE +#define SPLIT_OLED_ENABLE diff --git a/keyboards/tweetydabird/lotus58/caterina/info.json b/keyboards/tweetydabird/lotus58/caterina/info.json new file mode 100644 index 000000000000..fa1f26a909ac --- /dev/null +++ b/keyboards/tweetydabird/lotus58/caterina/info.json @@ -0,0 +1,184 @@ +{ + "manufacturer": "Tweetys Wild Thinking", + "keyboard_name": "Lotus 58 Glow (QMK)", + "maintainer": "TweetyDaBird", + "bootloader": "qmk-hid", + "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "build": { + "lto": true + }, + "debounce": 5, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + { + "pin_a": "F5", + "pin_b": "F4", + "resolution": 2 + } + ] + }, + "features": { + "audio": false, + "auto_shift": true, + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "encoder_map": true, + "extrakey": true, + "grave_esc": false, + "magic": false, + "mousekey": false, + "nkro": true, + "oled": true, + "rgblight": true, + "space_cadet": false, + "split": true, + "tap_dance": false + }, + "keyboard_folder": "tweetydabird/lotus58/nanoboot", + "keymaps": {}, + "matrix_pins": { + "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "matrix_size": { + "cols": 6, + "rows": 10 + }, + "pin_compatible": "promicro", + "platform": "unknown", + "platform_key": "avr", + "processor": "atmega32u4", + "processor_type": "avr", + "protocol": "LUFA", + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "animations": { + "breathing": true, + "rainbow_mood": true, + "static_gradient": true + }, + "brightness_steps": 17, + "hue_steps": 17, + "led_count": 70, + "pin": "D3", + "saturation_steps": 17, + "split": true, + "split_count": [35, 35] + }, + "split": { + "bootmagic": { + "matrix": [0, 5] + }, + "enabled": true, + "encoder": { + "right": { + "rotary": [ + { + "pin_a": "F4", + "pin_b": "F5", + "resolution": 2 + } + ] + } + }, + "soft_serial_pin": "D2", + "transport": { + "protocol": "serial", + "sync_matrix_state": true, + "sync_modifiers": true + }, + "usb_detect": { + "enabled": true, + "polling_interval": 10, + "timeout": 2000 + } + }, + "tapping": { + "term": 175, + "toggle": 2 + }, + "url": "https://lectronz.com/stores/tweetys-wild-thinking", + "usb": { + "device_version": "1.2.3", + "force_nkro": true, + "pid": "0x23B0", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "c_macro": false, + "json_layout": true, + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0.75 }, + { "label": "1", "matrix": [0, 1], "x": 1, "y": 0.5 }, + { "label": "2", "matrix": [0, 2], "x": 2, "y": 0.25 }, + { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "4", "matrix": [0, 4], "x": 4, "y": 0.25 }, + { "label": "5", "matrix": [0, 5], "x": 5, "y": 0.5 }, + { "label": "Left ENC", "matrix": [4, 0], "x": 6.25, "y": 0.75 }, + { "label": "Right ENC", "matrix": [9, 0], "x": 7.75, "y": 0.75 }, + { "label": "6", "matrix": [5, 5], "x": 9, "y": 0.5 }, + { "label": "7", "matrix": [5, 4], "x": 10, "y": 0.25 }, + { "label": "8", "matrix": [5, 3], "x": 11, "y": 0 }, + { "label": "9", "matrix": [5, 2], "x": 12, "y": 0.25 }, + { "label": "0", "matrix": [5, 1], "x": 13, "y": 0.5 }, + { "label": "-", "matrix": [5, 0], "x": 14, "y": 0.75 }, + { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1.75 }, + { "label": "Q", "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "label": "W", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "E", "matrix": [1, 3], "x": 3, "y": 1 }, + { "label": "R", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "T", "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "label": "Y", "matrix": [6, 5], "x": 9, "y": 1.5 }, + { "label": "U", "matrix": [6, 4], "x": 10, "y": 1.25 }, + { "label": "I", "matrix": [6, 3], "x": 11, "y": 1 }, + { "label": "O", "matrix": [6, 2], "x": 12, "y": 1.25 }, + { "label": "P", "matrix": [6, 1], "x": 13, "y": 1.5 }, + { "label": "{", "matrix": [6, 0], "x": 14, "y": 1.75 }, + { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2.75 }, + { "label": "A", "matrix": [2, 1], "x": 1, "y": 2.5 }, + { "label": "S", "matrix": [2, 2], "x": 2, "y": 2.25 }, + { "label": "D", "matrix": [2, 3], "x": 3, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4, "y": 2.25 }, + { "label": "G", "matrix": [2, 5], "x": 5, "y": 2.5 }, + { "label": "H", "matrix": [7, 5], "x": 9, "y": 2.5 }, + { "label": "J", "matrix": [7, 4], "x": 10, "y": 2.25 }, + { "label": "K", "matrix": [7, 3], "x": 11, "y": 2 }, + { "label": "L", "matrix": [7, 2], "x": 12, "y": 2.25 }, + { "label": ":", "matrix": [7, 1], "x": 13, "y": 2.5 }, + { "label": "\"", "matrix": [7, 0], "x": 14, "y": 2.75 }, + { "label": "L_Ctrl", "matrix": [3, 0], "x": 0, "y": 3.75 }, + { "label": "Z", "matrix": [3, 1], "x": 1, "y": 3.5 }, + { "label": "X", "matrix": [3, 2], "x": 2, "y": 3.25 }, + { "label": "C", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "V", "matrix": [3, 4], "x": 4, "y": 3.25 }, + { "label": "B", "matrix": [3, 5], "x": 5, "y": 3.5 }, + { "label": "Down", "matrix": [4, 5], "x": 6, "y": 3 }, + { "label": "Up", "matrix": [9, 5], "x": 8, "y": 3 }, + { "label": "N", "matrix": [8, 5], "x": 9, "y": 3.5 }, + { "label": "M", "matrix": [8, 4], "x": 10, "y": 3.25 }, + { "label": ",", "matrix": [8, 3], "x": 11, "y": 3 }, + { "label": ".", "matrix": [8, 2], "x": 12, "y": 3.25 }, + { "label": "?", "matrix": [8, 1], "x": 13, "y": 3.5 }, + { "label": "R_Ctrl", "matrix": [8, 0], "x": 14, "y": 3.75 }, + { "label": "Win", "matrix": [4, 1], "x": 2.5, "y": 4.25 }, + { "label": "Lower", "matrix": [4, 2], "x": 3.5, "y": 4.25 }, + { "label": "Alt", "matrix": [4, 3], "x": 4.5, "y": 4.5 }, + { "h": 1.25, "label": "Space", "matrix": [4, 4], "x": 6, "y": 4.25 }, + { "h": 1.25, "label": "Enter", "matrix": [9, 4], "x": 8, "y": 4.25 }, + { "label": "AltGr", "matrix": [9, 3], "x": 9.5, "y": 4.5 }, + { "label": "Raise", "matrix": [9, 2], "x": 10.5, "y": 4.25 }, + { "label": "BckSp", "matrix": [9, 1], "x": 11.5, "y": 4.25 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c new file mode 100644 index 000000000000..b92ef2444f8a --- /dev/null +++ b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c @@ -0,0 +1,137 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +void keyboard_post_init_user(void) { + autoshift_disable(); +} + +enum layers { + _QWERTY, + _NUM, + _FN, + _SYS, +}; + +enum custom_keycodes { + KC_QWERTY = SAFE_RANGE, + KC_NUMERIC, + KC_FUNCTION, + KC_SYSTEM, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, +LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT), + KC_LGUI, TG(_FN), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(_NUM), MT(MOD_RGUI,KC_BSPC) +), + +[_NUM] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_CIRC, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_HASH, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX, + XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LBRC, KC_RBRC, KC_AMPR, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_PAST, KC_PPLS, KC_PSLS, KC_EQL, _______, _______, KC_DLR, KC_KP_0, KC_KP_DOT, KC_COLN, KC_PMNS, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +[_FN] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +[_SYS] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG, + QK_BOOT, XXXXXXX, KC_QWERTY, XXXXXXX, XXXXXXX, AS_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_NUM] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_FN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_SYS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif + +// This function allows switching to the 'hidden' layer. DO NOT EDIT! +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, 1, 2, 3); +} + +// Rotate OLED to fit vertical placement. DO NOT EDIT! +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + + if (is_keyboard_left()) { + return OLED_ROTATION_90; + } + return OLED_ROTATION_270; +} + +// Renders default QMK Logo. DO NOT EDIT! +void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + oled_write_P(qmk_logo, false); +} + +static void print_status_narrow(void) { + // Create OLED content + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR(""), false); + oled_write_P(PSTR("Lotus -58-"), false); + oled_write_P(PSTR("\n"), false); + + // Print current layer + oled_write_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("-Base\n"), false); + break; + case 1: + oled_write_P(PSTR("-Num \n"), false); + break; + case 2: + oled_write_P(PSTR("-Func\n"), false); + break; + case 3: + oled_write_P(PSTR("-Sys \n"), false); + break; + default: + oled_write_P(PSTR("Undef"), false); + } + + // Display autoshift + oled_write_P(PSTR("\n"), false); + led_t led_usb_state = host_keyboard_led_state(); + oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); + bool autoshift = get_autoshift_state(); + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("Auto-Shift"), autoshift); + oled_write_P(PSTR("\n"), false); + +} + +bool oled_task_user(void) { + // Render the OLED + if (is_keyboard_left()) { + print_status_narrow(); + //render_logo(); + } else { + print_status_narrow(); + //render_logo(); + } + return false; +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/caterina/lotus58.c b/keyboards/tweetydabird/lotus58/caterina/lotus58.c new file mode 100644 index 000000000000..3ff21d71d232 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/caterina/lotus58.c @@ -0,0 +1,59 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + // Rotate OLED to fit + if (is_keyboard_left()) { + return OLED_ROTATION_270; + } + return OLED_ROTATION_270; +} + +void render_logo(void) { + // QMK Logo + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + oled_write_P(qmk_logo, false); +} + +static void print_status_narrow(void) { + // Create OLED content + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR(""), false); + oled_write_P(PSTR("Lotus -58-"), false); + oled_write_P(PSTR("\n"), false); + + // Print current layer + oled_write_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("-Base\n"), false); + break; + case 1: + oled_write_P(PSTR("-Num \n"), false); + break; + case 2: + oled_write_P(PSTR("-Func\n"), false); + break; + case 3: + oled_write_P(PSTR("-Sys \n"), false); + break; + default: + oled_write_P(PSTR("Undef"), false); + } + + // Display autoshift + oled_write_P(PSTR("\n"), false); + led_t led_usb_state = host_keyboard_led_state(); + oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); + bool autoshift = get_autoshift_state(); + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("Auto-Shift"), autoshift); + oled_write_P(PSTR("\n"), false); + +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/caterina/readme.md b/keyboards/tweetydabird/lotus58/caterina/readme.md new file mode 100644 index 000000000000..56b64a9d38df --- /dev/null +++ b/keyboards/tweetydabird/lotus58/caterina/readme.md @@ -0,0 +1,36 @@ +# Lotus 58 Glow + +![lotus58](https://i.imgur.com/WWgpp0Sh.jpeg) + +* Lotus 58 Glow is a fully programmable 58-key split, ortho-columnar keyboard with a 4x6 main matrix and 4+1 thumb-keys per hand. Optional support for one OLED screen per hand/side showing information such as active layer, CapsLock/NumLock etc. as well as one Rotary Encoder per hand, with optional placement. + +* Keyboard Maintainer: [TweetyDaBird](https://github.com/TweetyDaBird) +* Hardware Supported: *Lotus 58 Glow v1.11 - 1.24 PCB, Pro Micro or pin-compatible* +* Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking) +* Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) + + +#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of RGB configuration. + +* RGB Full - Uses the 58 RGB LEDs under the keys, and is configured with RGB and a few effects. +* RGB Glow - Uses the 12 RGB LEDs underneath the PCB to create a nice glow effect between the plates. +* RGB None - Not configured with RGB. + + +Make example for this keyboard (after setting up your build environment): + + make tweetydabird/lotus58/rgb_full:default + +Flashing example for this keyboard: + + make tweetydabird/lotus58/rgb_none:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top outer key for each hand and plug in the keyboard +* **Physical reset**: Briefly short the marked pads on PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) diff --git a/keyboards/tweetydabird/lotus58/caterina/rules.mk b/keyboards/tweetydabird/lotus58/caterina/rules.mk new file mode 100644 index 000000000000..58e9a76b2302 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/caterina/rules.mk @@ -0,0 +1 @@ +BOOTLOADER = caterina diff --git a/keyboards/tweetydabird/lotus58/nanoboot/config.h b/keyboards/tweetydabird/lotus58/nanoboot/config.h new file mode 100644 index 000000000000..43e3879b8ec1 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/nanoboot/config.h @@ -0,0 +1,28 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once +/*#include "config_common.h" + +// Not working correct in json implementation +#define SPLIT_USB_DETECT +#define SPLIT_USB_TIMEOUT 2000 +#define SPLIT_USB_TIMEOUT_POLL 10 + +// Not yet supported in json + +// Bootmagic Lite key configuration +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 +#define BOOTMAGIC_LITE_ROW_RIGHT 5 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 0 +*/ +// RGB options not yet fully implemented in info.json +#define RGBLIGHT_LIMIT_VAL 175 +#define RGBLIGHT_DEFAULT_VAL ( RGBLIGHT_LIMIT_VAL / 2 ) +#define RGBLIGHT_SLEEP + +#define SPLIT_HAND_PIN B5 +#define SPLIT_LAYER_STATE_ENABLE +#define SPLIT_LED_STATE_ENABLE +#define SPLIT_OLED_ENABLE diff --git a/keyboards/tweetydabird/lotus58/nanoboot/info.json b/keyboards/tweetydabird/lotus58/nanoboot/info.json new file mode 100644 index 000000000000..fa1f26a909ac --- /dev/null +++ b/keyboards/tweetydabird/lotus58/nanoboot/info.json @@ -0,0 +1,184 @@ +{ + "manufacturer": "Tweetys Wild Thinking", + "keyboard_name": "Lotus 58 Glow (QMK)", + "maintainer": "TweetyDaBird", + "bootloader": "qmk-hid", + "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "build": { + "lto": true + }, + "debounce": 5, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + { + "pin_a": "F5", + "pin_b": "F4", + "resolution": 2 + } + ] + }, + "features": { + "audio": false, + "auto_shift": true, + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "encoder_map": true, + "extrakey": true, + "grave_esc": false, + "magic": false, + "mousekey": false, + "nkro": true, + "oled": true, + "rgblight": true, + "space_cadet": false, + "split": true, + "tap_dance": false + }, + "keyboard_folder": "tweetydabird/lotus58/nanoboot", + "keymaps": {}, + "matrix_pins": { + "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "matrix_size": { + "cols": 6, + "rows": 10 + }, + "pin_compatible": "promicro", + "platform": "unknown", + "platform_key": "avr", + "processor": "atmega32u4", + "processor_type": "avr", + "protocol": "LUFA", + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "animations": { + "breathing": true, + "rainbow_mood": true, + "static_gradient": true + }, + "brightness_steps": 17, + "hue_steps": 17, + "led_count": 70, + "pin": "D3", + "saturation_steps": 17, + "split": true, + "split_count": [35, 35] + }, + "split": { + "bootmagic": { + "matrix": [0, 5] + }, + "enabled": true, + "encoder": { + "right": { + "rotary": [ + { + "pin_a": "F4", + "pin_b": "F5", + "resolution": 2 + } + ] + } + }, + "soft_serial_pin": "D2", + "transport": { + "protocol": "serial", + "sync_matrix_state": true, + "sync_modifiers": true + }, + "usb_detect": { + "enabled": true, + "polling_interval": 10, + "timeout": 2000 + } + }, + "tapping": { + "term": 175, + "toggle": 2 + }, + "url": "https://lectronz.com/stores/tweetys-wild-thinking", + "usb": { + "device_version": "1.2.3", + "force_nkro": true, + "pid": "0x23B0", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "c_macro": false, + "json_layout": true, + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0.75 }, + { "label": "1", "matrix": [0, 1], "x": 1, "y": 0.5 }, + { "label": "2", "matrix": [0, 2], "x": 2, "y": 0.25 }, + { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "4", "matrix": [0, 4], "x": 4, "y": 0.25 }, + { "label": "5", "matrix": [0, 5], "x": 5, "y": 0.5 }, + { "label": "Left ENC", "matrix": [4, 0], "x": 6.25, "y": 0.75 }, + { "label": "Right ENC", "matrix": [9, 0], "x": 7.75, "y": 0.75 }, + { "label": "6", "matrix": [5, 5], "x": 9, "y": 0.5 }, + { "label": "7", "matrix": [5, 4], "x": 10, "y": 0.25 }, + { "label": "8", "matrix": [5, 3], "x": 11, "y": 0 }, + { "label": "9", "matrix": [5, 2], "x": 12, "y": 0.25 }, + { "label": "0", "matrix": [5, 1], "x": 13, "y": 0.5 }, + { "label": "-", "matrix": [5, 0], "x": 14, "y": 0.75 }, + { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1.75 }, + { "label": "Q", "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "label": "W", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "E", "matrix": [1, 3], "x": 3, "y": 1 }, + { "label": "R", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "T", "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "label": "Y", "matrix": [6, 5], "x": 9, "y": 1.5 }, + { "label": "U", "matrix": [6, 4], "x": 10, "y": 1.25 }, + { "label": "I", "matrix": [6, 3], "x": 11, "y": 1 }, + { "label": "O", "matrix": [6, 2], "x": 12, "y": 1.25 }, + { "label": "P", "matrix": [6, 1], "x": 13, "y": 1.5 }, + { "label": "{", "matrix": [6, 0], "x": 14, "y": 1.75 }, + { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2.75 }, + { "label": "A", "matrix": [2, 1], "x": 1, "y": 2.5 }, + { "label": "S", "matrix": [2, 2], "x": 2, "y": 2.25 }, + { "label": "D", "matrix": [2, 3], "x": 3, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4, "y": 2.25 }, + { "label": "G", "matrix": [2, 5], "x": 5, "y": 2.5 }, + { "label": "H", "matrix": [7, 5], "x": 9, "y": 2.5 }, + { "label": "J", "matrix": [7, 4], "x": 10, "y": 2.25 }, + { "label": "K", "matrix": [7, 3], "x": 11, "y": 2 }, + { "label": "L", "matrix": [7, 2], "x": 12, "y": 2.25 }, + { "label": ":", "matrix": [7, 1], "x": 13, "y": 2.5 }, + { "label": "\"", "matrix": [7, 0], "x": 14, "y": 2.75 }, + { "label": "L_Ctrl", "matrix": [3, 0], "x": 0, "y": 3.75 }, + { "label": "Z", "matrix": [3, 1], "x": 1, "y": 3.5 }, + { "label": "X", "matrix": [3, 2], "x": 2, "y": 3.25 }, + { "label": "C", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "V", "matrix": [3, 4], "x": 4, "y": 3.25 }, + { "label": "B", "matrix": [3, 5], "x": 5, "y": 3.5 }, + { "label": "Down", "matrix": [4, 5], "x": 6, "y": 3 }, + { "label": "Up", "matrix": [9, 5], "x": 8, "y": 3 }, + { "label": "N", "matrix": [8, 5], "x": 9, "y": 3.5 }, + { "label": "M", "matrix": [8, 4], "x": 10, "y": 3.25 }, + { "label": ",", "matrix": [8, 3], "x": 11, "y": 3 }, + { "label": ".", "matrix": [8, 2], "x": 12, "y": 3.25 }, + { "label": "?", "matrix": [8, 1], "x": 13, "y": 3.5 }, + { "label": "R_Ctrl", "matrix": [8, 0], "x": 14, "y": 3.75 }, + { "label": "Win", "matrix": [4, 1], "x": 2.5, "y": 4.25 }, + { "label": "Lower", "matrix": [4, 2], "x": 3.5, "y": 4.25 }, + { "label": "Alt", "matrix": [4, 3], "x": 4.5, "y": 4.5 }, + { "h": 1.25, "label": "Space", "matrix": [4, 4], "x": 6, "y": 4.25 }, + { "h": 1.25, "label": "Enter", "matrix": [9, 4], "x": 8, "y": 4.25 }, + { "label": "AltGr", "matrix": [9, 3], "x": 9.5, "y": 4.5 }, + { "label": "Raise", "matrix": [9, 2], "x": 10.5, "y": 4.25 }, + { "label": "BckSp", "matrix": [9, 1], "x": 11.5, "y": 4.25 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c new file mode 100644 index 000000000000..b92ef2444f8a --- /dev/null +++ b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c @@ -0,0 +1,137 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +void keyboard_post_init_user(void) { + autoshift_disable(); +} + +enum layers { + _QWERTY, + _NUM, + _FN, + _SYS, +}; + +enum custom_keycodes { + KC_QWERTY = SAFE_RANGE, + KC_NUMERIC, + KC_FUNCTION, + KC_SYSTEM, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, +LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT), + KC_LGUI, TG(_FN), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(_NUM), MT(MOD_RGUI,KC_BSPC) +), + +[_NUM] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_CIRC, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_HASH, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX, + XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LBRC, KC_RBRC, KC_AMPR, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_PAST, KC_PPLS, KC_PSLS, KC_EQL, _______, _______, KC_DLR, KC_KP_0, KC_KP_DOT, KC_COLN, KC_PMNS, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +[_FN] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +), + +[_SYS] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG, + QK_BOOT, XXXXXXX, KC_QWERTY, XXXXXXX, XXXXXXX, AS_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_NUM] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_FN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_SYS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif + +// This function allows switching to the 'hidden' layer. DO NOT EDIT! +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, 1, 2, 3); +} + +// Rotate OLED to fit vertical placement. DO NOT EDIT! +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + + if (is_keyboard_left()) { + return OLED_ROTATION_90; + } + return OLED_ROTATION_270; +} + +// Renders default QMK Logo. DO NOT EDIT! +void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + oled_write_P(qmk_logo, false); +} + +static void print_status_narrow(void) { + // Create OLED content + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR(""), false); + oled_write_P(PSTR("Lotus -58-"), false); + oled_write_P(PSTR("\n"), false); + + // Print current layer + oled_write_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("-Base\n"), false); + break; + case 1: + oled_write_P(PSTR("-Num \n"), false); + break; + case 2: + oled_write_P(PSTR("-Func\n"), false); + break; + case 3: + oled_write_P(PSTR("-Sys \n"), false); + break; + default: + oled_write_P(PSTR("Undef"), false); + } + + // Display autoshift + oled_write_P(PSTR("\n"), false); + led_t led_usb_state = host_keyboard_led_state(); + oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); + bool autoshift = get_autoshift_state(); + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("Auto-Shift"), autoshift); + oled_write_P(PSTR("\n"), false); + +} + +bool oled_task_user(void) { + // Render the OLED + if (is_keyboard_left()) { + print_status_narrow(); + //render_logo(); + } else { + print_status_narrow(); + //render_logo(); + } + return false; +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/nanoboot/lotus58.c b/keyboards/tweetydabird/lotus58/nanoboot/lotus58.c new file mode 100644 index 000000000000..3ff21d71d232 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/nanoboot/lotus58.c @@ -0,0 +1,59 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + // Rotate OLED to fit + if (is_keyboard_left()) { + return OLED_ROTATION_270; + } + return OLED_ROTATION_270; +} + +void render_logo(void) { + // QMK Logo + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + oled_write_P(qmk_logo, false); +} + +static void print_status_narrow(void) { + // Create OLED content + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR(""), false); + oled_write_P(PSTR("Lotus -58-"), false); + oled_write_P(PSTR("\n"), false); + + // Print current layer + oled_write_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("-Base\n"), false); + break; + case 1: + oled_write_P(PSTR("-Num \n"), false); + break; + case 2: + oled_write_P(PSTR("-Func\n"), false); + break; + case 3: + oled_write_P(PSTR("-Sys \n"), false); + break; + default: + oled_write_P(PSTR("Undef"), false); + } + + // Display autoshift + oled_write_P(PSTR("\n"), false); + led_t led_usb_state = host_keyboard_led_state(); + oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); + bool autoshift = get_autoshift_state(); + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("Auto-Shift"), autoshift); + oled_write_P(PSTR("\n"), false); + +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/nanoboot/readme.md b/keyboards/tweetydabird/lotus58/nanoboot/readme.md new file mode 100644 index 000000000000..56b64a9d38df --- /dev/null +++ b/keyboards/tweetydabird/lotus58/nanoboot/readme.md @@ -0,0 +1,36 @@ +# Lotus 58 Glow + +![lotus58](https://i.imgur.com/WWgpp0Sh.jpeg) + +* Lotus 58 Glow is a fully programmable 58-key split, ortho-columnar keyboard with a 4x6 main matrix and 4+1 thumb-keys per hand. Optional support for one OLED screen per hand/side showing information such as active layer, CapsLock/NumLock etc. as well as one Rotary Encoder per hand, with optional placement. + +* Keyboard Maintainer: [TweetyDaBird](https://github.com/TweetyDaBird) +* Hardware Supported: *Lotus 58 Glow v1.11 - 1.24 PCB, Pro Micro or pin-compatible* +* Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking) +* Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) + + +#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of RGB configuration. + +* RGB Full - Uses the 58 RGB LEDs under the keys, and is configured with RGB and a few effects. +* RGB Glow - Uses the 12 RGB LEDs underneath the PCB to create a nice glow effect between the plates. +* RGB None - Not configured with RGB. + + +Make example for this keyboard (after setting up your build environment): + + make tweetydabird/lotus58/rgb_full:default + +Flashing example for this keyboard: + + make tweetydabird/lotus58/rgb_none:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top outer key for each hand and plug in the keyboard +* **Physical reset**: Briefly short the marked pads on PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) diff --git a/keyboards/tweetydabird/lotus58/nanoboot/rules.mk b/keyboards/tweetydabird/lotus58/nanoboot/rules.mk new file mode 100644 index 000000000000..1d937578bd9e --- /dev/null +++ b/keyboards/tweetydabird/lotus58/nanoboot/rules.mk @@ -0,0 +1,2 @@ +BOOTLOADER = qmk-hid +BOOTLOADER_SIZE = 512 From ed31c5cc4c0bcd6d681870c4ecd09c74fcf98978 Mon Sep 17 00:00:00 2001 From: TweetyDaBird Date: Wed, 29 Mar 2023 10:23:47 +0200 Subject: [PATCH 02/17] renamed folder atmel-dfu to atmeldfu --- keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/config.h | 0 keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/info.json | 0 .../lotus58/{atmel-dfu => atmeldfu}/keymaps/default/keymap.c | 0 keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/lotus58.c | 0 keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/readme.md | 0 keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/rules.mk | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/config.h (100%) rename keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/info.json (100%) rename keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/keymaps/default/keymap.c (100%) rename keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/lotus58.c (100%) rename keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/readme.md (100%) rename keyboards/tweetydabird/lotus58/{atmel-dfu => atmeldfu}/rules.mk (100%) diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/config.h b/keyboards/tweetydabird/lotus58/atmeldfu/config.h similarity index 100% rename from keyboards/tweetydabird/lotus58/atmel-dfu/config.h rename to keyboards/tweetydabird/lotus58/atmeldfu/config.h diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/info.json b/keyboards/tweetydabird/lotus58/atmeldfu/info.json similarity index 100% rename from keyboards/tweetydabird/lotus58/atmel-dfu/info.json rename to keyboards/tweetydabird/lotus58/atmeldfu/info.json diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c similarity index 100% rename from keyboards/tweetydabird/lotus58/atmel-dfu/keymaps/default/keymap.c rename to keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/lotus58.c b/keyboards/tweetydabird/lotus58/atmeldfu/lotus58.c similarity index 100% rename from keyboards/tweetydabird/lotus58/atmel-dfu/lotus58.c rename to keyboards/tweetydabird/lotus58/atmeldfu/lotus58.c diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/readme.md b/keyboards/tweetydabird/lotus58/atmeldfu/readme.md similarity index 100% rename from keyboards/tweetydabird/lotus58/atmel-dfu/readme.md rename to keyboards/tweetydabird/lotus58/atmeldfu/readme.md diff --git a/keyboards/tweetydabird/lotus58/atmel-dfu/rules.mk b/keyboards/tweetydabird/lotus58/atmeldfu/rules.mk similarity index 100% rename from keyboards/tweetydabird/lotus58/atmel-dfu/rules.mk rename to keyboards/tweetydabird/lotus58/atmeldfu/rules.mk From 3207e95a9800e35e00ae7b6c9da9cdfc38672a9f Mon Sep 17 00:00:00 2001 From: TweetyDaBird Date: Sun, 9 Apr 2023 16:00:52 +0200 Subject: [PATCH 03/17] Cleanup Cleaned up the default keymap Made versions for bootloaders --- .../tweetydabird/lotus58/atmeldfu/info.json | 184 ------------------ .../atmeldfu/keymaps/default/info.json | 13 ++ .../lotus58/atmeldfu/keymaps/default/keymap.c | 66 +------ .../tweetydabird/lotus58/atmeldfu/lotus58.c | 59 ------ .../tweetydabird/lotus58/atmeldfu/readme.md | 36 ---- .../tweetydabird/lotus58/caterina/config.h | 28 --- .../tweetydabird/lotus58/caterina/info.json | 184 ------------------ .../caterina/keymaps/default/info.json | 13 ++ .../lotus58/caterina/keymaps/default/keymap.c | 66 +------ .../tweetydabird/lotus58/caterina/lotus58.c | 59 ------ .../tweetydabird/lotus58/caterina/readme.md | 36 ---- .../lotus58/{atmeldfu => }/config.h | 14 +- keyboards/tweetydabird/lotus58/info.json | 154 +++++++++++++++ keyboards/tweetydabird/lotus58/lotus58.c | 22 +++ .../tweetydabird/lotus58/nanoboot/config.h | 28 --- .../tweetydabird/lotus58/nanoboot/info.json | 184 ------------------ .../nanoboot/keymaps/default/info.json | 13 ++ .../lotus58/nanoboot/keymaps/default/keymap.c | 66 +------ .../tweetydabird/lotus58/nanoboot/lotus58.c | 59 ------ .../lotus58/{nanoboot => }/readme.md | 15 +- 20 files changed, 256 insertions(+), 1043 deletions(-) delete mode 100644 keyboards/tweetydabird/lotus58/atmeldfu/info.json create mode 100644 keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json delete mode 100644 keyboards/tweetydabird/lotus58/atmeldfu/lotus58.c delete mode 100644 keyboards/tweetydabird/lotus58/atmeldfu/readme.md delete mode 100644 keyboards/tweetydabird/lotus58/caterina/config.h delete mode 100644 keyboards/tweetydabird/lotus58/caterina/info.json create mode 100644 keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json delete mode 100644 keyboards/tweetydabird/lotus58/caterina/lotus58.c delete mode 100644 keyboards/tweetydabird/lotus58/caterina/readme.md rename keyboards/tweetydabird/lotus58/{atmeldfu => }/config.h (62%) create mode 100644 keyboards/tweetydabird/lotus58/info.json create mode 100644 keyboards/tweetydabird/lotus58/lotus58.c delete mode 100644 keyboards/tweetydabird/lotus58/nanoboot/config.h delete mode 100644 keyboards/tweetydabird/lotus58/nanoboot/info.json create mode 100644 keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json delete mode 100644 keyboards/tweetydabird/lotus58/nanoboot/lotus58.c rename keyboards/tweetydabird/lotus58/{nanoboot => }/readme.md (73%) diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/info.json b/keyboards/tweetydabird/lotus58/atmeldfu/info.json deleted file mode 100644 index fa1f26a909ac..000000000000 --- a/keyboards/tweetydabird/lotus58/atmeldfu/info.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "manufacturer": "Tweetys Wild Thinking", - "keyboard_name": "Lotus 58 Glow (QMK)", - "maintainer": "TweetyDaBird", - "bootloader": "qmk-hid", - "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", - "bootmagic": { - "enabled": true, - "matrix": [0, 0] - }, - "build": { - "lto": true - }, - "debounce": 5, - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - { - "pin_a": "F5", - "pin_b": "F4", - "resolution": 2 - } - ] - }, - "features": { - "audio": false, - "auto_shift": true, - "bootmagic": true, - "command": false, - "console": false, - "encoder": true, - "encoder_map": true, - "extrakey": true, - "grave_esc": false, - "magic": false, - "mousekey": false, - "nkro": true, - "oled": true, - "rgblight": true, - "space_cadet": false, - "split": true, - "tap_dance": false - }, - "keyboard_folder": "tweetydabird/lotus58/nanoboot", - "keymaps": {}, - "matrix_pins": { - "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], - "rows": ["D4", "C6", "D7", "E6", "B4"] - }, - "matrix_size": { - "cols": 6, - "rows": 10 - }, - "pin_compatible": "promicro", - "platform": "unknown", - "platform_key": "avr", - "processor": "atmega32u4", - "processor_type": "avr", - "protocol": "LUFA", - "qmk": { - "tap_keycode_delay": 10 - }, - "rgblight": { - "animations": { - "breathing": true, - "rainbow_mood": true, - "static_gradient": true - }, - "brightness_steps": 17, - "hue_steps": 17, - "led_count": 70, - "pin": "D3", - "saturation_steps": 17, - "split": true, - "split_count": [35, 35] - }, - "split": { - "bootmagic": { - "matrix": [0, 5] - }, - "enabled": true, - "encoder": { - "right": { - "rotary": [ - { - "pin_a": "F4", - "pin_b": "F5", - "resolution": 2 - } - ] - } - }, - "soft_serial_pin": "D2", - "transport": { - "protocol": "serial", - "sync_matrix_state": true, - "sync_modifiers": true - }, - "usb_detect": { - "enabled": true, - "polling_interval": 10, - "timeout": 2000 - } - }, - "tapping": { - "term": 175, - "toggle": 2 - }, - "url": "https://lectronz.com/stores/tweetys-wild-thinking", - "usb": { - "device_version": "1.2.3", - "force_nkro": true, - "pid": "0x23B0", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "c_macro": false, - "json_layout": true, - "layout": [ - { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0.75 }, - { "label": "1", "matrix": [0, 1], "x": 1, "y": 0.5 }, - { "label": "2", "matrix": [0, 2], "x": 2, "y": 0.25 }, - { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, - { "label": "4", "matrix": [0, 4], "x": 4, "y": 0.25 }, - { "label": "5", "matrix": [0, 5], "x": 5, "y": 0.5 }, - { "label": "Left ENC", "matrix": [4, 0], "x": 6.25, "y": 0.75 }, - { "label": "Right ENC", "matrix": [9, 0], "x": 7.75, "y": 0.75 }, - { "label": "6", "matrix": [5, 5], "x": 9, "y": 0.5 }, - { "label": "7", "matrix": [5, 4], "x": 10, "y": 0.25 }, - { "label": "8", "matrix": [5, 3], "x": 11, "y": 0 }, - { "label": "9", "matrix": [5, 2], "x": 12, "y": 0.25 }, - { "label": "0", "matrix": [5, 1], "x": 13, "y": 0.5 }, - { "label": "-", "matrix": [5, 0], "x": 14, "y": 0.75 }, - { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1.75 }, - { "label": "Q", "matrix": [1, 1], "x": 1, "y": 1.5 }, - { "label": "W", "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "label": "E", "matrix": [1, 3], "x": 3, "y": 1 }, - { "label": "R", "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "label": "T", "matrix": [1, 5], "x": 5, "y": 1.5 }, - { "label": "Y", "matrix": [6, 5], "x": 9, "y": 1.5 }, - { "label": "U", "matrix": [6, 4], "x": 10, "y": 1.25 }, - { "label": "I", "matrix": [6, 3], "x": 11, "y": 1 }, - { "label": "O", "matrix": [6, 2], "x": 12, "y": 1.25 }, - { "label": "P", "matrix": [6, 1], "x": 13, "y": 1.5 }, - { "label": "{", "matrix": [6, 0], "x": 14, "y": 1.75 }, - { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2.75 }, - { "label": "A", "matrix": [2, 1], "x": 1, "y": 2.5 }, - { "label": "S", "matrix": [2, 2], "x": 2, "y": 2.25 }, - { "label": "D", "matrix": [2, 3], "x": 3, "y": 2 }, - { "label": "F", "matrix": [2, 4], "x": 4, "y": 2.25 }, - { "label": "G", "matrix": [2, 5], "x": 5, "y": 2.5 }, - { "label": "H", "matrix": [7, 5], "x": 9, "y": 2.5 }, - { "label": "J", "matrix": [7, 4], "x": 10, "y": 2.25 }, - { "label": "K", "matrix": [7, 3], "x": 11, "y": 2 }, - { "label": "L", "matrix": [7, 2], "x": 12, "y": 2.25 }, - { "label": ":", "matrix": [7, 1], "x": 13, "y": 2.5 }, - { "label": "\"", "matrix": [7, 0], "x": 14, "y": 2.75 }, - { "label": "L_Ctrl", "matrix": [3, 0], "x": 0, "y": 3.75 }, - { "label": "Z", "matrix": [3, 1], "x": 1, "y": 3.5 }, - { "label": "X", "matrix": [3, 2], "x": 2, "y": 3.25 }, - { "label": "C", "matrix": [3, 3], "x": 3, "y": 3 }, - { "label": "V", "matrix": [3, 4], "x": 4, "y": 3.25 }, - { "label": "B", "matrix": [3, 5], "x": 5, "y": 3.5 }, - { "label": "Down", "matrix": [4, 5], "x": 6, "y": 3 }, - { "label": "Up", "matrix": [9, 5], "x": 8, "y": 3 }, - { "label": "N", "matrix": [8, 5], "x": 9, "y": 3.5 }, - { "label": "M", "matrix": [8, 4], "x": 10, "y": 3.25 }, - { "label": ",", "matrix": [8, 3], "x": 11, "y": 3 }, - { "label": ".", "matrix": [8, 2], "x": 12, "y": 3.25 }, - { "label": "?", "matrix": [8, 1], "x": 13, "y": 3.5 }, - { "label": "R_Ctrl", "matrix": [8, 0], "x": 14, "y": 3.75 }, - { "label": "Win", "matrix": [4, 1], "x": 2.5, "y": 4.25 }, - { "label": "Lower", "matrix": [4, 2], "x": 3.5, "y": 4.25 }, - { "label": "Alt", "matrix": [4, 3], "x": 4.5, "y": 4.5 }, - { "h": 1.25, "label": "Space", "matrix": [4, 4], "x": 6, "y": 4.25 }, - { "h": 1.25, "label": "Enter", "matrix": [9, 4], "x": 8, "y": 4.25 }, - { "label": "AltGr", "matrix": [9, 3], "x": 9.5, "y": 4.5 }, - { "label": "Raise", "matrix": [9, 2], "x": 10.5, "y": 4.25 }, - { "label": "BckSp", "matrix": [9, 1], "x": 11.5, "y": 4.25 } - ] - } - } -} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json b/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json new file mode 100644 index 000000000000..c56a4e02d988 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json @@ -0,0 +1,13 @@ +{ + "features": { + "encoder_map": true, + "auto_shift": true, + }, + "qmk": { + "tap_keycode_delay": 10 + }, +"tapping": { + "term": 175, + "toggle": 2 + }, +} diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c index b92ef2444f8a..18a378b42cb2 100644 --- a/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c +++ b/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c @@ -2,34 +2,16 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -void keyboard_post_init_user(void) { - autoshift_disable(); -} - -enum layers { - _QWERTY, - _NUM, - _FN, - _SYS, -}; - -enum custom_keycodes { - KC_QWERTY = SAFE_RANGE, - KC_NUMERIC, - KC_FUNCTION, - KC_SYSTEM, -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QWERTY] = LAYOUT( +[0] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT), - KC_LGUI, TG(_FN), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(_NUM), MT(MOD_RGUI,KC_BSPC) + KC_LGUI, TG(2), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(1), MT(MOD_RGUI,KC_BSPC) ), -[_NUM] = LAYOUT( +[1] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_CIRC, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_HASH, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LBRC, KC_RBRC, KC_AMPR, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX, @@ -37,7 +19,7 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, _______, _______, _______, _______, _______, _______, _______, _______ ), -[_FN] = LAYOUT( +[2] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -45,9 +27,9 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, _______, _______, _______, _______, _______, _______, _______, _______ ), -[_SYS] = LAYOUT( +[3] = LAYOUT( XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG, - QK_BOOT, XXXXXXX, KC_QWERTY, XXXXXXX, XXXXXXX, AS_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R, _______, _______, _______, _______, _______, _______, _______, _______ @@ -56,37 +38,13 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_NUM] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_SYS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } }; #endif -// This function allows switching to the 'hidden' layer. DO NOT EDIT! -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, 1, 2, 3); -} - -// Rotate OLED to fit vertical placement. DO NOT EDIT! -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - - if (is_keyboard_left()) { - return OLED_ROTATION_90; - } - return OLED_ROTATION_270; -} - -// Renders default QMK Logo. DO NOT EDIT! -void render_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 - }; - oled_write_P(qmk_logo, false); -} - static void print_status_narrow(void) { // Create OLED content oled_write_P(PSTR("\n"), false); @@ -117,10 +75,6 @@ static void print_status_narrow(void) { oled_write_P(PSTR("\n"), false); led_t led_usb_state = host_keyboard_led_state(); oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); - bool autoshift = get_autoshift_state(); - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("Auto-Shift"), autoshift); - oled_write_P(PSTR("\n"), false); } diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/lotus58.c b/keyboards/tweetydabird/lotus58/atmeldfu/lotus58.c deleted file mode 100644 index 3ff21d71d232..000000000000 --- a/keyboards/tweetydabird/lotus58/atmeldfu/lotus58.c +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2022 Markus Knutsson (@TweetyDaBird) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - // Rotate OLED to fit - if (is_keyboard_left()) { - return OLED_ROTATION_270; - } - return OLED_ROTATION_270; -} - -void render_logo(void) { - // QMK Logo - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 - }; - oled_write_P(qmk_logo, false); -} - -static void print_status_narrow(void) { - // Create OLED content - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR(""), false); - oled_write_P(PSTR("Lotus -58-"), false); - oled_write_P(PSTR("\n"), false); - - // Print current layer - oled_write_P(PSTR("Layer"), false); - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR("-Base\n"), false); - break; - case 1: - oled_write_P(PSTR("-Num \n"), false); - break; - case 2: - oled_write_P(PSTR("-Func\n"), false); - break; - case 3: - oled_write_P(PSTR("-Sys \n"), false); - break; - default: - oled_write_P(PSTR("Undef"), false); - } - - // Display autoshift - oled_write_P(PSTR("\n"), false); - led_t led_usb_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); - bool autoshift = get_autoshift_state(); - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("Auto-Shift"), autoshift); - oled_write_P(PSTR("\n"), false); - -} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/readme.md b/keyboards/tweetydabird/lotus58/atmeldfu/readme.md deleted file mode 100644 index 56b64a9d38df..000000000000 --- a/keyboards/tweetydabird/lotus58/atmeldfu/readme.md +++ /dev/null @@ -1,36 +0,0 @@ -# Lotus 58 Glow - -![lotus58](https://i.imgur.com/WWgpp0Sh.jpeg) - -* Lotus 58 Glow is a fully programmable 58-key split, ortho-columnar keyboard with a 4x6 main matrix and 4+1 thumb-keys per hand. Optional support for one OLED screen per hand/side showing information such as active layer, CapsLock/NumLock etc. as well as one Rotary Encoder per hand, with optional placement. - -* Keyboard Maintainer: [TweetyDaBird](https://github.com/TweetyDaBird) -* Hardware Supported: *Lotus 58 Glow v1.11 - 1.24 PCB, Pro Micro or pin-compatible* -* Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking) -* Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) - - -#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of RGB configuration. - -* RGB Full - Uses the 58 RGB LEDs under the keys, and is configured with RGB and a few effects. -* RGB Glow - Uses the 12 RGB LEDs underneath the PCB to create a nice glow effect between the plates. -* RGB None - Not configured with RGB. - - -Make example for this keyboard (after setting up your build environment): - - make tweetydabird/lotus58/rgb_full:default - -Flashing example for this keyboard: - - make tweetydabird/lotus58/rgb_none:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top outer key for each hand and plug in the keyboard -* **Physical reset**: Briefly short the marked pads on PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) diff --git a/keyboards/tweetydabird/lotus58/caterina/config.h b/keyboards/tweetydabird/lotus58/caterina/config.h deleted file mode 100644 index 43e3879b8ec1..000000000000 --- a/keyboards/tweetydabird/lotus58/caterina/config.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2022 Markus Knutsson (@TweetyDaBird) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once -/*#include "config_common.h" - -// Not working correct in json implementation -#define SPLIT_USB_DETECT -#define SPLIT_USB_TIMEOUT 2000 -#define SPLIT_USB_TIMEOUT_POLL 10 - -// Not yet supported in json - -// Bootmagic Lite key configuration -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 -#define BOOTMAGIC_LITE_ROW_RIGHT 5 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 0 -*/ -// RGB options not yet fully implemented in info.json -#define RGBLIGHT_LIMIT_VAL 175 -#define RGBLIGHT_DEFAULT_VAL ( RGBLIGHT_LIMIT_VAL / 2 ) -#define RGBLIGHT_SLEEP - -#define SPLIT_HAND_PIN B5 -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_LED_STATE_ENABLE -#define SPLIT_OLED_ENABLE diff --git a/keyboards/tweetydabird/lotus58/caterina/info.json b/keyboards/tweetydabird/lotus58/caterina/info.json deleted file mode 100644 index fa1f26a909ac..000000000000 --- a/keyboards/tweetydabird/lotus58/caterina/info.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "manufacturer": "Tweetys Wild Thinking", - "keyboard_name": "Lotus 58 Glow (QMK)", - "maintainer": "TweetyDaBird", - "bootloader": "qmk-hid", - "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", - "bootmagic": { - "enabled": true, - "matrix": [0, 0] - }, - "build": { - "lto": true - }, - "debounce": 5, - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - { - "pin_a": "F5", - "pin_b": "F4", - "resolution": 2 - } - ] - }, - "features": { - "audio": false, - "auto_shift": true, - "bootmagic": true, - "command": false, - "console": false, - "encoder": true, - "encoder_map": true, - "extrakey": true, - "grave_esc": false, - "magic": false, - "mousekey": false, - "nkro": true, - "oled": true, - "rgblight": true, - "space_cadet": false, - "split": true, - "tap_dance": false - }, - "keyboard_folder": "tweetydabird/lotus58/nanoboot", - "keymaps": {}, - "matrix_pins": { - "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], - "rows": ["D4", "C6", "D7", "E6", "B4"] - }, - "matrix_size": { - "cols": 6, - "rows": 10 - }, - "pin_compatible": "promicro", - "platform": "unknown", - "platform_key": "avr", - "processor": "atmega32u4", - "processor_type": "avr", - "protocol": "LUFA", - "qmk": { - "tap_keycode_delay": 10 - }, - "rgblight": { - "animations": { - "breathing": true, - "rainbow_mood": true, - "static_gradient": true - }, - "brightness_steps": 17, - "hue_steps": 17, - "led_count": 70, - "pin": "D3", - "saturation_steps": 17, - "split": true, - "split_count": [35, 35] - }, - "split": { - "bootmagic": { - "matrix": [0, 5] - }, - "enabled": true, - "encoder": { - "right": { - "rotary": [ - { - "pin_a": "F4", - "pin_b": "F5", - "resolution": 2 - } - ] - } - }, - "soft_serial_pin": "D2", - "transport": { - "protocol": "serial", - "sync_matrix_state": true, - "sync_modifiers": true - }, - "usb_detect": { - "enabled": true, - "polling_interval": 10, - "timeout": 2000 - } - }, - "tapping": { - "term": 175, - "toggle": 2 - }, - "url": "https://lectronz.com/stores/tweetys-wild-thinking", - "usb": { - "device_version": "1.2.3", - "force_nkro": true, - "pid": "0x23B0", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "c_macro": false, - "json_layout": true, - "layout": [ - { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0.75 }, - { "label": "1", "matrix": [0, 1], "x": 1, "y": 0.5 }, - { "label": "2", "matrix": [0, 2], "x": 2, "y": 0.25 }, - { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, - { "label": "4", "matrix": [0, 4], "x": 4, "y": 0.25 }, - { "label": "5", "matrix": [0, 5], "x": 5, "y": 0.5 }, - { "label": "Left ENC", "matrix": [4, 0], "x": 6.25, "y": 0.75 }, - { "label": "Right ENC", "matrix": [9, 0], "x": 7.75, "y": 0.75 }, - { "label": "6", "matrix": [5, 5], "x": 9, "y": 0.5 }, - { "label": "7", "matrix": [5, 4], "x": 10, "y": 0.25 }, - { "label": "8", "matrix": [5, 3], "x": 11, "y": 0 }, - { "label": "9", "matrix": [5, 2], "x": 12, "y": 0.25 }, - { "label": "0", "matrix": [5, 1], "x": 13, "y": 0.5 }, - { "label": "-", "matrix": [5, 0], "x": 14, "y": 0.75 }, - { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1.75 }, - { "label": "Q", "matrix": [1, 1], "x": 1, "y": 1.5 }, - { "label": "W", "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "label": "E", "matrix": [1, 3], "x": 3, "y": 1 }, - { "label": "R", "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "label": "T", "matrix": [1, 5], "x": 5, "y": 1.5 }, - { "label": "Y", "matrix": [6, 5], "x": 9, "y": 1.5 }, - { "label": "U", "matrix": [6, 4], "x": 10, "y": 1.25 }, - { "label": "I", "matrix": [6, 3], "x": 11, "y": 1 }, - { "label": "O", "matrix": [6, 2], "x": 12, "y": 1.25 }, - { "label": "P", "matrix": [6, 1], "x": 13, "y": 1.5 }, - { "label": "{", "matrix": [6, 0], "x": 14, "y": 1.75 }, - { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2.75 }, - { "label": "A", "matrix": [2, 1], "x": 1, "y": 2.5 }, - { "label": "S", "matrix": [2, 2], "x": 2, "y": 2.25 }, - { "label": "D", "matrix": [2, 3], "x": 3, "y": 2 }, - { "label": "F", "matrix": [2, 4], "x": 4, "y": 2.25 }, - { "label": "G", "matrix": [2, 5], "x": 5, "y": 2.5 }, - { "label": "H", "matrix": [7, 5], "x": 9, "y": 2.5 }, - { "label": "J", "matrix": [7, 4], "x": 10, "y": 2.25 }, - { "label": "K", "matrix": [7, 3], "x": 11, "y": 2 }, - { "label": "L", "matrix": [7, 2], "x": 12, "y": 2.25 }, - { "label": ":", "matrix": [7, 1], "x": 13, "y": 2.5 }, - { "label": "\"", "matrix": [7, 0], "x": 14, "y": 2.75 }, - { "label": "L_Ctrl", "matrix": [3, 0], "x": 0, "y": 3.75 }, - { "label": "Z", "matrix": [3, 1], "x": 1, "y": 3.5 }, - { "label": "X", "matrix": [3, 2], "x": 2, "y": 3.25 }, - { "label": "C", "matrix": [3, 3], "x": 3, "y": 3 }, - { "label": "V", "matrix": [3, 4], "x": 4, "y": 3.25 }, - { "label": "B", "matrix": [3, 5], "x": 5, "y": 3.5 }, - { "label": "Down", "matrix": [4, 5], "x": 6, "y": 3 }, - { "label": "Up", "matrix": [9, 5], "x": 8, "y": 3 }, - { "label": "N", "matrix": [8, 5], "x": 9, "y": 3.5 }, - { "label": "M", "matrix": [8, 4], "x": 10, "y": 3.25 }, - { "label": ",", "matrix": [8, 3], "x": 11, "y": 3 }, - { "label": ".", "matrix": [8, 2], "x": 12, "y": 3.25 }, - { "label": "?", "matrix": [8, 1], "x": 13, "y": 3.5 }, - { "label": "R_Ctrl", "matrix": [8, 0], "x": 14, "y": 3.75 }, - { "label": "Win", "matrix": [4, 1], "x": 2.5, "y": 4.25 }, - { "label": "Lower", "matrix": [4, 2], "x": 3.5, "y": 4.25 }, - { "label": "Alt", "matrix": [4, 3], "x": 4.5, "y": 4.5 }, - { "h": 1.25, "label": "Space", "matrix": [4, 4], "x": 6, "y": 4.25 }, - { "h": 1.25, "label": "Enter", "matrix": [9, 4], "x": 8, "y": 4.25 }, - { "label": "AltGr", "matrix": [9, 3], "x": 9.5, "y": 4.5 }, - { "label": "Raise", "matrix": [9, 2], "x": 10.5, "y": 4.25 }, - { "label": "BckSp", "matrix": [9, 1], "x": 11.5, "y": 4.25 } - ] - } - } -} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json new file mode 100644 index 000000000000..c56a4e02d988 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json @@ -0,0 +1,13 @@ +{ + "features": { + "encoder_map": true, + "auto_shift": true, + }, + "qmk": { + "tap_keycode_delay": 10 + }, +"tapping": { + "term": 175, + "toggle": 2 + }, +} diff --git a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c index b92ef2444f8a..18a378b42cb2 100644 --- a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c +++ b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c @@ -2,34 +2,16 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -void keyboard_post_init_user(void) { - autoshift_disable(); -} - -enum layers { - _QWERTY, - _NUM, - _FN, - _SYS, -}; - -enum custom_keycodes { - KC_QWERTY = SAFE_RANGE, - KC_NUMERIC, - KC_FUNCTION, - KC_SYSTEM, -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QWERTY] = LAYOUT( +[0] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT), - KC_LGUI, TG(_FN), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(_NUM), MT(MOD_RGUI,KC_BSPC) + KC_LGUI, TG(2), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(1), MT(MOD_RGUI,KC_BSPC) ), -[_NUM] = LAYOUT( +[1] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_CIRC, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_HASH, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LBRC, KC_RBRC, KC_AMPR, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX, @@ -37,7 +19,7 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, _______, _______, _______, _______, _______, _______, _______, _______ ), -[_FN] = LAYOUT( +[2] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -45,9 +27,9 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, _______, _______, _______, _______, _______, _______, _______, _______ ), -[_SYS] = LAYOUT( +[3] = LAYOUT( XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG, - QK_BOOT, XXXXXXX, KC_QWERTY, XXXXXXX, XXXXXXX, AS_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R, _______, _______, _______, _______, _______, _______, _______, _______ @@ -56,37 +38,13 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_NUM] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_SYS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } }; #endif -// This function allows switching to the 'hidden' layer. DO NOT EDIT! -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, 1, 2, 3); -} - -// Rotate OLED to fit vertical placement. DO NOT EDIT! -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - - if (is_keyboard_left()) { - return OLED_ROTATION_90; - } - return OLED_ROTATION_270; -} - -// Renders default QMK Logo. DO NOT EDIT! -void render_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 - }; - oled_write_P(qmk_logo, false); -} - static void print_status_narrow(void) { // Create OLED content oled_write_P(PSTR("\n"), false); @@ -117,10 +75,6 @@ static void print_status_narrow(void) { oled_write_P(PSTR("\n"), false); led_t led_usb_state = host_keyboard_led_state(); oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); - bool autoshift = get_autoshift_state(); - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("Auto-Shift"), autoshift); - oled_write_P(PSTR("\n"), false); } diff --git a/keyboards/tweetydabird/lotus58/caterina/lotus58.c b/keyboards/tweetydabird/lotus58/caterina/lotus58.c deleted file mode 100644 index 3ff21d71d232..000000000000 --- a/keyboards/tweetydabird/lotus58/caterina/lotus58.c +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2022 Markus Knutsson (@TweetyDaBird) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - // Rotate OLED to fit - if (is_keyboard_left()) { - return OLED_ROTATION_270; - } - return OLED_ROTATION_270; -} - -void render_logo(void) { - // QMK Logo - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 - }; - oled_write_P(qmk_logo, false); -} - -static void print_status_narrow(void) { - // Create OLED content - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR(""), false); - oled_write_P(PSTR("Lotus -58-"), false); - oled_write_P(PSTR("\n"), false); - - // Print current layer - oled_write_P(PSTR("Layer"), false); - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR("-Base\n"), false); - break; - case 1: - oled_write_P(PSTR("-Num \n"), false); - break; - case 2: - oled_write_P(PSTR("-Func\n"), false); - break; - case 3: - oled_write_P(PSTR("-Sys \n"), false); - break; - default: - oled_write_P(PSTR("Undef"), false); - } - - // Display autoshift - oled_write_P(PSTR("\n"), false); - led_t led_usb_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); - bool autoshift = get_autoshift_state(); - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("Auto-Shift"), autoshift); - oled_write_P(PSTR("\n"), false); - -} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/caterina/readme.md b/keyboards/tweetydabird/lotus58/caterina/readme.md deleted file mode 100644 index 56b64a9d38df..000000000000 --- a/keyboards/tweetydabird/lotus58/caterina/readme.md +++ /dev/null @@ -1,36 +0,0 @@ -# Lotus 58 Glow - -![lotus58](https://i.imgur.com/WWgpp0Sh.jpeg) - -* Lotus 58 Glow is a fully programmable 58-key split, ortho-columnar keyboard with a 4x6 main matrix and 4+1 thumb-keys per hand. Optional support for one OLED screen per hand/side showing information such as active layer, CapsLock/NumLock etc. as well as one Rotary Encoder per hand, with optional placement. - -* Keyboard Maintainer: [TweetyDaBird](https://github.com/TweetyDaBird) -* Hardware Supported: *Lotus 58 Glow v1.11 - 1.24 PCB, Pro Micro or pin-compatible* -* Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking) -* Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) - - -#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of RGB configuration. - -* RGB Full - Uses the 58 RGB LEDs under the keys, and is configured with RGB and a few effects. -* RGB Glow - Uses the 12 RGB LEDs underneath the PCB to create a nice glow effect between the plates. -* RGB None - Not configured with RGB. - - -Make example for this keyboard (after setting up your build environment): - - make tweetydabird/lotus58/rgb_full:default - -Flashing example for this keyboard: - - make tweetydabird/lotus58/rgb_none:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top outer key for each hand and plug in the keyboard -* **Physical reset**: Briefly short the marked pads on PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/config.h b/keyboards/tweetydabird/lotus58/config.h similarity index 62% rename from keyboards/tweetydabird/lotus58/atmeldfu/config.h rename to keyboards/tweetydabird/lotus58/config.h index 43e3879b8ec1..412b80c4a505 100644 --- a/keyboards/tweetydabird/lotus58/atmeldfu/config.h +++ b/keyboards/tweetydabird/lotus58/config.h @@ -2,22 +2,14 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/*#include "config_common.h" -// Not working correct in json implementation -#define SPLIT_USB_DETECT -#define SPLIT_USB_TIMEOUT 2000 -#define SPLIT_USB_TIMEOUT_POLL 10 - -// Not yet supported in json - -// Bootmagic Lite key configuration +// Bootmagic Lite key configuration (these do not transfer to Vial in info.json) #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 #define BOOTMAGIC_LITE_ROW_RIGHT 5 #define BOOTMAGIC_LITE_COLUMN_RIGHT 0 -*/ -// RGB options not yet fully implemented in info.json + +// Options not yet fully implemented in info.json #define RGBLIGHT_LIMIT_VAL 175 #define RGBLIGHT_DEFAULT_VAL ( RGBLIGHT_LIMIT_VAL / 2 ) #define RGBLIGHT_SLEEP diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json new file mode 100644 index 000000000000..596dbb91483b --- /dev/null +++ b/keyboards/tweetydabird/lotus58/info.json @@ -0,0 +1,154 @@ +{ + "manufacturer": "Tweetys Wild Thinking", + "keyboard_name": "Lotus 58 Glow (QMK)", + "maintainer": "TweetyDaBird", + "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + { + "pin_a": "F5", + "pin_b": "F4", + "resolution": 2 + } + ] + }, + "features": { + "audio": false, + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "grave_esc": false, + "magic": false, + "mousekey": false, + "nkro": true, + "oled": true, + "rgblight": true, + "space_cadet": false, + "split": true, + "tap_dance": false, + "tri_layer": true + }, + "matrix_pins": { + "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "matrix_size": { + "cols": 6, + "rows": 10 + }, + "pin_compatible": "promicro", + "processor": "atmega32u4", + "rgblight": { + "brightness_steps": 17, + "hue_steps": 17, + "led_count": 70, + "pin": "D3", + "saturation_steps": 17, + "split": true, + "split_count": [35, 35] + }, + "split": { + "enabled": true, + "encoder": { + "right": { + "rotary": [ + { + "pin_a": "F4", + "pin_b": "F5", + "resolution": 2 + } + ] + } + }, + "soft_serial_pin": "D2", + "transport": { + "protocol": "serial", + "sync_matrix_state": true, + "sync_modifiers": true + }, + "usb_detect": { + "enabled": true, + "polling_interval": 10, + "timeout": 2000 + } + }, + "url": "https://lectronz.com/stores/tweetys-wild-thinking", + "usb": { + "device_version": "1.2.3", + "force_nkro": true, + "pid": "0x23B0", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0.75 }, + { "label": "1", "matrix": [0, 1], "x": 1, "y": 0.5 }, + { "label": "2", "matrix": [0, 2], "x": 2, "y": 0.25 }, + { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "4", "matrix": [0, 4], "x": 4, "y": 0.25 }, + { "label": "5", "matrix": [0, 5], "x": 5, "y": 0.5 }, + { "label": "Left ENC", "matrix": [4, 0], "x": 6.25, "y": 0.75 }, + { "label": "Right ENC", "matrix": [9, 0], "x": 7.75, "y": 0.75 }, + { "label": "6", "matrix": [5, 5], "x": 9, "y": 0.5 }, + { "label": "7", "matrix": [5, 4], "x": 10, "y": 0.25 }, + { "label": "8", "matrix": [5, 3], "x": 11, "y": 0 }, + { "label": "9", "matrix": [5, 2], "x": 12, "y": 0.25 }, + { "label": "0", "matrix": [5, 1], "x": 13, "y": 0.5 }, + { "label": "-", "matrix": [5, 0], "x": 14, "y": 0.75 }, + { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1.75 }, + { "label": "Q", "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "label": "W", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "E", "matrix": [1, 3], "x": 3, "y": 1 }, + { "label": "R", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "T", "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "label": "Y", "matrix": [6, 5], "x": 9, "y": 1.5 }, + { "label": "U", "matrix": [6, 4], "x": 10, "y": 1.25 }, + { "label": "I", "matrix": [6, 3], "x": 11, "y": 1 }, + { "label": "O", "matrix": [6, 2], "x": 12, "y": 1.25 }, + { "label": "P", "matrix": [6, 1], "x": 13, "y": 1.5 }, + { "label": "{", "matrix": [6, 0], "x": 14, "y": 1.75 }, + { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2.75 }, + { "label": "A", "matrix": [2, 1], "x": 1, "y": 2.5 }, + { "label": "S", "matrix": [2, 2], "x": 2, "y": 2.25 }, + { "label": "D", "matrix": [2, 3], "x": 3, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4, "y": 2.25 }, + { "label": "G", "matrix": [2, 5], "x": 5, "y": 2.5 }, + { "label": "H", "matrix": [7, 5], "x": 9, "y": 2.5 }, + { "label": "J", "matrix": [7, 4], "x": 10, "y": 2.25 }, + { "label": "K", "matrix": [7, 3], "x": 11, "y": 2 }, + { "label": "L", "matrix": [7, 2], "x": 12, "y": 2.25 }, + { "label": ":", "matrix": [7, 1], "x": 13, "y": 2.5 }, + { "label": "\"", "matrix": [7, 0], "x": 14, "y": 2.75 }, + { "label": "L_Ctrl", "matrix": [3, 0], "x": 0, "y": 3.75 }, + { "label": "Z", "matrix": [3, 1], "x": 1, "y": 3.5 }, + { "label": "X", "matrix": [3, 2], "x": 2, "y": 3.25 }, + { "label": "C", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "V", "matrix": [3, 4], "x": 4, "y": 3.25 }, + { "label": "B", "matrix": [3, 5], "x": 5, "y": 3.5 }, + { "label": "Down", "matrix": [4, 5], "x": 6, "y": 3 }, + { "label": "Up", "matrix": [9, 5], "x": 8, "y": 3 }, + { "label": "N", "matrix": [8, 5], "x": 9, "y": 3.5 }, + { "label": "M", "matrix": [8, 4], "x": 10, "y": 3.25 }, + { "label": ",", "matrix": [8, 3], "x": 11, "y": 3 }, + { "label": ".", "matrix": [8, 2], "x": 12, "y": 3.25 }, + { "label": "?", "matrix": [8, 1], "x": 13, "y": 3.5 }, + { "label": "R_Ctrl", "matrix": [8, 0], "x": 14, "y": 3.75 }, + { "label": "Win", "matrix": [4, 1], "x": 2.5, "y": 4.25 }, + { "label": "Lower", "matrix": [4, 2], "x": 3.5, "y": 4.25 }, + { "label": "Alt", "matrix": [4, 3], "x": 4.5, "y": 4.5 }, + { "h": 1.25, "label": "Space", "matrix": [4, 4], "x": 6, "y": 4.25 }, + { "h": 1.25, "label": "Enter", "matrix": [9, 4], "x": 8, "y": 4.25 }, + { "label": "AltGr", "matrix": [9, 3], "x": 9.5, "y": 4.5 }, + { "label": "Raise", "matrix": [9, 2], "x": 10.5, "y": 4.25 }, + { "label": "BckSp", "matrix": [9, 1], "x": 11.5, "y": 4.25 } + ] + } + } +} diff --git a/keyboards/tweetydabird/lotus58/lotus58.c b/keyboards/tweetydabird/lotus58/lotus58.c new file mode 100644 index 000000000000..691078cbe1a1 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/lotus58.c @@ -0,0 +1,22 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + // Rotate OLED to fit + if (is_keyboard_left()) { + return OLED_ROTATION_270; + } + return OLED_ROTATION_270; +} + +void render_logo(void) { + // QMK Logo + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + oled_write_P(qmk_logo, false); +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/nanoboot/config.h b/keyboards/tweetydabird/lotus58/nanoboot/config.h deleted file mode 100644 index 43e3879b8ec1..000000000000 --- a/keyboards/tweetydabird/lotus58/nanoboot/config.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2022 Markus Knutsson (@TweetyDaBird) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once -/*#include "config_common.h" - -// Not working correct in json implementation -#define SPLIT_USB_DETECT -#define SPLIT_USB_TIMEOUT 2000 -#define SPLIT_USB_TIMEOUT_POLL 10 - -// Not yet supported in json - -// Bootmagic Lite key configuration -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 -#define BOOTMAGIC_LITE_ROW_RIGHT 5 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 0 -*/ -// RGB options not yet fully implemented in info.json -#define RGBLIGHT_LIMIT_VAL 175 -#define RGBLIGHT_DEFAULT_VAL ( RGBLIGHT_LIMIT_VAL / 2 ) -#define RGBLIGHT_SLEEP - -#define SPLIT_HAND_PIN B5 -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_LED_STATE_ENABLE -#define SPLIT_OLED_ENABLE diff --git a/keyboards/tweetydabird/lotus58/nanoboot/info.json b/keyboards/tweetydabird/lotus58/nanoboot/info.json deleted file mode 100644 index fa1f26a909ac..000000000000 --- a/keyboards/tweetydabird/lotus58/nanoboot/info.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "manufacturer": "Tweetys Wild Thinking", - "keyboard_name": "Lotus 58 Glow (QMK)", - "maintainer": "TweetyDaBird", - "bootloader": "qmk-hid", - "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", - "bootmagic": { - "enabled": true, - "matrix": [0, 0] - }, - "build": { - "lto": true - }, - "debounce": 5, - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - { - "pin_a": "F5", - "pin_b": "F4", - "resolution": 2 - } - ] - }, - "features": { - "audio": false, - "auto_shift": true, - "bootmagic": true, - "command": false, - "console": false, - "encoder": true, - "encoder_map": true, - "extrakey": true, - "grave_esc": false, - "magic": false, - "mousekey": false, - "nkro": true, - "oled": true, - "rgblight": true, - "space_cadet": false, - "split": true, - "tap_dance": false - }, - "keyboard_folder": "tweetydabird/lotus58/nanoboot", - "keymaps": {}, - "matrix_pins": { - "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], - "rows": ["D4", "C6", "D7", "E6", "B4"] - }, - "matrix_size": { - "cols": 6, - "rows": 10 - }, - "pin_compatible": "promicro", - "platform": "unknown", - "platform_key": "avr", - "processor": "atmega32u4", - "processor_type": "avr", - "protocol": "LUFA", - "qmk": { - "tap_keycode_delay": 10 - }, - "rgblight": { - "animations": { - "breathing": true, - "rainbow_mood": true, - "static_gradient": true - }, - "brightness_steps": 17, - "hue_steps": 17, - "led_count": 70, - "pin": "D3", - "saturation_steps": 17, - "split": true, - "split_count": [35, 35] - }, - "split": { - "bootmagic": { - "matrix": [0, 5] - }, - "enabled": true, - "encoder": { - "right": { - "rotary": [ - { - "pin_a": "F4", - "pin_b": "F5", - "resolution": 2 - } - ] - } - }, - "soft_serial_pin": "D2", - "transport": { - "protocol": "serial", - "sync_matrix_state": true, - "sync_modifiers": true - }, - "usb_detect": { - "enabled": true, - "polling_interval": 10, - "timeout": 2000 - } - }, - "tapping": { - "term": 175, - "toggle": 2 - }, - "url": "https://lectronz.com/stores/tweetys-wild-thinking", - "usb": { - "device_version": "1.2.3", - "force_nkro": true, - "pid": "0x23B0", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "c_macro": false, - "json_layout": true, - "layout": [ - { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0.75 }, - { "label": "1", "matrix": [0, 1], "x": 1, "y": 0.5 }, - { "label": "2", "matrix": [0, 2], "x": 2, "y": 0.25 }, - { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, - { "label": "4", "matrix": [0, 4], "x": 4, "y": 0.25 }, - { "label": "5", "matrix": [0, 5], "x": 5, "y": 0.5 }, - { "label": "Left ENC", "matrix": [4, 0], "x": 6.25, "y": 0.75 }, - { "label": "Right ENC", "matrix": [9, 0], "x": 7.75, "y": 0.75 }, - { "label": "6", "matrix": [5, 5], "x": 9, "y": 0.5 }, - { "label": "7", "matrix": [5, 4], "x": 10, "y": 0.25 }, - { "label": "8", "matrix": [5, 3], "x": 11, "y": 0 }, - { "label": "9", "matrix": [5, 2], "x": 12, "y": 0.25 }, - { "label": "0", "matrix": [5, 1], "x": 13, "y": 0.5 }, - { "label": "-", "matrix": [5, 0], "x": 14, "y": 0.75 }, - { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1.75 }, - { "label": "Q", "matrix": [1, 1], "x": 1, "y": 1.5 }, - { "label": "W", "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "label": "E", "matrix": [1, 3], "x": 3, "y": 1 }, - { "label": "R", "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "label": "T", "matrix": [1, 5], "x": 5, "y": 1.5 }, - { "label": "Y", "matrix": [6, 5], "x": 9, "y": 1.5 }, - { "label": "U", "matrix": [6, 4], "x": 10, "y": 1.25 }, - { "label": "I", "matrix": [6, 3], "x": 11, "y": 1 }, - { "label": "O", "matrix": [6, 2], "x": 12, "y": 1.25 }, - { "label": "P", "matrix": [6, 1], "x": 13, "y": 1.5 }, - { "label": "{", "matrix": [6, 0], "x": 14, "y": 1.75 }, - { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2.75 }, - { "label": "A", "matrix": [2, 1], "x": 1, "y": 2.5 }, - { "label": "S", "matrix": [2, 2], "x": 2, "y": 2.25 }, - { "label": "D", "matrix": [2, 3], "x": 3, "y": 2 }, - { "label": "F", "matrix": [2, 4], "x": 4, "y": 2.25 }, - { "label": "G", "matrix": [2, 5], "x": 5, "y": 2.5 }, - { "label": "H", "matrix": [7, 5], "x": 9, "y": 2.5 }, - { "label": "J", "matrix": [7, 4], "x": 10, "y": 2.25 }, - { "label": "K", "matrix": [7, 3], "x": 11, "y": 2 }, - { "label": "L", "matrix": [7, 2], "x": 12, "y": 2.25 }, - { "label": ":", "matrix": [7, 1], "x": 13, "y": 2.5 }, - { "label": "\"", "matrix": [7, 0], "x": 14, "y": 2.75 }, - { "label": "L_Ctrl", "matrix": [3, 0], "x": 0, "y": 3.75 }, - { "label": "Z", "matrix": [3, 1], "x": 1, "y": 3.5 }, - { "label": "X", "matrix": [3, 2], "x": 2, "y": 3.25 }, - { "label": "C", "matrix": [3, 3], "x": 3, "y": 3 }, - { "label": "V", "matrix": [3, 4], "x": 4, "y": 3.25 }, - { "label": "B", "matrix": [3, 5], "x": 5, "y": 3.5 }, - { "label": "Down", "matrix": [4, 5], "x": 6, "y": 3 }, - { "label": "Up", "matrix": [9, 5], "x": 8, "y": 3 }, - { "label": "N", "matrix": [8, 5], "x": 9, "y": 3.5 }, - { "label": "M", "matrix": [8, 4], "x": 10, "y": 3.25 }, - { "label": ",", "matrix": [8, 3], "x": 11, "y": 3 }, - { "label": ".", "matrix": [8, 2], "x": 12, "y": 3.25 }, - { "label": "?", "matrix": [8, 1], "x": 13, "y": 3.5 }, - { "label": "R_Ctrl", "matrix": [8, 0], "x": 14, "y": 3.75 }, - { "label": "Win", "matrix": [4, 1], "x": 2.5, "y": 4.25 }, - { "label": "Lower", "matrix": [4, 2], "x": 3.5, "y": 4.25 }, - { "label": "Alt", "matrix": [4, 3], "x": 4.5, "y": 4.5 }, - { "h": 1.25, "label": "Space", "matrix": [4, 4], "x": 6, "y": 4.25 }, - { "h": 1.25, "label": "Enter", "matrix": [9, 4], "x": 8, "y": 4.25 }, - { "label": "AltGr", "matrix": [9, 3], "x": 9.5, "y": 4.5 }, - { "label": "Raise", "matrix": [9, 2], "x": 10.5, "y": 4.25 }, - { "label": "BckSp", "matrix": [9, 1], "x": 11.5, "y": 4.25 } - ] - } - } -} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json new file mode 100644 index 000000000000..c56a4e02d988 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json @@ -0,0 +1,13 @@ +{ + "features": { + "encoder_map": true, + "auto_shift": true, + }, + "qmk": { + "tap_keycode_delay": 10 + }, +"tapping": { + "term": 175, + "toggle": 2 + }, +} diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c index b92ef2444f8a..18a378b42cb2 100644 --- a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c +++ b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c @@ -2,34 +2,16 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -void keyboard_post_init_user(void) { - autoshift_disable(); -} - -enum layers { - _QWERTY, - _NUM, - _FN, - _SYS, -}; - -enum custom_keycodes { - KC_QWERTY = SAFE_RANGE, - KC_NUMERIC, - KC_FUNCTION, - KC_SYSTEM, -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QWERTY] = LAYOUT( +[0] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT), - KC_LGUI, TG(_FN), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(_NUM), MT(MOD_RGUI,KC_BSPC) + KC_LGUI, TG(2), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(1), MT(MOD_RGUI,KC_BSPC) ), -[_NUM] = LAYOUT( +[1] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_CIRC, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_HASH, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LBRC, KC_RBRC, KC_AMPR, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX, @@ -37,7 +19,7 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, _______, _______, _______, _______, _______, _______, _______, _______ ), -[_FN] = LAYOUT( +[2] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -45,9 +27,9 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, _______, _______, _______, _______, _______, _______, _______, _______ ), -[_SYS] = LAYOUT( +[3] = LAYOUT( XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG, - QK_BOOT, XXXXXXX, KC_QWERTY, XXXXXXX, XXXXXXX, AS_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R, _______, _______, _______, _______, _______, _______, _______, _______ @@ -56,37 +38,13 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_NUM] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_SYS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } }; #endif -// This function allows switching to the 'hidden' layer. DO NOT EDIT! -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, 1, 2, 3); -} - -// Rotate OLED to fit vertical placement. DO NOT EDIT! -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - - if (is_keyboard_left()) { - return OLED_ROTATION_90; - } - return OLED_ROTATION_270; -} - -// Renders default QMK Logo. DO NOT EDIT! -void render_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 - }; - oled_write_P(qmk_logo, false); -} - static void print_status_narrow(void) { // Create OLED content oled_write_P(PSTR("\n"), false); @@ -117,10 +75,6 @@ static void print_status_narrow(void) { oled_write_P(PSTR("\n"), false); led_t led_usb_state = host_keyboard_led_state(); oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); - bool autoshift = get_autoshift_state(); - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("Auto-Shift"), autoshift); - oled_write_P(PSTR("\n"), false); } diff --git a/keyboards/tweetydabird/lotus58/nanoboot/lotus58.c b/keyboards/tweetydabird/lotus58/nanoboot/lotus58.c deleted file mode 100644 index 3ff21d71d232..000000000000 --- a/keyboards/tweetydabird/lotus58/nanoboot/lotus58.c +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2022 Markus Knutsson (@TweetyDaBird) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - // Rotate OLED to fit - if (is_keyboard_left()) { - return OLED_ROTATION_270; - } - return OLED_ROTATION_270; -} - -void render_logo(void) { - // QMK Logo - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 - }; - oled_write_P(qmk_logo, false); -} - -static void print_status_narrow(void) { - // Create OLED content - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR(""), false); - oled_write_P(PSTR("Lotus -58-"), false); - oled_write_P(PSTR("\n"), false); - - // Print current layer - oled_write_P(PSTR("Layer"), false); - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR("-Base\n"), false); - break; - case 1: - oled_write_P(PSTR("-Num \n"), false); - break; - case 2: - oled_write_P(PSTR("-Func\n"), false); - break; - case 3: - oled_write_P(PSTR("-Sys \n"), false); - break; - default: - oled_write_P(PSTR("Undef"), false); - } - - // Display autoshift - oled_write_P(PSTR("\n"), false); - led_t led_usb_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); - bool autoshift = get_autoshift_state(); - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("Auto-Shift"), autoshift); - oled_write_P(PSTR("\n"), false); - -} \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/nanoboot/readme.md b/keyboards/tweetydabird/lotus58/readme.md similarity index 73% rename from keyboards/tweetydabird/lotus58/nanoboot/readme.md rename to keyboards/tweetydabird/lotus58/readme.md index 56b64a9d38df..3abcccba33cf 100644 --- a/keyboards/tweetydabird/lotus58/nanoboot/readme.md +++ b/keyboards/tweetydabird/lotus58/readme.md @@ -5,25 +5,26 @@ * Lotus 58 Glow is a fully programmable 58-key split, ortho-columnar keyboard with a 4x6 main matrix and 4+1 thumb-keys per hand. Optional support for one OLED screen per hand/side showing information such as active layer, CapsLock/NumLock etc. as well as one Rotary Encoder per hand, with optional placement. * Keyboard Maintainer: [TweetyDaBird](https://github.com/TweetyDaBird) -* Hardware Supported: *Lotus 58 Glow v1.11 - 1.24 PCB, Pro Micro or pin-compatible* +* Hardware Supported: *Lotus 58 Glow v1.11 - 1.2x PCB, Pro Micro or pin-compatible* * Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking) * Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) -#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of RGB configuration. +#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of bootloader. -* RGB Full - Uses the 58 RGB LEDs under the keys, and is configured with RGB and a few effects. -* RGB Glow - Uses the 12 RGB LEDs underneath the PCB to create a nice glow effect between the plates. -* RGB None - Not configured with RGB. + +* Caterina - The default Pro Micro bootloader. +* Atmel-DFU - The default bootloader for Elite C. +* nanoBoot - A tiny 512 byte bootloader giving far more usable memory for features. Make example for this keyboard (after setting up your build environment): - make tweetydabird/lotus58/rgb_full:default + make tweetydabird/lotus58/caterina:default Flashing example for this keyboard: - make tweetydabird/lotus58/rgb_none:default:flash + make tweetydabird/lotus58/caterina:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). From a90217224d99f2c5b3cf843e8cb2a63de4b131c0 Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Mon, 10 Apr 2023 20:38:32 +0200 Subject: [PATCH 04/17] Update keyboards/tweetydabird/lotus58/info.json Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/tweetydabird/lotus58/info.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json index 596dbb91483b..cc53791cbc9c 100644 --- a/keyboards/tweetydabird/lotus58/info.json +++ b/keyboards/tweetydabird/lotus58/info.json @@ -38,10 +38,6 @@ "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], "rows": ["D4", "C6", "D7", "E6", "B4"] }, - "matrix_size": { - "cols": 6, - "rows": 10 - }, "pin_compatible": "promicro", "processor": "atmega32u4", "rgblight": { From 2d213628c0ac6c674527a830624a83571ee87c2e Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Mon, 10 Apr 2023 20:38:54 +0200 Subject: [PATCH 05/17] Update keyboards/tweetydabird/lotus58/lotus58.c Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/tweetydabird/lotus58/lotus58.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/keyboards/tweetydabird/lotus58/lotus58.c b/keyboards/tweetydabird/lotus58/lotus58.c index 691078cbe1a1..8006eb217472 100644 --- a/keyboards/tweetydabird/lotus58/lotus58.c +++ b/keyboards/tweetydabird/lotus58/lotus58.c @@ -3,12 +3,9 @@ #include "quantum.h" +#ifdef OLED_ENABLE oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - // Rotate OLED to fit - if (is_keyboard_left()) { return OLED_ROTATION_270; - } - return OLED_ROTATION_270; } void render_logo(void) { From 3483506007cc7795d940c2abc81970a3483b9747 Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Mon, 10 Apr 2023 20:39:11 +0200 Subject: [PATCH 06/17] Update keyboards/tweetydabird/lotus58/lotus58.c Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/tweetydabird/lotus58/lotus58.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/keyboards/tweetydabird/lotus58/lotus58.c b/keyboards/tweetydabird/lotus58/lotus58.c index 8006eb217472..900852b5ff89 100644 --- a/keyboards/tweetydabird/lotus58/lotus58.c +++ b/keyboards/tweetydabird/lotus58/lotus58.c @@ -16,4 +16,13 @@ void render_logo(void) { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 }; oled_write_P(qmk_logo, false); -} \ No newline at end of file +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + render_logo(); + return false; +} +#endif \ No newline at end of file From d1fe51a0428de590efb577a2340e34ad354538a9 Mon Sep 17 00:00:00 2001 From: TweetyDaBird Date: Mon, 10 Apr 2023 20:43:02 +0200 Subject: [PATCH 07/17] removed whitespace --- .../atmeldfu/keymaps/default/info.json | 26 +++++++++---------- .../lotus58/atmeldfu/keymaps/default/keymap.c | 4 ++- .../caterina/keymaps/default/info.json | 26 +++++++++---------- .../lotus58/caterina/keymaps/default/keymap.c | 5 ++-- keyboards/tweetydabird/lotus58/lotus58.c | 3 ++- .../nanoboot/keymaps/default/info.json | 26 +++++++++---------- .../lotus58/nanoboot/keymaps/default/keymap.c | 7 ++--- 7 files changed, 51 insertions(+), 46 deletions(-) diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json b/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json index c56a4e02d988..0810e754a936 100644 --- a/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json +++ b/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json @@ -1,13 +1,13 @@ -{ - "features": { - "encoder_map": true, - "auto_shift": true, - }, - "qmk": { - "tap_keycode_delay": 10 - }, -"tapping": { - "term": 175, - "toggle": 2 - }, -} +{ + "features": { + "encoder_map": true, + "auto_shift": true, + }, + "qmk": { + "tap_keycode_delay": 10 + }, +"tapping": { + "term": 175, + "toggle": 2 + }, +} diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c index 18a378b42cb2..f3830af91c64 100644 --- a/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c +++ b/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c @@ -45,6 +45,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { }; #endif +#ifdef OLED_ENABLE static void print_status_narrow(void) { // Create OLED content oled_write_P(PSTR("\n"), false); @@ -88,4 +89,5 @@ bool oled_task_user(void) { //render_logo(); } return false; -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json index c56a4e02d988..0810e754a936 100644 --- a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json +++ b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json @@ -1,13 +1,13 @@ -{ - "features": { - "encoder_map": true, - "auto_shift": true, - }, - "qmk": { - "tap_keycode_delay": 10 - }, -"tapping": { - "term": 175, - "toggle": 2 - }, -} +{ + "features": { + "encoder_map": true, + "auto_shift": true, + }, + "qmk": { + "tap_keycode_delay": 10 + }, +"tapping": { + "term": 175, + "toggle": 2 + }, +} diff --git a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c index 18a378b42cb2..11ba43b4c3ed 100644 --- a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c +++ b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c @@ -45,6 +45,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { }; #endif +#ifdef OLED_ENABLE static void print_status_narrow(void) { // Create OLED content oled_write_P(PSTR("\n"), false); @@ -71,7 +72,6 @@ static void print_status_narrow(void) { oled_write_P(PSTR("Undef"), false); } - // Display autoshift oled_write_P(PSTR("\n"), false); led_t led_usb_state = host_keyboard_led_state(); oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); @@ -88,4 +88,5 @@ bool oled_task_user(void) { //render_logo(); } return false; -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/lotus58.c b/keyboards/tweetydabird/lotus58/lotus58.c index 900852b5ff89..7c8553daedd6 100644 --- a/keyboards/tweetydabird/lotus58/lotus58.c +++ b/keyboards/tweetydabird/lotus58/lotus58.c @@ -4,8 +4,9 @@ #include "quantum.h" #ifdef OLED_ENABLE + oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - return OLED_ROTATION_270; + return OLED_ROTATION_90; } void render_logo(void) { diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json index c56a4e02d988..0810e754a936 100644 --- a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json +++ b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json @@ -1,13 +1,13 @@ -{ - "features": { - "encoder_map": true, - "auto_shift": true, - }, - "qmk": { - "tap_keycode_delay": 10 - }, -"tapping": { - "term": 175, - "toggle": 2 - }, -} +{ + "features": { + "encoder_map": true, + "auto_shift": true, + }, + "qmk": { + "tap_keycode_delay": 10 + }, +"tapping": { + "term": 175, + "toggle": 2 + }, +} diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c index 18a378b42cb2..9b487c79c3a6 100644 --- a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c +++ b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c @@ -45,6 +45,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { }; #endif +#ifdef OLED_ENABLE static void print_status_narrow(void) { // Create OLED content oled_write_P(PSTR("\n"), false); @@ -71,8 +72,7 @@ static void print_status_narrow(void) { oled_write_P(PSTR("Undef"), false); } - // Display autoshift - oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("\n"), false); led_t led_usb_state = host_keyboard_led_state(); oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); @@ -88,4 +88,5 @@ bool oled_task_user(void) { //render_logo(); } return false; -} \ No newline at end of file +} +#endif \ No newline at end of file From cb8455f6b6b272d8cc9796332df8a5c50d2cc7fc Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Tue, 11 Apr 2023 08:16:27 +0200 Subject: [PATCH 08/17] Update keyboards/tweetydabird/lotus58/config.h Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/tweetydabird/lotus58/config.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/keyboards/tweetydabird/lotus58/config.h b/keyboards/tweetydabird/lotus58/config.h index 412b80c4a505..5c589b5d872e 100644 --- a/keyboards/tweetydabird/lotus58/config.h +++ b/keyboards/tweetydabird/lotus58/config.h @@ -3,12 +3,6 @@ #pragma once -// Bootmagic Lite key configuration (these do not transfer to Vial in info.json) -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 -#define BOOTMAGIC_LITE_ROW_RIGHT 5 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 0 - // Options not yet fully implemented in info.json #define RGBLIGHT_LIMIT_VAL 175 #define RGBLIGHT_DEFAULT_VAL ( RGBLIGHT_LIMIT_VAL / 2 ) From 6fdb9addfd2c69eb2f10870e756f2ba07c33603c Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Tue, 11 Apr 2023 08:17:44 +0200 Subject: [PATCH 09/17] Update keyboards/tweetydabird/lotus58/info.json Co-authored-by: Joel Challis --- keyboards/tweetydabird/lotus58/info.json | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json index cc53791cbc9c..65b594d42ec9 100644 --- a/keyboards/tweetydabird/lotus58/info.json +++ b/keyboards/tweetydabird/lotus58/info.json @@ -17,22 +17,17 @@ ] }, "features": { - "audio": false, "bootmagic": true, "command": false, "console": false, "encoder": true, "extrakey": true, - "grave_esc": false, - "magic": false, - "mousekey": false, + "mousekey": true, "nkro": true, "oled": true, "rgblight": true, - "space_cadet": false, "split": true, - "tap_dance": false, - "tri_layer": true + "tri_layer": true }, "matrix_pins": { "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], From 73c0b2ba303cdd4421a009a1c3a69cea807bf09c Mon Sep 17 00:00:00 2001 From: TweetyDaBird Date: Tue, 11 Apr 2023 08:50:38 +0200 Subject: [PATCH 10/17] Renamed folders, removed keymap info.json, bootmagic --- .../lotus58/atmeldfu/keymaps/default/info.json | 13 ------------- .../lotus58/caterina/keymaps/default/info.json | 13 ------------- .../{atmeldfu => elite_c}/keymaps/default/keymap.c | 0 .../lotus58/elite_c/keymaps/default/rules.mk | 2 ++ .../lotus58/{atmeldfu => elite_c}/rules.mk | 0 keyboards/tweetydabird/lotus58/info.json | 8 +++++++- .../lotus58/nanoboot/keymaps/default/info.json | 13 ------------- .../lotus58/nanoboot/keymaps/default/rules.mk | 2 ++ .../keymaps/default/keymap.c | 0 .../lotus58/promicro/keymaps/default/rules.mk | 2 ++ .../lotus58/{caterina => promicro}/rules.mk | 0 keyboards/tweetydabird/lotus58/readme.md | 14 +++++++------- 12 files changed, 20 insertions(+), 47 deletions(-) delete mode 100644 keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json delete mode 100644 keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json rename keyboards/tweetydabird/lotus58/{atmeldfu => elite_c}/keymaps/default/keymap.c (100%) create mode 100644 keyboards/tweetydabird/lotus58/elite_c/keymaps/default/rules.mk rename keyboards/tweetydabird/lotus58/{atmeldfu => elite_c}/rules.mk (100%) delete mode 100644 keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json create mode 100644 keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/rules.mk rename keyboards/tweetydabird/lotus58/{caterina => promicro}/keymaps/default/keymap.c (100%) create mode 100644 keyboards/tweetydabird/lotus58/promicro/keymaps/default/rules.mk rename keyboards/tweetydabird/lotus58/{caterina => promicro}/rules.mk (100%) diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json b/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json deleted file mode 100644 index 0810e754a936..000000000000 --- a/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/info.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "features": { - "encoder_map": true, - "auto_shift": true, - }, - "qmk": { - "tap_keycode_delay": 10 - }, -"tapping": { - "term": 175, - "toggle": 2 - }, -} diff --git a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json b/keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json deleted file mode 100644 index 0810e754a936..000000000000 --- a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/info.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "features": { - "encoder_map": true, - "auto_shift": true, - }, - "qmk": { - "tap_keycode_delay": 10 - }, -"tapping": { - "term": 175, - "toggle": 2 - }, -} diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/elite_c/keymaps/default/keymap.c similarity index 100% rename from keyboards/tweetydabird/lotus58/atmeldfu/keymaps/default/keymap.c rename to keyboards/tweetydabird/lotus58/elite_c/keymaps/default/keymap.c diff --git a/keyboards/tweetydabird/lotus58/elite_c/keymaps/default/rules.mk b/keyboards/tweetydabird/lotus58/elite_c/keymaps/default/rules.mk new file mode 100644 index 000000000000..a944672a67b2 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/elite_c/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +AUTO_SHIFT_ENABLE = yes diff --git a/keyboards/tweetydabird/lotus58/atmeldfu/rules.mk b/keyboards/tweetydabird/lotus58/elite_c/rules.mk similarity index 100% rename from keyboards/tweetydabird/lotus58/atmeldfu/rules.mk rename to keyboards/tweetydabird/lotus58/elite_c/rules.mk diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json index 65b594d42ec9..4803fb42c3ef 100644 --- a/keyboards/tweetydabird/lotus58/info.json +++ b/keyboards/tweetydabird/lotus58/info.json @@ -3,6 +3,9 @@ "keyboard_name": "Lotus 58 Glow (QMK)", "maintainer": "TweetyDaBird", "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", + "bootmagic": { + "matrix": [0, 0] + }, "build": { "lto": true }, @@ -45,7 +48,10 @@ "split_count": [35, 35] }, "split": { - "enabled": true, + "bootmagic": { + "matrix": [5, 0] + }, + "enabled": true, "encoder": { "right": { "rotary": [ diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json deleted file mode 100644 index 0810e754a936..000000000000 --- a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/info.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "features": { - "encoder_map": true, - "auto_shift": true, - }, - "qmk": { - "tap_keycode_delay": 10 - }, -"tapping": { - "term": 175, - "toggle": 2 - }, -} diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/rules.mk b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/rules.mk new file mode 100644 index 000000000000..a944672a67b2 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +AUTO_SHIFT_ENABLE = yes diff --git a/keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/promicro/keymaps/default/keymap.c similarity index 100% rename from keyboards/tweetydabird/lotus58/caterina/keymaps/default/keymap.c rename to keyboards/tweetydabird/lotus58/promicro/keymaps/default/keymap.c diff --git a/keyboards/tweetydabird/lotus58/promicro/keymaps/default/rules.mk b/keyboards/tweetydabird/lotus58/promicro/keymaps/default/rules.mk new file mode 100644 index 000000000000..a944672a67b2 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/promicro/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +AUTO_SHIFT_ENABLE = yes diff --git a/keyboards/tweetydabird/lotus58/caterina/rules.mk b/keyboards/tweetydabird/lotus58/promicro/rules.mk similarity index 100% rename from keyboards/tweetydabird/lotus58/caterina/rules.mk rename to keyboards/tweetydabird/lotus58/promicro/rules.mk diff --git a/keyboards/tweetydabird/lotus58/readme.md b/keyboards/tweetydabird/lotus58/readme.md index 3abcccba33cf..57a89a9b0372 100644 --- a/keyboards/tweetydabird/lotus58/readme.md +++ b/keyboards/tweetydabird/lotus58/readme.md @@ -10,21 +10,21 @@ * Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) -#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of bootloader. +#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of controller/bootloader. -* Caterina - The default Pro Micro bootloader. -* Atmel-DFU - The default bootloader for Elite C. -* nanoBoot - A tiny 512 byte bootloader giving far more usable memory for features. +* promicro - This uses the default Caterina bootloader. +* elite_c - This uses the Atmel-DFU bootloader. +* nanoBoot - A tiny 512 byte bootloader giving far more usable memory for features (can be used on both Elite C and Pro Micro). Make example for this keyboard (after setting up your build environment): - make tweetydabird/lotus58/caterina:default + make tweetydabird/lotus58/promicro:default Flashing example for this keyboard: - make tweetydabird/lotus58/caterina:default:flash + make tweetydabird/lotus58/elite_c:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). @@ -32,6 +32,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: -* **Bootmagic reset**: Hold down the top outer key for each hand and plug in the keyboard +* **Bootmagic reset**: Hold down the top outer key for each hand as it is plugged in * **Physical reset**: Briefly short the marked pads on PCB * **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) From 0a90ac0dfa9a4afb04e4b1dbc497776732292e2b Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Tue, 11 Apr 2023 17:57:25 +0200 Subject: [PATCH 11/17] Update keyboards/tweetydabird/lotus58/info.json Co-authored-by: Joel Challis --- keyboards/tweetydabird/lotus58/info.json | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json index 4803fb42c3ef..eace5dfc7571 100644 --- a/keyboards/tweetydabird/lotus58/info.json +++ b/keyboards/tweetydabird/lotus58/info.json @@ -43,7 +43,6 @@ "hue_steps": 17, "led_count": 70, "pin": "D3", - "saturation_steps": 17, "split": true, "split_count": [35, 35] }, From a2a45447f8b67e36a7ad9203284418e2286e4854 Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Tue, 11 Apr 2023 17:57:32 +0200 Subject: [PATCH 12/17] Update keyboards/tweetydabird/lotus58/info.json Co-authored-by: Joel Challis --- keyboards/tweetydabird/lotus58/info.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json index eace5dfc7571..42d07825fddf 100644 --- a/keyboards/tweetydabird/lotus58/info.json +++ b/keyboards/tweetydabird/lotus58/info.json @@ -39,8 +39,6 @@ "pin_compatible": "promicro", "processor": "atmega32u4", "rgblight": { - "brightness_steps": 17, - "hue_steps": 17, "led_count": 70, "pin": "D3", "split": true, From a00f3a0e3251902f7c7c00b3e40babea9d05b24a Mon Sep 17 00:00:00 2001 From: TweetyDaBird Date: Thu, 13 Apr 2023 15:17:37 +0200 Subject: [PATCH 13/17] Single keymap folder --- .../lotus58/elite_c/keymaps/default/keymap.c | 93 ------------------- .../{promicro => }/keymaps/default/keymap.c | 0 .../{elite_c => }/keymaps/default/rules.mk | 0 .../lotus58/nanoboot/keymaps/default/keymap.c | 92 ------------------ .../lotus58/nanoboot/keymaps/default/rules.mk | 2 - .../lotus58/promicro/keymaps/default/rules.mk | 2 - 6 files changed, 189 deletions(-) delete mode 100644 keyboards/tweetydabird/lotus58/elite_c/keymaps/default/keymap.c rename keyboards/tweetydabird/lotus58/{promicro => }/keymaps/default/keymap.c (100%) rename keyboards/tweetydabird/lotus58/{elite_c => }/keymaps/default/rules.mk (100%) delete mode 100644 keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c delete mode 100644 keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/rules.mk delete mode 100644 keyboards/tweetydabird/lotus58/promicro/keymaps/default/rules.mk diff --git a/keyboards/tweetydabird/lotus58/elite_c/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/elite_c/keymaps/default/keymap.c deleted file mode 100644 index f3830af91c64..000000000000 --- a/keyboards/tweetydabird/lotus58/elite_c/keymaps/default/keymap.c +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2022 Markus Knutsson (@TweetyDaBird) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, -LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT), - KC_LGUI, TG(2), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(1), MT(MOD_RGUI,KC_BSPC) -), - -[1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_CIRC, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_HASH, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX, - XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LBRC, KC_RBRC, KC_AMPR, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_PAST, KC_PPLS, KC_PSLS, KC_EQL, _______, _______, KC_DLR, KC_KP_0, KC_KP_DOT, KC_COLN, KC_PMNS, _______, - _______, _______, _______, _______, _______, _______, _______, _______ -), - -[2] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ -), - -[3] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG, - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } -}; -#endif - -#ifdef OLED_ENABLE -static void print_status_narrow(void) { - // Create OLED content - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR(""), false); - oled_write_P(PSTR("Lotus -58-"), false); - oled_write_P(PSTR("\n"), false); - - // Print current layer - oled_write_P(PSTR("Layer"), false); - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR("-Base\n"), false); - break; - case 1: - oled_write_P(PSTR("-Num \n"), false); - break; - case 2: - oled_write_P(PSTR("-Func\n"), false); - break; - case 3: - oled_write_P(PSTR("-Sys \n"), false); - break; - default: - oled_write_P(PSTR("Undef"), false); - } - - // Display autoshift - oled_write_P(PSTR("\n"), false); - led_t led_usb_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); - -} - -bool oled_task_user(void) { - // Render the OLED - if (is_keyboard_left()) { - print_status_narrow(); - //render_logo(); - } else { - print_status_narrow(); - //render_logo(); - } - return false; -} -#endif \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/promicro/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c similarity index 100% rename from keyboards/tweetydabird/lotus58/promicro/keymaps/default/keymap.c rename to keyboards/tweetydabird/lotus58/keymaps/default/keymap.c diff --git a/keyboards/tweetydabird/lotus58/elite_c/keymaps/default/rules.mk b/keyboards/tweetydabird/lotus58/keymaps/default/rules.mk similarity index 100% rename from keyboards/tweetydabird/lotus58/elite_c/keymaps/default/rules.mk rename to keyboards/tweetydabird/lotus58/keymaps/default/rules.mk diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c deleted file mode 100644 index 9b487c79c3a6..000000000000 --- a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/keymap.c +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2022 Markus Knutsson (@TweetyDaBird) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, -LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT), - KC_LGUI, TG(2), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(1), MT(MOD_RGUI,KC_BSPC) -), - -[1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_CIRC, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_HASH, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX, - XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LBRC, KC_RBRC, KC_AMPR, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_PAST, KC_PPLS, KC_PSLS, KC_EQL, _______, _______, KC_DLR, KC_KP_0, KC_KP_DOT, KC_COLN, KC_PMNS, _______, - _______, _______, _______, _______, _______, _______, _______, _______ -), - -[2] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ -), - -[3] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG, - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } -}; -#endif - -#ifdef OLED_ENABLE -static void print_status_narrow(void) { - // Create OLED content - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR(""), false); - oled_write_P(PSTR("Lotus -58-"), false); - oled_write_P(PSTR("\n"), false); - - // Print current layer - oled_write_P(PSTR("Layer"), false); - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR("-Base\n"), false); - break; - case 1: - oled_write_P(PSTR("-Num \n"), false); - break; - case 2: - oled_write_P(PSTR("-Func\n"), false); - break; - case 3: - oled_write_P(PSTR("-Sys \n"), false); - break; - default: - oled_write_P(PSTR("Undef"), false); - } - - oled_write_P(PSTR("\n"), false); - led_t led_usb_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); - -} - -bool oled_task_user(void) { - // Render the OLED - if (is_keyboard_left()) { - print_status_narrow(); - //render_logo(); - } else { - print_status_narrow(); - //render_logo(); - } - return false; -} -#endif \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/rules.mk b/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/rules.mk deleted file mode 100644 index a944672a67b2..000000000000 --- a/keyboards/tweetydabird/lotus58/nanoboot/keymaps/default/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -ENCODER_MAP_ENABLE = yes -AUTO_SHIFT_ENABLE = yes diff --git a/keyboards/tweetydabird/lotus58/promicro/keymaps/default/rules.mk b/keyboards/tweetydabird/lotus58/promicro/keymaps/default/rules.mk deleted file mode 100644 index a944672a67b2..000000000000 --- a/keyboards/tweetydabird/lotus58/promicro/keymaps/default/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -ENCODER_MAP_ENABLE = yes -AUTO_SHIFT_ENABLE = yes From 06d5ed1bef21c06ba2e8e1236384a0c28c52dbcd Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Sat, 15 Apr 2023 09:54:13 +0200 Subject: [PATCH 14/17] Update keyboards/tweetydabird/lotus58/info.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com> --- keyboards/tweetydabird/lotus58/info.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json index 42d07825fddf..8182854ff620 100644 --- a/keyboards/tweetydabird/lotus58/info.json +++ b/keyboards/tweetydabird/lotus58/info.json @@ -3,9 +3,6 @@ "keyboard_name": "Lotus 58 Glow (QMK)", "maintainer": "TweetyDaBird", "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", - "bootmagic": { - "matrix": [0, 0] - }, "build": { "lto": true }, From 13eb7331a207c8cb8f041c2206906b55648f8f53 Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Sat, 15 Apr 2023 09:54:31 +0200 Subject: [PATCH 15/17] Update keyboards/tweetydabird/lotus58/keymaps/default/keymap.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com> --- keyboards/tweetydabird/lotus58/keymaps/default/keymap.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c index 11ba43b4c3ed..e3ddfef87635 100644 --- a/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c +++ b/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c @@ -80,13 +80,7 @@ static void print_status_narrow(void) { bool oled_task_user(void) { // Render the OLED - if (is_keyboard_left()) { print_status_narrow(); - //render_logo(); - } else { - print_status_narrow(); - //render_logo(); - } return false; } #endif \ No newline at end of file From 1085faa1c27c9976ec178f710d608baedb40a552 Mon Sep 17 00:00:00 2001 From: TweetyDaBird Date: Sat, 15 Apr 2023 10:12:44 +0200 Subject: [PATCH 16/17] rules.mk -> info.json --- keyboards/tweetydabird/lotus58/elite_c/info.json | 3 +++ keyboards/tweetydabird/lotus58/elite_c/rules.mk | 1 - keyboards/tweetydabird/lotus58/promicro/info.json | 3 +++ keyboards/tweetydabird/lotus58/promicro/rules.mk | 1 - 4 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 keyboards/tweetydabird/lotus58/elite_c/info.json delete mode 100644 keyboards/tweetydabird/lotus58/elite_c/rules.mk create mode 100644 keyboards/tweetydabird/lotus58/promicro/info.json delete mode 100644 keyboards/tweetydabird/lotus58/promicro/rules.mk diff --git a/keyboards/tweetydabird/lotus58/elite_c/info.json b/keyboards/tweetydabird/lotus58/elite_c/info.json new file mode 100644 index 000000000000..2ee9476bf6f9 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/elite_c/info.json @@ -0,0 +1,3 @@ +{ + "bootloader": "atmel-dfu", + } diff --git a/keyboards/tweetydabird/lotus58/elite_c/rules.mk b/keyboards/tweetydabird/lotus58/elite_c/rules.mk deleted file mode 100644 index 4c2b0289a2da..000000000000 --- a/keyboards/tweetydabird/lotus58/elite_c/rules.mk +++ /dev/null @@ -1 +0,0 @@ -BOOTLOADER = atmel-dfu diff --git a/keyboards/tweetydabird/lotus58/promicro/info.json b/keyboards/tweetydabird/lotus58/promicro/info.json new file mode 100644 index 000000000000..ddbdbb4c8046 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/promicro/info.json @@ -0,0 +1,3 @@ +{ + "bootloader": "caterina", +} diff --git a/keyboards/tweetydabird/lotus58/promicro/rules.mk b/keyboards/tweetydabird/lotus58/promicro/rules.mk deleted file mode 100644 index 58e9a76b2302..000000000000 --- a/keyboards/tweetydabird/lotus58/promicro/rules.mk +++ /dev/null @@ -1 +0,0 @@ -BOOTLOADER = caterina From eea77705cf68caa703384b229e2efa8bdcc6b256 Mon Sep 17 00:00:00 2001 From: zvecr Date: Sat, 15 Apr 2023 17:57:39 +0100 Subject: [PATCH 17/17] Review comments --- keyboards/tweetydabird/lotus58/config.h | 1 - .../tweetydabird/lotus58/elite_c/info.json | 4 +- .../tweetydabird/lotus58/elite_c/rules.mk | 1 + keyboards/tweetydabird/lotus58/info.json | 35 ++++----- .../lotus58/keymaps/default/keymap.c | 72 +++++++++---------- keyboards/tweetydabird/lotus58/lotus58.c | 12 ++-- .../tweetydabird/lotus58/promicro/info.json | 2 +- .../tweetydabird/lotus58/promicro/rules.mk | 1 + 8 files changed, 60 insertions(+), 68 deletions(-) create mode 100644 keyboards/tweetydabird/lotus58/elite_c/rules.mk create mode 100644 keyboards/tweetydabird/lotus58/promicro/rules.mk diff --git a/keyboards/tweetydabird/lotus58/config.h b/keyboards/tweetydabird/lotus58/config.h index 5c589b5d872e..5df12cfc03f8 100644 --- a/keyboards/tweetydabird/lotus58/config.h +++ b/keyboards/tweetydabird/lotus58/config.h @@ -6,7 +6,6 @@ // Options not yet fully implemented in info.json #define RGBLIGHT_LIMIT_VAL 175 #define RGBLIGHT_DEFAULT_VAL ( RGBLIGHT_LIMIT_VAL / 2 ) -#define RGBLIGHT_SLEEP #define SPLIT_HAND_PIN B5 #define SPLIT_LAYER_STATE_ENABLE diff --git a/keyboards/tweetydabird/lotus58/elite_c/info.json b/keyboards/tweetydabird/lotus58/elite_c/info.json index 2ee9476bf6f9..8cebe9b8134f 100644 --- a/keyboards/tweetydabird/lotus58/elite_c/info.json +++ b/keyboards/tweetydabird/lotus58/elite_c/info.json @@ -1,3 +1,3 @@ { - "bootloader": "atmel-dfu", - } + "bootloader": "atmel-dfu" +} diff --git a/keyboards/tweetydabird/lotus58/elite_c/rules.mk b/keyboards/tweetydabird/lotus58/elite_c/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/elite_c/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json index 8182854ff620..654fdd9a4c8b 100644 --- a/keyboards/tweetydabird/lotus58/info.json +++ b/keyboards/tweetydabird/lotus58/info.json @@ -6,28 +6,24 @@ "build": { "lto": true }, - "diode_direction": "COL2ROW", + "diode_direction": "COL2ROW", "encoder": { "rotary": [ - { - "pin_a": "F5", - "pin_b": "F4", - "resolution": 2 - } + { "pin_a": "F5", "pin_b": "F4", "resolution": 2 } ] }, "features": { "bootmagic": true, "command": false, "console": false, - "encoder": true, "extrakey": true, "mousekey": true, "nkro": true, "oled": true, + "encoder": true, "rgblight": true, "split": true, - "tri_layer": true + "tri_layer": true }, "matrix_pins": { "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], @@ -39,7 +35,8 @@ "led_count": 70, "pin": "D3", "split": true, - "split_count": [35, 35] + "split_count": [35, 35], + "sleep": true }, "split": { "bootmagic": { @@ -49,11 +46,7 @@ "encoder": { "right": { "rotary": [ - { - "pin_a": "F4", - "pin_b": "F5", - "resolution": 2 - } + { "pin_a": "F4", "pin_b": "F5", "resolution": 2 } ] } }, @@ -64,17 +57,15 @@ "sync_modifiers": true }, "usb_detect": { - "enabled": true, - "polling_interval": 10, - "timeout": 2000 + "enabled": true } }, "url": "https://lectronz.com/stores/tweetys-wild-thinking", "usb": { - "device_version": "1.2.3", - "force_nkro": true, + "vid": "0xFEED", "pid": "0x23B0", - "vid": "0xFEED" + "device_version": "1.2.3", + "force_nkro": true }, "layouts": { "LAYOUT": { @@ -134,8 +125,8 @@ { "label": "Win", "matrix": [4, 1], "x": 2.5, "y": 4.25 }, { "label": "Lower", "matrix": [4, 2], "x": 3.5, "y": 4.25 }, { "label": "Alt", "matrix": [4, 3], "x": 4.5, "y": 4.5 }, - { "h": 1.25, "label": "Space", "matrix": [4, 4], "x": 6, "y": 4.25 }, - { "h": 1.25, "label": "Enter", "matrix": [9, 4], "x": 8, "y": 4.25 }, + { "label": "Space", "matrix": [4, 4], "x": 6, "y": 4.25, "h": 1.25 }, + { "label": "Enter", "matrix": [9, 4], "x": 8, "y": 4.25, "h": 1.25 }, { "label": "AltGr", "matrix": [9, 3], "x": 9.5, "y": 4.5 }, { "label": "Raise", "matrix": [9, 2], "x": 10.5, "y": 4.25 }, { "label": "BckSp", "matrix": [9, 1], "x": 11.5, "y": 4.25 } diff --git a/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c index e3ddfef87635..392ed06ec13b 100644 --- a/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c +++ b/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c @@ -3,37 +3,37 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, -LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT), - KC_LGUI, TG(2), KC_LALT, LSFT_T(KC_SPC),RSFT_T(KC_ENT), KC_RALT, TG(1), MT(MOD_RGUI,KC_BSPC) -), + [0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, +LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT), + KC_LGUI, TG(2), KC_LALT, LSFT_T(KC_SPC), RSFT_T(KC_ENT), KC_RALT, TG(1), RGUI_T(KC_BSPC) + ), -[1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_CIRC, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_HASH, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX, - XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LBRC, KC_RBRC, KC_AMPR, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_PAST, KC_PPLS, KC_PSLS, KC_EQL, _______, _______, KC_DLR, KC_KP_0, KC_KP_DOT, KC_COLN, KC_PMNS, _______, - _______, _______, _______, _______, _______, _______, _______, _______ -), + [1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_CIRC, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_HASH, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX, + XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT,KC_LBRC, KC_RBRC, KC_AMPR, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX, + _______, XXXXXXX, KC_PAST, KC_PPLS, KC_PSLS, KC_EQL, _______, _______, KC_DLR, KC_KP_0, KC_PDOT, KC_COLN, KC_PMNS, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), -[2] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ -), + [2] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), -[3] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG, - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_SAD, RGB_M_P, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R, - _______, _______, _______, _______, _______, _______, _______, _______ - ) + [3] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD,RGB_SAD, RGB_M_P, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R, + _______, _______, _______, _______, _______, _______, _______, _______ + ) }; #if defined(ENCODER_MAP_ENABLE) @@ -47,11 +47,11 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { #ifdef OLED_ENABLE static void print_status_narrow(void) { - // Create OLED content + // Create OLED content oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR(""), false); + oled_write_P(PSTR(""), false); oled_write_P(PSTR("Lotus -58-"), false); - oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("\n"), false); // Print current layer oled_write_P(PSTR("Layer"), false); @@ -71,16 +71,16 @@ static void print_status_narrow(void) { default: oled_write_P(PSTR("Undef"), false); } - + oled_write_P(PSTR("\n"), false); led_t led_usb_state = host_keyboard_led_state(); oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock); - + } bool oled_task_user(void) { - // Render the OLED - print_status_narrow(); - return false; + // Render the OLED + print_status_narrow(); + return false; } #endif \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/lotus58.c b/keyboards/tweetydabird/lotus58/lotus58.c index 7c8553daedd6..a06c88111cce 100644 --- a/keyboards/tweetydabird/lotus58/lotus58.c +++ b/keyboards/tweetydabird/lotus58/lotus58.c @@ -6,11 +6,11 @@ #ifdef OLED_ENABLE oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - return OLED_ROTATION_90; + return OLED_ROTATION_90; } void render_logo(void) { - // QMK Logo + // QMK Logo static const char PROGMEM qmk_logo[] = { 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, @@ -20,10 +20,10 @@ void render_logo(void) { } bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - render_logo(); + if (!oled_task_user()) { return false; + } + render_logo(); + return false; } #endif \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/promicro/info.json b/keyboards/tweetydabird/lotus58/promicro/info.json index ddbdbb4c8046..56062f7ad371 100644 --- a/keyboards/tweetydabird/lotus58/promicro/info.json +++ b/keyboards/tweetydabird/lotus58/promicro/info.json @@ -1,3 +1,3 @@ { - "bootloader": "caterina", + "bootloader": "caterina" } diff --git a/keyboards/tweetydabird/lotus58/promicro/rules.mk b/keyboards/tweetydabird/lotus58/promicro/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/promicro/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank