~ruther/qmk_firmware

e5d99ec6afbdab1f8dd136372dd52cffa0dd87a9 — QMK Bot 1 year, 10 months ago 28f29c6 + fa0b451
Merge remote-tracking branch 'origin/master' into develop
A keyboards/mothwing/info.json => keyboards/mothwing/info.json +78 -0
@@ 0,0 1,78 @@
{
    "keyboard_name": "mothwing",
    "manufacturer": "Luana co.ltd.",
    "url": "",
    "maintainer": "tan-t",
    "usb": {
        "vid": "0x4D77",
        "pid": "0x0001",
        "device_version": "0.0.1"
    },
    "matrix_pins": {
        "cols": ["F4", "F5", "F6", "F7", "B1", "B3"],
        "rows": ["D4", "C6", "D7", "E6"]
    },
    "diode_direction": "COL2ROW",
    "split": {
        "enabled": true,
        "soft_serial_pin": "D2"
    },
    "development_board": "promicro",
    "layouts": {
        "LAYOUT": {
            "layout": [
                {"matrix": [0, 0], "x": 0, "y": 1.18},
                {"matrix": [0, 1], "x": 1, "y": 1.03},
                {"matrix": [0, 2], "x": 2, "y": 0.35},
                {"matrix": [0, 3], "x": 3, "y": 0},
                {"matrix": [0, 4], "x": 4, "y": 0.05},
                {"matrix": [0, 5], "x": 5, "y": 0.1},

                {"matrix": [4, 5], "x": 11.5, "y": 0.1},
                {"matrix": [4, 4], "x": 12.5, "y": 0.05},
                {"matrix": [4, 3], "x": 13.5, "y": 0},
                {"matrix": [4, 2], "x": 14.5, "y": 0.35},
                {"matrix": [4, 1], "x": 15.5, "y": 1.08},
                {"matrix": [4, 0], "x": 16.5, "y": 1.18},

                {"matrix": [1, 0], "x": 0, "y": 2.18},
                {"matrix": [1, 1], "x": 1, "y": 2.03},
                {"matrix": [1, 2], "x": 2, "y": 1.35},
                {"matrix": [1, 3], "x": 3, "y": 1},
                {"matrix": [1, 4], "x": 4, "y": 1.05},
                {"matrix": [1, 5], "x": 5, "y": 1.1},

                {"matrix": [5, 5], "x": 11.5, "y": 1.1},
                {"matrix": [5, 4], "x": 12.5, "y": 1.05},
                {"matrix": [5, 3], "x": 13.5, "y": 1},
                {"matrix": [5, 2], "x": 14.5, "y": 1.35},
                {"matrix": [5, 1], "x": 15.5, "y": 2.03},
                {"matrix": [5, 0], "x": 16.5, "y": 2.18},

                {"matrix": [2, 0], "x": 0, "y": 3.18},
                {"matrix": [2, 1], "x": 1, "y": 3.03},
                {"matrix": [2, 2], "x": 2, "y": 2.35},
                {"matrix": [2, 3], "x": 3, "y": 2},
                {"matrix": [2, 4], "x": 4, "y": 2.05},
                {"matrix": [2, 5], "x": 5, "y": 2.1},

                {"matrix": [6, 5], "x": 11.5, "y": 2.1},
                {"matrix": [6, 4], "x": 12.5, "y": 2.05},
                {"matrix": [6, 3], "x": 13.5, "y": 2},
                {"matrix": [6, 2], "x": 14.5, "y": 2.35},
                {"matrix": [6, 1], "x": 15.5, "y": 3.03},
                {"matrix": [6, 0], "x": 16.5, "y": 3.18},

                {"matrix": [3, 2], "x": 4, "y": 3.05},
                {"matrix": [3, 3], "x": 5, "y": 3.1},
                {"matrix": [3, 4], "x": 6, "y": 3.2, "w": 1.25},
                {"matrix": [3, 5], "x": 7.25, "y": 3.5},

                {"matrix": [7, 5], "x": 9.25, "y": 3.5},
                {"matrix": [7, 4], "x": 10.25, "y": 3.2, "w": 1.25},
                {"matrix": [7, 3], "x": 11.5, "y": 3.1},
                {"matrix": [7, 2], "x": 12.5, "y": 3.05}
            ]
        }
    }
}

