[INIT-MIGRATION] from qmk @ d575bf7ddcb66849a449aa5f714eb926644862ec
This commit is contained in:
23
keyboards/boardsource/lulu/avr/keyboard.json
Normal file
23
keyboards/boardsource/lulu/avr/keyboard.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"development_board": "elite_c",
|
||||
"matrix_pins": {
|
||||
"cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
|
||||
"rows": ["C6", "D7", "E6", "B4", "B5"]
|
||||
},
|
||||
"split": {
|
||||
"serial": {
|
||||
"pin": "D2"
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "F4", "pin_b": "F5"}
|
||||
]
|
||||
}
|
||||
}
|
||||
1
keyboards/boardsource/lulu/avr/rules.mk
Normal file
1
keyboards/boardsource/lulu/avr/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
SRC += lib/oled.c
|
||||
173
keyboards/boardsource/lulu/info.json
Normal file
173
keyboards/boardsource/lulu/info.json
Normal file
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"manufacturer": "Boardsource",
|
||||
"keyboard_name": "lulu",
|
||||
"maintainer": "waffle87",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true,
|
||||
"oled": true,
|
||||
"encoder": true
|
||||
},
|
||||
"url": "https://boardsource.xyz/projects/60de24d6847112054777bbdd",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x7685",
|
||||
"vid": "0x4273"
|
||||
},
|
||||
"split": {
|
||||
"enabled": true
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"split_count": [35, 35],
|
||||
"max_brightness": 150,
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true
|
||||
},
|
||||
"layout": [
|
||||
{"flags": 2, "x": 86, "y": 55},
|
||||
{"flags": 2, "x": 51, "y": 55},
|
||||
{"flags": 2, "x": 17, "y": 40},
|
||||
{"flags": 1, "x": 17, "y": 10},
|
||||
{"flags": 1, "x": 51, "y": 10},
|
||||
{"flags": 1, "x": 86, "y": 10},
|
||||
{"flags": 4, "matrix": [0, 5], "x": 86, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 4], "x": 68, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 3], "x": 51, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 2], "x": 34, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 1], "x": 17, "y": 0},
|
||||
{"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"flags": 1, "matrix": [1, 0], "x": 0, "y": 16},
|
||||
{"flags": 4, "matrix": [1, 1], "x": 17, "y": 16},
|
||||
{"flags": 4, "matrix": [1, 2], "x": 34, "y": 16},
|
||||
{"flags": 4, "matrix": [1, 3], "x": 51, "y": 16},
|
||||
{"flags": 4, "matrix": [1, 4], "x": 68, "y": 16},
|
||||
{"flags": 4, "matrix": [1, 5], "x": 86, "y": 16},
|
||||
{"flags": 4, "matrix": [2, 5], "x": 86, "y": 32},
|
||||
{"flags": 4, "matrix": [2, 4], "x": 68, "y": 32},
|
||||
{"flags": 4, "matrix": [2, 3], "x": 51, "y": 32},
|
||||
{"flags": 4, "matrix": [2, 2], "x": 34, "y": 32},
|
||||
{"flags": 4, "matrix": [2, 1], "x": 17, "y": 32},
|
||||
{"flags": 1, "matrix": [2, 0], "x": 0, "y": 32},
|
||||
{"flags": 1, "matrix": [3, 0], "x": 0, "y": 48},
|
||||
{"flags": 4, "matrix": [3, 1], "x": 17, "y": 48},
|
||||
{"flags": 4, "matrix": [3, 2], "x": 34, "y": 48},
|
||||
{"flags": 4, "matrix": [3, 3], "x": 51, "y": 48},
|
||||
{"flags": 4, "matrix": [3, 4], "x": 68, "y": 48},
|
||||
{"flags": 4, "matrix": [3, 5], "x": 86, "y": 48},
|
||||
{"flags": 4, "matrix": [4, 5], "x": 103, "y": 40},
|
||||
{"flags": 1, "matrix": [4, 4], "x": 96, "y": 64},
|
||||
{"flags": 1, "matrix": [4, 3], "x": 77, "y": 64},
|
||||
{"flags": 1, "matrix": [4, 2], "x": 60, "y": 64},
|
||||
{"flags": 1, "matrix": [4, 1], "x": 43, "y": 64},
|
||||
{"flags": 2, "x": 137, "y": 55},
|
||||
{"flags": 2, "x": 172, "y": 55},
|
||||
{"flags": 2, "x": 206, "y": 40},
|
||||
{"flags": 1, "x": 206, "y": 10},
|
||||
{"flags": 1, "x": 172, "y": 10},
|
||||
{"flags": 1, "x": 137, "y": 10},
|
||||
{"flags": 4, "matrix": [5, 5], "x": 137, "y": 0},
|
||||
{"flags": 4, "matrix": [5, 4], "x": 155, "y": 0},
|
||||
{"flags": 4, "matrix": [5, 3], "x": 172, "y": 0},
|
||||
{"flags": 4, "matrix": [5, 2], "x": 189, "y": 0},
|
||||
{"flags": 4, "matrix": [5, 1], "x": 206, "y": 0},
|
||||
{"flags": 1, "matrix": [5, 0], "x": 224, "y": 0},
|
||||
{"flags": 1, "matrix": [6, 0], "x": 224, "y": 16},
|
||||
{"flags": 4, "matrix": [6, 1], "x": 206, "y": 16},
|
||||
{"flags": 4, "matrix": [6, 2], "x": 189, "y": 16},
|
||||
{"flags": 4, "matrix": [6, 3], "x": 172, "y": 16},
|
||||
{"flags": 4, "matrix": [6, 4], "x": 155, "y": 16},
|
||||
{"flags": 4, "matrix": [6, 5], "x": 137, "y": 16},
|
||||
{"flags": 4, "matrix": [7, 5], "x": 137, "y": 32},
|
||||
{"flags": 4, "matrix": [7, 4], "x": 155, "y": 32},
|
||||
{"flags": 4, "matrix": [7, 3], "x": 172, "y": 32},
|
||||
{"flags": 4, "matrix": [7, 2], "x": 189, "y": 32},
|
||||
{"flags": 4, "matrix": [7, 1], "x": 206, "y": 32},
|
||||
{"flags": 1, "matrix": [7, 0], "x": 224, "y": 32},
|
||||
{"flags": 1, "matrix": [8, 0], "x": 224, "y": 48},
|
||||
{"flags": 4, "matrix": [8, 1], "x": 206, "y": 48},
|
||||
{"flags": 4, "matrix": [8, 2], "x": 189, "y": 48},
|
||||
{"flags": 4, "matrix": [8, 3], "x": 172, "y": 48},
|
||||
{"flags": 4, "matrix": [8, 4], "x": 155, "y": 48},
|
||||
{"flags": 4, "matrix": [8, 5], "x": 137, "y": 48},
|
||||
{"flags": 4, "matrix": [9, 5], "x": 120, "y": 40},
|
||||
{"flags": 1, "matrix": [9, 4], "x": 127, "y": 64},
|
||||
{"flags": 1, "matrix": [9, 3], "x": 146, "y": 64},
|
||||
{"flags": 1, "matrix": [9, 2], "x": 163, "y": 64},
|
||||
{"flags": 1, "matrix": [9, 1], "x": 180, "y": 64}
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0.5},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0.375},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0.125},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0.125},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0.25},
|
||||
{"matrix": [5, 5], "x": 10.5, "y": 0.25},
|
||||
{"matrix": [5, 4], "x": 11.5, "y": 0.125},
|
||||
{"matrix": [5, 3], "x": 12.5, "y": 0},
|
||||
{"matrix": [5, 2], "x": 13.5, "y": 0.125},
|
||||
{"matrix": [5, 1], "x": 14.5, "y": 0.375},
|
||||
{"matrix": [5, 0], "x": 15.5, "y": 0.5},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.5},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.375},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.125},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.125},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"matrix": [6, 5], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [6, 4], "x": 11.5, "y": 1.125},
|
||||
{"matrix": [6, 3], "x": 12.5, "y": 1},
|
||||
{"matrix": [6, 2], "x": 13.5, "y": 1.125},
|
||||
{"matrix": [6, 1], "x": 14.5, "y": 1.375},
|
||||
{"matrix": [6, 0], "x": 15.5, "y": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.5},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2.375},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2.125},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2.125},
|
||||
{"matrix": [2, 5], "x": 5, "y": 2.25},
|
||||
{"matrix": [7, 5], "x": 10.5, "y": 2.25},
|
||||
{"matrix": [7, 4], "x": 11.5, "y": 2.125},
|
||||
{"matrix": [7, 3], "x": 12.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 13.5, "y": 2.125},
|
||||
{"matrix": [7, 1], "x": 14.5, "y": 2.375},
|
||||
{"matrix": [7, 0], "x": 15.5, "y": 2.5},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.5},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3.375},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3.125},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4, "y": 3.125},
|
||||
{"matrix": [3, 5], "x": 5, "y": 3.25},
|
||||
{"matrix": [4, 5], "x": 6, "y": 2.75},
|
||||
{"matrix": [9, 5], "x": 9.5, "y": 2.75},
|
||||
{"matrix": [8, 5], "x": 10.5, "y": 3.25},
|
||||
{"matrix": [8, 4], "x": 11.5, "y": 3.125},
|
||||
{"matrix": [8, 3], "x": 12.5, "y": 3},
|
||||
{"matrix": [8, 2], "x": 13.5, "y": 3.125},
|
||||
{"matrix": [8, 1], "x": 14.5, "y": 3.375},
|
||||
{"matrix": [8, 0], "x": 15.5, "y": 3.5},
|
||||
{"matrix": [4, 1], "x": 2.5, "y": 4.125},
|
||||
{"matrix": [4, 2], "x": 3.5, "y": 4.15},
|
||||
{"matrix": [4, 3], "x": 4.5, "y": 4.25},
|
||||
{"matrix": [4, 4], "h": 1.5, "x": 6, "y": 4.25},
|
||||
{"matrix": [9, 4], "h": 1.5, "x": 9.5, "y": 4.25},
|
||||
{"matrix": [9, 3], "x": 11, "y": 4.25},
|
||||
{"matrix": [9, 2], "x": 12, "y": 4.15},
|
||||
{"matrix": [9, 1], "x": 13, "y": 4.15}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
16
keyboards/boardsource/lulu/keymaps/DaveanandMannie/config.h
Normal file
16
keyboards/boardsource/lulu/keymaps/DaveanandMannie/config.h
Normal file
@@ -0,0 +1,16 @@
|
||||
// Copyright 2024 Daveanand Mannie <daveanandmannie@gmail.com>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
// RGB Matrix defaults
|
||||
#define RGB_MATRIX_DEFAULT_VAL 150
|
||||
#define RGB_MATRIX_DEFAULT_SAT 255
|
||||
#define RGB_MATRIX_DEFAULT_HUE 220
|
||||
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS
|
||||
#define RGB_MATRIX_DEFAULT_SPD 25
|
||||
#define RGB_MATRIX_HZ 100
|
||||
|
||||
// Oneshot settings
|
||||
#define TAPPING_TOGGLE 2
|
||||
#define ONESHOT_TAP_TOGGLE 5
|
||||
#define ONESHOT_TIMEOUT 1500
|
||||
170
keyboards/boardsource/lulu/keymaps/DaveanandMannie/keymap.c
Normal file
170
keyboards/boardsource/lulu/keymaps/DaveanandMannie/keymap.c
Normal file
@@ -0,0 +1,170 @@
|
||||
// Copyright 2022 Cole Smith <cole@boadsource.xyz>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
enum layers {
|
||||
_BASE,
|
||||
_FIRST,
|
||||
_SECOND,
|
||||
_THIRD
|
||||
};
|
||||
|
||||
#define SPD_BASE 25
|
||||
#define SPD_FIRST 76
|
||||
#define SPD_SECOND 120
|
||||
#define SPD_THIRD 160
|
||||
#define SPD_SHFT 40
|
||||
|
||||
void layer_handler(uint8_t layer) {
|
||||
// Handler for changing alpha mode spd == hue
|
||||
switch (layer) {
|
||||
case _BASE:
|
||||
rgb_matrix_set_speed(SPD_BASE);
|
||||
break;
|
||||
case _FIRST:
|
||||
rgb_matrix_set_speed(SPD_FIRST);
|
||||
break;
|
||||
case _SECOND:
|
||||
rgb_matrix_set_speed(SPD_SECOND);
|
||||
break;
|
||||
case _THIRD:
|
||||
rgb_matrix_set_speed(SPD_THIRD);
|
||||
break;
|
||||
default:
|
||||
rgb_matrix_set_speed(SPD_BASE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
// [callback] change mod row colours based on active layer
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
layer_handler(layer);
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_LALT:
|
||||
case KC_RALT:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_set_speed(201);
|
||||
} else {
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
layer_handler(layer);
|
||||
}
|
||||
break;
|
||||
|
||||
case KC_LCTL:
|
||||
case KC_RCTL:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_set_speed(240);
|
||||
} else {
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
layer_handler(layer);
|
||||
}
|
||||
break;
|
||||
case KC_LSFT:
|
||||
case KC_RSFT:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_set_speed(SPD_SHFT);
|
||||
} else {
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
layer_handler(layer);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* BASE
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | BackSP| 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | = |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* |Escape| A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------| mo 3 | | tg l2 |------+------+------+------+------+------|
|
||||
* |OSM-sft| Z | X | C | V | B |-------| |-------| N | M | , | . | / |OSM-sft|
|
||||
* `-----------------------------------------/ osl / \ \-----------------------------------------'
|
||||
* | Win | Lctrl| L-alt| / first / \space \ |Enter |R-ctrl| Ralt |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
|
||||
[_BASE] = LAYOUT(
|
||||
KC_BSPC, KC_1, KC_2, KC_3, KC_4, KC_5, 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_EQL,
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_THIRD), TG(_SECOND), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LWIN, KC_LCTL, KC_LALT, OSL(_FIRST), KC_SPC, KC_ENT, KC_RCTL, KC_RALT
|
||||
),
|
||||
/* FIRST
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | \ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | del |-------. ,-------| left | down | up | right| ` | _ |
|
||||
* |------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| | _ | + | { | } | | |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | | | | / / \ \ | | | |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_FIRST] = LAYOUT(
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
KC_BSLS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
|
||||
_______, _______, _______, _______, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_UNDS,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/* SECOND
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | S+ | S- | B+ | B- | |nkrotg| | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | prvs | msup | next | mwup | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | mslt | msdn |msrght| mwdn |-------. ,-------| wback| copy | paste| wfwd | | |
|
||||
* |------+------+------+------+------+------|RGB_TOG| | |------+------+------+------+------+------|
|
||||
* | | | vold | mute | volu | play |-------| |-------| | | | acl2 | acl0 | |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | | | | / / \Enter \ |mbtn1 |mbtn2 | |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
|
||||
[_SECOND] = LAYOUT(
|
||||
KC_NO, KC_NO, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, NK_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_MPRV, MS_UP, KC_MNXT, MS_WHLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______,
|
||||
KC_NO, KC_NO, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, KC_WBAK, KC_COPY, KC_PSTE, KC_WFWD, KC_NO, XXXXXXX,
|
||||
_______, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_MPLY, RGB_TOG, _______, KC_NO, KC_NO, KC_NO, MS_ACL2, MS_ACL0, _______,
|
||||
_______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______
|
||||
),
|
||||
/* THIRD
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | | | 7 | 8 | 9 | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | |-------. ,-------| 4 | 5 | 6 | | | |
|
||||
* |------+------+------+------+------+------| | | 0 |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| 1 | 2 | 3 | | | |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | | | | / / \ \ | | | |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_THIRD] = LAYOUT(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_4, KC_5, KC_6, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_0, KC_1, KC_2, KC_3, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
108
keyboards/boardsource/lulu/keymaps/default/keymap.c
Normal file
108
keyboards/boardsource/lulu/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,108 @@
|
||||
// Copyright 2022 Cole Smith <cole@boadsource.xyz>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_RAISE,
|
||||
_LOWER,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
#define RAISE MO(_RAISE)
|
||||
#define LOWER MO(_LOWER)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* QWERTY
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
|
||||
[_QWERTY] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI
|
||||
),
|
||||
/* LOWER
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| | _ | + | { | } | | |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/* RAISE
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* |MOD | MODR | S+ | S- | B+ | B- | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
|
||||
* |------+------+------+------+------+------|RM_TOGG| | ] |------+------+------+------+------+------|
|
||||
* | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
RM_NEXT, RM_PREV, RM_SATU, RM_SATD, RM_VALU, RM_VALD, _______, _______, _______, _______, _______, _______,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/* ADJUST
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
|
||||
* |------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
45
keyboards/boardsource/lulu/lulu.c
Normal file
45
keyboards/boardsource/lulu/lulu.c
Normal file
@@ -0,0 +1,45 @@
|
||||
// Copyright 2022 Cole Smith <cole@boadsource.xyz>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#include "quantum.h"
|
||||
#include "lib/oled.h"
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_user(index, clockwise)) { return false; }
|
||||
if (index == 0) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
} else if (index == 1) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_PGDN);
|
||||
} else {
|
||||
tap_code(KC_PGUP);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||
if (!is_keyboard_master()) {
|
||||
return OLED_ROTATION_180;
|
||||
}
|
||||
return rotation;
|
||||
}
|
||||
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) {
|
||||
return false;
|
||||
}
|
||||
if (is_keyboard_master()) {
|
||||
render_layer_state();
|
||||
} else {
|
||||
oled_write_raw_P(bs_logo_img, sizeof(bs_logo_img));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
31
keyboards/boardsource/lulu/readme.md
Normal file
31
keyboards/boardsource/lulu/readme.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Lulu
|
||||
|
||||

|
||||
|
||||
The lulu is what the ergo community has needed for a long time, a high-end aesthetic split ergo 60%. With this project we not only tried to create a beautiful product but we also wanted to unify the some what split 60% community. With hotswap, per key rgb & underglow, swappable encoder and adjustable tenting with out giving up anything.
|
||||
|
||||
|
||||
* Keyboard Maintainer: [Boardsource](https://github.com/daysgobye)
|
||||
* Hardware Supported: lulu v1/v2, lily pad v2
|
||||
* Hardware Availability: this keyboard is available from the [Boardsource store](https://boardsource.xyz/products/lily-pad-pcb)
|
||||
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make boardsource/lulu/rp2040:default
|
||||
make boardsource/lulu/avr:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make boardsource/lulu/rp2040:default:flash
|
||||
make boardsource/lulu/avr:default:flash
|
||||
|
||||
|
||||
Compile `rp2040` firmware if you purchased PCB in lulu group buy or lily pad (integrated microcontroller).
|
||||
Compile `avr` firmware if your PCB uses a drop-in microcontroller like Pro Micro.
|
||||
|
||||
|
||||
Enter bootloader by holding down the upper outer key while you plug in the usb cable, or by pushing the reset switch on the pcb.
|
||||
|
||||
|
||||
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).
|
||||
23
keyboards/boardsource/lulu/rp2040/config.h
Normal file
23
keyboards/boardsource/lulu/rp2040/config.h
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright 2022 jack (@waffle87)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U
|
||||
#define SERIAL_USART_FULL_DUPLEX
|
||||
#define SERIAL_USART_TX_PIN GP0
|
||||
#define SERIAL_USART_RX_PIN GP1
|
||||
#define I2C_DRIVER I2CD1
|
||||
#define I2C1_SDA_PIN GP22
|
||||
#define I2C1_SCL_PIN GP23
|
||||
|
||||
|
||||
#define RGB_MATRIX_DEFAULT_VAL 150
|
||||
#define RGB_MATRIX_DEFAULT_SAT 255
|
||||
#define RGB_MATRIX_DEFAULT_HUE 220
|
||||
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS
|
||||
#define RGB_MATRIX_DEFAULT_SPD 25
|
||||
#define RGB_MATRIX_HZ 100
|
||||
|
||||
#define TAPPING_TOGGLE 2 // for tt
|
||||
#define ONESHOT_TAP_TOGGLE 5
|
||||
#define ONESHOT_TIMEOUT 1500 // ms
|
||||
5
keyboards/boardsource/lulu/rp2040/halconf.h
Normal file
5
keyboards/boardsource/lulu/rp2040/halconf.h
Normal file
@@ -0,0 +1,5 @@
|
||||
// Copyright 2022 jack (@waffle87)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
#define HAL_USE_I2C TRUE
|
||||
#include_next <halconf.h>
|
||||
22
keyboards/boardsource/lulu/rp2040/keyboard.json
Normal file
22
keyboards/boardsource/lulu/rp2040/keyboard.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"bootloader": "rp2040",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"],
|
||||
"rows": ["GP14", "GP15", "GP16", "GP17", "GP18"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "GP8", "pin_b": "GP9"}
|
||||
]
|
||||
},
|
||||
"split": {
|
||||
"serial": {
|
||||
"driver": "vendor"
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "GP29",
|
||||
"driver": "vendor"
|
||||
}
|
||||
}
|
||||
6
keyboards/boardsource/lulu/rp2040/mcuconf.h
Normal file
6
keyboards/boardsource/lulu/rp2040/mcuconf.h
Normal file
@@ -0,0 +1,6 @@
|
||||
// Copyright 2022 jack (@waffle87)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
#include_next <mcuconf.h>
|
||||
#undef RP_I2C_USE_I2C1
|
||||
#define RP_I2C_USE_I2C1 TRUE
|
||||
1
keyboards/boardsource/lulu/rp2040/rules.mk
Normal file
1
keyboards/boardsource/lulu/rp2040/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
SRC += lib/oled.c
|
||||
Reference in New Issue
Block a user