forked from mirrors/qmk_userspace
		
	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>
This commit is contained in:
		
					parent
					
						
							
								61a72b9c20
							
						
					
				
			
			
				commit
				
					
						d187a0a3af
					
				
			
		
					 11 changed files with 284 additions and 123 deletions
				
			
		| 
						 | 
				
			
			@ -1,24 +1,31 @@
 | 
			
		|||
{
 | 
			
		||||
  "keyboard_name": "Leeloo",
 | 
			
		||||
  "manufacturer": "Clickety Split Ltd",
 | 
			
		||||
  "url": "https://clicketysplit.ca/pages/leeloo",
 | 
			
		||||
  "maintainer": "ClicketySplit",
 | 
			
		||||
  "usb": {
 | 
			
		||||
    "vid": "0x4013",
 | 
			
		||||
    "pid": "0x2022",
 | 
			
		||||
    "device_version": "0.1.3"
 | 
			
		||||
  },
 | 
			
		||||
  "matrix_pins": {
 | 
			
		||||
    "cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
 | 
			
		||||
    "rows": ["C6", "D7", "E6", "B4", "B5"]
 | 
			
		||||
    "pid": "0x2022"
 | 
			
		||||
  },
 | 
			
		||||
  "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": {
 | 
			
		||||
    "enabled": true,
 | 
			
		||||
    "rotary": [
 | 
			
		||||
      {"pin_a": "F5", "pin_b": "F4"}
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "split": {
 | 
			
		||||
    "enabled": true,
 | 
			
		||||
    "soft_serial_pin": "D2",
 | 
			
		||||
    "encoder": {
 | 
			
		||||
      "right": {
 | 
			
		||||
| 
						 | 
				
			
			@ -28,81 +35,77 @@
 | 
			
		|||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "tapping": {
 | 
			
		||||
    "term": 100
 | 
			
		||||
  },
 | 
			
		||||
  "processor": "atmega32u4",
 | 
			
		||||
  "bootloader": "caterina",
 | 
			
		||||
  "development_board": "promicro",
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT": {
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"matrix": [0, 0], "x": 0, "y": 0.5},
 | 
			
		||||
        {"matrix": [0, 1], "x": 1, "y": 0.4},
 | 
			
		||||
        {"matrix": [0, 2], "x": 2, "y": 0.2},
 | 
			
		||||
        {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
        {"matrix": [0, 4], "x": 4, "y": 0.2},
 | 
			
		||||
        {"matrix": [0, 5], "x": 5, "y": 0.4},
 | 
			
		||||
        {"label":"Esc",  "matrix": [0, 0], "x":  0.0,  "y":0.5},
 | 
			
		||||
        {"label":"1",    "matrix": [0, 1], "x":  1.0,  "y":0.4},
 | 
			
		||||
        {"label":"2",    "matrix": [0, 2], "x":  2.0,  "y":0.2},
 | 
			
		||||
        {"label":"3",    "matrix": [0, 3], "x":  3.0,  "y":0.0},
 | 
			
		||||
        {"label":"4",    "matrix": [0, 4], "x":  4.0,  "y":0.2},
 | 
			
		||||
        {"label":"5",    "matrix": [0, 5], "x":  5.0,  "y":0.4},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [5, 5], "x": 9, "y": 0.4},
 | 
			
		||||
        {"matrix": [5, 4], "x": 10, "y": 0.2},
 | 
			
		||||
        {"matrix": [5, 3], "x": 11, "y": 0},
 | 
			
		||||
        {"matrix": [5, 2], "x": 12, "y": 0.2},
 | 
			
		||||
        {"matrix": [5, 1], "x": 13, "y": 0.4},
 | 
			
		||||
        {"matrix": [5, 0], "x": 14, "y": 0.5},
 | 
			
		||||
        {"label":"6",    "matrix": [5, 5], "x":  9.0,  "y":0.4},
 | 
			
		||||
        {"label":"7",    "matrix": [5, 4], "x": 10.0,  "y":0.2},
 | 
			
		||||
        {"label":"8",    "matrix": [5, 3], "x": 11.0,  "y":0.0},
 | 
			
		||||
        {"label":"9",    "matrix": [5, 2], "x": 12.0,  "y":0.2},
 | 
			
		||||
        {"label":"0",    "matrix": [5, 1], "x": 13.0,  "y":0.4},
 | 
			
		||||
        {"label":"BSL",  "matrix": [5, 0], "x": 14.0,  "y":0.5},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [1, 0], "x": 0, "y": 1.5},
 | 
			
		||||
        {"matrix": [1, 1], "x": 1, "y": 1.4},
 | 
			
		||||
        {"matrix": [1, 2], "x": 2, "y": 1.2},
 | 
			
		||||
        {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
        {"matrix": [1, 4], "x": 4, "y": 1.2},
 | 
			
		||||
        {"matrix": [1, 5], "x": 5, "y": 1.4},
 | 
			
		||||
        {"label":"TAB",  "matrix": [1, 0], "x":  0.0,  "y":1.5},
 | 
			
		||||
        {"label":"Q",    "matrix": [1, 1], "x":  1.0,  "y":1.4},
 | 
			
		||||
        {"label":"W",    "matrix": [1, 2], "x":  2.0,  "y":1.2},
 | 
			
		||||
        {"label":"E",    "matrix": [1, 3], "x":  3.0,  "y":1.0},
 | 
			
		||||
        {"label":"R",    "matrix": [1, 4], "x":  4.0,  "y":1.2},
 | 
			
		||||
        {"label":"T",    "matrix": [1, 5], "x":  5.0,  "y":1.4},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [6, 5], "x": 9, "y": 1.4},
 | 
			
		||||
        {"matrix": [6, 4], "x": 10, "y": 1.2},
 | 
			
		||||
        {"matrix": [6, 3], "x": 11, "y": 1},
 | 
			
		||||
        {"matrix": [6, 2], "x": 12, "y": 1.2},
 | 
			
		||||
        {"matrix": [6, 1], "x": 13, "y": 1.4},
 | 
			
		||||
        {"matrix": [6, 0], "x": 14, "y": 1.5},
 | 
			
		||||
        {"label":"Y",    "matrix": [6, 5], "x":  9.0,  "y":1.4},
 | 
			
		||||
        {"label":"U",    "matrix": [6, 4], "x": 10.0,  "y":1.2},
 | 
			
		||||
        {"label":"I",    "matrix": [6, 3], "x": 11.0,  "y":1.0},
 | 
			
		||||
        {"label":"O",    "matrix": [6, 2], "x": 12.0,  "y":1.2},
 | 
			
		||||
        {"label":"P",    "matrix": [6, 1], "x": 13.0,  "y":1.4},
 | 
			
		||||
        {"label":"GRV",  "matrix": [6, 0], "x": 14.0,  "y":1.5},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [2, 0], "x": 0, "y": 2.5},
 | 
			
		||||
        {"matrix": [2, 1], "x": 1, "y": 2.4},
 | 
			
		||||
        {"matrix": [2, 2], "x": 2, "y": 2.2},
 | 
			
		||||
        {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
        {"matrix": [2, 4], "x": 4, "y": 2.2},
 | 
			
		||||
        {"matrix": [2, 5], "x": 5, "y": 2.4},
 | 
			
		||||
        {"label":"CAPS", "matrix": [2, 0], "x":  0.0,  "y":2.5},
 | 
			
		||||
        {"label":"A",    "matrix": [2, 1], "x":  1.0,  "y":2.4},
 | 
			
		||||
        {"label":"S",    "matrix": [2, 2], "x":  2.0,  "y":2.2},
 | 
			
		||||
        {"label":"D",    "matrix": [2, 3], "x":  3.0,  "y":2.0},
 | 
			
		||||
        {"label":"F",    "matrix": [2, 4], "x":  4.0,  "y":2.2},
 | 
			
		||||
        {"label":"G",    "matrix": [2, 5], "x":  5.0,  "y":2.4},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [7, 5], "x": 9, "y": 2.4},
 | 
			
		||||
        {"matrix": [7, 4], "x": 10, "y": 2.2},
 | 
			
		||||
        {"matrix": [7, 3], "x": 11, "y": 2},
 | 
			
		||||
        {"matrix": [7, 2], "x": 12, "y": 2.2},
 | 
			
		||||
        {"matrix": [7, 1], "x": 13, "y": 2.4},
 | 
			
		||||
        {"matrix": [7, 0], "x": 14, "y": 2.5},
 | 
			
		||||
        {"label":"H",    "matrix": [7, 5], "x":  9.0,  "y":2.4},
 | 
			
		||||
        {"label":"J",    "matrix": [7, 4], "x": 10.0,  "y":2.2},
 | 
			
		||||
        {"label":"K",    "matrix": [7, 3], "x": 11.0,  "y":2.0},
 | 
			
		||||
        {"label":"L",    "matrix": [7, 2], "x": 12.0,  "y":2.2},
 | 
			
		||||
        {"label":";",    "matrix": [7, 1], "x": 13.0,  "y":2.4},
 | 
			
		||||
        {"label":"'",    "matrix": [7, 0], "x": 14.0,  "y":2.5},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [3, 0], "x": 0, "y": 3.5},
 | 
			
		||||
        {"matrix": [3, 1], "x": 1, "y": 3.4},
 | 
			
		||||
        {"matrix": [3, 2], "x": 2, "y": 3.2},
 | 
			
		||||
        {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
        {"matrix": [3, 4], "x": 4, "y": 3.2},
 | 
			
		||||
        {"matrix": [3, 5], "x": 5, "y": 3.4},
 | 
			
		||||
        {"matrix": [4, 5], "x": 6.25, "y": 3.4},
 | 
			
		||||
        {"label":"SFT",  "matrix": [3, 0], "x":  0.0,  "y":3.5},
 | 
			
		||||
        {"label":"Z",    "matrix": [3, 1], "x":  1.0,  "y":3.4},
 | 
			
		||||
        {"label":"X",    "matrix": [3, 2], "x":  2.0,  "y":3.2},
 | 
			
		||||
        {"label":"C",    "matrix": [3, 3], "x":  3.0,  "y":3.0},
 | 
			
		||||
        {"label":"V",    "matrix": [3, 4], "x":  4.0,  "y":3.2},
 | 
			
		||||
        {"label":"B",    "matrix": [3, 5], "x":  5.0,  "y":3.4},
 | 
			
		||||
        {"label":"GUI",  "matrix": [4, 5], "x":  6.25, "y":3.4},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [9, 5], "x": 7.75, "y": 3.4},
 | 
			
		||||
        {"matrix": [8, 5], "x": 9, "y": 3.4},
 | 
			
		||||
        {"matrix": [8, 4], "x": 10, "y": 3.2},
 | 
			
		||||
        {"matrix": [8, 3], "x": 11, "y": 3},
 | 
			
		||||
        {"matrix": [8, 2], "x": 12, "y": 3.2},
 | 
			
		||||
        {"matrix": [8, 1], "x": 13, "y": 3.4},
 | 
			
		||||
        {"matrix": [8, 0], "x": 14, "y": 3.5},
 | 
			
		||||
        {"label":"GUI",  "matrix": [9, 5], "x":  7.75, "y":3.4},
 | 
			
		||||
        {"label":"N",    "matrix": [8, 5], "x":  9.0,  "y":3.4},
 | 
			
		||||
        {"label":"M",    "matrix": [8, 4], "x": 10.0,  "y":3.2},
 | 
			
		||||
        {"label":",",    "matrix": [8, 3], "x": 11.0,  "y":3.0},
 | 
			
		||||
        {"label":".",    "matrix": [8, 2], "x": 12.0,  "y":3.2},
 | 
			
		||||
        {"label":"/",    "matrix": [8, 1], "x": 13.0,  "y":3.4},
 | 
			
		||||
        {"label":"SFT",  "matrix": [8, 0], "x": 14.0,  "y":3.5},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [4, 1], "x": 2.7, "y": 4.6},
 | 
			
		||||
        {"matrix": [4, 2], "x": 3.8, "y": 4.5},
 | 
			
		||||
        {"matrix": [4, 3], "x": 4.9, "y": 4.55},
 | 
			
		||||
        {"matrix": [4, 4], "x": 6.1, "y": 4.65},
 | 
			
		||||
        {"label":"ALT",  "matrix": [4, 1], "x":  2.7,  "y":4.6},
 | 
			
		||||
        {"label":"CTL",  "matrix": [4, 2], "x":  3.8,  "y":4.5},
 | 
			
		||||
        {"label":"ENT",  "matrix": [4, 3], "x":  4.9,  "y":4.55},
 | 
			
		||||
        {"label":"MINS", "matrix": [4, 4], "x":  6.1,  "y":4.65},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [9, 4], "x": 7.9, "y": 4.65},
 | 
			
		||||
        {"matrix": [9, 3], "x": 9.1, "y": 4.55},
 | 
			
		||||
        {"matrix": [9, 2], "x": 10.2, "y": 4.5},
 | 
			
		||||
        {"matrix": [9, 1], "x": 11.3, "y": 4.6}
 | 
			
		||||
        {"label":"EQL",  "matrix": [9, 4], "x":  7.9,  "y":4.65},
 | 
			
		||||
        {"label":"SPC",  "matrix": [9, 3], "x":  9.1,  "y":4.55},
 | 
			
		||||
        {"label":"BSP",  "matrix": [9, 2], "x": 10.2,  "y":4.5},
 | 
			
		||||
        {"label":"DEL",  "matrix": [9, 1], "x": 11.3,  "y":4.6}
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
/* Copyright 2022 Clickety Split Ltd.
 | 
			
		||||
 *                https://clicketysplit.ca
 | 
			
		||||
/* 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
 | 
			
		||||
| 
						 | 
				
			
			@ -17,17 +16,30 @@
 | 
			
		|||
 | 
			
		||||
#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
 | 
			
		||||
// you may try increasing or decreasing the value.
 | 
			
		||||
// #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.
 | 
			
		||||
 *                https://clicketysplit.ca
 | 
			
		||||
/* 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
 | 
			
		||||
| 
						 | 
				
			
			@ -92,23 +91,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 * ,-----------------------------------------.                                ,-----------------------------------------.
 | 
			
		||||
 * |      |      |      |      |      |      |                                |      |      |      |      |      |      |
 | 
			
		||||
 * |------+------+------+------+------+------|                                |------+------+------+------+------+------|
 | 
			
		||||
 * |      |      |      |      |      |      |                                |      |      |      |      |      |      |
 | 
			
		||||
 * |      |      |      |      |      |      |                                |      |      | +VOL |      |      |      |
 | 
			
		||||
 * |------+------+------+------+------+------|                                |------+------+------+------+------+------|
 | 
			
		||||
 * |      |      |      |      |      |      |--------.               ,-------|      |      |      |      |      |      |
 | 
			
		||||
 * |      |      |      |      |      |      |--------.               ,-------|      |      | -VOL |      |      |      |
 | 
			
		||||
 * |------+------+------+------+------+------|        |               |       |------+------+------+------+------+------|
 | 
			
		||||
 * |      |      |      |      |      |      |--------|               |-------|      |      |      |      |      |      |
 | 
			
		||||
 * |      |      |      |      |      |      |--------|               |-------|      | MUTE |      |      |      |      |
 | 
			
		||||
 * `-----------------------------------------/       /                 \      \-----------------------------------------'
 | 
			
		||||
 *                | LALT  | LCTL  | ENT   | / MINS  /                   \ EQL  \  | SPC   | BSPC  |  DEL  |
 | 
			
		||||
 *                |       |       | LOWR  |/ RAISE /                     \RAISE \ | LOWR  |       |       |
 | 
			
		||||
 *                `-------------------------------'                       '------''-----------------------'
 | 
			
		||||
 *
 | 
			
		||||
 * NOTE: For Leeloo v1 the RGB Keycodes will not have any effect.
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
  [_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.
 | 
			
		||||
 *                https://clicketysplit.ca
 | 
			
		||||
/* 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
 | 
			
		||||
| 
						 | 
				
			
			@ -48,9 +47,20 @@ static void render_mod_status(uint8_t modifiers) {
 | 
			
		|||
 | 
			
		||||
static void render_secondary_oled(void) {
 | 
			
		||||
    // 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("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("Clickety Split Ltd."), false);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -58,7 +68,7 @@ static void render_secondary_oled(void) {
 | 
			
		|||
static void render_status(void) {
 | 
			
		||||
    // Host Keyboard Layer Status
 | 
			
		||||
    switch (get_highest_layer(default_layer_state)) {
 | 
			
		||||
        case _BASE:
 | 
			
		||||
        case 0:
 | 
			
		||||
            oled_write_P(PSTR("QWERTY | "), false);
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -69,15 +79,15 @@ static void render_status(void) {
 | 
			
		|||
            oled_write_P(PSTR("Base   \n"), false);
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case _LOWER:
 | 
			
		||||
        case 1:
 | 
			
		||||
            oled_write_P(PSTR("Lower   \n"), false);
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case _RAISE:
 | 
			
		||||
        case 2:
 | 
			
		||||
            oled_write_P(PSTR("Raise   \n"), false);
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case _ADJUST:
 | 
			
		||||
        case 3:
 | 
			
		||||
            oled_write_P(PSTR("Adjust  \n"), false);
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -128,4 +138,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
 | 
			
		|||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
#endif // ENCODER_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,16 +1,25 @@
 | 
			
		|||
# Leeloo
 | 
			
		||||
# Clickety Split | Leeloo v2
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
* Hardware Supported: Leeloo PCB rev1, Pro Micro, Elite-C
 | 
			
		||||
* Hardware Availability: [clicketysplit.ca](https://clicketysplit.ca/pages/leeloo)
 | 
			
		||||
* Hardware Supported: Leeloo PCB rev1/rev2, Pro Micro, Elite-C
 | 
			
		||||
* Hardware Availability: [clicketysplit.ca/pages/leeloo](https://clicketysplit.ca/pages/leeloo)
 | 
			
		||||
 | 
			
		||||
Make example, after setting up build environment:
 | 
			
		||||
# Leeloo
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
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/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).
 | 
			
		||||
							
								
								
									
										6
									
								
								keyboards/clickety_split/leeloo/rev1/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								keyboards/clickety_split/leeloo/rev1/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "Leeloo v1",
 | 
			
		||||
    "usb": {
 | 
			
		||||
      "device_version": "0.1.3"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										22
									
								
								keyboards/clickety_split/leeloo/rev2/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								keyboards/clickety_split/leeloo/rev2/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
							
								
								
									
										102
									
								
								keyboards/clickety_split/leeloo/rev2/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								keyboards/clickety_split/leeloo/rev2/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
        ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
							
								
								
									
										1
									
								
								keyboards/clickety_split/leeloo/rev2/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/clickety_split/leeloo/rev2/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
# Intentionally left blank.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,15 +1,2 @@
 | 
			
		|||
# Build Options
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
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
 | 
			
		||||
# Default Folder
 | 
			
		||||
DEFAULT_FOLDER = clickety_split/leeloo/rev2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue