~ruther/qmk_firmware

baa9252db2443a9884b344ae77ea58710b1932af — dztech 2 years ago 776e980
[Keyboard] add pluto keyboard (#21225)

A keyboards/dztech/pluto/info.json => keyboards/dztech/pluto/info.json +191 -0
@@ 0,0 1,191 @@
{
  "manufacturer": "DZTECH",
  "keyboard_name": "PLUTO",
  "maintainer": "moyi4681",
  "bootloader": "rp2040",
  "diode_direction": "COL2ROW",
  "features": {
      "bootmagic": true,
      "command": false,
      "console": false,
      "extrakey": true,
      "mousekey": true,
      "nkro": true
  },
  "matrix_pins": {
      "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP16", "GP15", "GP14", "GP13", "GP0"],
      "rows": ["GP1", "GP18", "GP17", "GP12", "GP11"]
  },
  "processor": "RP2040",
  "usb": {
      "device_version": "1.0.0",
      "pid": "0x0006",
      "vid": "0x445A"
  },
  "layouts": {
      "LAYOUT_all": {
          "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": [0, 6], "x": 6, "y": 0 },
              { "matrix": [0, 7], "x": 7, "y": 0 },
              { "matrix": [0, 8], "x": 8, "y": 0 },
              { "matrix": [0, 9], "x": 9, "y": 0 },
              { "matrix": [0, 10], "x": 10, "y": 0 },
              { "matrix": [0, 11], "x": 11, "y": 0 },
              { "matrix": [0, 12], "x": 12, "y": 0 },
              { "matrix": [0, 13], "x": 13, "y": 0 },
              { "matrix": [0, 14], "x": 14, "y": 0 },
              { "matrix": [0, 15], "x": 15.25, "y": 0 },
              { "matrix": [2, 12], "x": 16.25, "y": 0 },
              { "matrix": [2, 13], "x": 17.25, "y": 0 },

              { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
              { "matrix": [1, 1], "x": 1.5, "y": 1 },
              { "matrix": [1, 2], "x": 2.5, "y": 1 },
              { "matrix": [1, 3], "x": 3.5, "y": 1 },
              { "matrix": [1, 4], "x": 4.5, "y": 1 },
              { "matrix": [1, 5], "x": 5.5, "y": 1 },
              { "matrix": [1, 6], "x": 6.5, "y": 1 },
              { "matrix": [1, 7], "x": 7.5, "y": 1 },
              { "matrix": [1, 8], "x": 8.5, "y": 1 },
              { "matrix": [1, 9], "x": 9.5, "y": 1 },
              { "matrix": [1, 10], "x": 10.5, "y": 1 },
              { "matrix": [1, 11], "x": 11.5, "y": 1 },
              { "matrix": [1, 12], "x": 12.5, "y": 1 },
              { "matrix": [1, 13], "x": 12.75, "y": 2 },
              { "matrix": [1, 15], "x": 15.25, "y": 1 },
              { "matrix": [2, 14], "x": 16.25, "y": 1 },
              { "matrix": [2, 15], "x": 17.25, "y": 1 },

              { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
              { "matrix": [2, 1], "x": 1.75, "y": 2 },
              { "matrix": [2, 2], "x": 2.75, "y": 2 },
              { "matrix": [2, 3], "x": 3.75, "y": 2 },
              { "matrix": [2, 4], "x": 4.75, "y": 2 },
              { "matrix": [2, 5], "x": 5.75, "y": 2 },
              { "matrix": [2, 6], "x": 6.75, "y": 2 },
              { "matrix": [2, 7], "x": 7.75, "y": 2 },
              { "matrix": [2, 8], "x": 8.75, "y": 2 },
              { "matrix": [2, 9], "x": 9.75, "y": 2 },
              { "matrix": [2, 10], "x": 10.75, "y": 2 },
              { "matrix": [2, 11], "x": 11.75, "y": 2 },
              { "matrix": [1, 14], "w": 1.25, "x": 12.75, "y": 1 },

              { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
              { "matrix": [3, 1], "x": 1.25, "y": 3 },
              { "matrix": [3, 2], "x": 2.25, "y": 3 },
              { "matrix": [3, 3], "x": 3.25, "y": 3 },
              { "matrix": [3, 4], "x": 4.25, "y": 3 },
              { "matrix": [3, 5], "x": 5.25, "y": 3 },
              { "matrix": [3, 6], "x": 6.25, "y": 3 },
              { "matrix": [3, 7], "x": 7.25, "y": 3 },
              { "matrix": [3, 8], "x": 8.25, "y": 3 },
              { "matrix": [3, 9], "x": 9.25, "y": 3 },
              { "matrix": [3, 10], "x": 10.25, "y": 3 },
              { "matrix": [3, 11], "x": 11.25, "y": 3 },
              { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 },
              { "matrix": [3, 13], "x": 15.25, "y": 3 },
              { "matrix": [3, 14], "x": 16.25, "y": 3 },

              { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
              { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
              { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
              { "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
              { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 },
              { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 },
              { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
              { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 },
              { "matrix": [3, 15], "x": 15.25, "y": 4 },
              { "matrix": [4, 14], "x": 16.25, "y": 4 },
              { "matrix": [4, 15], "x": 17.25, "y": 4 }
          ]
      },
      "LAYOUT_iso": {
        "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": [0, 6], "x": 6, "y": 0 },
            { "matrix": [0, 7], "x": 7, "y": 0 },
            { "matrix": [0, 8], "x": 8, "y": 0 },
            { "matrix": [0, 9], "x": 9, "y": 0 },
            { "matrix": [0, 10], "x": 10, "y": 0 },
            { "matrix": [0, 11], "x": 11, "y": 0 },
            { "matrix": [0, 12], "x": 12, "y": 0 },
            { "matrix": [0, 13], "x": 13, "y": 0 },
            { "matrix": [0, 14], "x": 14, "y": 0 },
            { "matrix": [0, 15], "x": 15.25, "y": 0 },
            { "matrix": [2, 12], "x": 16.25, "y": 0 },
            { "matrix": [2, 13], "x": 17.25, "y": 0 },

            { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
            { "matrix": [1, 1], "x": 1.5, "y": 1 },
            { "matrix": [1, 2], "x": 2.5, "y": 1 },
            { "matrix": [1, 3], "x": 3.5, "y": 1 },
            { "matrix": [1, 4], "x": 4.5, "y": 1 },
            { "matrix": [1, 5], "x": 5.5, "y": 1 },
            { "matrix": [1, 6], "x": 6.5, "y": 1 },
            { "matrix": [1, 7], "x": 7.5, "y": 1 },
            { "matrix": [1, 8], "x": 8.5, "y": 1 },
            { "matrix": [1, 9], "x": 9.5, "y": 1 },
            { "matrix": [1, 10], "x": 10.5, "y": 1 },
            { "matrix": [1, 11], "x": 11.5, "y": 1 },
            { "matrix": [1, 12], "x": 12.5, "y": 1 },
            { "h": 2, "matrix": [1, 14], "w": 1.25, "x": 13.75, "y": 1 },
            { "matrix": [1, 15], "x": 15.25, "y": 1 },
            { "matrix": [2, 14], "x": 16.25, "y": 1 },
            { "matrix": [2, 15], "x": 17.25, "y": 1 },

            { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
            { "matrix": [2, 1], "x": 1.75, "y": 2 },
            { "matrix": [2, 2], "x": 2.75, "y": 2 },
            { "matrix": [2, 3], "x": 3.75, "y": 2 },
            { "matrix": [2, 4], "x": 4.75, "y": 2 },
            { "matrix": [2, 5], "x": 5.75, "y": 2 },
            { "matrix": [2, 6], "x": 6.75, "y": 2 },
            { "matrix": [2, 7], "x": 7.75, "y": 2 },
            { "matrix": [2, 8], "x": 8.75, "y": 2 },
            { "matrix": [2, 9], "x": 9.75, "y": 2 },
            { "matrix": [2, 10], "x": 10.75, "y": 2 },
            { "matrix": [2, 11], "x": 11.75, "y": 2 },
            { "matrix": [1, 13], "x": 12.75, "y": 2 },

            { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
            { "matrix": [3, 1], "x": 1.25, "y": 3 },
            { "matrix": [3, 2], "x": 2.25, "y": 3 },
            { "matrix": [3, 3], "x": 3.25, "y": 3 },
            { "matrix": [3, 4], "x": 4.25, "y": 3 },
            { "matrix": [3, 5], "x": 5.25, "y": 3 },
            { "matrix": [3, 6], "x": 6.25, "y": 3 },
            { "matrix": [3, 7], "x": 7.25, "y": 3 },
            { "matrix": [3, 8], "x": 8.25, "y": 3 },
            { "matrix": [3, 9], "x": 9.25, "y": 3 },
            { "matrix": [3, 10], "x": 10.25, "y": 3 },
            { "matrix": [3, 11], "x": 11.25, "y": 3 },
            { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 },
            { "matrix": [3, 13], "x": 15.25, "y": 3 },
            { "matrix": [3, 14], "x": 16.25, "y": 3 },

            { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
            { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
            { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
            { "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 },
            { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 },
            { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 },
            { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 },
            { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 },
            { "matrix": [3, 15], "x": 15.25, "y": 4 },
            { "matrix": [4, 14], "x": 16.25, "y": 4 },
            { "matrix": [4, 15], "x": 17.25, "y": 4 }
        ]
    }
  }
}

A keyboards/dztech/pluto/keymaps/default/keymap.c => keyboards/dztech/pluto/keymaps/default/keymap.c +27 -0
@@ 0,0 1,27 @@
/* Copyright 2023 DZTECH <moyi4681@Live.cn>
 *
 * 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] = {

    [0] = LAYOUT_all(
        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_DEL,   KC_INS,  KC_HOME, 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_NUHS,           KC_DEL,  KC_END,  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_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT, MO(1),             KC_UP,
        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,           KC_LEFT, KC_DOWN, KC_RGHT
    )
};

A keyboards/dztech/pluto/keymaps/via/keymap.c => keyboards/dztech/pluto/keymaps/via/keymap.c +27 -0
@@ 0,0 1,27 @@
/* Copyright 2023 DZTECH <moyi4681@Live.cn>
 *
 * 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] = {

    [0] = LAYOUT_all(
        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_DEL,   KC_INS,  KC_HOME, 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_NUHS,           KC_DEL,  KC_END,  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_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT, MO(1),             KC_UP,
        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,           KC_LEFT, KC_DOWN, KC_RGHT
    )
};

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

A keyboards/dztech/pluto/readme.md => keyboards/dztech/pluto/readme.md +30 -0
@@ 0,0 1,30 @@
# PLUTO

![PLUTO](https://i.imgur.com/BWVvKMO.jpg)

The main purpose of this board is to introduce more people to the best layout.
This board was originally designed to be O-ring gasket mount only, Top mount was added to make the board whole.
Sticking with a mimal design, the engraving of planets was replaced with the Logo surrounding with pluto moons and planets.
Pluto now also features an accent Piece with an engraving of Pluto Symbol below the nav cluster.

* Keyboard Maintainer: [DZTECH](https://github.com/moyi4681)
* Hardware Supported: DZTECH
* Hardware Availability: KBDFANS

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

    make dztech/pluto:default

Flashing example for this keyboard:

    make dztech/pluto: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 layout**: Press the key mapped to `QK_BOOT` if it is available

A keyboards/dztech/pluto/rules.mk => keyboards/dztech/pluto/rules.mk +1 -0
@@ 0,0 1,1 @@
# This file intentionally left blank