From 0b21fbc37b784db576adfa46aea6ef7237c7b62e Mon Sep 17 00:00:00 2001 From: evanmcook <42785294+evanmcook@users.noreply.github.com> Date: Mon, 21 Feb 2022 12:11:23 -0500 Subject: [PATCH] [Keyboard] add evancookaudio sleepingdinosaur (#16320) Co-authored-by: Joel Challis --- .../evancookaudio/sleepingdinosaur/config.h | 44 +++++++++++++++++++ .../evancookaudio/sleepingdinosaur/info.json | 44 +++++++++++++++++++ .../sleepingdinosaur/keymaps/default/keymap.c | 40 +++++++++++++++++ .../evancookaudio/sleepingdinosaur/readme.md | 17 +++++++ .../evancookaudio/sleepingdinosaur/rules.mk | 18 ++++++++ .../sleepingdinosaur/sleepingdinosaur.c | 17 +++++++ .../sleepingdinosaur/sleepingdinosaur.h | 41 +++++++++++++++++ 7 files changed, 221 insertions(+) create mode 100644 keyboards/evancookaudio/sleepingdinosaur/config.h create mode 100644 keyboards/evancookaudio/sleepingdinosaur/info.json create mode 100644 keyboards/evancookaudio/sleepingdinosaur/keymaps/default/keymap.c create mode 100644 keyboards/evancookaudio/sleepingdinosaur/readme.md create mode 100644 keyboards/evancookaudio/sleepingdinosaur/rules.mk create mode 100644 keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.c create mode 100644 keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.h diff --git a/keyboards/evancookaudio/sleepingdinosaur/config.h b/keyboards/evancookaudio/sleepingdinosaur/config.h new file mode 100644 index 0000000000..4412e9eb60 --- /dev/null +++ b/keyboards/evancookaudio/sleepingdinosaur/config.h @@ -0,0 +1,44 @@ +/* Copyright 2022 evan cook + * + * 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 . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x636F +#define PRODUCT_ID 0x0002 +#define DEVICE_VER 0x0000 +#define MANUFACTURER evancook.audio +#define PRODUCT sleepingdinosaur + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 6 + +/* key matrix pins */ + +#define MATRIX_ROW_PINS {D0, D1, D4, C6, D7} +#define MATRIX_COL_PINS {F4, F5, F6, F7, B1, B3} + +#define UNUSED_PINS {B2, B6, B7, D5, C7, F1, F0, B4, E6} + diff --git a/keyboards/evancookaudio/sleepingdinosaur/info.json b/keyboards/evancookaudio/sleepingdinosaur/info.json new file mode 100644 index 0000000000..2c21777d49 --- /dev/null +++ b/keyboards/evancookaudio/sleepingdinosaur/info.json @@ -0,0 +1,44 @@ +{ + "keyboard_name": "evancook.audio sleepingdinosaur", + "url": "https://evancook.audio/", + "maintainer": "evanmcook", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"1", "x":0, "y":0}, + {"label":"2", "x":1, "y":0}, + {"label":"3", "x":2, "y":0}, + {"label":"4", "x":3, "y":0}, + {"label":"5", "x":4, "y":0}, + {"label":"-", "x":5, "y":0}, + + {"label":"6", "x":0, "y":1}, + {"label":"7", "x":1, "y":1}, + {"label":"8", "x":2, "y":1}, + {"label":"9", "x":3, "y":1}, + {"label":"0", "x":4, "y":1}, + {"label":"R", "x":5, "y":1}, + + {"label":"/", "x":0, "y":2}, + {"label":"Q", "x":1, "y":2}, + {"label":"W", "x":2, "y":2}, + {"label":"E", "x":3, "y":2}, + {"label":"U", "x":4, "y":2}, + {"label":"V", "x":5, "y":2}, + + {"label":"Enter", "x":0, "y":3, "h":2}, + {"label":"A", "x":1, "y":3}, + {"label":"S", "x":2, "y":3}, + {"label":"D", "x":3, "y":3}, + {"label":"Space", "x":4, "y":3, "h":2}, + {"label":"O", "x":5, "y":3}, + + {"label":"Z", "x":1, "y":4}, + {"label":"X", "x":2, "y":4}, + {"label":"C", "x":3, "y":4}, + {"label":"N", "x":5, "y":4} + + ] + } + } +} \ No newline at end of file diff --git a/keyboards/evancookaudio/sleepingdinosaur/keymaps/default/keymap.c b/keyboards/evancookaudio/sleepingdinosaur/keymaps/default/keymap.c new file mode 100644 index 0000000000..94cbc390df --- /dev/null +++ b/keyboards/evancookaudio/sleepingdinosaur/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2022 evan cook + * + * 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 . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* LAYER 0 + * ,-----------------------------------------------. + * | 1 | 2 | 3 | 4 | 5 | - | + * |-------+-------+-------|-------|-------|-------| + * | 6 | 7 | 8 | 9 | 0 | R | + * |-------+-------+-------|-------|-------|-------| + * | / | Q | W | E | U | V | + * -------+-------+-------|-------|-------|-------| + * | ENTER | A | S | D | SPACE | O | + * | |-------+-------+-------| |-------| + * | | Z | X | C | | N | + * ,-----------------------------------------------. + */ +[0] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, + KC_6, KC_7, KC_8, KC_9, KC_0, KC_R, + KC_SLSH, KC_Q, KC_W, KC_E, KC_U, KC_V, + KC_ENT, KC_A, KC_S, KC_D, KC_SPC, KC_O, + KC_Z, KC_X, KC_C, KC_N +) +}; diff --git a/keyboards/evancookaudio/sleepingdinosaur/readme.md b/keyboards/evancookaudio/sleepingdinosaur/readme.md new file mode 100644 index 0000000000..064e4981fe --- /dev/null +++ b/keyboards/evancookaudio/sleepingdinosaur/readme.md @@ -0,0 +1,17 @@ +# tenpad macropad + +A 28 button macropad, in a format that is closest to a 5x6 grid, designed by evan cook +[Default Layout](https://raw.githubusercontent.com/evanmcook/sleepingdinosaur/main/images/layouts/sleepingdinosaurdefault.jpg) + +* Keyboard Maintainer: [evan cook](https://github.com/evanmcook/) +* Hardware Supported: sleepingdinosaur Macropad PCB +* Hardware Availability: [tenpad Github](https://github.com/evanmcook/sleepingdinosaur) + +Make example for this keyboard (after setting up your build environment): + + make evancookaudio/sleepingdinosaur:default + +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). + +## Enter the bootloader: +* **Physical reset button**: On the underside of the board, near the USB connector and microcontroller, press and hold the small button labeled reset for more than one second to enter the bootloader. \ No newline at end of file diff --git a/keyboards/evancookaudio/sleepingdinosaur/rules.mk b/keyboards/evancookaudio/sleepingdinosaur/rules.mk new file mode 100644 index 0000000000..6cf6d9358b --- /dev/null +++ b/keyboards/evancookaudio/sleepingdinosaur/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.c b/keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.c new file mode 100644 index 0000000000..814275e3f0 --- /dev/null +++ b/keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.c @@ -0,0 +1,17 @@ +/* Copyright 2022 evan cook + * + * 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 . + * +*/ +#include "sleepingdinosaur.h" diff --git a/keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.h b/keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.h new file mode 100644 index 0000000000..9672fca289 --- /dev/null +++ b/keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.h @@ -0,0 +1,41 @@ +/* Copyright 2022 evan cook + * + * 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 . +*/ +#pragma once + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT(\ + k00, k01, k02, k03, k04, k05, \ + k06, k07, k08, k09, k10, k11, \ + k12, k13, k14, k15, k16, k17, \ + k18, k19, k20, k21, k22, k23, \ + k24, k25, k26, k27 \ + ) \ + { \ + {k00, k01, k02, k03, k04, k05},\ + {k06, k07, k08, k09, k10, k11},\ + {k12, k13, k14, k15, k16, k17},\ + {k18, k19, k20, k21, k22, k23},\ + {KC_NO, k24, k25, k26, KC_NO, k27},\ + }