A keyboards/mothwing/keymaps/default/keymap.c => keyboards/mothwing/keymaps/default/keymap.c +72 -0
@@ 0,0 1,72 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
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/>.
*/

#include QMK_KEYBOARD_H

// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.

enum layer_number {
    _QWERTY,
    _RAISE,
    _LOWER,
};

#define KC_L_SPC LT(_LOWER, KC_SPC)  // lower
#define KC_R_ENT LT(_RAISE, KC_ENT)  // raise
#define KC_G_JA LGUI_T(KC_LNG1)      // cmd or win
#define KC_G_EN LGUI_T(KC_LNG2)      // cmd or win
#define KC_C_BS LCTL_T(KC_BSPC)      // ctrl
#define KC_A_DEL ALT_T(KC_DEL)       // alt

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_QWERTY] = LAYOUT(
    //,--------+--------+---------+--------+---------+--------.   ,--------+---------+--------+---------+--------+--------.
       KC_ESC , KC_Q   , KC_W    , KC_E   , KC_R    , KC_T   ,     KC_Y   , KC_U    , KC_I   , KC_O    , KC_P   , KC_MINS,
    //|--------+--------+---------+--------+---------+--------|   |--------+---------+--------+---------+--------+--------|
       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_LSFT, KC_Z   , KC_X    , KC_C   , KC_V    , KC_B   ,     KC_N   , KC_M    , KC_COMM, KC_DOT  , KC_SLSH, KC_RSFT,
    //`--------+--------+---------+--------+---------+--------/   \--------+---------+--------+---------+--------+--------'
                         KC_A_DEL, KC_G_EN, KC_L_SPC, KC_C_BS,     KC_C_BS, KC_R_ENT, KC_G_JA, KC_A_DEL
    //                 `----------+--------+---------+--------'   `--------+---------+--------+---------'
    ),

    [_RAISE] = LAYOUT(
    //,--------+--------+--------+--------+--------+--------.   ,--------+--------+--------+--------+--------+--------.
       _______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE,     KC_AT  , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
    //|--------+--------+--------+--------+--------+--------|   |--------+--------+--------+--------+--------+--------|
       KC_LPRN, KC_HASH, KC_DLR , KC_DQT , KC_QUOT, KC_TILD,     KC_LEFT, KC_DOWN,  KC_UP , KC_RGHT, KC_GRV , KC_RPRN,
    //|--------+--------+--------+--------+--------+--------|   |--------+--------+--------+--------+--------+--------|
       _______, _______, _______, _______, KC_LCBR, KC_LBRC,     KC_RBRC, KC_RCBR, _______, _______, _______, _______,
    //`--------+--------+--------+--------+--------+--------/   \--------+--------+--------+--------+--------+--------'
                         _______, _______, _______, _______,     _______, _______, _______, QK_BOOT
    //                  `--------+--------+--------+--------'   `--------+--------+--------+--------'
    ),

    [_LOWER] = LAYOUT(
    //,--------+--------+--------+--------+--------+--------.   ,--------+--------+--------+--------+--------+--------.
       KC_F1  , KC_F2  , KC_F3  , KC_F4  , KC_F5  , KC_F6  ,     _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
    //|--------+--------+--------+--------+--------+--------|   |--------+--------+--------+--------+--------+--------|
       _______, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   ,     KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , _______,
    //|--------+--------+--------+--------+--------+--------|   |--------+--------+--------+--------+--------+--------|
       KC_F7  , KC_F8  , KC_F9  , KC_F10 , KC_F11 , KC_F12 ,     _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______,
    //`--------+--------+--------+--------+--------+--------/   \--------+--------+--------+--------+--------+--------'
                         QK_BOOT  , _______, _______, _______,     _______, _______, _______, _______
    //                  `--------+--------+--------+--------'   `--------+--------+--------+--------'
    ),
};

A keyboards/mothwing/keymaps/via/keymap.c => keyboards/mothwing/keymaps/via/keymap.c +72 -0
@@ 0,0 1,72 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
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/>.
*/

#include QMK_KEYBOARD_H

// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.

