adding plop (#313)

* adding plop

* changes from qmk PR
This commit is contained in:
lukeski14 2023-01-13 21:04:15 -05:00 committed by GitHub
parent 87c2fc07b6
commit 016565401e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 406 additions and 0 deletions

View File

@ -0,0 +1,60 @@
// Copyright 2023 Regan Palmer (@rainkeebs)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
#include "config_common.h"
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
/* key matrix pins */
#define MATRIX_ROW_PINS { E6, D5, B3, B2 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, F6, F7, F5, F4 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't needed */
#define DEBOUNCING 5
/* 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
#define RGB_DI_PIN F0
#ifdef RGB_DI_PIN
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_SLEEP
#define RGBLED_NUM 9
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#endif

View File

@ -0,0 +1,22 @@
{
"manufacturer": "rainkeebs",
"keyboard_name": "plop",
"maintainer": "rainkeebs",
"bootloader": "atmel-dfu",
"processor": "atmega32u4",
"diode_direction": "COL2ROW",
"usb": {
"device_version": "1.0.0",
"pid": "0x7070",
"vid": "0x726B"
},
"matrix_pins": {
"cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "F6", "F7", "F5", "F4"],
"rows": ["E6", "D5", "B3", "B2"]
},
"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":[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":[1,0], "x":0, "y":1, "w":1.25}, {"matrix":[1,1], "x":1.25, "y":1}, {"matrix":[1,2], "x":2.25, "y":1}, {"matrix":[1,3], "x":3.25, "y":1}, {"matrix":[1,4], "x":4.25, "y":1}, {"matrix":[1,5], "x":5.25, "y":1}, {"matrix":[1,6], "x":6.25, "y":1}, {"matrix":[1,7], "x":7.25, "y":1}, {"matrix":[1,8], "x":8.25, "y":1}, {"matrix":[1,9], "x":9.25, "y":1}, {"matrix":[1,11], "x":10.25, "y":1, "w":1.75}, {"matrix":[2,0], "x":0, "y":2, "w":1.75}, {"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, "w":1.25}, {"matrix":[2,11], "x":11, "y":2}, {"matrix":[3,0], "x":0, "y":3, "w":1.25}, {"matrix":[3,1], "x":1.25, "y":3}, {"matrix":[3,2], "x":2.25, "y":3, "w":1.25}, {"matrix":[3,4], "x":3.5, "y":3, "w":2.75}, {"matrix":[3,5], "x":6.25, "y":3, "w":2.25}, {"matrix":[3,8], "x":8.5, "y":3, "w":1.25}, {"matrix":[3,9], "x":9.75, "y":3}, {"matrix":[3,11], "x":10.75, "y":3, "w":1.25}]
}
}
}

View File

@ -0,0 +1,32 @@
// Copyright 2023 Regan Palmer (@rainkeebs)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
LT(3,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSPC,
KC_LCTL, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_SPC, KC_RALT,KC_RGUI, KC_RCTL),
[1] = LAYOUT(
KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
CTL_T(KC_TAB), KC_MINS, KC_EQL, KC_QUOT, KC_SCLN, KC_DLR, KC_LEFT, KC_DOWN, KC_UP,KC_RGHT, KC_ENT,
LSFT_T(KC_LCBR), KC_TILDE, KC_AT, KC_HASH, KC_PIPE, KC_CIRCUMFLEX, KC_EQUAL, KC_QUOTE,KC_NUHS, KC_SLSH, RSFT_T(KC_RCBR),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[2] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS,
QK_RBT, KC_PLUS, KC_UNDS, KC_BSLS, KC_COLN, KC_DLR, KC_HOME, KC_PGDN, KC_PGUP,KC_END, KC_TRNS,
LSFT_T(KC_LABK), KC_EXLM, KC_PERC,KC_BSLS, KC_AMPR, KC_AT, KC_CIRCUMFLEX, KC_DQUO,KC_LCBR, KC_RCBR, RSFT_T(KC_RABK),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[3] = LAYOUT(
KC_GRAVE, LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), KC_TRNS,
KC_TAB, KC_MINS, KC_EQL, KC_QUOT, KC_SCLN, KC_DLR, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
LSFT_T(KC_LCBR), KC_TILDE, KC_AT, KC_HASH, KC_PIPE, KC_CIRCUMFLEX, KC_EQUAL, KC_QUOTE,KC_LBRC, KC_RBRC, RSFT_T(KC_RCBR),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};

View File

@ -0,0 +1,32 @@
// Copyright 2023 Regan Palmer (@rainkeebs)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
LT(3,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSPC,
KC_LCTL, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_SPC, KC_RALT,KC_RGUI, KC_RCTL),
[1] = LAYOUT(
KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
CTL_T(KC_TAB), KC_MINS, KC_EQL, KC_QUOT, KC_SCLN, KC_DLR, KC_LEFT, KC_DOWN, KC_UP,KC_RGHT, KC_ENT,
LSFT_T(KC_LCBR), KC_TILDE, KC_AT, KC_HASH, KC_PIPE, KC_CIRCUMFLEX, KC_EQUAL, KC_QUOTE,KC_NUHS, KC_SLSH, RSFT_T(KC_RCBR),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[2] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS,
QK_RBT, KC_PLUS, KC_UNDS, KC_BSLS, KC_COLN, KC_DLR, KC_HOME, KC_PGDN, KC_PGUP,KC_END, KC_TRNS,
LSFT_T(KC_LABK), KC_EXLM, KC_PERC,KC_BSLS, KC_AMPR, KC_AT, KC_CIRCUMFLEX, KC_DQUO,KC_LCBR, KC_RCBR, RSFT_T(KC_RABK),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[3] = LAYOUT(
KC_GRAVE, LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), KC_TRNS,
KC_TAB, KC_MINS, KC_EQL, KC_QUOT, KC_SCLN, KC_DLR, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
LSFT_T(KC_LCBR), KC_TILDE, KC_AT, KC_HASH, KC_PIPE, KC_CIRCUMFLEX, KC_EQUAL, KC_QUOTE,KC_LBRC, KC_RBRC, RSFT_T(KC_RCBR),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};

View File

@ -0,0 +1 @@
VIA_ENABLE = yes

View File

@ -0,0 +1,19 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#define VIAL_KEYBOARD_UID {0x3F, 0xAC, 0x35, 0xF9, 0x32, 0xA1, 0xD0, 0xA3}
#define VIAL_UNLOCK_COMBO_ROWS { 0, 1 }
#define VIAL_UNLOCK_COMBO_COLS { 0, 11 }
#undef RGBLIGHT_ANIMATIONS
#undef RGBLIGHT_EFFECT_BREATHING
#undef RGBLIGHT_EFFECT_RAINBOW_MOOD
#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
#undef RGBLIGHT_EFFECT_SNAKE
#undef RGBLIGHT_EFFECT_KNIGHT
#undef RGBLIGHT_EFFECT_CHRISTMAS
#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
#undef RGBLIGHT_EFFECT_RGB_TEST
#undef RGBLIGHT_EFFECT_ALTERNATING
#undef RGBLIGHT_EFFECT_TWINKLE

View File

@ -0,0 +1,30 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
LT(3,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSPC,
KC_LCTL, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_SPC, KC_RALT,KC_RGUI, KC_RCTL),
[1] = LAYOUT(
KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
CTL_T(KC_TAB), KC_MINS, KC_EQL, KC_QUOT, KC_SCLN, KC_DLR, KC_LEFT, KC_DOWN, KC_UP,KC_RGHT, KC_ENT,
LSFT_T(KC_LCBR), KC_TILDE, KC_AT, KC_HASH, KC_PIPE, KC_CIRCUMFLEX, KC_EQUAL, KC_QUOTE,KC_NUHS, KC_SLSH, RSFT_T(KC_RCBR),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[2] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS,
QK_RBT, KC_PLUS, KC_UNDS, KC_BSLS, KC_COLN, KC_DLR, KC_HOME, KC_PGDN, KC_PGUP,KC_END, KC_TRNS,
LSFT_T(KC_LABK), KC_EXLM, KC_PERC,KC_BSLS, KC_AMPR, KC_AT, KC_CIRCUMFLEX, KC_DQUO,KC_LCBR, KC_RCBR, RSFT_T(KC_RABK),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[3] = LAYOUT(
KC_GRAVE, LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), KC_TRNS,
KC_TAB, KC_MINS, KC_EQL, KC_QUOT, KC_SCLN, KC_DLR, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
LSFT_T(KC_LCBR), KC_TILDE, KC_AT, KC_HASH, KC_PIPE, KC_CIRCUMFLEX, KC_EQUAL, KC_QUOTE,KC_LBRC, KC_RBRC, RSFT_T(KC_RCBR),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};

View File

@ -0,0 +1,4 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
LTO_ENABLE = yes
TAP_DANCE_ENABLE = no

View File

@ -0,0 +1,146 @@
{
"name": "plop",
"vendorId": "0x726B",
"productId": "0x7070",
"menus": ["qmk_rgblight"],
"matrix": { "rows": 4, "cols": 12 },
"layouts": {
"labels": [
"Swap RShift",
"7u Bottom Row"
],
"keymap": [
[
{
"c": "#777777"
},
"0,0",
{
"c": "#cccccc"
},
"0,1",
"0,2",
"0,3",
"0,4",
"0,5",
"0,6",
"0,7",
"0,8",
"0,9",
"0,10",
"0,11"
],
[
{
"c": "#aaaaaa",
"w": 1.25
},
"1,0",
{
"c": "#cccccc"
},
"1,1",
"1,2",
"1,3",
"1,4",
"1,5",
"1,6",
"1,7",
"1,8",
"1,9",
{
"c": "#777777",
"w": 1.75
},
"1,11"
],
[
{
"c": "#aaaaaa",
"w": 1.75
},
"2,0",
{
"c": "#cccccc"
},
"2,1",
"2,2",
"2,3",
"2,4",
"2,5",
"2,6",
"2,7",
"2,8",
{
"c": "#aaaaaa",
"w": 1.25
},
"2,9\n\n\n0,0",
"2,11\n\n\n0,0",
{
"x": 0.25
},
"2,9\n\n\n0,1",
{
"w": 1.25
},
"2,11\n\n\n0,1"
],
[
{
"w": 1.25
},
"3,0\n\n\n1,0",
"3,1\n\n\n1,0",
{
"w": 1.25
},
"3,2\n\n\n1,0",
{
"c": "#cccccc",
"w": 2.75
},
"3,4\n\n\n1,0",
{
"w": 2.25
},
"3,5\n\n\n1,0",
{
"c": "#aaaaaa",
"w": 1.25
},
"3,8\n\n\n1,0",
"3,9\n\n\n1,0",
{
"w": 1.25
},
"3,11\n\n\n1,0"
],
[
{
"y": 0.25,
"w": 1.25
},
"3,0\n\n\n1,1",
{
"w": 1.25
},
"3,1\n\n\n1,1",
{
"c": "#cccccc",
"w": 7
},
"3,5\n\n\n1,1",
{
"c": "#aaaaaa",
"w": 1.25
},
"3,9\n\n\n1,1",
{
"w": 1.25
},
"3,11\n\n\n1,1"
]
]
}
}

View File

@ -0,0 +1,3 @@
// Copyright 2023 Regan Palmer (@rainkeebs)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "plop.h"

View File

@ -0,0 +1,18 @@
// Copyright 2023 Regan Palmer (@rainkeebs)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "quantum.h"
#define LAYOUT( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K111, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K211, \
K300, K301, K302, K304, K305, K308, K309, K311 \
) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, KC_NO, K111 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, KC_NO, K211 }, \
{ K300, K301, K302, KC_NO, K304, K305, KC_NO, KC_NO, K308, K309, KC_NO, K311 } \
}

View File

@ -0,0 +1,27 @@
# plop
![plop](https://i.imgur.com/5zZRGunh.png)
*Plop, designed by Rainkeebs is a 12u stagger layout PCB made to drop into ortho "Planck 19mm grid spacing" cases.*
* Keyboard Maintainer: Rain
* Hardware Supported: Plop PCB
* Hardware Availability: [P3DStore](https://p3dstore.com/products/plop-pcb-only)
Make example for this keyboard (after setting up your build environment):
make plop:default
Flashing example for this keyboard:
make plop: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
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

View File

@ -0,0 +1,12 @@
# Build Options
# comment out to disable the options.
#
BOOTMAGIC_ENABLE = yes # Enable bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes