~ruther/qmk_firmware

0b21fbc37b784db576adfa46aea6ef7237c7b62e — evanmcook 3 years ago 7e4f74d
[Keyboard] add evancookaudio sleepingdinosaur (#16320)

Co-authored-by: Joel Challis <git@zvecr.com>
A keyboards/evancookaudio/sleepingdinosaur/config.h => keyboards/evancookaudio/sleepingdinosaur/config.h +44 -0
@@ 0,0 1,44 @@
/* Copyright 2022 evan cook <evan@evancook.audio>
 *
 * 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/>. 
*/

#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}


A keyboards/evancookaudio/sleepingdinosaur/info.json => keyboards/evancookaudio/sleepingdinosaur/info.json +44 -0
@@ 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

A keyboards/evancookaudio/sleepingdinosaur/keymaps/default/keymap.c => keyboards/evancookaudio/sleepingdinosaur/keymaps/default/keymap.c +40 -0
@@ 0,0 1,40 @@
/* Copyright 2022 evan cook <evan@evancook.audio>
 *
 * 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] = {

/* 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     
)
};

A keyboards/evancookaudio/sleepingdinosaur/readme.md => keyboards/evancookaudio/sleepingdinosaur/readme.md +17 -0
@@ 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

A keyboards/evancookaudio/sleepingdinosaur/rules.mk => keyboards/evancookaudio/sleepingdinosaur/rules.mk +18 -0
@@ 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

A keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.c => keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.c +17 -0
@@ 0,0 1,17 @@
/* Copyright 2022 evan cook <evan@evancook.audio>
 *
 * 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 "sleepingdinosaur.h"

A keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.h => keyboards/evancookaudio/sleepingdinosaur/sleepingdinosaur.h +41 -0
@@ 0,0 1,41 @@
/* Copyright 2022 evan cook <evan@evancook.audio>
 *
 * 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/>.
*/
#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},\
    }