~ruther/qmk_firmware

9509dfbe39156797808765c8e365dd2d529b9de2 — QMK Bot 3 years ago 675d91b + fe7ee49
Merge remote-tracking branch 'origin/master' into develop
A keyboards/handwired/jscotto/scotto9/info.json => keyboards/handwired/jscotto/scotto9/info.json +48 -0
@@ 0,0 1,48 @@
{
    "manufacturer": "Joe Scotto",
    "keyboard_name": "Scotto9",
    "maintainer": "joe-scotto",
    "bootloader": "caterina",
    "diode_direction": "COL2ROW",
    "features": {
        "bootmagic": true,
        "command": false,
        "console": false,
        "extrakey": true,
        "mousekey": true,
        "nkro": true
    },
    "matrix_pins": {
        // 4, 5, 6
        "cols": ["D4", "C6", "D7"],

        // 15, 14, 16
        "rows": ["B1", "B3", "B2"]
    },
    "processor": "atmega32u4",
    "url": "",
    "usb": {
        "device_version": "1.0.0",
        "pid": "0x0000",
        "vid": "0xFEED"
    },
    "layouts": {
        "LAYOUT_ortho_3x3": {
            "layout": [
                { "matrix": [0, 0], "x": 0, "y": 0 },
                { "matrix": [0, 1], "x": 1, "y": 0 },
                { "matrix": [0, 2], "x": 2, "y": 0 }

                // Row 2
                { "matrix": [1, 0], "x": 0, "y": 1 },
                { "matrix": [1, 1], "x": 1, "y": 1 },
                { "matrix": [1, 2], "x": 2, "y": 1 }

                // Row 3
                { "matrix": [2, 0], "x": 0, "y": 2 },
                { "matrix": [2, 1], "x": 1, "y": 2 },
                { "matrix": [2, 2], "x": 2, "y": 2 }
            ]
        }
    }
}

A keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c => keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c +27 -0
@@ 0,0 1,27 @@
/*
Copyright 2022 Joe Scotto

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

// Keymap
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_ortho_3x3(
        KC_1, KC_2, KC_3,
        KC_4, KC_5, KC_6,
        KC_7, KC_8, KC_9
    )
};

A keyboards/handwired/jscotto/scotto9/readme.md => keyboards/handwired/jscotto/scotto9/readme.md +25 -0
@@ 0,0 1,25 @@
# Scotto9

![Scotto9](https://imgur.com/inbmNSEh.jpeg)

A 9 key handwired macropad. Case files available [here](https://github.com/joe-scotto/keyboards.git).

-   Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto)
-   Hardware Supported: ATmega32U4
-   Hardware Availability: [Amazon](https://amazon.com)

# Compiling

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

    make handwired/jscotto/scotto9:default

Flashing example for this keyboard:

    make handwired/jscotto/scotto9:default
    
# Bootloader

Uses [bootmagic](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_bootmagic.md) allowing you to hold the top left key (0, 0) when plugging the board in to enter bootloader mode.

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).

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

M users/dshields/config.h => users/dshields/config.h +4 -1
@@ 4,7 4,10 @@
#define USB_MAX_POWER_CONSUMPTION 100
#define ONESHOT_TAP_TOGGLE        2
#define ONESHOT_TIMEOUT           3000
#define RETRO_TAPPING
#define IGNORE_MOD_TAP_INTERRUPT
#define PERMISSIVE_HOLD_PER_KEY
#define TAPPING_FORCE_HOLD_PER_KEY
#define TAPPING_TERM              200
#define BACKLIGHT_BREATHING
#define DYNAMIC_MACRO_NO_NESTING


M users/dshields/dshields.c => users/dshields/dshields.c +27 -0
@@ 29,3 29,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    return true;
}

bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
        case MT_A:
        case MT_S:
        case MT_D:
        case MT_F:
        case MT_J:
        case MT_K:
        case MT_L:
        case MT_SCLN:
            return true;
        default:
            return false;
    }
}

bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
        case MT_SPC:
        case MT_BSPC:
        case MT_ESC:
            return true;
        default:
            return false;
    }
}