~ruther/qmk_firmware

61ce15f2025b6d1f925c9bae83c84eb04e3cdf61 — Evelien Dekkers 3 years ago c8f969a
[Keyboard] Fin pad (#17523)

Co-authored-by: Joel Challis <git@zvecr.com>
A keyboards/evyd13/fin_pad/config.h => keyboards/evyd13/fin_pad/config.h +20 -0
@@ 0,0 1,20 @@
// Copyright 2022 Evelien Dekkers (@evyd13)
// 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

A keyboards/evyd13/fin_pad/info.json => keyboards/evyd13/fin_pad/info.json +88 -0
@@ 0,0 1,88 @@
{
    "manufacturer": "Evelien Dekkers",
    "keyboard_name": "Fin Pad",
    "maintainer": "evyd13",
    "bootloader": "atmel-dfu",
    "diode_direction": "COL2ROW",
    "features": {
        "bootmagic": true,
        "command": false,
        "console": false,
        "extrakey": true,
        "mousekey": true,
        "nkro": true
    },
    "matrix_pins": {
        "cols": ["C4", "C5", "D0", "C2"],
        "rows": ["C6", "C7", "B7", "B6", "B5", "B4"]
    },
    "community_layouts": [
        "numpad_6x4",
        "ortho_6x4"
    ],
    "processor": "atmega32u2",
    "url": "",
    "usb": {
        "device_version": "1.0.0",
        "pid": "0xA6E2",
        "vid": "0x4705"
    },
    "layout_aliases": {
        "LAYOUT_all": "LAYOUT_ortho_6x4"
    },
    "layouts": {
        "LAYOUT_ortho_6x4": {
            "layout": [
                {"matrix": [0, 0], "label":"ESC", "x":0, "y":0},
                {"matrix": [0, 1], "label":"TAB", "x":1, "y":0},
                {"matrix": [0, 2], "label":"PEQL", "x":2, "y":0},
                {"matrix": [0, 3], "label":"BSPC", "x":3, "y":0},
                {"matrix": [1, 0], "label":"NUM", "x":0, "y":1.25},
                {"matrix": [1, 1], "label":"PSLS", "x":1, "y":1.25},
                {"matrix": [1, 2], "label":"PAST", "x":2, "y":1.25},
                {"matrix": [1, 3], "label":"PMNS", "x":3, "y":1.25},
                {"matrix": [2, 0], "label":"P7", "x":0, "y":2.25},
                {"matrix": [2, 1], "label":"P8", "x":1, "y":2.25},
                {"matrix": [2, 2], "label":"P9", "x":2, "y":2.25},
                {"matrix": [2, 3], "label":"PPLS", "x":3, "y":2.25},
                {"matrix": [3, 0], "label":"P4", "x":0, "y":3.25},
                {"matrix": [3, 1], "label":"P5", "x":1, "y":3.25},
                {"matrix": [3, 2], "label":"P6", "x":2, "y":3.25},
                {"matrix": [3, 3], "label":"PPLS", "x":3, "y":3.25},
                {"matrix": [4, 0], "label":"P1", "x":0, "y":4.25},
                {"matrix": [4, 1], "label":"P2", "x":1, "y":4.25},
                {"matrix": [4, 2], "label":"P3", "x":2, "y":4.25},
                {"matrix": [4, 3], "label":"PENT", "x":3, "y":4.25},
                {"matrix": [5, 0], "label":"P0", "x":0, "y":5.25},
                {"matrix": [5, 1], "label":"P0", "x":1, "y":5.25},
                {"matrix": [5, 2], "label":"PDOT", "x":2, "y":5.25},
                {"matrix": [5, 3], "label":"PENT", "x":3, "y":5.25}
            ]
        },
        "LAYOUT_numpad_6x4": {
            "layout": [
                {"matrix": [0, 0], "label":"ESC", "x":0, "y":0},
                {"matrix": [0, 1], "label":"TAB", "x":1, "y":0},
                {"matrix": [0, 2], "label":"PEQL", "x":2, "y":0},
                {"matrix": [0, 3], "label":"BSPC", "x":3, "y":0},
                {"matrix": [1, 0], "label":"NUM", "x":0, "y":1.25},
                {"matrix": [1, 1], "label":"PSLS", "x":1, "y":1.25},
                {"matrix": [1, 2], "label":"PAST", "x":2, "y":1.25},
                {"matrix": [1, 3], "label":"PMNS", "x":3, "y":1.25},
                {"matrix": [2, 0], "label":"P7", "x":0, "y":2.25},
                {"matrix": [2, 1], "label":"P8", "x":1, "y":2.25},
                {"matrix": [2, 2], "label":"P9", "x":2, "y":2.25},
                {"matrix": [3, 0], "label":"P4", "x":0, "y":3.25},
                {"matrix": [3, 1], "label":"P5", "x":1, "y":3.25},
                {"matrix": [3, 2], "label":"P6", "x":2, "y":3.25},
                {"matrix": [3, 3], "label":"PPLS", "x":3, "y":2.25, "h":2},
                {"matrix": [4, 0], "label":"P1", "x":0, "y":4.25},
                {"matrix": [4, 1], "label":"P2", "x":1, "y":4.25},
                {"matrix": [4, 2], "label":"P3", "x":2, "y":4.25},
                {"matrix": [5, 0], "label":"P0", "x":0, "y":5.25},
                {"matrix": [5, 2], "label":"PDOT", "x":2, "y":5.25},
                {"matrix": [5, 3], "label":"PENT", "x":3, "y":4.25, "h":2}
            ]
        }
    }
}
\ No newline at end of file

A keyboards/evyd13/fin_pad/keymaps/default/keymap.c => keyboards/evyd13/fin_pad/keymaps/default/keymap.c +16 -0
@@ 0,0 1,16 @@
// Copyright 2022 Evelien Dekkers (@evyd13)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    [0] = LAYOUT_ortho_6x4(
        KC_ESC,  KC_TAB,  KC_EQL,  KC_BSPC,
        KC_NUM,  KC_PSLS, KC_PAST, KC_PMNS,
        KC_P7,   KC_P8,   KC_P9,   KC_PPLS,
        KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
        KC_P1,   KC_P2,   KC_P3,   KC_PENT,
        KC_P0,   KC_P0,   KC_PDOT, KC_PENT
    )
};

