~ruther/qmk_firmware

c0b3034721f9502d6b3da82f62399b618f1523fe — George Mao 4 years ago f90688e
Add alice community layout (#10518)

* Added LAYOUT_alice

* Added fauxpark's suggestions as well as updating keymap graphic

* Added file header and used noroadleft's fix to the info.json for fast input mode
A layouts/default/alice/default_alice/keymap.c => layouts/default/alice/default_alice/keymap.c +39 -0
@@ 0,0 1,39 @@
/* Copyright 2020 MudkipMao
 *
 * 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

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /*
     *    ┌───┐  ┌───┬───┬───┬───┬───┬───┬───┐         ┌───┬───┬───┬───┬───┬───┬───────┐
     *    │Esc│  │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │         │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│
     *   ┌┴──┬┘ ┌┴───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘       ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┴┐
     *   │PUp│  │ Tab │ Q │ W │ E │ R │ T │          │ Y │ U │ I │ O │ P │ [ │ ] │   \  │
     *  ┌┴──┬┘ ┌┴─────┼───┼───┼───┼───┼───┤          └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┴┐
     *  │PDn│  │ Caps │ A │ S │ D │ F │ G │           │ H │ J │ K │ L │ ; │ ' │   Enter  │
     *  └───┘ ┌┴──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐        ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┬──┴┐
     *        │ Shift  │ Z │ X │ C │ V │ B │        │ B │ N │ M │ , │ . │ / │  Shift  │Shf│
     *        ├─────┬──┴──┬┴───┴┬──┴───┴┬──┴──┐     ├───┴───┴──┬┴───┴┬──┴───┴──────┬──┴──┬┘
     *        │ Ctl │     │ Alt │       │ GUI │     │          │ Alt │             │ Ctl │
     *        └─────┘     └─────┴───────┴─────┘     └──────────┴─────┘             └─────┘
     */
    [0] = LAYOUT_alice(
        KC_ESC,  KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,             KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,
        KC_PGUP, KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                      KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,
        KC_PGDN, KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                      KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
                 KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                      KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT,
                 KC_LCTL,          KC_LALT,          KC_SPC,  KC_LGUI,                   KC_SPC,           KC_RALT,                            KC_RCTL
    )
};

A layouts/default/alice/info.json => layouts/default/alice/info.json +82 -0
@@ 0,0 1,82 @@
{
    "keyboard_name": "Alice layout",
    "url": "",
    "maintainer": "qmk",
    "width": 18.35,
    "height": 5.1,
    "layouts": {
        "LAYOUT_alice": {
            "layout": [
                {"x":0.4, "y":0},
                {"x":1.55, "y":0.1},
                {"x":2.55, "y":0.1},
                {"x":3.55, "y":0},
                {"x":4.55, "y":0.1},
                {"x":5.55, "y":0.1},
                {"x":6.55, "y":0.1},
                {"x":7.55, "y":0.1},
                {"x":9.75, "y":0.1},
                {"x":10.75, "y":0.1},
                {"x":11.75, "y":0.1},
                {"x":12.75, "y":0.1},
                {"x":13.75, "y":0},
                {"x":14.75, "y":0.1},
                {"x":15.75, "y":0.1, "w":2},

                {"x":0.2, "y":1.0},
                {"x":1.35, "y":1.1, "w":1.5},
                {"x":2.85, "y":1.1},
                {"x":3.85, "y":1.1},
                {"x":4.85, "y":1.1},
                {"x":5.85, "y":1.1},
                {"x":6.85, "y":1.1},
                {"x":9.45, "y":1.1},
                {"x":10.45, "y":1.1},
                {"x":11.45, "y":1.1},
                {"x":12.45, "y":1.1},
                {"x":13.45, "y":1.1},
                {"x":14.45, "y":1.1},
                {"x":15.45, "y":1.1},
                {"x":16.45, "y":1.1, "w":1.5},

                {"x":0, "y":2.0},
                {"x":1.15, "y":2.1, "w":1.75},
                {"x":2.9, "y":2.1},
                {"x":3.9, "y":2.1},
                {"x":4.9, "y":2.1},
                {"x":5.9, "y":2.1},
                {"x":6.9, "y":2.1},
                {"x":9.9, "y":2.1},
                {"x":10.9, "y":2.1},
                {"x":11.9, "y":2.1},
                {"x":12.9, "y":2.1},
                {"x":13.9, "y":2.1},
                {"x":14.9, "y":2.1},
                {"x":15.9, "y":2.1, "w":2.25},

                {"x":0.95, "y":3.1, "w":2.25},
                {"x":3.2, "y":3.1},
                {"x":4.2, "y":3.1},
                {"x":5.2, "y":3.1},
                {"x":6.2, "y":3.1},
                {"x":7.2, "y":3.1},
                {"x":9.6, "y":3.1},
                {"x":10.6, "y":3.1},
                {"x":11.6, "y":3.1},
                {"x":12.6, "y":3.1},
                {"x":13.6, "y":3.1},
                {"x":14.6, "y":3.1},
                {"x":15.6, "y":3.1, "w":1.75},
                {"x":17.35, "y":3.1},

                {"x":0.95, "y":4.1, "w":1.5},
                {"x":3.85, "y":4.1, "w":1.5},
                {"x":5.35, "y":4.1, "w":2},
                {"x":7.35, "y":4.1, "w":1.25},
                {"x":9.6, "y":4.1, "w":2.75},
                {"x":12.35, "y":4.1, "w":1.5},
                {"x":16.65, "y":4.1, "w":1.5}
            ]
        }
    }
}

