Leeloo revision 2 updates (#21671)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com>master
parent
61a72b9c20
commit
d187a0a3af
|
@ -1,24 +1,31 @@
|
||||||
{
|
{
|
||||||
"keyboard_name": "Leeloo",
|
|
||||||
"manufacturer": "Clickety Split Ltd",
|
"manufacturer": "Clickety Split Ltd",
|
||||||
"url": "https://clicketysplit.ca/pages/leeloo",
|
"url": "https://clicketysplit.ca/pages/leeloo",
|
||||||
"maintainer": "ClicketySplit",
|
"maintainer": "ClicketySplit",
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0x4013",
|
"vid": "0x4013",
|
||||||
"pid": "0x2022",
|
"pid": "0x2022"
|
||||||
"device_version": "0.1.3"
|
|
||||||
},
|
|
||||||
"matrix_pins": {
|
|
||||||
"cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
|
|
||||||
"rows": ["C6", "D7", "E6", "B4", "B5"]
|
|
||||||
},
|
},
|
||||||
"diode_direction": "COL2ROW",
|
"diode_direction": "COL2ROW",
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
|
||||||
|
"rows": ["C6", "D7", "E6", "B4", "B5"]
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"lto": true
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"extrakey": true,
|
||||||
|
"oled": true
|
||||||
|
},
|
||||||
"encoder": {
|
"encoder": {
|
||||||
|
"enabled": true,
|
||||||
"rotary": [
|
"rotary": [
|
||||||
{"pin_a": "F5", "pin_b": "F4"}
|
{"pin_a": "F5", "pin_b": "F4"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"split": {
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
"soft_serial_pin": "D2",
|
"soft_serial_pin": "D2",
|
||||||
"encoder": {
|
"encoder": {
|
||||||
"right": {
|
"right": {
|
||||||
|
@ -28,81 +35,77 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tapping": {
|
"development_board": "promicro",
|
||||||
"term": 100
|
|
||||||
},
|
|
||||||
"processor": "atmega32u4",
|
|
||||||
"bootloader": "caterina",
|
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"matrix": [0, 0], "x": 0, "y": 0.5},
|
{"label":"Esc", "matrix": [0, 0], "x": 0.0, "y":0.5},
|
||||||
{"matrix": [0, 1], "x": 1, "y": 0.4},
|
{"label":"1", "matrix": [0, 1], "x": 1.0, "y":0.4},
|
||||||
{"matrix": [0, 2], "x": 2, "y": 0.2},
|
{"label":"2", "matrix": [0, 2], "x": 2.0, "y":0.2},
|
||||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
{"label":"3", "matrix": [0, 3], "x": 3.0, "y":0.0},
|
||||||
{"matrix": [0, 4], "x": 4, "y": 0.2},
|
{"label":"4", "matrix": [0, 4], "x": 4.0, "y":0.2},
|
||||||
{"matrix": [0, 5], "x": 5, "y": 0.4},
|
{"label":"5", "matrix": [0, 5], "x": 5.0, "y":0.4},
|
||||||
|
|
||||||
{"matrix": [5, 5], "x": 9, "y": 0.4},
|
{"label":"6", "matrix": [5, 5], "x": 9.0, "y":0.4},
|
||||||
{"matrix": [5, 4], "x": 10, "y": 0.2},
|
{"label":"7", "matrix": [5, 4], "x": 10.0, "y":0.2},
|
||||||
{"matrix": [5, 3], "x": 11, "y": 0},
|
{"label":"8", "matrix": [5, 3], "x": 11.0, "y":0.0},
|
||||||
{"matrix": [5, 2], "x": 12, "y": 0.2},
|
{"label":"9", "matrix": [5, 2], "x": 12.0, "y":0.2},
|
||||||
{"matrix": [5, 1], "x": 13, "y": 0.4},
|
{"label":"0", "matrix": [5, 1], "x": 13.0, "y":0.4},
|
||||||
{"matrix": [5, 0], "x": 14, "y": 0.5},
|
{"label":"BSL", "matrix": [5, 0], "x": 14.0, "y":0.5},
|
||||||
|
|
||||||
{"matrix": [1, 0], "x": 0, "y": 1.5},
|
{"label":"TAB", "matrix": [1, 0], "x": 0.0, "y":1.5},
|
||||||
{"matrix": [1, 1], "x": 1, "y": 1.4},
|
{"label":"Q", "matrix": [1, 1], "x": 1.0, "y":1.4},
|
||||||
{"matrix": [1, 2], "x": 2, "y": 1.2},
|
{"label":"W", "matrix": [1, 2], "x": 2.0, "y":1.2},
|
||||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
{"label":"E", "matrix": [1, 3], "x": 3.0, "y":1.0},
|
||||||
{"matrix": [1, 4], "x": 4, "y": 1.2},
|
{"label":"R", "matrix": [1, 4], "x": 4.0, "y":1.2},
|
||||||
{"matrix": [1, 5], "x": 5, "y": 1.4},
|
{"label":"T", "matrix": [1, 5], "x": 5.0, "y":1.4},
|
||||||
|
|
||||||
{"matrix": [6, 5], "x": 9, "y": 1.4},
|
{"label":"Y", "matrix": [6, 5], "x": 9.0, "y":1.4},
|
||||||
{"matrix": [6, 4], "x": 10, "y": 1.2},
|
{"label":"U", "matrix": [6, 4], "x": 10.0, "y":1.2},
|
||||||
{"matrix": [6, 3], "x": 11, "y": 1},
|
{"label":"I", "matrix": [6, 3], "x": 11.0, "y":1.0},
|
||||||
{"matrix": [6, 2], "x": 12, "y": 1.2},
|
{"label":"O", "matrix": [6, 2], "x": 12.0, "y":1.2},
|
||||||
{"matrix": [6, 1], "x": 13, "y": 1.4},
|
{"label":"P", "matrix": [6, 1], "x": 13.0, "y":1.4},
|
||||||
{"matrix": [6, 0], "x": 14, "y": 1.5},
|
{"label":"GRV", "matrix": [6, 0], "x": 14.0, "y":1.5},
|
||||||
|
|
||||||
{"matrix": [2, 0], "x": 0, "y": 2.5},
|
{"label":"CAPS", "matrix": [2, 0], "x": 0.0, "y":2.5},
|
||||||
{"matrix": [2, 1], "x": 1, "y": 2.4},
|
{"label":"A", "matrix": [2, 1], "x": 1.0, "y":2.4},
|
||||||
{"matrix": [2, 2], "x": 2, "y": 2.2},
|
{"label":"S", "matrix": [2, 2], "x": 2.0, "y":2.2},
|
||||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
{"label":"D", "matrix": [2, 3], "x": 3.0, "y":2.0},
|
||||||
{"matrix": [2, 4], "x": 4, "y": 2.2},
|
{"label":"F", "matrix": [2, 4], "x": 4.0, "y":2.2},
|
||||||
{"matrix": [2, 5], "x": 5, "y": 2.4},
|
{"label":"G", "matrix": [2, 5], "x": 5.0, "y":2.4},
|
||||||
|
|
||||||
{"matrix": [7, 5], "x": 9, "y": 2.4},
|
{"label":"H", "matrix": [7, 5], "x": 9.0, "y":2.4},
|
||||||
{"matrix": [7, 4], "x": 10, "y": 2.2},
|
{"label":"J", "matrix": [7, 4], "x": 10.0, "y":2.2},
|
||||||
{"matrix": [7, 3], "x": 11, "y": 2},
|
{"label":"K", "matrix": [7, 3], "x": 11.0, "y":2.0},
|
||||||
{"matrix": [7, 2], "x": 12, "y": 2.2},
|
{"label":"L", "matrix": [7, 2], "x": 12.0, "y":2.2},
|
||||||
{"matrix": [7, 1], "x": 13, "y": 2.4},
|
{"label":";", "matrix": [7, 1], "x": 13.0, "y":2.4},
|
||||||
{"matrix": [7, 0], "x": 14, "y": 2.5},
|
{"label":"'", "matrix": [7, 0], "x": 14.0, "y":2.5},
|
||||||
|
|
||||||
{"matrix": [3, 0], "x": 0, "y": 3.5},
|
{"label":"SFT", "matrix": [3, 0], "x": 0.0, "y":3.5},
|
||||||
{"matrix": [3, 1], "x": 1, "y": 3.4},
|
{"label":"Z", "matrix": [3, 1], "x": 1.0, "y":3.4},
|
||||||
{"matrix": [3, 2], "x": 2, "y": 3.2},
|
{"label":"X", "matrix": [3, 2], "x": 2.0, "y":3.2},
|
||||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
{"label":"C", "matrix": [3, 3], "x": 3.0, "y":3.0},
|
||||||
{"matrix": [3, 4], "x": 4, "y": 3.2},
|
{"label":"V", "matrix": [3, 4], "x": 4.0, "y":3.2},
|
||||||
{"matrix": [3, 5], "x": 5, "y": 3.4},
|
{"label":"B", "matrix": [3, 5], "x": 5.0, "y":3.4},
|
||||||
{"matrix": [4, 5], "x": 6.25, "y": 3.4},
|
{"label":"GUI", "matrix": [4, 5], "x": 6.25, "y":3.4},
|
||||||
|
|
||||||
{"matrix": [9, 5], "x": 7.75, "y": 3.4},
|
{"label":"GUI", "matrix": [9, 5], "x": 7.75, "y":3.4},
|
||||||
{"matrix": [8, 5], "x": 9, "y": 3.4},
|
{"label":"N", "matrix": [8, 5], "x": 9.0, "y":3.4},
|
||||||
{"matrix": [8, 4], "x": 10, "y": 3.2},
|
{"label":"M", "matrix": [8, 4], "x": 10.0, "y":3.2},
|
||||||
{"matrix": [8, 3], "x": 11, "y": 3},
|
{"label":",", "matrix": [8, 3], "x": 11.0, "y":3.0},
|
||||||
{"matrix": [8, 2], "x": 12, "y": 3.2},
|
{"label":".", "matrix": [8, 2], "x": 12.0, "y":3.2},
|
||||||
{"matrix": [8, 1], "x": 13, "y": 3.4},
|
{"label":"/", "matrix": [8, 1], "x": 13.0, "y":3.4},
|
||||||
{"matrix": [8, 0], "x": 14, "y": 3.5},
|
{"label":"SFT", "matrix": [8, 0], "x": 14.0, "y":3.5},
|
||||||
|
|
||||||
{"matrix": [4, 1], "x": 2.7, "y": 4.6},
|
{"label":"ALT", "matrix": [4, 1], "x": 2.7, "y":4.6},
|
||||||
{"matrix": [4, 2], "x": 3.8, "y": 4.5},
|
{"label":"CTL", "matrix": [4, 2], "x": 3.8, "y":4.5},
|
||||||
{"matrix": [4, 3], "x": 4.9, "y": 4.55},
|
{"label":"ENT", "matrix": [4, 3], "x": 4.9, "y":4.55},
|
||||||
{"matrix": [4, 4], "x": 6.1, "y": 4.65},
|
{"label":"MINS", "matrix": [4, 4], "x": 6.1, "y":4.65},
|
||||||
|
|
||||||
{"matrix": [9, 4], "x": 7.9, "y": 4.65},
|
{"label":"EQL", "matrix": [9, 4], "x": 7.9, "y":4.65},
|
||||||
{"matrix": [9, 3], "x": 9.1, "y": 4.55},
|
{"label":"SPC", "matrix": [9, 3], "x": 9.1, "y":4.55},
|
||||||
{"matrix": [9, 2], "x": 10.2, "y": 4.5},
|
{"label":"BSP", "matrix": [9, 2], "x": 10.2, "y":4.5},
|
||||||
{"matrix": [9, 1], "x": 11.3, "y": 4.6}
|
{"label":"DEL", "matrix": [9, 1], "x": 11.3, "y":4.6}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* Copyright 2022 Clickety Split Ltd.
|
/* Copyright 2023 Clickety Split Ltd.
|
||||||
* https://clicketysplit.ca
|
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -17,17 +16,30 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// Select hand configuration
|
|
||||||
// #define MASTER_LEFT
|
|
||||||
// #define MASTER_RIGHT
|
|
||||||
// #define EE_HANDS
|
|
||||||
|
|
||||||
#ifdef TAPPING_TERM
|
|
||||||
#undef TAPPING_TERM
|
|
||||||
#define QUICK_TAP_TERM 0
|
|
||||||
#define TAPPING_TERM 150
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If rotary encoders are used, and they require more or less resolution/sensitivity
|
// If rotary encoders are used, and they require more or less resolution/sensitivity
|
||||||
// you may try increasing or decreasing the value.
|
// you may try increasing or decreasing the value.
|
||||||
// #define ENCODER_RESOLUTION 2
|
// #define ENCODER_RESOLUTION 2
|
||||||
|
|
||||||
|
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||||
|
// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
|
||||||
|
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
|
||||||
|
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||||
|
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||||
|
|
||||||
|
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 115 // limits maximum brightness of LEDs to 150 out of 255.
|
||||||
|
// Higher may cause the controller to crash.
|
||||||
|
#define RGB_MATRIX_HUE_STEP 10
|
||||||
|
#define RGB_MATRIX_SAT_STEP 10
|
||||||
|
#define RGB_MATRIX_VAL_STEP 10
|
||||||
|
#define RGB_MATRIX_SPD_STEP 10
|
||||||
|
|
||||||
|
|
||||||
|
/* By default, the RGB_MATRIX effects are disabled.
|
||||||
|
*
|
||||||
|
* For a complete list, visit: https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects.
|
||||||
|
* Some of the effects take up a lot of memory, so you may need to manage the number of
|
||||||
|
* effects that are loaded at any given time.
|
||||||
|
*/
|
||||||
|
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||||
|
#define ENABLE_RGB_MATRIX_SPLASH
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* Copyright 2022 Clickety Split Ltd.
|
/* Copyright 2023 Clickety Split Ltd.
|
||||||
* https://clicketysplit.ca
|
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -92,23 +91,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* ,-----------------------------------------. ,-----------------------------------------.
|
* ,-----------------------------------------. ,-----------------------------------------.
|
||||||
* | | | | | | | | | | | | | |
|
* | | | | | | | | | | | | | |
|
||||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
* | | | | | | | | | | | | | |
|
* | | | | | | | | | | +VOL | | | |
|
||||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
* | | | | | | |--------. ,-------| | | | | | |
|
* | | | | | | |--------. ,-------| | | -VOL | | | |
|
||||||
* |------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
* |------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||||
* | | | | | | |--------| |-------| | | | | | |
|
* | | | | | | |--------| |-------| | MUTE | | | | |
|
||||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||||
* | LALT | LCTL | ENT | / MINS / \ EQL \ | SPC | BSPC | DEL |
|
* | LALT | LCTL | ENT | / MINS / \ EQL \ | SPC | BSPC | DEL |
|
||||||
* | | | LOWR |/ RAISE / \RAISE \ | LOWR | | |
|
* | | | LOWR |/ RAISE / \RAISE \ | LOWR | | |
|
||||||
* `-------------------------------' '------''-----------------------'
|
* `-------------------------------' '------''-----------------------'
|
||||||
|
*
|
||||||
|
* NOTE: For Leeloo v1 the RGB Keycodes will not have any effect.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
[_ADJUST] = LAYOUT(
|
[_ADJUST] = LAYOUT(
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, KC_VOLD, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Tri Layer
|
||||||
|
* When Lower and Raise are pressed at the same time, and wrapped with LT(),
|
||||||
|
* Adjust is activated with the following method.
|
||||||
|
*/
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
|
state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||||
|
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
LTO_ENABLE = yes
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* Copyright 2022 Clickety Split Ltd.
|
/* Copyright 2023 Clickety Split Ltd.
|
||||||
* https://clicketysplit.ca
|
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -48,9 +47,20 @@ static void render_mod_status(uint8_t modifiers) {
|
||||||
|
|
||||||
static void render_secondary_oled(void) {
|
static void render_secondary_oled(void) {
|
||||||
// Version Information
|
// Version Information
|
||||||
oled_write_P(PSTR("Leeloo\n\n"), false);
|
#if defined(KEYBOARD_clickety_split_leeloo_rev1)
|
||||||
|
oled_write_P(PSTR("Leeloo v1\n\n"), false);
|
||||||
|
#else
|
||||||
|
oled_write_P(PSTR("Leeloo v2\n\n"), false);
|
||||||
|
#endif
|
||||||
|
|
||||||
oled_write_P(PSTR("Firmware: "), false);
|
oled_write_P(PSTR("Firmware: "), false);
|
||||||
oled_write_P(PSTR("v1.0"), false);
|
|
||||||
|
#if defined(KEYBOARD_clickety_split_leeloo_rev1)
|
||||||
|
oled_write_P(PSTR("v1.13"), false);
|
||||||
|
#else
|
||||||
|
oled_write_P(PSTR("v2.13"), false);
|
||||||
|
#endif
|
||||||
|
|
||||||
oled_write_P(PSTR("\n"), false);
|
oled_write_P(PSTR("\n"), false);
|
||||||
oled_write_P(PSTR("Clickety Split Ltd."), false);
|
oled_write_P(PSTR("Clickety Split Ltd."), false);
|
||||||
}
|
}
|
||||||
|
@ -58,7 +68,7 @@ static void render_secondary_oled(void) {
|
||||||
static void render_status(void) {
|
static void render_status(void) {
|
||||||
// Host Keyboard Layer Status
|
// Host Keyboard Layer Status
|
||||||
switch (get_highest_layer(default_layer_state)) {
|
switch (get_highest_layer(default_layer_state)) {
|
||||||
case _BASE:
|
case 0:
|
||||||
oled_write_P(PSTR("QWERTY | "), false);
|
oled_write_P(PSTR("QWERTY | "), false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -69,15 +79,15 @@ static void render_status(void) {
|
||||||
oled_write_P(PSTR("Base \n"), false);
|
oled_write_P(PSTR("Base \n"), false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case _LOWER:
|
case 1:
|
||||||
oled_write_P(PSTR("Lower \n"), false);
|
oled_write_P(PSTR("Lower \n"), false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case _RAISE:
|
case 2:
|
||||||
oled_write_P(PSTR("Raise \n"), false);
|
oled_write_P(PSTR("Raise \n"), false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case _ADJUST:
|
case 3:
|
||||||
oled_write_P(PSTR("Adjust \n"), false);
|
oled_write_P(PSTR("Adjust \n"), false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -128,4 +138,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // ENCODER_ENABLE
|
||||||
|
|
|
@ -1,16 +1,25 @@
|
||||||
# Leeloo
|
# Clickety Split | Leeloo v2
|
||||||
|
|
||||||
![Leeloo](https://cdn.shopify.com/s/files/1/0599/3460/5491/files/Leeloo-rev1.0-w.jpg?v=1646798726)
|
![Leeloo v2](https://i.imgur.com/swPHS0Bh.jpg)
|
||||||
|
|
||||||
Leeloo is a 4x6x5m ortholinear split keyboard kit made and sold by Clickety Split Ltd.
|
Leeloo v2 is the evolution of Leeloo, which is a 4x6x5m ortholinear split keyboard designed, created, and sold by Clickety Split Ltd.
|
||||||
|
|
||||||
* Keyboard Maintainer: [Clickety Split](https://github.com/ClicketySplit)
|
* Keyboard Maintainer: [Clickety Split](https://github.com/ClicketySplit)
|
||||||
* Hardware Supported: Leeloo PCB rev1, Pro Micro, Elite-C
|
* Hardware Supported: Leeloo PCB rev1/rev2, Pro Micro, Elite-C
|
||||||
* Hardware Availability: [clicketysplit.ca](https://clicketysplit.ca/pages/leeloo)
|
* Hardware Availability: [clicketysplit.ca/pages/leeloo](https://clicketysplit.ca/pages/leeloo)
|
||||||
|
|
||||||
Make example, after setting up build environment:
|
# Leeloo
|
||||||
|
|
||||||
|
![Leeloo](https://i.imgur.com/x1ew17Dh.jpg)
|
||||||
|
|
||||||
|
The original design and release of Leeloo.
|
||||||
|
|
||||||
|
# Sample Build Commands for Leeloo v1 and v2
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make clickety_split/leeloo/rev1:default
|
make clickety_split/leeloo/rev1:default
|
||||||
|
make clickety_split/leeloo/rev2:default
|
||||||
|
|
||||||
|
|
||||||
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).
|
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).
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "Leeloo v1",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.1.3"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
/* Copyright 2023 Clickety Split Ltd.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
# define RGB_MATRIX_LED_COUNT 74
|
||||||
|
# define RGB_MATRIX_SPLIT {37, 37}
|
||||||
|
# define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||||
|
# define SPLIT_TRANSPORT_MIRROR
|
|
@ -0,0 +1,102 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "Leeloo v2",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.2.0"
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"rgb_matrix": true
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"transport": {
|
||||||
|
"sync_matrix_state": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rgblight": {
|
||||||
|
"led_count": 74,
|
||||||
|
"split": true,
|
||||||
|
"split_count": [37, 37],
|
||||||
|
"max_brightness": 115
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "D3"
|
||||||
|
},
|
||||||
|
"rgb_matrix": {
|
||||||
|
"driver": "ws2812",
|
||||||
|
"layout": [
|
||||||
|
{"flags": 2, "x": 86, "y": 8}, // L LU01
|
||||||
|
{"flags": 2, "x": 52, "y": 8}, // L LU02
|
||||||
|
{"flags": 2, "x": 17, "y": 8}, // L LU03
|
||||||
|
{"flags": 2, "x": 0, "y": 24}, // L LU04
|
||||||
|
{"flags": 2, "x": 0, "y": 40}, // L LU05
|
||||||
|
{"flags": 2, "x": 17, "y": 56}, // L LU06
|
||||||
|
{"flags": 2, "x": 52, "y": 56}, // L LU07
|
||||||
|
{"flags": 2, "x": 86, "y": 56}, // L LU08
|
||||||
|
{"flags": 4, "matrix": [4, 5], "x": 103, "y": 48}, // L LB09 | SW29
|
||||||
|
{"flags": 4, "matrix": [4, 4], "x": 103, "y": 64}, // L LB10 | SW28
|
||||||
|
{"flags": 4, "matrix": [4, 3], "x": 86, "y": 64}, // L LB11 | SW27
|
||||||
|
{"flags": 4, "matrix": [3, 5], "x": 86, "y": 48}, // L LB12 | SW24
|
||||||
|
{"flags": 4, "matrix": [2, 5], "x": 86, "y": 32}, // L LB13 | SW18
|
||||||
|
{"flags": 4, "matrix": [1, 5], "x": 86, "y": 15}, // L LB14 | SW12
|
||||||
|
{"flags": 4, "matrix": [0, 5], "x": 86, "y": 0}, // L LB15 | SW6
|
||||||
|
{"flags": 4, "matrix": [0, 4], "x": 69, "y": 0}, // L LB16 | SW5
|
||||||
|
{"flags": 4, "matrix": [1, 4], "x": 69, "y": 16}, // L LB17 | SW11
|
||||||
|
{"flags": 4, "matrix": [2, 4], "x": 69, "y": 32}, // L LB18 | SW17
|
||||||
|
{"flags": 4, "matrix": [3, 4], "x": 69, "y": 48}, // L LB19 | SW23
|
||||||
|
{"flags": 4, "matrix": [4, 2], "x": 69, "y": 64}, // L LB20 | SW26
|
||||||
|
{"flags": 4, "matrix": [4, 1], "x": 52, "y": 64}, // L LB21 | SW25
|
||||||
|
{"flags": 4, "matrix": [3, 3], "x": 52, "y": 48}, // L LB22 | SW22
|
||||||
|
{"flags": 4, "matrix": [2, 3], "x": 52, "y": 32}, // L LB23 | SW16
|
||||||
|
{"flags": 4, "matrix": [1, 3], "x": 52, "y": 16}, // L LB24 | SW10
|
||||||
|
{"flags": 4, "matrix": [0, 3], "x": 52, "y": 0}, // L LB25 | SW4
|
||||||
|
{"flags": 4, "matrix": [0, 2], "x": 34, "y": 0}, // L LB26 | SW3
|
||||||
|
{"flags": 4, "matrix": [1, 2], "x": 34, "y": 16}, // L LB27 | SW9
|
||||||
|
{"flags": 4, "matrix": [2, 2], "x": 34, "y": 32}, // L LB28 | SW15
|
||||||
|
{"flags": 4, "matrix": [3, 2], "x": 34, "y": 48}, // L LB29 | SW21
|
||||||
|
{"flags": 4, "matrix": [3, 1], "x": 17, "y": 48}, // L LB30 | SW20
|
||||||
|
{"flags": 4, "matrix": [2, 1], "x": 17, "y": 32}, // L LB31 | SW14
|
||||||
|
{"flags": 4, "matrix": [1, 1], "x": 17, "y": 16}, // L LB32 | SW8
|
||||||
|
{"flags": 4, "matrix": [0, 1], "x": 17, "y": 0}, // L LB33 | SW2
|
||||||
|
{"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, // L LB34 | SW1
|
||||||
|
{"flags": 4, "matrix": [1, 0], "x": 0, "y": 16}, // L LB35 | SW7
|
||||||
|
{"flags": 4, "matrix": [2, 0], "x": 0, "y": 32}, // L LB36 | SW13
|
||||||
|
{"flags": 4, "matrix": [3, 0], "x": 0, "y": 48}, // L LB37 | SW19
|
||||||
|
{"flags": 2, "x": 137, "y": 8}, // R LU38
|
||||||
|
{"flags": 2, "x": 172, "y": 8}, // R LU39
|
||||||
|
{"flags": 2, "x": 206, "y": 8}, // R LU40
|
||||||
|
{"flags": 2, "x": 224, "y": 24}, // R LU41
|
||||||
|
{"flags": 2, "x": 224, "y": 40}, // R LU42
|
||||||
|
{"flags": 2, "x": 206, "y": 56}, // R LU43
|
||||||
|
{"flags": 2, "x": 172, "y": 56}, // R LU44
|
||||||
|
{"flags": 2, "x": 137, "y": 56}, // R LU45
|
||||||
|
{"flags": 4, "matrix": [9, 5], "x": 120, "y": 48}, // R LB46 | SW58
|
||||||
|
{"flags": 4, "matrix": [9, 4], "x": 120, "y": 64}, // R LB47 | SW57
|
||||||
|
{"flags": 4, "matrix": [9, 3], "x": 137, "y": 64}, // R LB48 | SW56
|
||||||
|
{"flags": 4, "matrix": [8, 5], "x": 137, "y": 48}, // R LB49 | SW53
|
||||||
|
{"flags": 4, "matrix": [7, 5], "x": 137, "y": 32}, // R LB50 | SW47
|
||||||
|
{"flags": 4, "matrix": [6, 5], "x": 137, "y": 15}, // R LB51 | SW41
|
||||||
|
{"flags": 4, "matrix": [5, 5], "x": 137, "y": 0}, // R LB52 | SW35
|
||||||
|
{"flags": 4, "matrix": [5, 4], "x": 155, "y": 0}, // R LB53 | SW34
|
||||||
|
{"flags": 4, "matrix": [6, 4], "x": 155, "y": 16}, // R LB54 | SW40
|
||||||
|
{"flags": 4, "matrix": [7, 4], "x": 155, "y": 32}, // R LB55 | SW46
|
||||||
|
{"flags": 4, "matrix": [8, 4], "x": 155, "y": 48}, // R LB56 | SW52
|
||||||
|
{"flags": 4, "matrix": [9, 2], "x": 155, "y": 64}, // R LB57 | SW55
|
||||||
|
{"flags": 4, "matrix": [9, 1], "x": 172, "y": 64}, // R LB58 | SW54
|
||||||
|
{"flags": 4, "matrix": [8, 3], "x": 172, "y": 48}, // R LB59 | SW51
|
||||||
|
{"flags": 4, "matrix": [7, 3], "x": 172, "y": 32}, // R LB60 | SW45
|
||||||
|
{"flags": 4, "matrix": [6, 3], "x": 172, "y": 16}, // R LB61 | SW39
|
||||||
|
{"flags": 4, "matrix": [5, 3], "x": 172, "y": 0}, // R LB62 | SW33
|
||||||
|
{"flags": 4, "matrix": [5, 2], "x": 189, "y": 0}, // R LB63 | SW32
|
||||||
|
{"flags": 4, "matrix": [6, 2], "x": 189, "y": 16}, // R LB64 | SW38
|
||||||
|
{"flags": 4, "matrix": [7, 2], "x": 189, "y": 32}, // R LB65 | SW44
|
||||||
|
{"flags": 4, "matrix": [8, 2], "x": 189, "y": 48}, // R LB66 | SW50
|
||||||
|
{"flags": 4, "matrix": [8, 1], "x": 206, "y": 48}, // R LB67 | SW49
|
||||||
|
{"flags": 4, "matrix": [7, 1], "x": 206, "y": 32}, // R LB68 | SW43
|
||||||
|
{"flags": 4, "matrix": [6, 1], "x": 206, "y": 16}, // R LB69 | SW37
|
||||||
|
{"flags": 4, "matrix": [5, 1], "x": 206, "y": 0}, // R LB70 | SW31
|
||||||
|
{"flags": 4, "matrix": [5, 0], "x": 224, "y": 0}, // R LB71 | SW30
|
||||||
|
{"flags": 4, "matrix": [6, 0], "x": 224, "y": 16}, // R LB72 | SW36
|
||||||
|
{"flags": 4, "matrix": [7, 0], "x": 224, "y": 32}, // R LB73 | SW42
|
||||||
|
{"flags": 4, "matrix": [8, 0], "x": 224, "y": 48} // R LB74 | SW48
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
# Intentionally left blank.
|
|
@ -1,15 +1,2 @@
|
||||||
# Build Options
|
# Default Folder
|
||||||
# change yes to no to disable
|
DEFAULT_FOLDER = clickety_split/leeloo/rev2
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = no # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
NKRO_ENABLE = no # Enable N-Key rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
SPLIT_KEYBOARD = yes
|
|
||||||
|
|
||||||
DEFAULT_FOLDER = clickety_split/leeloo/rev1
|
|
||||||
|
|
Loading…
Reference in New Issue