diff --git a/keyboards/handwired/jscotto/scotto9/info.json b/keyboards/handwired/jscotto/scotto9/info.json new file mode 100644 index 0000000000..09ae9eea77 --- /dev/null +++ b/keyboards/handwired/jscotto/scotto9/info.json @@ -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 } + ] + } + } +} diff --git a/keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c b/keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c new file mode 100644 index 0000000000..eec8d684ad --- /dev/null +++ b/keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c @@ -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 . +*/ + +#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 + ) +}; diff --git a/keyboards/handwired/jscotto/scotto9/readme.md b/keyboards/handwired/jscotto/scotto9/readme.md new file mode 100644 index 0000000000..2e5291cba7 --- /dev/null +++ b/keyboards/handwired/jscotto/scotto9/readme.md @@ -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). diff --git a/keyboards/handwired/jscotto/scotto9/rules.mk b/keyboards/handwired/jscotto/scotto9/rules.mk new file mode 100644 index 0000000000..6e7633bfe0 --- /dev/null +++ b/keyboards/handwired/jscotto/scotto9/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/users/dshields/config.h b/users/dshields/config.h index 9a722b89e6..21a5c3500d 100644 --- a/users/dshields/config.h +++ b/users/dshields/config.h @@ -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 diff --git a/users/dshields/dshields.c b/users/dshields/dshields.c index 13eab12d4a..46f0b33cd3 100644 --- a/users/dshields/dshields.c +++ b/users/dshields/dshields.c @@ -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; + } +} +