A layouts/default/alice/layout.json => layouts/default/alice/layout.json +21 -0
@@ 0,0 1,21 @@
[{y:0.9,x:0.55,a:7},"",{x:2.15},"",{x:8.55},""],
[{y:-0.9,x:1.7},"","",{x:10.55},"",{w:2},""],
[{y:-0.1,x:0.35},""],
[{y:-0.95,x:12.95},""],
[{y:-0.95,x:1.5,w:1.5},"","",{x:9.95},"","",{w:1.5},""],
[{y:-0.1,x:0.15},""],
[{y:-0.9,x:1.3,w:1.75},"","",{x:9.35},"",{x:0},"",{w:2.25},""],
[{x:1.1,w:2.25},"","",{x:8.75},"","",{w:1.75},"",""],
[{x:1.1,w:1.5},"",{x:13.55,w:1.5},""],
[{r:12,y:-6,x:5},"","","",""],
[{x:4.5},"","","",""],
[{x:4.8},"","","",""],
[{x:5.3},"","","",""],
[{x:6.45,w:2},"",{w:1.25},""],
[{y:-0.95,x:4.95,w:1.5},""],
[{r:-12,y:-1.45,x:8.55},"","","",""],
[{x:8.05},"","","",""],
[{x:8.2},"","","",""],
[{x:7.75},"","","",""],
[{x:7.75,w:2.75},""],
[{y:-0.95,x:10.5,w:1.5},""]

A layouts/default/alice/readme.md => layouts/default/alice/readme.md +3 -0
@@ 0,0 1,3 @@
# alice

    LAYOUT_alice

M layouts/default/readme.md => layouts/default/readme.md +15 -0
@@ 452,6 452,21 @@ LAYOUT_fullsize_iso
### Split Layouts

```
LAYOUT_alice
  ┌───┐  ┌───┬───┬───┬───┬───┬───┬───┐         ┌───┬───┬───┬───┬───┬───┬───────┐
  │   │  │   │   │   │   │   │   │   │         │   │   │   │   │   │   │       │
 ┌┴──┬┘ ┌┴───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘       ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┴┐
 │   │  │     │   │   │   │   │   │          │   │   │   │   │   │   │   │      │
┌┴──┬┘ ┌┴─────┼───┼───┼───┼───┼───┤          └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┴┐
│   │  │      │   │   │   │   │   │           │   │   │   │   │   │   │          │
└───┘ ┌┴──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐        ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┬──┴┐
      │        │   │   │   │   │   │        │   │   │   │   │   │   │         │   │
      ├─────┬──┴──┬┴───┴┬──┴───┴┬──┴──┐     ├───┴───┴──┬┴───┴┬──┴───┴──────┬──┴──┬┘
      │     │     │     │       │     │     │          │     │             │     │
      └─────┘     └─────┴───────┴─────┘     └──────────┴─────┘             └─────┘
```

```
LAYOUT_ergodox
┌─────┬───┬───┬───┬───┬───┬───┐                   ┌───┬───┬───┬───┬───┬───┬─────┐
│     │   │   │   │   │   │   │                   │   │   │   │   │   │   │     │