A keyboards/evyd13/fin_pad/keymaps/via/keymap.c => keyboards/evyd13/fin_pad/keymaps/via/keymap.c +41 -0
@@ 0,0 1,41 @@
// Copyright 2022 Evelien Dekkers (@evyd13)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    [0] = LAYOUT_all(
        KC_ESC,  KC_TAB,  KC_EQL,  KC_BSPC,
        KC_NUM,  KC_PSLS, KC_PAST, KC_PMNS,
        KC_P7,   KC_P8,   KC_P9,   KC_PPLS,
        KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
        KC_P1,   KC_P2,   KC_P3,   KC_PENT,
        KC_P0,   KC_P0,   KC_PDOT, KC_PENT
    ),
    [1] = LAYOUT_all(
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______
    ),
    [2] = LAYOUT_all(
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______
    ),
    [3] = LAYOUT_all(
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______, _______
    )
};


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

A keyboards/evyd13/fin_pad/readme.md => keyboards/evyd13/fin_pad/readme.md +27 -0
@@ 0,0 1,27 @@
# Fin Pad

![Fin Pad](https://i.imgur.com/OC5O2SZ.png)

A replacement PCB for the Lin Dolphin Pad

* Keyboard Maintainer: [Evelien Dekkers](https://github.com/evyd13)
* Hardware Supported: Fin Pad PCB
* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/fin-pad)

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

    make evyd13/fin_pad:default

Flashing example for this keyboard:

    make evyd13/fin_pad: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 `RESET` if it is available

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