~ruther/qmk_firmware

3097d06ec38a2239259ac27b7a6306b03668536f — Duncan Sutherland 2 years ago e423d5e
[Keyboard] Add dactyl_lightcycle (#20709)

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
A keyboards/handwired/dactyl_lightcycle/info.json => keyboards/handwired/dactyl_lightcycle/info.json +209 -0
@@ 0,0 1,209 @@
{
    "keyboard_name": "Dactyl Lightcycle",
    "manufacturer": "Adereth",
    "url": "https://github.com/adereth/dactyl-keyboard",
    "maintainer": "Matt Adereth",
    "usb": {
        "vid": "0xFEED",
        "pid": "0x3060",
        "device_version": "0.0.1"
    },
    "features": {
        "bootmagic": true,
        "command": false,
        "console": false,
        "mousekey": true,
        "extrakey": true,
        "audio": false,
        "rgblight": false,
        "backlight": false,
        "nkro": false
    },
    "ws2812": {
        "pin": "D3"
    },
    "matrix_pins": {
        "cols": ["D4", "C6", "D7", "E6", "B4", "B5"],
        "rows": ["F7", "B1", "B3", "B2", "B6"]
    },
    "diode_direction": "COL2ROW",
    "split": {
        "enabled": true,
        "soft_serial_pin": "D0"
    },
    "development_board": "promicro",
    "community_layouts": ["split_3x6_3", "split_3x5_3"],
    "layouts": {
        "LAYOUT": {
            "layout": [
                {"matrix": [0, 0], "x": 0, "y": 0},
                {"matrix": [0, 1], "x": 1, "y": 0},
                {"matrix": [0, 2], "x": 2, "y": 0},
                {"matrix": [0, 3], "x": 3, "y": 0},
                {"matrix": [0, 4], "x": 4, "y": 0},
                {"matrix": [0, 5], "x": 5, "y": 0},

                {"matrix": [5, 0], "x": 11, "y": 0},
                {"matrix": [5, 1], "x": 12, "y": 0},
                {"matrix": [5, 2], "x": 13, "y": 0},
                {"matrix": [5, 3], "x": 14, "y": 0},
                {"matrix": [5, 4], "x": 15, "y": 0},
                {"matrix": [5, 5], "x": 16, "y": 0},

                {"matrix": [1, 0], "x": 0, "y": 1},
                {"matrix": [1, 1], "x": 1, "y": 1},
                {"matrix": [1, 2], "x": 2, "y": 1},
                {"matrix": [1, 3], "x": 3, "y": 1},
                {"matrix": [1, 4], "x": 4, "y": 1},
                {"matrix": [1, 5], "x": 5, "y": 1},

                {"matrix": [6, 0], "x": 11, "y": 1},
                {"matrix": [6, 1], "x": 12, "y": 1},
                {"matrix": [6, 2], "x": 13, "y": 1},
                {"matrix": [6, 3], "x": 14, "y": 1},
                {"matrix": [6, 4], "x": 15, "y": 1},
                {"matrix": [6, 5], "x": 16, "y": 1},

                {"matrix": [2, 0], "x": 0, "y": 2},
                {"matrix": [2, 1], "x": 1, "y": 2},
                {"matrix": [2, 2], "x": 2, "y": 2},
                {"matrix": [2, 3], "x": 3, "y": 2},
                {"matrix": [2, 4], "x": 4, "y": 2},
                {"matrix": [2, 5], "x": 5, "y": 2},

                {"matrix": [7, 0], "x": 11, "y": 2},
                {"matrix": [7, 1], "x": 12, "y": 2},
                {"matrix": [7, 2], "x": 13, "y": 2},
                {"matrix": [7, 3], "x": 14, "y": 2},
                {"matrix": [7, 4], "x": 15, "y": 2},
                {"matrix": [7, 5], "x": 16, "y": 2},

                {"matrix": [3, 5], "x": 6, "y": 2, "h": 1.25},
                {"matrix": [4, 5], "x": 7, "y": 2, "h": 1.5},

                {"matrix": [9, 0], "x": 9, "y": 2, "h": 1.5},
                {"matrix": [8, 0], "x": 10, "y": 2, "h": 1.25},

                {"matrix": [3, 0], "x": 0, "y": 3},
                {"matrix": [3, 1], "x": 1, "y": 3},
                {"matrix": [3, 2], "x": 2, "y": 3},
                {"matrix": [3, 3], "x": 3, "y": 3},
                {"matrix": [3, 4], "x": 4, "y": 3},

                {"matrix": [4, 2], "x": 5, "y": 3, "h": 2},
                {"matrix": [4, 3], "x": 6, "y": 3.25, "h": 1.75},
                {"matrix": [4, 4], "x": 7, "y": 3.5, "h": 1.5},

                {"matrix": [9, 1], "x": 9, "y": 3.5, "h": 1.5},
                {"matrix": [9, 2], "x": 10, "y": 3.25, "h": 1.75},
                {"matrix": [9, 3], "x": 11, "y": 3, "h": 2},

                {"matrix": [8, 1], "x": 12, "y": 3},
                {"matrix": [8, 2], "x": 13, "y": 3},
                {"matrix": [8, 3], "x": 14, "y": 3},
                {"matrix": [8, 4], "x": 15, "y": 3},
                {"matrix": [8, 5], "x": 16, "y": 3}
            ]
        },
        "LAYOUT_split_3x6_3": {
            "layout": [
                {"matrix": [0, 0], "x": 0, "y": 0},
                {"matrix": [0, 1], "x": 1, "y": 0},
                {"matrix": [0, 2], "x": 2, "y": 0},
                {"matrix": [0, 3], "x": 3, "y": 0},
                {"matrix": [0, 4], "x": 4, "y": 0},
                {"matrix": [0, 5], "x": 5, "y": 0},

                {"matrix": [5, 0], "x": 11, "y": 0},
                {"matrix": [5, 1], "x": 12, "y": 0},
                {"matrix": [5, 2], "x": 13, "y": 0},
                {"matrix": [5, 3], "x": 14, "y": 0},
                {"matrix": [5, 4], "x": 15, "y": 0},
                {"matrix": [5, 5], "x": 16, "y": 0},

                {"matrix": [1, 0], "x": 0, "y": 1},
                {"matrix": [1, 1], "x": 1, "y": 1},
                {"matrix": [1, 2], "x": 2, "y": 1},
                {"matrix": [1, 3], "x": 3, "y": 1},
                {"matrix": [1, 4], "x": 4, "y": 1},
                {"matrix": [1, 5], "x": 5, "y": 1},

                {"matrix": [6, 0], "x": 11, "y": 1},
                {"matrix": [6, 1], "x": 12, "y": 1},
                {"matrix": [6, 2], "x": 13, "y": 1},
                {"matrix": [6, 3], "x": 14, "y": 1},
                {"matrix": [6, 4], "x": 15, "y": 1},
                {"matrix": [6, 5], "x": 16, "y": 1},

                {"matrix": [2, 0], "x": 0, "y": 2},
                {"matrix": [2, 1], "x": 1, "y": 2},
                {"matrix": [2, 2], "x": 2, "y": 2},
                {"matrix": [2, 3], "x": 3, "y": 2},
                {"matrix": [2, 4], "x": 4, "y": 2},
                {"matrix": [2, 5], "x": 5, "y": 2},

                {"matrix": [7, 0], "x": 11, "y": 2},
                {"matrix": [7, 1], "x": 12, "y": 2},
                {"matrix": [7, 2], "x": 13, "y": 2},
                {"matrix": [7, 3], "x": 14, "y": 2},
                {"matrix": [7, 4], "x": 15, "y": 2},
                {"matrix": [7, 5], "x": 16, "y": 2},

                {"matrix": [4, 2], "x": 5, "y": 3, "h": 2},
                {"matrix": [4, 3], "x": 6, "y": 3.25, "h": 1.75},
                {"matrix": [4, 4], "x": 7, "y": 3.5, "h": 1.5},

                {"matrix": [9, 1], "x": 9, "y": 3.5, "h": 1.5},
                {"matrix": [9, 2], "x": 10, "y": 3.25, "h": 1.75},
                {"matrix": [9, 3], "x": 11, "y": 3, "h": 2}
            ]
        },
        "LAYOUT_split_3x5_3": {
            "layout": [
                {"matrix": [0, 1], "x": 0, "y": 0},
                {"matrix": [0, 2], "x": 1, "y": 0},
                {"matrix": [0, 3], "x": 2, "y": 0},
                {"matrix": [0, 4], "x": 3, "y": 0},
                {"matrix": [0, 5], "x": 4, "y": 0},

                {"matrix": [5, 0], "x": 10, "y": 0},
                {"matrix": [5, 1], "x": 11, "y": 0},
                {"matrix": [5, 2], "x": 12, "y": 0},
                {"matrix": [5, 3], "x": 13, "y": 0},
                {"matrix": [5, 4], "x": 14, "y": 0},

                {"matrix": [1, 1], "x": 0, "y": 1},
                {"matrix": [1, 2], "x": 1, "y": 1},
                {"matrix": [1, 3], "x": 2, "y": 1},
                {"matrix": [1, 4], "x": 3, "y": 1},
                {"matrix": [1, 5], "x": 4, "y": 1},

                {"matrix": [6, 0], "x": 10, "y": 1},
                {"matrix": [6, 1], "x": 11, "y": 1},
                {"matrix": [6, 2], "x": 12, "y": 1},
                {"matrix": [6, 3], "x": 13, "y": 1},
                {"matrix": [6, 4], "x": 14, "y": 1},

                {"matrix": [2, 1], "x": 0, "y": 2},
                {"matrix": [2, 2], "x": 1, "y": 2},
                {"matrix": [2, 3], "x": 2, "y": 2},
                {"matrix": [2, 4], "x": 3, "y": 2},
                {"matrix": [2, 5], "x": 4, "y": 2},

                {"matrix": [7, 0], "x": 10, "y": 2},
                {"matrix": [7, 1], "x": 11, "y": 2},
                {"matrix": [7, 2], "x": 12, "y": 2},
                {"matrix": [7, 3], "x": 13, "y": 2},
                {"matrix": [7, 4], "x": 14, "y": 2},

                {"matrix": [4, 2], "x": 4, "y": 3, "h": 2},
                {"matrix": [4, 3], "x": 5, "y": 3.25, "h": 1.75},
                {"matrix": [4, 4], "x": 6, "y": 3.5, "h": 1.5},

                {"matrix": [9, 1], "x": 8, "y": 3.5, "h": 1.5},
                {"matrix": [9, 2], "x": 9, "y": 3.25, "h": 1.75},
                {"matrix": [9, 3], "x": 10, "y": 3, "h": 2}
            ]
        }
    }
}

A keyboards/handwired/dactyl_lightcycle/keymaps/default/config.h => keyboards/handwired/dactyl_lightcycle/keymaps/default/config.h +42 -0
@@ 0,0 1,42 @@
/*
Copyright 2020 Ralph Azucena <ralphie02@live.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE

/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

/* Enables This makes it easier for fast typists to use dual-function keys */
#define PERMISSIVE_HOLD

/* mouse config */
#define MOUSEKEY_DELAY          0
// Lowering MOUSEKEY_INTERVAL raises the cursor speed significantly, you may want to lower MOUSEKEY_MAX_SPEED (default: 10)
#define MOUSEKEY_INTERVAL       20
#define MOUSEKEY_MAX_SPEED       7
#define MOUSEKEY_WHEEL_DELAY 0

/* layer config */
#define TAPPING_TOGGLE 1

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

A keyboards/handwired/dactyl_lightcycle/keymaps/default/keymap.json => keyboards/handwired/dactyl_lightcycle/keymaps/default/keymap.json +34 -0
@@ 0,0 1,34 @@
{
    "keyboard": "handwired/dactyl_lightcycle",
    "version": 1,
    "author": "dunk2k",
    "notes": "This file is a keymap(.json) file for handwired/dactyl_lightcycle",
    "keymap": "default",
    "layout": "LAYOUT",
    "layers": [
        [
            "KC_ESC",  "KC_Q",    "KC_W",   "KC_E",    "KC_R",    "KC_T",                                                         "KC_Y",          "KC_U",  "KC_I",    "KC_O",    "KC_P",    "KC_BSLS",
            "KC_TAB",  "KC_A",    "KC_S",   "KC_D",    "KC_F",    "KC_G",                                                         "KC_H",          "KC_J",  "KC_K",    "KC_L",    "KC_SCLN", "KC_QUOT",
            "KC_LALT", "KC_Z",    "KC_X",   "KC_C",    "KC_V",    "KC_B",           "KC_DEL", "KC_LGUI",      "KC_RGUI", "KC_BSPC", "KC_N",          "KC_M",  "KC_COMM", "KC_DOT",  "KC_SLSH", "KC_LALT",
            "KC_LCTL", "KC_MINS", "KC_EQL", "KC_LEFT", "KC_RGHT", "LT(1, KC_HOME)", "KC_SPC", "KC_LSFT",      "KC_RCTL", "KC_ENT",  "LT(2, KC_END)", "KC_UP", "KC_DOWN", "KC_LBRC", "KC_RBRC", "KC_RSFT"
        ],
        [
            "RCS(KC_ESC)", "KC_NO",   "KC_NO",  "KC_NO",       "KC_NO",     "KC_NO",                                                     "KC_NUM", "KC_P7",   "KC_P8", "KC_P9",   "KC_PMNS", "KC_TRNS",
            "KC_CAPS",     "KC_SCRL", "KC_INS", "KC_PAUS",     "KC_PSCR",   "KC_NO",                                                     "KC_PAST", "KC_P4",   "KC_P5", "KC_P6",   "KC_PPLS", "KC_TRNS",
            "KC_TRNS",     "KC_NO",   "KC_NO",  "S(KC_HOME)",  "S(KC_END)", "KC_NO",   "KC_TRNS", "KC_TRNS",      "KC_TRNS", "C(KC_BSPC)", "KC_PSLS", "KC_P1",   "KC_P2", "KC_P3",   "KC_PENT", "KC_TRNS",
            "KC_TRNS",     "KC_NO",   "KC_NO",  "LSG(KC_TAB)", "G(KC_TAB)", "KC_TRNS", "KC_TRNS", "KC_TRNS",      "KC_TRNS", "KC_RSFT",    "MO(3)",   "KC_PCMM", "KC_P0", "KC_PDOT", "KC_PEQL", "KC_TRNS"
        ],
        [
            "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_1",    "KC_2",    "KC_3",    "KC_4",      "KC_5",                                                     "KC_6",    "KC_7",    "KC_8",    "KC_9",    "KC_0",    "KC_TILD",
            "KC_TRNS", "KC_EXLM", "KC_AT",   "KC_HASH", "KC_DLR",    "KC_LPRN", "C(KC_DEL)", "KC_TRNS",      "KC_TRNS", "KC_TRNS", "KC_RPRN", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_TRNS",
            "KC_TRNS", "KC_UNDS", "KC_PLUS", "KC_NO",   "A(KC_TAB)", "MO(3)",   "KC_LCTL",   "KC_TRNS",      "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_PGDN", "KC_LCBR", "KC_RCBR", "KC_TRNS"
        ],
        [
            "KC_NO", "KC_NO",   "KC_NO",   "KC_NO",   "KC_NO",   "KC_NO",                                            "KC_NO",   "KC_VOLU", "KC_NO",   "KC_NO", "KC_NO",   "KC_NO",
            "KC_NO", "QK_BOOT", "KC_SLEP", "KC_MSTP", "KC_MPLY", "KC_NO",                                            "KC_NO",   "KC_MUTE", "KC_NO",   "KC_NO", "AG_TOGG", "KC_NO",
            "KC_NO", "KC_NO",   "KC_NO",   "KC_MRWD", "KC_MFFD", "KC_NO",   "KC_NO", "KC_NO",      "KC_NO", "KC_NO", "KC_NO",   "KC_VOLD", "KC_NO",   "KC_NO", "KC_NO",   "KC_NO",
            "KC_NO", "KC_NO",   "KC_NO",   "KC_MNXT", "KC_MNXT", "KC_TRNS", "KC_NO", "KC_NO",      "KC_NO", "KC_NO", "KC_TRNS", "KC_BRIU", "KC_BRID", "KC_NO", "KC_NO",   "KC_NO"
        ]
    ]
}

A keyboards/handwired/dactyl_lightcycle/keymaps/via/config.h => keyboards/handwired/dactyl_lightcycle/keymaps/via/config.h +42 -0
@@ 0,0 1,42 @@
/*
Copyright 2020 Ralph Azucena <ralphie02@live.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE

/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

/* Enables This makes it easier for fast typists to use dual-function keys */
#define PERMISSIVE_HOLD

/* mouse config */
#define MOUSEKEY_DELAY          0
// Lowering MOUSEKEY_INTERVAL raises the cursor speed significantly, you may want to lower MOUSEKEY_MAX_SPEED (default: 10)
#define MOUSEKEY_INTERVAL       20
#define MOUSEKEY_MAX_SPEED       7
#define MOUSEKEY_WHEEL_DELAY 0

/* layer config */
#define TAPPING_TOGGLE 1

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

A keyboards/handwired/dactyl_lightcycle/keymaps/via/keymap.json => keyboards/handwired/dactyl_lightcycle/keymaps/via/keymap.json +34 -0
@@ 0,0 1,34 @@
{
    "keyboard": "handwired/dactyl_lightcycle",
    "version": 1,
    "author": "dunk2k",
    "notes": "This file is a keymap(.json) file for handwired/dactyl_lightcycle",
    "keymap": "via",
    "layout": "LAYOUT",
    "layers": [
        [
            "KC_ESC",  "KC_Q",    "KC_W",   "KC_E",    "KC_R",    "KC_T",                                                         "KC_Y",          "KC_U",  "KC_I",    "KC_O",    "KC_P",    "KC_BSLS",
            "KC_TAB",  "KC_A",    "KC_S",   "KC_D",    "KC_F",    "KC_G",                                                         "KC_H",          "KC_J",  "KC_K",    "KC_L",    "KC_SCLN", "KC_QUOT",
            "KC_LALT", "KC_Z",    "KC_X",   "KC_C",    "KC_V",    "KC_B",           "KC_DEL", "KC_LGUI",      "KC_RGUI", "KC_BSPC", "KC_N",          "KC_M",  "KC_COMM", "KC_DOT",  "KC_SLSH", "KC_LALT",
            "KC_LCTL", "KC_MINS", "KC_EQL", "KC_LEFT", "KC_RGHT", "LT(1, KC_HOME)", "KC_SPC", "KC_LSFT",      "KC_RCTL", "KC_ENT",  "LT(2, KC_END)", "KC_UP", "KC_DOWN", "KC_LBRC", "KC_RBRC", "KC_RSFT"
        ],
        [
            "RCS(KC_ESC)", "KC_NO",   "KC_NO",  "KC_NO",       "KC_NO",     "KC_NO",                                                     "KC_NUM", "KC_P7",   "KC_P8", "KC_P9",   "KC_PMNS", "KC_TRNS",
            "KC_CAPS",     "KC_SCRL", "KC_INS", "KC_PAUS",     "KC_PSCR",   "KC_NO",                                                     "KC_PAST", "KC_P4",   "KC_P5", "KC_P6",   "KC_PPLS", "KC_TRNS",
            "KC_TRNS",     "KC_NO",   "KC_NO",  "S(KC_HOME)",  "S(KC_END)", "KC_NO",   "KC_TRNS", "KC_TRNS",      "KC_TRNS", "C(KC_BSPC)", "KC_PSLS", "KC_P1",   "KC_P2", "KC_P3",   "KC_PENT", "KC_TRNS",
            "KC_TRNS",     "KC_NO",   "KC_NO",  "LSG(KC_TAB)", "G(KC_TAB)", "KC_TRNS", "KC_TRNS", "KC_TRNS",      "KC_TRNS", "KC_RSFT",    "MO(3)",   "KC_PCMM", "KC_P0", "KC_PDOT", "KC_PEQL", "KC_TRNS"
        ],
        [
            "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_1",    "KC_2",    "KC_3",    "KC_4",      "KC_5",                                                     "KC_6",    "KC_7",    "KC_8",    "KC_9",    "KC_0",    "KC_TILD",
            "KC_TRNS", "KC_EXLM", "KC_AT",   "KC_HASH", "KC_DLR",    "KC_LPRN", "C(KC_DEL)", "KC_TRNS",      "KC_TRNS", "KC_TRNS", "KC_RPRN", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_TRNS",
            "KC_TRNS", "KC_UNDS", "KC_PLUS", "KC_NO",   "A(KC_TAB)", "MO(3)",   "KC_LCTL",   "KC_TRNS",      "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_PGDN", "KC_LCBR", "KC_RCBR", "KC_TRNS"
        ],
        [
            "KC_NO", "KC_NO",   "KC_NO",   "KC_NO",   "KC_NO",   "KC_NO",                                            "KC_NO",   "KC_VOLU", "KC_NO",   "KC_NO", "KC_NO",   "KC_NO",
            "KC_NO", "QK_BOOT", "KC_SLEP", "KC_MSTP", "KC_MPLY", "KC_NO",                                            "KC_NO",   "KC_MUTE", "KC_NO",   "KC_NO", "AG_TOGG", "KC_NO",
            "KC_NO", "KC_NO",   "KC_NO",   "KC_MRWD", "KC_MFFD", "KC_NO",   "KC_NO", "KC_NO",      "KC_NO", "KC_NO", "KC_NO",   "KC_VOLD", "KC_NO",   "KC_NO", "KC_NO",   "KC_NO",
            "KC_NO", "KC_NO",   "KC_NO",   "KC_MNXT", "KC_MNXT", "KC_TRNS", "KC_NO", "KC_NO",      "KC_NO", "KC_NO", "KC_TRNS", "KC_BRIU", "KC_BRID", "KC_NO", "KC_NO",   "KC_NO"
        ]
    ]
}

A keyboards/handwired/dactyl_lightcycle/keymaps/via/rules.mk => keyboards/handwired/dactyl_lightcycle/keymaps/via/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE = yes

A keyboards/handwired/dactyl_lightcycle/readme.md => keyboards/handwired/dactyl_lightcycle/readme.md +40 -0
@@ 0,0 1,40 @@
# Dactyl Lightcycle

![TopElev](https://i.imgur.com/MwPhTrCh.jpg)

A handwired, split bodied, concave key-well, columnar keyboard.  
The *Dactyl Lightcycle* is a variation of the [Dactyl](/keyboards/handwired/dactyl/) keyboard, its differences are:
1. Top (number) row removed
2. Five key thumb cluster; one less than the *Dactyl's* six

This modernised rendition of the *Dactyl Lightcycle* requires two Pro Micro controllers, rather than the *Dactyl's* original implementation of a micro controller and I/O expander.

* Keyboard Maintainer: [Matt Adereth](https://github.com/adereth/)
* Hardware Supported: 2x Pro Micro micro controller, or clone of
* Hardware Availability: Case files available on [GitHub](https://github.com/adereth/dactyl-keyboard), file names beginning "lightcycle" apply

Make example for this keyboard (after setting up your build environment):

    make handwired/dactyl_lightcycle:default

Flashing example for this keyboard:

    make handwired/dactyl_lightcycle:default:flash

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

## Bootloader

Enter the bootloader in 3 ways:

* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in keymap**: Press the key mapped to `QK_BOOT` if it is available

## QMK Layouts

The following [community layouts](/layouts/) are supported:
| Layout | Diagram |
| :---: | :---: |
| Split_3x6_3 | ![split_3x6_3](https://i.imgur.com/xBVDsqE.jpg) |
| Split_3x5_3 | ![split_3x5_3](https://i.imgur.com/nc0dbH1.jpg) |

A keyboards/handwired/dactyl_lightcycle/rules.mk => keyboards/handwired/dactyl_lightcycle/rules.mk +0 -0