enum layer_number {
    _QWERTY,
    _RAISE,
    _LOWER
};

#define KC_L_SPC LT(_LOWER, KC_SPC)  // lower
#define KC_R_ENT LT(_RAISE, KC_ENT)  // raise
#define KC_G_JA LGUI_T(KC_LNG1)      // cmd or win
#define KC_G_EN LGUI_T(KC_LNG2)      // cmd or win
#define KC_C_BS LCTL_T(KC_BSPC)      // ctrl
#define KC_A_DEL ALT_T(KC_DEL)       // alt

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_QWERTY] = LAYOUT(
    //,--------+--------+---------+--------+---------+--------.   ,--------+---------+--------+---------+--------+--------.
       KC_ESC , KC_Q   , KC_W    , KC_E   , KC_R    , KC_T   ,     KC_Y   , KC_U    , KC_I   , KC_O    , KC_P   , KC_MINS,
    //|--------+--------+---------+--------+---------+--------|   |--------+---------+--------+---------+--------+--------|
       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_LSFT, KC_Z   , KC_X    , KC_C   , KC_V    , KC_B   ,     KC_N   , KC_M    , KC_COMM, KC_DOT  , KC_SLSH, KC_RSFT,
    //`--------+--------+---------+--------+---------+--------/   \--------+---------+--------+---------+--------+--------'
                         KC_A_DEL, KC_G_EN, KC_L_SPC, KC_C_BS,     KC_C_BS, KC_R_ENT, KC_G_JA, KC_A_DEL
    //                 `----------+--------+---------+--------'   `--------+---------+--------+---------'
    ),

    [_RAISE] = LAYOUT(
    //,--------+--------+--------+--------+--------+--------.   ,--------+--------+--------+--------+--------+--------.
       _______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE,     KC_AT  , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
    //|--------+--------+--------+--------+--------+--------|   |--------+--------+--------+--------+--------+--------|
       KC_LPRN, KC_HASH, KC_DLR , KC_DQT , KC_QUOT, KC_TILD,     KC_LEFT, KC_DOWN,  KC_UP , KC_RGHT, KC_GRV , KC_RPRN,
    //|--------+--------+--------+--------+--------+--------|   |--------+--------+--------+--------+--------+--------|
       _______, _______, _______, _______, KC_LCBR, KC_LBRC,     KC_RBRC, KC_RCBR, _______, _______, _______, _______,
    //`--------+--------+--------+--------+--------+--------/   \--------+--------+--------+--------+--------+--------'
                         _______, _______, _______, _______,     _______, _______, _______, QK_BOOT
    //                  `--------+--------+--------+--------'   `--------+--------+--------+--------'
    ),

    [_LOWER] = LAYOUT(
    //,--------+--------+--------+--------+--------+--------.   ,--------+--------+--------+--------+--------+--------.
       KC_F1  , KC_F2  , KC_F3  , KC_F4  , KC_F5  , KC_F6  ,     _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
    //|--------+--------+--------+--------+--------+--------|   |--------+--------+--------+--------+--------+--------|
       _______, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   ,     KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , _______,
    //|--------+--------+--------+--------+--------+--------|   |--------+--------+--------+--------+--------+--------|
       KC_F7  , KC_F8  , KC_F9  , KC_F10 , KC_F11 , KC_F12 ,     _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______,
    //`--------+--------+--------+--------+--------+--------/   \--------+--------+--------+--------+--------+--------'
                         QK_BOOT  , _______, _______, _______,     _______, _______, _______, _______
    //                  `--------+--------+--------+--------'   `--------+--------+--------+--------'
    )
};

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

A keyboards/mothwing/readme.md => keyboards/mothwing/readme.md +23 -0
@@ 0,0 1,23 @@
# MOTHWING

A split keyboard with 3x6 vertically staggered keys and 4 thumb keys.

* Keyboard Maintainer: [tan-t](https://github.com/tan-t)
* Hardware Supported: MOTHWING PCB
* Hardware Availability: currently unavailable. merch will be open around August 2023.

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

    make mothwing:default

Flashing example for this keyboard:

    make mothwing: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 by:

* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

A keyboards/mothwing/rules.mk => keyboards/mothwing/rules.mk +0 -0
Do not follow this link